From c038eb0707ebc7ad9027d9de70ac3864a19ca056 Mon Sep 17 00:00:00 2001
From: Alexis Rico <sferadev@gmail.com>
Date: Fri, 7 Apr 2023 10:52:25 +0200
Subject: [PATCH 1/3] Initial cloudflare API

Signed-off-by: Alexis Rico <sferadev@gmail.com>
---
 packages/cloudflare-api/.npmignore            |     4 +
 packages/cloudflare-api/README.md             |     3 +
 .../cloudflare-api/openapi-codegen.config.ts  |    73 +
 packages/cloudflare-api/package.json          |    27 +
 packages/cloudflare-api/rollup.config.mjs     |    26 +
 packages/cloudflare-api/src/api/fetcher.ts    |    97 +
 packages/cloudflare-api/src/api/schemas.ts    | 29295 ++++++++++++++++
 packages/cloudflare-api/src/api/utils.ts      |     6 +
 packages/cloudflare-api/src/client.ts         |   125 +
 packages/cloudflare-api/src/index.ts          |     5 +
 packages/cloudflare-api/src/utils/fetch.ts    |    22 +
 packages/cloudflare-api/src/utils/types.ts    |     3 +
 packages/cloudflare-api/tsconfig.json         |    19 +
 pnpm-lock.yaml                                |     3 +
 14 files changed, 29708 insertions(+)
 create mode 100644 packages/cloudflare-api/.npmignore
 create mode 100644 packages/cloudflare-api/README.md
 create mode 100644 packages/cloudflare-api/openapi-codegen.config.ts
 create mode 100644 packages/cloudflare-api/package.json
 create mode 100644 packages/cloudflare-api/rollup.config.mjs
 create mode 100644 packages/cloudflare-api/src/api/fetcher.ts
 create mode 100644 packages/cloudflare-api/src/api/schemas.ts
 create mode 100644 packages/cloudflare-api/src/api/utils.ts
 create mode 100644 packages/cloudflare-api/src/client.ts
 create mode 100644 packages/cloudflare-api/src/index.ts
 create mode 100644 packages/cloudflare-api/src/utils/fetch.ts
 create mode 100644 packages/cloudflare-api/src/utils/types.ts
 create mode 100644 packages/cloudflare-api/tsconfig.json

diff --git a/packages/cloudflare-api/.npmignore b/packages/cloudflare-api/.npmignore
new file mode 100644
index 00000000..8ab682d4
--- /dev/null
+++ b/packages/cloudflare-api/.npmignore
@@ -0,0 +1,4 @@
+/node_modules
+/rollup.config.js
+/src
+/openapi-codegen.config.ts
diff --git a/packages/cloudflare-api/README.md b/packages/cloudflare-api/README.md
new file mode 100644
index 00000000..d4f0fbf6
--- /dev/null
+++ b/packages/cloudflare-api/README.md
@@ -0,0 +1,3 @@
+# Cloudflare API JavaScript SDK
+
+Unofficial Cloudflare API JavaScript SDK built from the OpenAPI specification and with TypeScript types.
diff --git a/packages/cloudflare-api/openapi-codegen.config.ts b/packages/cloudflare-api/openapi-codegen.config.ts
new file mode 100644
index 00000000..55fc068d
--- /dev/null
+++ b/packages/cloudflare-api/openapi-codegen.config.ts
@@ -0,0 +1,73 @@
+import { defineConfig } from '@openapi-codegen/cli';
+import { Context } from '@openapi-codegen/cli/lib/types';
+import { generateFetchers, generateSchemaTypes, renameComponent } from '@openapi-codegen/typescript';
+import { Project, VariableDeclarationKind } from 'ts-morph';
+import ts from 'typescript';
+
+export default defineConfig({
+  cloudflare: {
+    from: {
+      source: 'url',
+      url: 'https://raw.githubusercontent.com/cloudflare/api-schemas/main/openapi.json'
+    },
+    outputDir: 'src/api',
+    to: async (context) => {
+      const filenamePrefix = '';
+
+      context.openAPIDocument = renameComponent({
+        openAPIDocument: context.openAPIDocument,
+        from: '#/components/schemas/0rtt',
+        to: '#/components/schemas/zerortt'
+      });
+
+      context.openAPIDocument = renameComponent({
+        openAPIDocument: context.openAPIDocument,
+        from: '#/components/schemas/0rtt_value',
+        to: '#/components/schemas/zerortt_value'
+      });
+
+      const { schemasFiles } = await generateSchemaTypes(context, { filenamePrefix });
+      await generateFetchers(context, { filenamePrefix, schemasFiles });
+      await context.writeFile('extra.ts', buildExtraFile(context));
+    }
+  }
+});
+
+function buildExtraFile(context: Context) {
+  const project = new Project({
+    useInMemoryFileSystem: true,
+    compilerOptions: { module: ts.ModuleKind.ESNext, target: ts.ScriptTarget['ES2020'] }
+  });
+
+  const sourceFile = project.createSourceFile('extra.ts');
+
+  const operationsByPath = Object.fromEntries(
+    Object.entries(context.openAPIDocument.paths ?? {}).flatMap(([path, methods]) => {
+      return Object.entries(methods)
+        .filter(([method]) => ['GET', 'POST', 'PUT', 'PATCH', 'DELETE'].includes(method.toUpperCase()))
+        .map(([method, operation]: [string, any]) => [`${method.toUpperCase()} ${path}`, operation.operationId]);
+    })
+  );
+
+  sourceFile.addImportDeclaration({
+    namedImports: Object.values(operationsByPath),
+    moduleSpecifier: './components'
+  });
+
+  sourceFile.addVariableStatement({
+    isExported: true,
+    declarationKind: VariableDeclarationKind.Const,
+    declarations: [
+      {
+        name: 'operationsByPath',
+        initializer: `{
+            ${Object.entries(operationsByPath)
+              .map(([path, operation]) => `"${path}": ${operation}`)
+              .join(',\n')}
+        }`
+      }
+    ]
+  });
+
+  return sourceFile.getFullText();
+}
diff --git a/packages/cloudflare-api/package.json b/packages/cloudflare-api/package.json
new file mode 100644
index 00000000..34a35726
--- /dev/null
+++ b/packages/cloudflare-api/package.json
@@ -0,0 +1,27 @@
+{
+  "name": "cloudflare-api-js",
+  "version": "0.0.1",
+  "description": "Cloudflare API client for Node.js",
+  "author": "SferaDev",
+  "license": "ISC",
+  "bugs": {
+    "url": "https://github.com/SferaDev/openapi-clients/issues"
+  },
+  "homepage": "https://github.com/SferaDev/openapi-clients#readme",
+  "main": "dist/index.cjs",
+  "module": "dist/index.mjs",
+  "typings": "dist/index.d.ts",
+  "exports": {
+    "import": "./dist/index.mjs",
+    "require": "./dist/index.cjs"
+  },
+  "scripts": {
+    "tsc": "tsc --noEmit",
+    "build": "rimraf dist && rollup -c",
+    "generate": "openapi-codegen cloudflare"
+  },
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/SferaDev/openapi-clients.git"
+  }
+}
diff --git a/packages/cloudflare-api/rollup.config.mjs b/packages/cloudflare-api/rollup.config.mjs
new file mode 100644
index 00000000..37ac8ab5
--- /dev/null
+++ b/packages/cloudflare-api/rollup.config.mjs
@@ -0,0 +1,26 @@
+import typescript from "@rollup/plugin-typescript";
+import builtins from "builtin-modules";
+import dts from "rollup-plugin-dts";
+
+export default [
+    {
+        input: "./src/index.ts",
+        output: [
+            {
+                file: "dist/index.cjs",
+                format: "cjs",
+            },
+            {
+                file: "dist/index.mjs",
+                format: "esm",
+            },
+        ],
+        external: builtins,
+        plugins: [typescript()],
+    },
+    {
+        input: "./src/index.ts",
+        output: [{ file: "dist/index.d.ts", format: "es" }],
+        plugins: [dts()],
+    },
+];
\ No newline at end of file
diff --git a/packages/cloudflare-api/src/api/fetcher.ts b/packages/cloudflare-api/src/api/fetcher.ts
new file mode 100644
index 00000000..454b2949
--- /dev/null
+++ b/packages/cloudflare-api/src/api/fetcher.ts
@@ -0,0 +1,97 @@
+import { FetchImpl } from '../utils/fetch';
+
+export type FetcherExtraProps = {
+  token: string;
+  fetchImpl: FetchImpl;
+};
+
+export const baseUrl = 'https://api.cloudflare.com/client/v4';
+
+export type ErrorWrapper<TError> = TError | { status: 'unknown'; payload: string };
+
+export type FetcherOptions<TBody, THeaders, TQueryParams, TPathParams> = {
+  url: string;
+  method: string;
+  body?: TBody | undefined;
+  headers?: THeaders | undefined;
+  queryParams?: TQueryParams | undefined;
+  pathParams?: TPathParams | undefined;
+  signal?: AbortSignal | undefined;
+} & FetcherExtraProps;
+
+export async function fetch<
+  TData,
+  TError,
+  TBody extends {} | FormData | undefined | null,
+  THeaders extends {},
+  TQueryParams extends {},
+  TPathParams extends {}
+>({
+  url,
+  method,
+  body,
+  headers,
+  pathParams,
+  queryParams,
+  signal,
+  token,
+  fetchImpl
+}: FetcherOptions<TBody, THeaders, TQueryParams, TPathParams>): Promise<TData> {
+  try {
+    const requestHeaders: HeadersInit = {
+      'Content-Type': 'application/json',
+      Authorization: `Bearer ${token}`,
+      ...headers
+    };
+
+    /**
+     * As the fetch API is being used, when multipart/form-data is specified
+     * the Content-Type header must be deleted so that the browser can set
+     * the correct boundary.
+     * https://developer.mozilla.org/en-US/docs/Web/API/FormData/Using_FormData_Objects#sending_files_using_a_formdata_object
+     */
+    if (requestHeaders['Content-Type']?.toLowerCase().includes('multipart/form-data')) {
+      delete requestHeaders['Content-Type'];
+    }
+
+    const response = await fetchImpl(`${baseUrl}${resolveUrl(url, queryParams, pathParams)}`, {
+      signal,
+      method: method.toUpperCase(),
+      body: body ? (body instanceof FormData ? body : JSON.stringify(body)) : undefined,
+      headers: requestHeaders
+    });
+    if (!response.ok) {
+      let error: ErrorWrapper<TError>;
+      try {
+        error = await response.json();
+      } catch (e) {
+        error = {
+          status: 'unknown' as const,
+          payload: e instanceof Error ? `Unexpected error (${e.message})` : 'Unexpected error'
+        };
+      }
+
+      throw error;
+    }
+
+    if (response.headers?.get('content-type')?.includes('json')) {
+      return await response.json();
+    } else {
+      // if it is not a json response, assume it is a blob and cast it to TData
+      return (await response.text()) as unknown as TData;
+    }
+  } catch (e) {
+    let errorObject: Error = {
+      name: 'unknown' as const,
+      message: e instanceof Error ? `Network error (${e.message})` : 'Network error',
+      stack: e as string
+    };
+    throw errorObject;
+  }
+}
+
+const resolveUrl = (url: string, queryParams: Record<string, string> = {}, pathParams: Record<string, string> = {}) => {
+  let query = new URLSearchParams(queryParams).toString();
+  if (query) query = `?${query}`;
+  return url.replace(/\{\w*\}/g, (key) => pathParams[key.slice(1, -1)] ?? '') + query;
+};
diff --git a/packages/cloudflare-api/src/api/schemas.ts b/packages/cloudflare-api/src/api/schemas.ts
new file mode 100644
index 00000000..b02eb751
--- /dev/null
+++ b/packages/cloudflare-api/src/api/schemas.ts
@@ -0,0 +1,29295 @@
+/**
+ * Generated by @openapi-codegen
+ *
+ * @version 4.0.0
+ */
+export type AAAARecord = {
+  /**
+   * A valid IPv6 address.
+   *
+   * @example 2400:cb00:2049::1
+   * @format ipv6
+   */
+  content?: string;
+  name?: Name5Ag1twUN;
+  proxied?: ProxiedDwzKQw8a;
+  /**
+   * Record type.
+   *
+   * @example AAAA
+   */
+  type?: 'AAAA';
+} & Base4XanMLN9;
+
+export type ARecord = {
+  /**
+   * A valid IPv4 address.
+   *
+   * @example 198.51.100.4
+   * @format ipv4
+   */
+  content?: string;
+  name?: Name5Ag1twUN;
+  proxied?: ProxiedDwzKQw8a;
+  /**
+   * Record type.
+   *
+   * @example A
+   */
+  type?: 'A';
+} & Base4XanMLN9;
+
+export type CAARecord = {
+  /**
+   * Formatted CAA content. See 'data' to set CAA properties.
+   */
+  content?: string;
+  /**
+   * Components of a CAA record.
+   */
+  data?: {
+    /**
+     * Flags for the CAA record.
+     *
+     * @example 1
+     * @maximum 255
+     * @minimum 0
+     */
+    flags?: number;
+    /**
+     * Name of the property controlled by this record (e.g.: issue, issuewild, iodef).
+     *
+     * @example issue
+     */
+    tag?: string;
+    /**
+     * Value of the record. This field's semantics depend on the chosen tag.
+     */
+    value?: string;
+  };
+  name?: Name5Ag1twUN;
+  /**
+   * Record type.
+   *
+   * @example CAA
+   */
+  type?: 'CAA';
+} & Base4XanMLN9;
+
+export type CERTRecord = {
+  /**
+   * Formatted CERT content. See 'data' to set CERT properties.
+   */
+  content?: string;
+  /**
+   * Components of a CERT record.
+   */
+  data?: {
+    /**
+     * Algorithm.
+     *
+     * @example 8
+     * @maximum 255
+     * @minimum 0
+     */
+    algorithm?: number;
+    /**
+     * Certificate.
+     */
+    certificate?: string;
+    /**
+     * Key Tag.
+     *
+     * @example 1
+     * @maximum 65535
+     * @minimum 0
+     */
+    key_tag?: number;
+    /**
+     * Type.
+     *
+     * @example 9
+     * @maximum 65535
+     * @minimum 0
+     */
+    type?: number;
+  };
+  name?: Name5Ag1twUN;
+  /**
+   * Record type.
+   *
+   * @example CERT
+   */
+  type?: 'CERT';
+} & Base4XanMLN9;
+
+export type CNAMERecord = {
+  /**
+   * A valid hostname. Must not match the record's name.
+   */
+  content?: void;
+  name?: Name5Ag1twUN;
+  proxied?: ProxiedDwzKQw8a;
+  /**
+   * Record type.
+   *
+   * @example CNAME
+   */
+  type?: 'CNAME';
+} & Base4XanMLN9;
+
+/**
+ * A single account custom nameserver.
+ */
+export type CustomNS = {
+  /**
+   * A and AAAA records associated with the nameserver.
+   */
+  dns_records: {
+    /**
+     * DNS record type.
+     *
+     * @example A
+     */
+    type?: 'A' | 'AAAA';
+    /**
+     * DNS record contents (an IPv4 or IPv6 address).
+     *
+     * @example 1.1.1.1
+     */
+    value?: string;
+  }[];
+  ns_name: NsName;
+  /**
+   * Verification status of the nameserver.
+   *
+   * @deprecated true
+   * @example verified
+   */
+  status: 'moved' | 'pending' | 'verified';
+  zone_tag: SchemasIdentifier;
+};
+
+export type CustomNSInput = {
+  ns_name: NsName;
+};
+
+export type DNSKEYRecord = {
+  /**
+   * Formatted DNSKEY content. See 'data' to set DNSKEY properties.
+   */
+  content?: string;
+  /**
+   * Components of a DNSKEY record.
+   */
+  data?: {
+    /**
+     * Algorithm.
+     *
+     * @example 5
+     * @maximum 255
+     * @minimum 0
+     */
+    algorithm?: number;
+    /**
+     * Flags.
+     *
+     * @example 1
+     * @maximum 65535
+     * @minimum 0
+     */
+    flags?: number;
+    /**
+     * Protocol.
+     *
+     * @example 3
+     * @maximum 255
+     * @minimum 0
+     */
+    protocol?: number;
+    /**
+     * Public Key.
+     */
+    public_key?: string;
+  };
+  name?: Name5Ag1twUN;
+  /**
+   * Record type.
+   *
+   * @example DNSKEY
+   */
+  type?: 'DNSKEY';
+} & Base4XanMLN9;
+
+export type DSRecord = {
+  /**
+   * Formatted DS content. See 'data' to set DS properties.
+   */
+  content?: string;
+  /**
+   * Components of a DS record.
+   */
+  data?: {
+    /**
+     * Algorithm.
+     *
+     * @example 3
+     * @maximum 255
+     * @minimum 0
+     */
+    algorithm?: number;
+    /**
+     * Digest.
+     */
+    digest?: string;
+    /**
+     * Digest Type.
+     *
+     * @example 1
+     * @maximum 255
+     * @minimum 0
+     */
+    digest_type?: number;
+    /**
+     * Key Tag.
+     *
+     * @example 1
+     * @maximum 65535
+     * @minimum 0
+     */
+    key_tag?: number;
+  };
+  name?: Name5Ag1twUN;
+  /**
+   * Record type.
+   *
+   * @example DS
+   */
+  type?: 'DS';
+} & Base4XanMLN9;
+
+export type Everything = {
+  purge_everything?: boolean;
+};
+
+/**
+ * @example http://www.example.com/css/styles.css
+ */
+export type File = string;
+
+export type Files = {
+  files?: (File | UrlAndHeaders)[];
+};
+
+export type Flex = Tags | Hosts | Prefixes;
+
+export type HTTPSRecord = {
+  /**
+   * Formatted HTTPS content. See 'data' to set HTTPS properties.
+   */
+  content?: string;
+  /**
+   * Components of a HTTPS record.
+   */
+  data?: {
+    /**
+     * priority.
+     *
+     * @example 1
+     * @maximum 65535
+     * @minimum 0
+     */
+    priority?: number;
+    /**
+     * target.
+     *
+     * @example .
+     */
+    target?: string;
+    /**
+     * value.
+     *
+     * @example alpn="h3,h2" ipv4hint="127.0.0.1" ipv6hint="::1"
+     */
+    value?: string;
+  };
+  name?: Name5Ag1twUN;
+  /**
+   * Record type.
+   *
+   * @example HTTPS
+   */
+  type?: 'HTTPS';
+} & Base4XanMLN9;
+
+/**
+ * The 'Host' header allows to override the hostname set in the HTTP request. Current support is 1 'Host' header override per origin.
+ */
+export type Host = string[];
+
+export type Hosts = {
+  /**
+   * @example www.example.com
+   * @example images.example.com
+   */
+  hosts?: string[];
+};
+
+export type LOCRecord = {
+  /**
+   * Formatted LOC content. See 'data' to set LOC properties.
+   *
+   * @example IN LOC 37 46 46 N 122 23 35 W 0m 100m 0m 0m
+   */
+  content?: string;
+  /**
+   * Components of a LOC record.
+   */
+  data?: {
+    /**
+     * Altitude of location in meters.
+     *
+     * @example 0
+     * @maximum 42849672.95
+     * @minimum -100000
+     */
+    altitude?: number;
+    /**
+     * Degrees of latitude.
+     *
+     * @example 37
+     * @maximum 90
+     * @minimum 0
+     */
+    lat_degrees?: number;
+    /**
+     * Latitude direction.
+     *
+     * @example N
+     */
+    lat_direction?: 'N' | 'S';
+    /**
+     * Minutes of latitude.
+     *
+     * @default 0
+     * @example 46
+     * @maximum 59
+     * @minimum 0
+     */
+    lat_minutes?: number;
+    /**
+     * Seconds of latitude.
+     *
+     * @default 0
+     * @example 46
+     * @maximum 59.999
+     * @minimum 0
+     */
+    lat_seconds?: number;
+    /**
+     * Degrees of longitude.
+     *
+     * @example 122
+     * @maximum 180
+     * @minimum 0
+     */
+    long_degrees?: number;
+    /**
+     * Longitude direction.
+     *
+     * @example W
+     */
+    long_direction?: 'E' | 'W';
+    /**
+     * Minutes of longitude.
+     *
+     * @default 0
+     * @example 23
+     * @maximum 59
+     * @minimum 0
+     */
+    long_minutes?: number;
+    /**
+     * Seconds of longitude.
+     *
+     * @default 0
+     * @example 35
+     * @maximum 59.999
+     * @minimum 0
+     */
+    long_seconds?: number;
+    /**
+     * Horizontal precision of location.
+     *
+     * @default 0
+     * @example 0
+     * @maximum 90000000
+     * @minimum 0
+     */
+    precision_horz?: number;
+    /**
+     * Vertical precision of location.
+     *
+     * @default 0
+     * @example 0
+     * @maximum 90000000
+     * @minimum 0
+     */
+    precision_vert?: number;
+    /**
+     * Size of location in meters.
+     *
+     * @default 0
+     * @example 100
+     * @maximum 90000000
+     * @minimum 0
+     */
+    size?: number;
+  };
+  name?: Name5Ag1twUN;
+  /**
+   * Record type.
+   *
+   * @example LOC
+   */
+  type?: 'LOC';
+} & Base4XanMLN9;
+
+export type MXRecord = {
+  /**
+   * A valid mail server hostname.
+   *
+   * @example mx.example.com
+   * @format hostname
+   */
+  content?: string;
+  name?: Name5Ag1twUN;
+  priority?: PriorityVEsVispp;
+  /**
+   * Record type.
+   *
+   * @example MX
+   */
+  type?: 'MX';
+} & Base4XanMLN9;
+
+export type NAPTRRecord = {
+  /**
+   * Formatted NAPTR content. See 'data' to set NAPTR properties.
+   */
+  content?: string;
+  /**
+   * Components of a NAPTR record.
+   */
+  data?: {
+    /**
+     * Flags.
+     */
+    flags?: string;
+    /**
+     * Order.
+     *
+     * @example 100
+     * @maximum 65535
+     * @minimum 0
+     */
+    order?: number;
+    /**
+     * Preference.
+     *
+     * @example 10
+     * @maximum 65535
+     * @minimum 0
+     */
+    preference?: number;
+    /**
+     * Regex.
+     */
+    regex?: string;
+    /**
+     * Replacement.
+     */
+    replacement?: string;
+    /**
+     * Service.
+     */
+    service?: string;
+  };
+  name?: Name5Ag1twUN;
+  /**
+   * Record type.
+   *
+   * @example NAPTR
+   */
+  type?: 'NAPTR';
+} & Base4XanMLN9;
+
+export type NSRecord = {
+  /**
+   * A valid name server host name.
+   *
+   * @example ns1.example.com
+   */
+  content?: void;
+  name?: Name5Ag1twUN;
+  /**
+   * Record type.
+   *
+   * @example NS
+   */
+  type?: 'NS';
+} & Base4XanMLN9;
+
+export type PTRRecord = {
+  /**
+   * Domain name pointing to the address.
+   *
+   * @example example.com
+   */
+  content?: string;
+  name?: Name5Ag1twUN;
+  /**
+   * Record type.
+   *
+   * @example PTR
+   */
+  type?: 'PTR';
+} & Base4XanMLN9;
+
+export type Prefixes = {
+  /**
+   * @example www.example.com/foo
+   * @example images.example.com/bar/baz
+   */
+  prefixes?: string[];
+};
+
+export type SMIMEARecord = {
+  /**
+   * Formatted SMIMEA content. See 'data' to set SMIMEA properties.
+   */
+  content?: string;
+  /**
+   * Components of a SMIMEA record.
+   */
+  data?: {
+    /**
+     * Certificate.
+     */
+    certificate?: string;
+    /**
+     * Matching Type.
+     *
+     * @example 0
+     * @maximum 255
+     * @minimum 0
+     */
+    matching_type?: number;
+    /**
+     * Selector.
+     *
+     * @example 0
+     * @maximum 255
+     * @minimum 0
+     */
+    selector?: number;
+    /**
+     * Usage.
+     *
+     * @example 3
+     * @maximum 255
+     * @minimum 0
+     */
+    usage?: number;
+  };
+  name?: Name5Ag1twUN;
+  /**
+   * Record type.
+   *
+   * @example SMIMEA
+   */
+  type?: 'SMIMEA';
+} & Base4XanMLN9;
+
+export type SRVRecord = {
+  /**
+   * Priority, weight, port, and SRV target. See 'data' for setting the individual component values.
+   *
+   * @example 10 IN SRV 5 8806 example.com.
+   */
+  content?: string;
+  /**
+   * Components of a SRV record.
+   */
+  data?: {
+    /**
+     * A valid hostname.
+     *
+     * @example example.com
+     * @format hostname
+     */
+    name?: string;
+    /**
+     * The port of the service.
+     *
+     * @example 8806
+     * @maximum 65535
+     * @minimum 0
+     */
+    port?: number;
+    priority?: PriorityVEsVispp;
+    /**
+     * A valid protocol.
+     *
+     * @example _tcp
+     */
+    proto?: string;
+    /**
+     * A service type, prefixed with an underscore.
+     *
+     * @example _sip
+     */
+    service?: string;
+    /**
+     * A valid hostname.
+     *
+     * @example example.com
+     * @format hostname
+     */
+    target?: string;
+    /**
+     * The record weight.
+     *
+     * @example 5
+     * @maximum 65535
+     * @minimum 0
+     */
+    weight?: number;
+  };
+  /**
+   * Service, protocol, and SRV name content. See 'data' for setting the individual component values.
+   *
+   * @example _sip._tcp.example.com
+   * @maxLength 255
+   */
+  name?: string;
+  /**
+   * Record type.
+   *
+   * @example SRV
+   */
+  type?: 'SRV';
+} & Base4XanMLN9;
+
+export type SSHFPRecord = {
+  /**
+   * Formatted SSHFP content. See 'data' to set SSHFP properties.
+   */
+  content?: string;
+  /**
+   * Components of a SSHFP record.
+   */
+  data?: {
+    /**
+     * algorithm.
+     *
+     * @example 2
+     * @maximum 255
+     * @minimum 0
+     */
+    algorithm?: number;
+    /**
+     * fingerprint.
+     */
+    fingerprint?: string;
+    /**
+     * type.
+     *
+     * @example 1
+     * @maximum 255
+     * @minimum 0
+     */
+    type?: number;
+  };
+  name?: Name5Ag1twUN;
+  /**
+   * Record type.
+   *
+   * @example SSHFP
+   */
+  type?: 'SSHFP';
+} & Base4XanMLN9;
+
+export type SVCBRecord = {
+  /**
+   * Formatted SVCB content. See 'data' to set SVCB properties.
+   */
+  content?: string;
+  /**
+   * Components of a SVCB record.
+   */
+  data?: {
+    /**
+     * priority.
+     *
+     * @example 1
+     * @maximum 65535
+     * @minimum 0
+     */
+    priority?: number;
+    /**
+     * target.
+     *
+     * @example .
+     */
+    target?: string;
+    /**
+     * value.
+     *
+     * @example alpn="h3,h2" ipv4hint="127.0.0.1" ipv6hint="::1"
+     */
+    value?: string;
+  };
+  name?: Name5Ag1twUN;
+  /**
+   * Record type.
+   *
+   * @example SVCB
+   */
+  type?: 'SVCB';
+} & Base4XanMLN9;
+
+export type TLSARecord = {
+  /**
+   * Formatted TLSA content. See 'data' to set TLSA properties.
+   */
+  content?: string;
+  /**
+   * Components of a TLSA record.
+   */
+  data?: {
+    /**
+     * certificate.
+     */
+    certificate?: string;
+    /**
+     * Matching Type.
+     *
+     * @example 1
+     * @maximum 255
+     * @minimum 0
+     */
+    matching_type?: number;
+    /**
+     * Selector.
+     *
+     * @example 0
+     * @maximum 255
+     * @minimum 0
+     */
+    selector?: number;
+    /**
+     * Usage.
+     *
+     * @example 0
+     * @maximum 255
+     * @minimum 0
+     */
+    usage?: number;
+  };
+  name?: Name5Ag1twUN;
+  /**
+   * Record type.
+   *
+   * @example TLSA
+   */
+  type?: 'TLSA';
+} & Base4XanMLN9;
+
+export type TXTRecord = {
+  /**
+   * Text content for the record.
+   *
+   * @example example text content
+   */
+  content?: string;
+  name?: Name5Ag1twUN;
+  /**
+   * Record type.
+   *
+   * @example TXT
+   */
+  type?: 'TXT';
+} & Base4XanMLN9;
+
+export type Tags = {
+  /**
+   * @example some-tag
+   * @example another-tag
+   */
+  tags?: string[];
+};
+
+export type URIRecord = {
+  /**
+   * Formatted URI content. See 'data' to set URI properties.
+   */
+  content?: string;
+  /**
+   * Components of a URI record.
+   */
+  data?: {
+    /**
+     * The record content.
+     *
+     * @example http://example.com/example.html
+     */
+    content?: string;
+    /**
+     * The record weight.
+     *
+     * @example 20
+     * @maximum 65535
+     * @minimum 0
+     */
+    weight?: number;
+  };
+  name?: Name5Ag1twUN;
+  priority?: PriorityVEsVispp;
+  /**
+   * Record type.
+   *
+   * @example URI
+   */
+  type?: 'URI';
+} & Base4XanMLN9;
+
+export type UrlAndHeaders = {
+  /**
+     * @example {
+        "Origin": "https://www.cloudflare.com",
+        "CF-IPCountry": "US",
+        "CF-Device-Type": "desktop"
+    }
+     */
+  headers?: Record<string, any>;
+  /**
+   * @example http://www.example.com/cat_picture.jpg
+   */
+  url?: string;
+};
+
+export type AccessPolicy = PolicyWithPermissionGroups;
+
+export type AccessRequests = {
+  action?: Action;
+  allowed?: Allowed;
+  app_domain?: AppDomain;
+  app_uid?: AppUid;
+  connection?: ConnectionU5eyz9N8;
+  created_at?: Timestamp;
+  ip_address?: IpRSepkSnX;
+  ray_id?: RayId;
+  user_email?: Email;
+};
+
+export type AccessRequestsSVxTrMG4 = {
+  action?: AccessRequestsComponentsSchemasAction;
+  allowed?: SchemasAllowed;
+  app_domain?: AppDomain;
+  app_uid?: AppUid;
+  connection?: SchemasConnection;
+  created_at?: Timestamp;
+  ip_address?: SchemasIp;
+  ray_id?: RayId;
+  user_email?: SchemasEmailJb7fdlGM;
+};
+
+/**
+ * The event that occurred, such as a login attempt.
+ *
+ * @example login
+ */
+export type AccessRequestsComponentsSchemasAction = string;
+
+export type AccessRequestsComponentsSchemasResponseCollection = ApiResponseCollection & {
+  result?: AccessRequestsSVxTrMG4[];
+};
+
+/**
+ * Defines rules for fine-grained control over content than signed URL tokens alone. Access rules primarily make tokens conditionally valid based on user information. Access Rules are specified on token payloads as the `accessRules` property containing an array of Rule objects.
+ */
+export type AccessRules = {
+  /**
+   * The action to take when a request matches a rule. If the action is `block`, the signed token blocks views for viewers matching the rule.
+   *
+   * @example allow
+   */
+  action?: 'allow' | 'block';
+  /**
+   * An array of 2-letter country codes in ISO 3166-1 Alpha-2 format used to match requests.
+   */
+  country?: string[];
+  /**
+   * An array of IPv4 or IPV6 addresses or CIDRs used to match requests.
+   */
+  ip?: string[];
+  /**
+   * Lists available rule types to match for requests. An `any` type matches all requests and can be used as a wildcard to apply default actions after other rules.
+   *
+   * @example ip.src
+   */
+  type?: 'any' | 'ip.src' | 'ip.geoip.country';
+};
+
+/**
+ * Matches an Access group.
+ */
+export type AccessGroupRule = {
+  group: {
+    /**
+     * The ID of a previously created Access group.
+     *
+     * @example aa0a4aab-672b-4bdb-bc33-a59f1130a11f
+     */
+    id: string;
+  };
+};
+
+/**
+ * True if the seat is part of Access.
+ *
+ * @example false
+ */
+export type AccessSeat = boolean;
+
+export type Account = {
+  /**
+   * Timestamp for the creation of the account
+   *
+   * @example 2014-03-01T12:21:02.0000Z
+   * @format date-time
+   */
+  created_on?: string;
+  id: CommonComponentsSchemasIdentifier;
+  /**
+   * Account name
+   *
+   * @example Demo Account
+   * @maxLength 100
+   */
+  name: string;
+  /**
+   * Account settings
+   */
+  settings?: {
+    /**
+     * Indicates whether membership in this account requires that
+     * Two-Factor Authentication is enabled
+     *
+     * @default false
+     */
+    enforce_twofactor?: boolean;
+    /**
+     * Indicates whether new zones should use the account-level custom
+     * nameservers by default
+     *
+     * @default false
+     */
+    use_account_custom_ns_by_default?: boolean;
+  };
+};
+
+export type AccountSettingsResponse = {
+  errors: Messages;
+  messages: Messages;
+  result:
+    | {
+        default_usage_model?: void;
+        green_compute?: void;
+      }
+    | any[]
+    | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type AccountIdentifier = Identifier;
+
+/**
+ * @example 01a7362d577a6c3019a474fd6f485823
+ */
+export type AccountIdentifier3wuxDA7A = void;
+
+/**
+ * The account identifier tag.
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type AccountIdentifierVA4RU1GK = string;
+
+export type AccountIdentifierYcYIB9xV = void;
+
+export type AccountSubscriptionResponseCollection = ApiResponseCollection & {
+  result?: Subscription[];
+};
+
+export type AccountSubscriptionResponseSingle = ApiResponseSingleLarS7owG & {
+  result?: Record<string, any>;
+};
+
+export type Acl = {
+  id: ComponentsSchemasIdentifierNz3bhUPI;
+  ip_range: IpRange;
+  name: AclComponentsSchemasName;
+};
+
+/**
+ * The name of the acl.
+ *
+ * @example my-acl-1
+ */
+export type AclComponentsSchemasName = string;
+
+export type AcnsResponseCollection = ApiResponseCollection & {
+  result?: CustomNS[];
+};
+
+export type AcnsResponseSingle = ApiResponseSingleQBZL5yxW & {
+  result?: CustomNS;
+};
+
+/**
+ * The event that occurred, such as a login attempt.
+ *
+ * @example login
+ */
+export type Action = string;
+
+/**
+ * The action to preform when the associated traffic, identity, and device posture expressions are either absent or evaluate to 'true'.
+ *
+ * @example allow
+ */
+export type ActionCzIx4RfS =
+  | 'on'
+  | 'off'
+  | 'allow'
+  | 'block'
+  | 'scan'
+  | 'noscan'
+  | 'safesearch'
+  | 'ytrestricted'
+  | 'isolate'
+  | 'noisolate'
+  | 'override'
+  | 'l4_override'
+  | 'egress'
+  | 'audit_ssh';
+
+/**
+ * The billing item action.
+ *
+ * @example subscription
+ * @maxLength 30
+ */
+export type ActionC1tW2hZo = string;
+
+/**
+ * The default action performed by the rules in the WAF package.
+ *
+ * @default challenge
+ */
+export type ActionMode = 'simulate' | 'block' | 'challenge';
+
+/**
+ * The parameters configuring the rule action.
+ *
+ * @example {"id":"4814384a9e5d4991b9815dcfc25d2f1f"}
+ */
+export type ActionParameters = Record<string, any>;
+
+/**
+ * The configuration parameters for the redirect action.
+ */
+export type ActionParametersRedirect = {
+  /**
+   * The parameters that control the redirect.
+   */
+  from_value?: {
+    /**
+     * Whether the query string for the request should be carried to the redirect's target url.
+     *
+     * @example true
+     */
+    preserve_query_string?: boolean;
+    /**
+     * The status code to use for the redirect.
+     */
+    status_code?: number;
+    target_url?:
+      | {
+          /**
+           * An expression defining a dynamic value for the target url of the redirect.
+           *
+           * @example concat(http.request.full_uri, "/latest")
+           */
+          expression?: string;
+        }
+      | {
+          /**
+           * The value defining the target url of the redirect.
+           *
+           * @example https://example.com/blog/latest
+           */
+          value?: string;
+        };
+  };
+};
+
+/**
+ * The configuration parameters for the rewrite action.
+ */
+export type ActionParametersRewrite = {
+  /**
+   * The URI rewrite configuration to rewrite the URI path, the query string, or both.
+   */
+  uri?: {
+    /**
+     * The new URI path sent to the origin.
+     */
+    path?: void;
+    /**
+     * The new query string sent to the origin.
+     */
+    query?: void;
+  };
+};
+
+/**
+ * The configuration parameters for the route action.
+ */
+export type ActionParametersRoute = {
+  /**
+   * The value of the Host header.
+   *
+   * @example foo.example.com
+   */
+  host_header?: string;
+  /**
+   * The parameters that control where the origin is.
+   */
+  origin?: {
+    /**
+     * The host to use for origin.
+     *
+     * @example foo.example.com
+     */
+    host?: string;
+    /**
+     * The port to use for origin.
+     */
+    port?: number;
+  };
+  /**
+   * The parameters that control the SNI.
+   */
+  sni?: {
+    /**
+     * The SNI used to connect to the origin.
+     *
+     * @example foo.example.com
+     */
+    value?: string;
+  };
+};
+
+/**
+ * The action parameters for the serve_error action.
+ */
+export type ActionParametersServeError = {
+  /**
+   * The new content for the response error.
+   *
+   * @example some html error page
+   */
+  content?: string;
+  /**
+   * The content-type of the response error.
+   *
+   * @example text/html
+   */
+  content_type?: string;
+  /**
+   * The HTTP status code of the response error.
+   *
+   * @example 530
+   */
+  status_code?: number;
+};
+
+/**
+ * The configuration parameters for the set_cache_settings action.
+ */
+export type ActionParametersSetCacheSettings = {
+  /**
+   * Set the Browser TTL.
+   */
+  browser_ttl?: {
+    ['default']?: number;
+    /**
+     * @example override_origin
+     */
+    mode?: string;
+  };
+  /**
+   * Set the Cache TTL.
+   */
+  cache_key?: {
+    /**
+     * @example true
+     */
+    cache_deception_armor?: boolean;
+    custom_key?: {
+      cookie?: {
+        /**
+         * @example cookie_1
+         */
+        check_presence?: any[];
+        /**
+         * @example cookie1
+         */
+        include?: any[];
+      };
+      header?: {
+        /**
+         * @example header_1
+         */
+        check_presence?: any[];
+        /**
+         * @example header1
+         */
+        include?: any[];
+      };
+      host?: {
+        /**
+         * @example false
+         */
+        resolved?: boolean;
+      };
+      query_string?: {
+        /**
+         * @example *
+         */
+        include?: string;
+      };
+      user?: {
+        /**
+         * @example true
+         */
+        device_type?: boolean;
+        /**
+         * @example false
+         */
+        geo?: boolean;
+        /**
+         * @example false
+         */
+        lang?: boolean;
+      };
+    };
+    /**
+     * @example true
+     */
+    ignore_query_strings_order?: boolean;
+  };
+  /**
+   * Set the Cache TTL.
+   */
+  edge_ttl?: {
+    /**
+     * @example respect_origin
+     */
+    mode?: string;
+    status_code_ttl?: {
+      status_code?: number;
+      value?: number;
+    };
+  };
+  /**
+   * @example true
+   */
+  origin_error_page_passthru?: boolean;
+  /**
+   * @example true
+   */
+  respect_strong_etags?: boolean;
+  serve_stale?: {
+    /**
+     * @example true
+     */
+    disable_stale_while_updating?: boolean;
+  };
+};
+
+/**
+ * The configuration parameters for the set_config action.
+ */
+export type ActionParametersSetConfig = {
+  /**
+   * Enable or disable Automatic HTTPS Rewrites for matching requests
+   *
+   * @example true
+   */
+  automatic_https_rewrites?: boolean;
+  /**
+   * Select which file extensions to minify automatically.
+   */
+  autominify?: {
+    /**
+     * @example true
+     */
+    css?: boolean;
+    /**
+     * @example true
+     */
+    html?: boolean;
+    /**
+     * @example true
+     */
+    js?: boolean;
+  };
+  /**
+   * Enable or disable Browser Integrity Check
+   *
+   * @example true
+   */
+  bic?: boolean;
+  /**
+   * Disable all active Cloudflare Apps
+   *
+   * @example true
+   */
+  disable_apps?: boolean;
+  /**
+   * Disable Cloudflare Railgun
+   *
+   * @example true
+   */
+  disable_railgun?: boolean;
+  /**
+   * Disable Cloudflare Railgun
+   *
+   * @example true
+   */
+  disable_zaraz?: boolean;
+  /**
+   * Enable or disable Email Obfuscation
+   *
+   * @example false
+   */
+  email_obfuscation?: boolean;
+  /**
+   * Enable or disable Hotlink Protection
+   *
+   * @example false
+   */
+  hotlink_protection?: boolean;
+  /**
+   * Enable or disable Mirage
+   *
+   * @example false
+   */
+  mirage?: boolean;
+  /**
+   * Enable or disableOpportunistic Encryption
+   *
+   * @example false
+   */
+  opportunistic_encryption?: boolean;
+  /**
+   * Set Polish compression options
+   *
+   * @example lossless
+   */
+  polish?: string;
+  /**
+   * Enable or disable Rocket Loader
+   *
+   * @example false
+   */
+  rocket_loader?: boolean;
+  /**
+   * Set the Security Level
+   *
+   * @example low
+   */
+  security_level?: string;
+  /**
+   * Enable or disable Server Side Excludes
+   *
+   * @example false
+   */
+  server_side_excludes?: boolean;
+  /**
+   * Select the SSL encryption mode
+   *
+   * @example flexible
+   */
+  ssl?: string;
+  /**
+   * Enable or disable Signed Exchangesn(SXG)
+   *
+   * @example false
+   */
+  sxg?: boolean;
+};
+
+/**
+ * The set of actions to perform if the targets of this rule match the request. Actions can redirect to another URL or override settings, but not both.
+ *
+ * @example {"id":"browser_check","value":"on"}
+ */
+export type Actions = RouteVdCUMuBC[];
+
+/**
+ * When the Railgun was activated.
+ *
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
+ */
+export type ActivatedOn = string;
+
+export type Activation = {
+  activated_on?: ActivatedOn;
+  key: ActivationKey;
+  version?: {
+    build?: Build;
+    number: ComponentsSchemasVersion;
+    revision?: Revision;
+  };
+};
+
+/**
+ * @example e4edc00281cb56ebac22c81be9bac8f3
+ * @maxLength 32
+ */
+export type ActivationKey = string;
+
+/**
+ * The number of active devices registered to the user.
+ *
+ * @example 2
+ */
+export type ActiveDeviceCount = number;
+
+/**
+ * Activity log settings.
+ */
+export type ActivityLogSettings = {
+  /**
+   * Enable activity logging.
+   *
+   * @example true
+   */
+  enabled?: boolean;
+};
+
+/**
+ * Controls features that modify the routing of requests to pools and origins in response to dynamic conditions, such as during the interval between active health monitoring requests. For example, zero-downtime failover occurs immediately when an origin becomes unavailable due to HTTP 521, 522, or 523 response codes. If there is another healthy origin in the same pool, the request is retried once against this alternate origin.
+ */
+export type AdaptiveRouting = {
+  /**
+   * Extends zero-downtime failover of requests to healthy origins from alternate pools, when no healthy alternate exists in the same pool, according to the failover order defined by traffic and origin steering. When set false (the default) zero-downtime failover will only occur between origins within the same pool. See `session_affinity_attributes` for control over when sessions are broken or reassigned.
+   *
+   * @default false
+   * @example true
+   */
+  failover_across_pools?: boolean;
+};
+
+/**
+ * Additional information related to the host name.
+ */
+export type AdditionalInformation = {
+  /**
+   * Suspected DGA malware family.
+   *
+   * @example
+   */
+  suspected_malware_family?: string;
+};
+
+/**
+ * The hostname or IP address of the origin server to run health checks on.
+ *
+ * @example www.example.com
+ */
+export type Address = string;
+
+/**
+ * The IP address (IPv4 or IPv6) of the origin, or its publicly addressable hostname. Hostnames entered here should resolve directly to the origin, and not be a hostname proxied by Cloudflare. To set an internal/reserved address, virtual_network_id must also be set.
+ *
+ * @example 0.0.0.0
+ */
+export type Address2vBDvjOD = string;
+
+/**
+ * The IP address (IPv4 or IPv6) of the origin, or its publicly addressable hostname. Hostnames entered here should resolve directly to the origin, and not be a hostname proxied by Cloudflare. To set an internal/reserved address, virtual_network_id must also be set.
+ *
+ * @example 0.0.0.0
+ */
+export type AddressGVmFzzym = string;
+
+export type AddressMaps = {
+  can_delete?: CanDelete;
+  can_modify_ips?: CanModifyIps;
+  created_at?: Timestamp;
+  default_sni?: DefaultSni;
+  description?: SchemasDescription;
+  enabled?: EnabledMHW1g4wi;
+  id?: Identifier;
+  modified_at?: Timestamp;
+};
+
+export type AddressMapsTAVtBJaW = {
+  can_delete?: CanDelete;
+  can_modify_ips?: CanModifyIps;
+  created_at?: Timestamp;
+  default_sni?: DefaultSni;
+  description?: AddressMapsComponentsSchemasDescription;
+  enabled?: AddressMapsComponentsSchemasEnabled;
+  id?: CommonComponentsSchemasIdentifier;
+  modified_at?: Timestamp;
+};
+
+export type AddressMapsIp = {
+  created_at?: Timestamp;
+  ip?: Ip;
+};
+
+export type AddressMapsIpSOzzPbBz = {
+  created_at?: CreatedOn;
+  ip?: Ip;
+};
+
+export type AddressMapsMembership = {
+  can_delete?: SchemasCanDelete;
+  created_at?: Timestamp;
+  identifier?: Identifier;
+  kind?: Kind;
+};
+
+export type AddressMapsMembership5Sv6b19f = {
+  can_delete?: SchemasCanDelete;
+  created_at?: CreatedOn;
+  identifier?: CommonComponentsSchemasIdentifier;
+  kind?: ComponentsSchemasKind;
+};
+
+/**
+ * An optional description field which may be used to describe the types of IPs or zones on the map.
+ *
+ * @example My Ecommerce zones
+ */
+export type AddressMapsComponentsSchemasDescription = string | null;
+
+/**
+ * Whether the Address Map is enabled or not. Cloudflare's DNS will not respond with IP addresses on an Address Map until the map is enabled.
+ *
+ * @default false
+ * @example true
+ */
+export type AddressMapsComponentsSchemasEnabled = boolean | null;
+
+export type AddressMapsComponentsSchemasResponseCollection = ApiResponseCollection & {
+  result?: AddressMapsTAVtBJaW[];
+};
+
+export type AddressMapsComponentsSchemasSingleResponse = ApiResponseSingleLarS7owG & {
+  result?: AddressMapsTAVtBJaW;
+};
+
+/**
+ * Optional address line for unit, floor, suite, etc.
+ *
+ * @example Suite 430
+ */
+export type Address2 = string;
+
+export type Addresses = DestinationAddressProperties;
+
+export type AdvancedCertificatePackResponseSingle = ApiResponseSingleZZHeSkIR & {
+  result?: {
+    certificate_authority?: SchemasCertificateAuthority;
+    cloudflare_branding?: CloudflareBranding;
+    hosts?: SchemasHosts;
+    id?: Identifier;
+    status?: CertificatePacksComponentsSchemasStatus;
+    type?: AdvancedType;
+    validation_method?: ValidationMethod;
+    validity_days?: ValidityDays;
+  };
+};
+
+export type AdvancedCertificatePackResponseSingleJGLglSyc = ApiResponseSingleLarS7owG & {
+  result?: {
+    certificate_authority?: CertificateAuthorityFERjgp6A;
+    cloudflare_branding?: CloudflareBranding;
+    hosts?: SchemasHosts;
+    id?: CertificatePacksComponentsSchemasIdentifier;
+    status?: CertificatePacksComponentsSchemasStatus;
+    type?: AdvancedType;
+    validation_method?: ValidationMethod;
+    validity_days?: ValidityDays;
+  };
+};
+
+/**
+ * Advanced protection from Distributed Denial of Service (DDoS) attacks on your website. This is an uneditable value that is 'on' in the case of Business and Enterprise zones.
+ */
+export type AdvancedDdos = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example advanced_ddos
+   */
+  id: 'advanced_ddos';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: AdvancedDdosValue;
+};
+
+/**
+ * Value of the zone setting.
+ * Notes: Defaults to on for Business+ plans
+ *
+ * @default off
+ */
+export type AdvancedDdosValue = 'on' | 'off';
+
+/**
+ * Type of certificate pack.
+ *
+ * @example advanced
+ */
+export type AdvancedType = 'advanced';
+
+/**
+ * Prefix advertisement status to the Internet. This field is only not 'null' if on demand is enabled.
+ *
+ * @example true
+ */
+export type Advertised = boolean | null;
+
+export type AdvertisedResponse = ApiResponseSingleZ04EBmfK & {
+  result?: {
+    advertised?: SchemasAdvertised;
+    advertised_modified_at?: ModifiedAtNullable;
+  };
+};
+
+export type AdvertisedResponse4CdBXORk = ApiResponseSingleLarS7owG & {
+  result?: {
+    advertised?: SchemasAdvertised;
+    advertised_modified_at?: ModifiedAtNullable;
+  };
+};
+
+export type AlertTypes = {
+  description?: AlertTypesComponentsSchemasDescription;
+  display_name?: DisplayName;
+  filter_options?: SchemasFilterOptions;
+  type?: AlertTypesComponentsSchemasType;
+};
+
+/**
+ * Describes the alert type.
+ *
+ * @example High levels of 5xx HTTP errors at your origin
+ */
+export type AlertTypesComponentsSchemasDescription = string;
+
+export type AlertTypesComponentsSchemasResponseCollection = ApiResponseCollection & {
+  /**
+   * @example {"Origin Monitoring":[{"description":"High levels of 5xx HTTP errors at your origin.","display_name":"Origin Error Rate Alert","filter_options":[{"ComparisonOperator":"==","Key":"zones","Optional":false},{"ComparisonOperator":">=","Key":"slo","Optional":true}],"type":"http_alert_origin_error"}]}
+   */
+  result?: {
+    [key: string]: AlertTypes[];
+  };
+};
+
+/**
+ * Use this value when creating and updating a notification policy.
+ *
+ * @example http_alert_origin_error
+ */
+export type AlertTypesComponentsSchemasType = string;
+
+/**
+ * Message body included in the notification sent.
+ *
+ * @example SSL certificate has expired
+ */
+export type AlertBody = string;
+
+/**
+ * Refers to which event will trigger a Notification dispatch. You can use the endpoint to get available alert types which then will give you a list of possible values.
+ *
+ * @example universal_ssl_event_type
+ */
+export type AlertType = string;
+
+/**
+ * TSIG algorithm.
+ *
+ * @example hmac-sha512.
+ */
+export type Algo = string;
+
+/**
+ * Algorithm key code.
+ *
+ * @example 13
+ */
+export type Algorithm = string | null;
+
+/**
+ * Allows all HTTP request headers.
+ *
+ * @example true
+ */
+export type AllowAllHeaders = boolean;
+
+/**
+ * Allows all HTTP request methods.
+ */
+export type AllowAllMethods = boolean;
+
+/**
+ * Allows all origins.
+ */
+export type AllowAllOrigins = boolean;
+
+/**
+ * When set to `true`, includes credentials (cookies, authorization headers, or TLS client certificates) with requests.
+ */
+export type AllowCredentials = boolean;
+
+/**
+ * Do not validate the certificate when monitor use HTTPS. This parameter is currently only valid for HTTP and HTTPS monitors.
+ *
+ * @default false
+ * @example true
+ */
+export type AllowInsecure = boolean;
+
+/**
+ * Whether to allow the user to switch WARP between modes.
+ *
+ * @example true
+ */
+export type AllowModeSwitch = boolean;
+
+/**
+ * When `true`, the tunnel can use a null-cipher (`ENCR_NULL`) in the ESP tunnel (Phase 2).
+ *
+ * @example true
+ */
+export type AllowNullCipher = boolean;
+
+/**
+ * Whether to receive update notifications when a new version of the client is available.
+ *
+ * @example true
+ */
+export type AllowUpdates = boolean;
+
+/**
+ * The result of the authentication event.
+ *
+ * @default false
+ */
+export type Allowed = boolean;
+
+/**
+ * Cloudflare Images allowed usage.
+ *
+ * @example 100000
+ */
+export type Allowed26ctRtQW = number;
+
+/**
+ * Lists the origins allowed to display the video. Enter allowed origin domains in an array and use `*` for wildcard subdomains. Empty arrays allow the video to be viewed on any origin.
+ *
+ * @example example.com
+ */
+export type AllowedOrigins = string[];
+
+/**
+ * Allowed HTTP request headers.
+ */
+export type AllowedHeaders = any[];
+
+/**
+ * The identity providers your users can select when connecting to this application. Defaults to all IdPs configured in your account.
+ */
+export type AllowedIdps = string[];
+
+/**
+ * Related DLP policies will trigger when the match count exceeds the number set.
+ *
+ * @default 0
+ * @example 5
+ * @maximum 1000
+ * @minimum 0
+ */
+export type AllowedMatchCount = number;
+
+/**
+ * Allowed HTTP request methods.
+ *
+ * @example GET
+ */
+export type AllowedMethods = ('GET' | 'POST' | 'HEAD' | 'PUT' | 'DELETE' | 'CONNECT' | 'OPTIONS' | 'TRACE' | 'PATCH')[];
+
+/**
+ * The available states for the rule group.
+ *
+ * @example on
+ * @example off
+ */
+export type AllowedModes = ComponentsSchemasMode[];
+
+/**
+ * Defines the available modes for the current WAF rule.
+ *
+ * @example on
+ * @example off
+ */
+export type AllowedModesAllowTraditional = ModeAllowTraditional[];
+
+/**
+ * Defines the available modes for the current WAF rule. Applies to anomaly detection WAF rules.
+ *
+ * @example on
+ * @example off
+ */
+export type AllowedModesAnomaly = ModeAnomaly[];
+
+/**
+ * The list of possible actions of the WAF rule when it is triggered.
+ *
+ * @example default
+ * @example disable
+ * @example simulate
+ * @example block
+ * @example challenge
+ */
+export type AllowedModesDenyTraditional = ModeDenyTraditional[];
+
+/**
+ * Allowed origins.
+ *
+ * @example https://example.com
+ */
+export type AllowedOrigins = any[];
+
+/**
+ * Whether to allow devices to leave the organization.
+ *
+ * @example true
+ */
+export type AllowedToLeave = boolean;
+
+/**
+ * When enabled, Cloudflare serves limited copies of web pages available from the [Internet Archive's Wayback Machine](https://archive.org/web/) if your server is offline. Refer to [Always Online](https://developers.cloudflare.com/cache/about/always-online) for more information.
+ */
+export type AlwaysOnline = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example always_online
+   */
+  id: 'always_online';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: AlwaysOnlineValue;
+};
+
+/**
+ * Value of the zone setting.
+ *
+ * @default on
+ */
+export type AlwaysOnlineValue = 'on' | 'off';
+
+/**
+ * Reply to all requests for URLs that use "http" with a 301 redirect to the equivalent "https" URL. If you only want to redirect for a subset of requests, consider creating an "Always use HTTPS" page rule.
+ *
+ * @default off
+ */
+export type AlwaysUseHttps = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example always_use_https
+   */
+  id: 'always_use_https';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: AlwaysUseHttpsValue;
+};
+
+/**
+ * Value of the zone setting.
+ *
+ * @default off
+ */
+export type AlwaysUseHttpsValue = 'on' | 'off';
+
+/**
+ * The amount associated with this billing item.
+ *
+ * @example 20.99
+ */
+export type Amount = number;
+
+export type Analytics = {
+  /**
+   * @default 1
+   */
+  id?: number;
+  /**
+   * @example {"address":"198.51.100.4","changed":true,"enabled":true,"failure_reason":"No failures","healthy":true,"ip":"198.51.100.4","name":"some-origin"}
+   */
+  origins?: any[];
+  /**
+   * @example {"changed":true,"healthy":true,"id":"74bc6a8b9b0dda3d651707a2928bad0c","minimum_origins":1,"name":"some-pool"}
+   */
+  pool?: Record<string, any>;
+  /**
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  timestamp?: string;
+};
+
+export type AnalyticsAggregateComponentsSchemasResponseCollection = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+/**
+ * @example 17b5962d775c646f3f9725cbc7a53df4
+ */
+export type AnalyticsComponentsSchemasIdentifier = void;
+
+export type AnalyticsComponentsSchemasResponseCollection = ApiResponseCollection & {
+  result?: Analytics[];
+};
+
+/**
+ * A summary of the purpose/function of the WAF package.
+ *
+ * @example Covers OWASP Top 10 vulnerabilities and more.
+ */
+export type AnomalyDescription = string;
+
+/**
+ * When a WAF package uses anomaly detection, each rule is given a score when triggered. If the total score of all triggered rules exceeds the sensitivity defined on the WAF package, the action defined on the package will be taken.
+ *
+ * @example anomaly
+ */
+export type AnomalyDetectionMode = string;
+
+/**
+ * The name of the WAF package.
+ *
+ * @example OWASP ModSecurity Core Rule Set
+ */
+export type AnomalyName = string;
+
+export type AnomalyPackage = {
+  description: AnomalyDescription;
+  detection_mode: AnomalyDetectionMode;
+  id: PackageComponentsSchemasIdentifier;
+  name: AnomalyName;
+  status?: PackageComponentsSchemasStatus;
+  zone_id: CommonComponentsSchemasIdentifier;
+  action_mode?: ActionMode;
+  sensitivity?: Sensitivity;
+};
+
+/**
+ * When triggered, anomaly detection WAF rules contribute to an overall threat score that will determine if a request is considered malicious. You can configure the total scoring threshold through the 'sensitivity' property of the WAF package.
+ */
+export type AnomalyRule = RuleComponentsSchemasBase2 & {
+  allowed_modes?: AllowedModesAnomaly;
+  mode?: ModeAnomaly;
+};
+
+/**
+ * Anti virus settings.
+ */
+export type AntiVirusSettings = {
+  enabled_download_phase?: EnabledDownloadPhase;
+  enabled_upload_phase?: EnabledUploadPhase;
+  fail_closed?: FailClosed;
+};
+
+export type ApiResponseCollection = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | any[] | string | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+  result_info?: ResultInfo;
+};
+
+export type ApiResponseCollectionCommon = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | any[] | string | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ApiResponseCommon = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: Messages;
+  messages: Messages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type ApiResponseCommonFailureCy4i8dJG = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI."}
+   * @minLength 1
+   */
+  errors: Messages;
+  messages: Messages;
+  result: any | null;
+  /**
+   * Whether the API call was successful.
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type ApiResponseCommonFailureNghLYr3o = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: boolean;
+};
+
+export type ApiResponseCommonU3C2lXGw = {
+  errors: Messages;
+  messages: Messages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: boolean;
+};
+
+export type ApiResponseSingle = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ApiResponseSingle66BR6r1o = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | string | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ApiResponseSingle8TQHeyma = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | string | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ApiResponseSingle9gEyfxyF = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | string | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ApiResponseSingleCIiIMb72 = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | string | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ApiResponseSingleI8cJ1fX8 = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | string | string | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ApiResponseSingleJE9eFdPt = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | string | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ApiResponseSingleLarS7owG = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | string | string | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ApiResponseSingleRxxEmdsv = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | string | string | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ApiResponseSingleSJaluEU5 = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | string | string | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ApiResponseSingleTJ4lmlRr = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | string | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ApiResponseSingleUl1k90Mw = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | string | string | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ApiResponseSingleWkFwqHKI = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | string | string | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ApiResponseSingleXfmc4hwK = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | string | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ApiResponseSingleEkzmTA7q = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | string | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ApiResponseSingleIRWHLn6I = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | string | string | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ApiResponseSingleId = {
+  errors: Messages;
+  messages: Messages;
+  result:
+    | {
+        id: SchemasIdentifier;
+      }
+    | any[]
+    | string
+    | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ApiResponseSingleIdM0atCWzd = {
+  errors: Messages;
+  messages: Messages;
+  result:
+    | {
+        id: CommonComponentsSchemasIdentifier;
+      }
+    | any[]
+    | string
+    | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ApiResponseSingleIdBQJfiSOf = ApiResponseCommonU3C2lXGw & {
+  result?: {
+    id: IdentifierY35LcWMV;
+  } | null;
+};
+
+export type ApiResponseSingleKLIlNaxV = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | string | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ApiResponseSingleO4T7cMiV = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | string | string | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ApiResponseSinglePOKosyfu = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | string | string | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ApiResponseSinglePn9rJJNX = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | string | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ApiResponseSingleQBZL5yxW = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | string | string | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ApiResponseSingleSiIqFfOd = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | string | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ApiResponseSingleUypB4bgI = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | string | string | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ApiResponseSingleVxjnpV7r = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | string | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ApiResponseSingleYdRGfgTy = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | string | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ApiResponseSingleZ04EBmfK = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | string | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ApiResponseSingleZZHeSkIR = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | string | string | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ApiShield = Operation;
+
+/**
+ * Enterprise only. Indicates whether or not API access is enabled specifically for this user on a given account.
+ *
+ * @example true
+ */
+export type ApiAccessEnabled = boolean | null;
+
+export type AppTypes = Application | ApplicationType;
+
+/**
+ * The name of the application or application type.
+ *
+ * @example Facebook
+ */
+export type AppTypesComponentsSchemasName = string;
+
+export type AppTypesComponentsSchemasResponseCollection = ApiResponseCollection & {
+  result?: AppTypes[];
+};
+
+/**
+ * The URL of the Access application.
+ *
+ * @example test.example.com/admin
+ */
+export type AppDomain = string;
+
+/**
+ * @example 699d98642c564d2e855e9661899b7252
+ */
+export type AppId = void;
+
+/**
+ * Application identifier.
+ *
+ * @example ea95132c15732412d22c1476fa83f27a
+ * @maxLength 32
+ */
+export type AppIdK0AoyPAB = string;
+
+/**
+ * The identifier for this application. There is only one application per id.
+ */
+export type AppIdNb4TtdL5 = number;
+
+/**
+ * Comma-delimited list of Spectrum Application Id(s). If provided, the response will be limited to Spectrum Application Id(s) that match.
+ *
+ * @example ea95132c15732412d22c1476fa83f27a,d122c5f4bb71e25cc9e86ab43b142e2f
+ */
+export type AppIdParam = string;
+
+export type AppLauncherProps = {
+  allowed_idps?: AllowedIdps;
+  auto_redirect_to_identity?: AutoRedirectToIdentityB0IhfGBw;
+  /**
+   * @example authdomain.cloudflareaccess.com
+   */
+  domain?: SchemasDomainA7q0ZzCX;
+  /**
+   * @default App Launcher
+   * @example App Launcher
+   */
+  name?: AppsComponentsSchemasName;
+  session_duration?: SessionDuration;
+  /**
+   * The application type.
+   *
+   * @example app_launcher
+   */
+  type?: AppsComponentsSchemasType;
+};
+
+/**
+ * Displays the application in the App Launcher.
+ *
+ * @default true
+ * @example true
+ */
+export type AppLauncherVisible = boolean;
+
+/**
+ * The identifier for the type of this application. There can be many applications with the same type. This refers to the `id` of an Application Type that has been returned.
+ */
+export type AppTypeId = number;
+
+/**
+ * The unique identifier for the Access application.
+ *
+ * @example df7e2w5f-02b7-4d9d-af26-8d1988fca630
+ */
+export type AppUid = void;
+
+export type Application = {
+  application_type_id?: AppTypeId;
+  created_at?: Timestamp;
+  id?: AppIdNb4TtdL5;
+  name?: AppTypesComponentsSchemasName;
+};
+
+/**
+ * Application that the hostname belongs to.
+ */
+export type ApplicationIDJD2oSO = {
+  id?: number;
+  /**
+   * @example CLOUDFLARE
+   */
+  name?: string;
+};
+
+export type ApplicationType = {
+  created_at?: Timestamp;
+  /**
+   * A short summary of applications with this type.
+   *
+   * @example Applications used to communicate or collaborate in a business setting.
+   */
+  description?: string;
+  id?: AppTypeId;
+  name?: AppTypesComponentsSchemasName;
+};
+
+/**
+ * A group of email addresses that can approve a temporary authentication request.
+ */
+export type ApprovalGroup = {
+  /**
+   * The number of approvals needed to obtain access.
+   *
+   * @example 1
+   * @minimum 0
+   */
+  approvals_needed: number;
+  /**
+   * A list of emails that can approve the access request.
+   *
+   * @example test@cloudflare.com
+   * @example test2@cloudflare.com
+   */
+  email_addresses?: any[];
+  /**
+   * The UUID of an re-usable email list.
+   */
+  email_list_uuid?: string;
+};
+
+/**
+ * Administrators who can approve a temporary authentication request.
+ *
+ * @example {"approvals_needed":1,"email_addresses":["test1@cloudflare.com","test2@cloudflare.com"]}
+ * @example {"approvals_needed":3,"email_list_uuid":"597147a1-976b-4ef2-9af0-81d5d007fc34"}
+ */
+export type ApprovalGroups = ApprovalGroup[];
+
+/**
+ * Requires the user to request access from an administrator at the start of each session.
+ *
+ * @default false
+ * @example true
+ */
+export type ApprovalRequired = boolean;
+
+/**
+ * Approval state of the prefix (P = pending, V = active).
+ *
+ * @example P
+ */
+export type Approved = string;
+
+export type Apps =
+  | (BasicAppResponseProps & SelfHostedPropsUAlJDzGr)
+  | (BasicAppResponseProps & SaasProps5uhJMdOI)
+  | (BasicAppResponseProps & SshProps)
+  | (BasicAppResponseProps & VncProps)
+  | (BasicAppResponseProps & AppLauncherProps)
+  | (BasicAppResponseProps & WarpProps)
+  | (BasicAppResponseProps & BisoProps)
+  | (BasicAppResponseProps & BookmarkProps);
+
+export type AppsComponentsSchemasIdResponse = ApiResponseSingleLarS7owG & {
+  result?: {
+    id?: Uuid;
+  };
+};
+
+/**
+ * The name of the application.
+ *
+ * @example Admin Site
+ */
+export type AppsComponentsSchemasName = string;
+
+export type AppsComponentsSchemasResponseCollection = ApiResponseCollection & {
+  result?: Apps[];
+};
+
+export type AppsComponentsSchemasResponseCollection2 = ApiResponseCollection & {
+  result?: SchemasAppsJxIYBSY3[];
+};
+
+export type AppsComponentsSchemasSingleResponse = ApiResponseSingleKLIlNaxV & {
+  result?: Apps;
+};
+
+export type AppsComponentsSchemasSingleResponse2 = ApiResponseSingleKLIlNaxV & {
+  result?: SchemasApps;
+};
+
+export type AppsComponentsSchemasSingleResponse26yX8JIIZ = ApiResponseSingleLarS7owG & {
+  result?: SchemasAppsJxIYBSY3;
+};
+
+export type AppsComponentsSchemasSingleResponseEXvT9Hip = ApiResponseSingleLarS7owG & {
+  result?: Apps;
+};
+
+/**
+ * The application type.
+ *
+ * @example self_hosted
+ */
+export type AppsComponentsSchemasType =
+  | 'self_hosted'
+  | 'saas'
+  | 'ssh'
+  | 'vnc'
+  | 'app_launcher'
+  | 'warp'
+  | 'biso'
+  | 'bookmark'
+  | 'dash_sso';
+
+/**
+ * The cloudflared OS architecture used to establish this connection.
+ *
+ * @example linux_amd64
+ */
+export type Arch = string;
+
+export type ArgoTunnel = {
+  /**
+   * The tunnel connections between your origin and Cloudflare's edge.
+   */
+  connections: ComponentsSchemasConnection[];
+  created_at: CloudflareTunnelComponentsSchemasCreatedAt;
+  deleted_at?: DeletedAtYdpycuPv;
+  id: TunnelId;
+  name: TunnelName;
+};
+
+/**
+ * Enables Argo Smart Routing for this application.
+ * Notes: Only available for TCP applications with traffic_type set to "direct".
+ *
+ * @default false
+ * @example true
+ */
+export type ArgoSmartRouting = boolean;
+
+/**
+ * Autonomous System Number (ASN) the prefix will be advertised under.
+ *
+ * @example 209242
+ */
+export type Asn = number | null;
+
+/**
+ * Autonomous System Number (ASN) the prefix will be advertised under.
+ */
+export type AsnT2U9T8kj = number | null;
+
+export type AsnComponentsSchemasAsn = {
+  asn?: ComponentsSchemasAsn;
+  country?: AsnCountry;
+  description?: AsnDescription;
+  domain_count?: number;
+  /**
+   * @example example.com
+   */
+  top_domains?: string[];
+  type?: AsnType;
+};
+
+export type AsnComponentsSchemasResponse = ApiResponseSingleLarS7owG & {
+  result?: AsnComponentsSchemasAsn;
+};
+
+export type AsnConfiguration = {
+  /**
+   * The configuration target. You must set the target to `asn` when specifying an Autonomous System Number (ASN) in the rule.
+   *
+   * @example asn
+   */
+  target?: 'asn';
+  /**
+   * The AS number to match.
+   *
+   * @example AS12345
+   */
+  value?: string;
+};
+
+/**
+ * @example US
+ */
+export type AsnCountry = string;
+
+/**
+ * @example CLOUDFLARENET
+ */
+export type AsnDescription = string;
+
+/**
+ * Infrastructure type of this ASN.
+ *
+ * @example hosting_provider
+ */
+export type AsnType = 'hosting_provider' | 'isp' | 'organization';
+
+/**
+ * The hostnames of the applications that will use this certificate.
+ */
+export type AssociatedHostnames = string[];
+
+export type AssociationObject = {
+  service?: Service;
+  status?: MtlsManagementComponentsSchemasStatus;
+};
+
+export type AssociationResponseCollection = ApiResponseCollection & {
+  result?: AssociationObject[];
+};
+
+/**
+ * Attack mitigation settings.
+ */
+export type AttackMitigation = {
+  /**
+   * When enabled, random-prefix attacks are automatically mitigated and the upstream DNS servers protected.
+   *
+   * @example true
+   */
+  enabled?: boolean;
+  /**
+   * Deprecated alias for "only_when_upstream_unhealthy".
+   *
+   * @deprecated true
+   */
+  only_when_origin_unhealthy?: void;
+  /**
+   * Only mitigate attacks when upstream servers seem unhealthy.
+   *
+   * @default true
+   * @example false
+   */
+  only_when_upstream_unhealthy?: boolean;
+} | null;
+
+/**
+ * The Application Audience (AUD) tag. Identifies the application associated with the CA.
+ *
+ * @example 737646a56ab1df6ec9bddc7e5ca84eaf3b0768850f3ffb5d74f1534911fe3893
+ * @maxLength 64
+ */
+export type Aud = string;
+
+export type AuditLogs = {
+  action?: {
+    /**
+     * A boolean that indicates if the action attempted was successful.
+     *
+     * @example true
+     */
+    result?: boolean;
+    /**
+     * A short string that describes the action that was performed.
+     *
+     * @example change_setting
+     */
+    type?: string;
+  };
+  actor?: {
+    /**
+     * The email of the user that performed the action.
+     *
+     * @example michelle@example.com
+     * @format email
+     */
+    email?: string;
+    /**
+     * The ID of the actor that performed the action. If a user performed the action, this will be their User ID.
+     *
+     * @example f6b5de0326bb5182b8a4840ee01ec774
+     */
+    id?: string;
+    /**
+     * The IP address of the request that performed the action.
+     *
+     * @example 198.41.129.166
+     */
+    ip?: string;
+    /**
+     * The type of actor, whether a User, Cloudflare Admin, or an Automated System.
+     *
+     * @example user
+     */
+    type?: 'user' | 'admin' | 'Cloudflare';
+  };
+  /**
+   * A string that uniquely identifies the audit log.
+   *
+   * @example d5b0f326-1232-4452-8858-1089bd7168ef
+   */
+  id?: string;
+  /**
+   * The source of the event.
+   *
+   * @example API
+   */
+  interface?: string;
+  /**
+   * An object which can lend more context to the action being logged. This is a flexible value and varies between different actions.
+   *
+   * @example {"name":"security_level","type":"firewall","value":"high","zone_name":"example.com"}
+   */
+  metadata?: Record<string, any>;
+  /**
+   * The new value of the resource that was modified.
+   *
+   * @example low
+   */
+  newValue?: string;
+  /**
+   * The value of the resource before it was modified.
+   *
+   * @example high
+   */
+  oldValue?: string;
+  owner?: {
+    id?: CommonComponentsSchemasIdentifier;
+  };
+  resource?: {
+    /**
+     * An identifier for the resource that was affected by the action.
+     *
+     * @example 023e105f4ecef8ad9ca31a8372d0c353
+     */
+    id?: string;
+    /**
+     * A short string that describes the resource that was affected by the action.
+     *
+     * @example zone
+     */
+    type?: string;
+  };
+  /**
+   * A UTC RFC3339 timestamp that specifies when the action being logged occured.
+   *
+   * @example 2017-04-26T17:31:07Z
+   * @format date-time
+   */
+  when?: string;
+};
+
+export type AuditLogsResponseCollection =
+  | {
+      errors?: void | null;
+      messages?: any[];
+      result?: AuditLogs[];
+      /**
+       * @example true
+       */
+      success?: boolean;
+    }
+  | ApiResponseCommon;
+
+/**
+ * The unique subdomain assigned to your Zero Trust organization.
+ *
+ * @example test.cloudflareaccess.com
+ */
+export type AuthDomain = string;
+
+/**
+ * The total number of auth-ids seen across this calculation.
+ */
+export type AuthIdTokens = number;
+
+/**
+ * The amount of time in minutes to reconnect after having been disabled.
+ *
+ * @example 0
+ */
+export type AutoConnect = number;
+
+/**
+ * When set to `true`, users skip the identity provider selection step during login.
+ *
+ * @default false
+ */
+export type AutoRedirectToIdentity = boolean;
+
+/**
+ * When set to `true`, users skip the identity provider selection step during login. You must specify only one identity provider in allowed_idps.
+ *
+ * @default false
+ */
+export type AutoRedirectToIdentityB0IhfGBw = boolean;
+
+/**
+ * How often should a secondary zone auto refresh regardless of DNS NOTIFY.
+ * Not applicable for primary zones.
+ *
+ * @example 86400
+ */
+export type AutoRefreshSeconds = number;
+
+/**
+ * Auto-renew controls whether subscription is automatically renewed upon domain expiration.
+ *
+ * @example true
+ */
+export type AutoRenew = boolean;
+
+/**
+ * Enable the Automatic HTTPS Rewrites feature for this zone.
+ *
+ * @default off
+ */
+export type AutomaticHttpsRewrites = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example automatic_https_rewrites
+   */
+  id: 'automatic_https_rewrites';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: AutomaticHttpsRewritesValue;
+};
+
+/**
+ * Value of the zone setting.
+ * Notes: Default value depends on the zone's plan level.
+ *
+ * @default on
+ */
+export type AutomaticHttpsRewritesValue = 'on' | 'off';
+
+export type AutomaticPlatformOptimization = {
+  /**
+   * Indicates whether or not [cache by device type](https://developers.cloudflare.com/automatic-platform-optimization/reference/cache-device-type/) is enabled.
+   *
+   * @example false
+   */
+  cache_by_device_type: boolean;
+  /**
+   * Indicates whether or not Cloudflare proxy is enabled.
+   *
+   * @default false
+   * @example true
+   */
+  cf: boolean;
+  /**
+   * Indicates whether or not Automatic Platform Optimization is enabled.
+   *
+   * @default false
+   * @example true
+   */
+  enabled: boolean;
+  /**
+   * An array of hostnames where Automatic Platform Optimization for WordPress is activated.
+   *
+   * @example www.example.com
+   * @example example.com
+   * @example shop.example.com
+   */
+  hostnames: string[];
+  /**
+   * Indicates whether or not site is powered by WordPress.
+   *
+   * @default false
+   * @example true
+   */
+  wordpress: boolean;
+  /**
+   * Indicates whether or not [Cloudflare for WordPress plugin](https://wordpress.org/plugins/cloudflare/) is installed.
+   *
+   * @default false
+   * @example true
+   */
+  wp_plugin: boolean;
+};
+
+export type AvailabilityResponse = ApiResponseCollection & {
+  result?: string[];
+};
+
+/**
+ * When true, the Managed Transform is available in the current Cloudflare plan.
+ *
+ * @example true
+ */
+export type Available = boolean;
+
+export type AvailableRatePlan = {
+  can_subscribe?: CanSubscribe;
+  currency?: Currency;
+  externally_managed?: ExternallyManaged;
+  frequency?: SchemasFrequency;
+  id?: CommonComponentsSchemasIdentifier;
+  is_subscribed?: IsSubscribed;
+  legacy_discount?: LegacyDiscount;
+  legacy_id?: LegacyId;
+  name?: RatePlanComponentsSchemasName;
+  price?: SchemasPrice;
+};
+
+export type AzureAD = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: GenericOauthConfig & {
+    /**
+     * Your Azure directory uuid
+     *
+     * @example <your azure directory uuid>
+     */
+    directory_id?: string;
+    /**
+     * Should Cloudflare try to load groups from your account
+     */
+    support_groups?: boolean;
+  };
+  id?: Uuid;
+  name: SchemasNameIXVfNmuB;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
+     */
+    group_member_deprovision?: boolean;
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type: string;
+};
+
+/**
+ * Matches an Azure group.
+ * Requires an Azure identity provider.
+ */
+export type AzureGroupRule = {
+  azureAD: {
+    /**
+     * The ID of your Azure identity provider.
+     *
+     * @example ea85612a-29c8-46c2-bacb-669d65136971
+     */
+    connection_id: string;
+    /**
+     * The ID of an Azure group.
+     *
+     * @example aa0a4aab-672b-4bdb-bc33-a59f1130a11f
+     */
+    id: string;
+  };
+};
+
+/**
+ * Breakdown of totals for bandwidth in the form of bytes.
+ */
+export type Bandwidth = {
+  /**
+   * The total number of bytes served within the time frame.
+   */
+  all?: number;
+  /**
+   * The number of bytes that were cached (and served) by Cloudflare.
+   */
+  cached?: number;
+  /**
+   * A variable list of key/value pairs where the key represents the type of content served, and the value is the number in bytes served.
+   *
+   * @example {"css":237421,"gif":1234242,"html":1231290,"javascript":123245,"jpeg":784278}
+   */
+  content_type?: Record<string, any>;
+  /**
+   * A variable list of key/value pairs where the key is a two-digit country code and the value is the number of bytes served to that country.
+   *
+   * @example {"AG":2342483,"GI":984753,"US":123145433}
+   */
+  country?: Record<string, any>;
+  /**
+   * A break down of bytes served over HTTPS.
+   */
+  ssl?: {
+    /**
+     * The number of bytes served over HTTPS.
+     */
+    encrypted?: number;
+    /**
+     * The number of bytes served over HTTP.
+     */
+    unencrypted?: number;
+  };
+  /**
+   * A breakdown of requests by their SSL protocol.
+   */
+  ssl_protocols?: {
+    /**
+     * The number of requests served over TLS v1.0.
+     */
+    TLSv1?: number;
+    /**
+     * The number of requests served over TLS v1.1.
+     */
+    ['TLSv1.1']?: number;
+    /**
+     * The number of requests served over TLS v1.2.
+     */
+    ['TLSv1.2']?: number;
+    /**
+     * The number of requests served over TLS v1.3.
+     */
+    ['TLSv1.3']?: number;
+    /**
+     * The number of requests served over HTTP.
+     */
+    none?: number;
+  };
+  /**
+   * The number of bytes that were fetched and served from the origin server.
+   */
+  uncached?: number;
+};
+
+/**
+ * Breakdown of totals for bandwidth in the form of bytes.
+ */
+export type BandwidthByColo = {
+  /**
+   * The total number of bytes served within the time frame.
+   */
+  all?: number;
+  /**
+   * The number of bytes that were cached (and served) by Cloudflare.
+   */
+  cached?: number;
+  /**
+   * The number of bytes that were fetched and served from the origin server.
+   */
+  uncached?: number;
+};
+
+export type Base = {
+  /**
+   * When the Keyless SSL was created.
+   *
+   * @example 2014-01-01T05:20:00Z
+   * @format date-time
+   */
+  created_on: string;
+  enabled: EnabledJNPAumTy;
+  host: Host;
+  id: SchemasIdentifierEWv7yjg2;
+  /**
+   * When the Keyless SSL was last modified.
+   *
+   * @example 2014-01-01T05:20:00Z
+   * @format date-time
+   */
+  modified_on: string;
+  name: NameOdTv91XZ;
+  /**
+   * Available permissions for the Keyless SSL for the current user requesting the item.
+   *
+   * @example #ssl:read
+   * @example #ssl:edit
+   */
+  permissions: any[];
+  port: Port;
+  status: SchemasStatus;
+  tunnel?: KeylessTunnel;
+};
+
+export type Base4XanMLN9 = {
+  comment?: Comment;
+  /**
+   * When the record was created.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  created_on?: string;
+  id?: Identifier;
+  /**
+   * Whether this record can be modified/deleted (true means it's managed by Cloudflare).
+   *
+   * @example false
+   */
+  locked?: boolean;
+  /**
+   * Extra Cloudflare-specific information about the record.
+   */
+  meta?: {
+    /**
+     * Will exist if Cloudflare automatically added this DNS record during initial setup.
+     *
+     * @example true
+     */
+    auto_added?: boolean;
+    /**
+     * Where the record originated from.
+     *
+     * @example primary
+     */
+    source?: string;
+  };
+  /**
+   * When the record was last modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string;
+  /**
+   * Whether the record can be proxied by Cloudflare or not.
+   *
+   * @example true
+   */
+  proxiable?: boolean;
+  tags?: Tags;
+  ttl?: TtlSfCV2rs6;
+  zone_id?: Identifier;
+  /**
+   * The domain of the record.
+   *
+   * @example example.com
+   * @format hostname
+   */
+  zone_name?: string;
+};
+
+export type Base65sD65cn = {
+  /**
+   * Identifier of the zone setting.
+   *
+   * @example development_mode
+   */
+  id: string;
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on: string | null;
+};
+
+export type BaseKGSh70Wn = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * Identifier of the zone setting.
+   *
+   * @example development_mode
+   */
+  id: string;
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: void;
+};
+
+export type BaseMktMcgEk = {
+  expires_on?: SchemasExpiresOnL7MyoHWU;
+  id?: InviteComponentsSchemasIdentifier;
+  invited_by?: InvitedBy;
+  invited_member_email?: InvitedMemberEmail;
+  /**
+   * ID of the user to add to the organization.
+   *
+   * @example 5a7805061c76ada191ed06f989cc3dac
+   * @maxLength 32
+   */
+  invited_member_id: string | null;
+  invited_on?: InvitedOn;
+  /**
+   * ID of the organization the user will be added to.
+   *
+   * @example 5a7805061c76ada191ed06f989cc3dac
+   * @maxLength 32
+   */
+  organization_id: string;
+  /**
+   * Organization name.
+   *
+   * @example Cloudflare, Inc.
+   * @maxLength 100
+   */
+  organization_name?: string;
+  /**
+   * Roles to be assigned to this user.
+   */
+  roles?: SchemasRole[];
+};
+
+export type BasicAppResponseProps = {
+  aud?: SchemasAud;
+  created_at?: Timestamp;
+  id?: Uuid;
+  updated_at?: Timestamp;
+};
+
+/**
+ * @example 10
+ */
+export type BatchSize = number;
+
+/**
+ * Limit the returned results to history records older than the specified date. This must be a timestamp that conforms to RFC3339.
+ *
+ * @example 2022-05-20T20:29:58.679897Z
+ * @format date-time
+ */
+export type Before = string;
+
+/**
+ * Whether the category is in beta and subject to change.
+ *
+ * @example false
+ */
+export type Beta = boolean;
+
+export type BillingHistory = {
+  action: ActionC1tW2hZo;
+  amount: Amount;
+  currency: Currency;
+  description: SchemasDescriptionAeOWNvGr;
+  id: BillingHistoryComponentsSchemasIdentifier;
+  occurred_at: OccurredAt;
+  type: TypeJfoU8Rqn;
+  zone: SchemasZone;
+};
+
+/**
+ * Billing item identifier tag.
+ *
+ * @example b69a9f3492637782896352daae219e7d
+ * @maxLength 32
+ */
+export type BillingHistoryComponentsSchemasIdentifier = string;
+
+export type BillingHistoryCollection = ApiResponseCollection & {
+  result?: BillingHistory[];
+};
+
+export type BillingResponseSingle = ApiResponseSingleLarS7owG & {
+  result?: Record<string, any>;
+};
+
+export type Binding = KvNamespaceBinding | WasmModuleBinding;
+
+/**
+ * A JavaScript variable name for the binding.
+ *
+ * @example myBinding
+ */
+export type BindingName = string;
+
+export type BisoProps = {
+  allowed_idps?: AllowedIdps;
+  auto_redirect_to_identity?: AutoRedirectToIdentityB0IhfGBw;
+  /**
+   * @example authdomain.cloudflareaccess.com/browser
+   */
+  domain?: SchemasDomainA7q0ZzCX;
+  /**
+   * @default Clientless Web Isolation
+   * @example Clientless Web Isolation
+   */
+  name?: AppsComponentsSchemasName;
+  session_duration?: SessionDuration;
+  /**
+   * The application type.
+   *
+   * @example biso
+   */
+  type?: AppsComponentsSchemasType;
+};
+
+/**
+ * Block page layout settings.
+ */
+export type BlockPageSettings = {
+  /**
+   * Block page background color in #rrggbb format.
+   */
+  background_color?: string;
+  /**
+   * Enable only cipher suites and TLS versions compliant with FIPS 140-2.
+   *
+   * @example true
+   */
+  enabled?: boolean;
+  /**
+   * Block page footer text.
+   *
+   * @example --footer--
+   */
+  footer_text?: string;
+  /**
+   * Block page header text.
+   *
+   * @example --header--
+   */
+  header_text?: string;
+  /**
+   * Full URL to the logo file.
+   *
+   * @example https://logos.com/a.png
+   */
+  logo_path?: string;
+  /**
+   * Admin email for users to contact.
+   *
+   * @example admin@example.com
+   */
+  mailto_address?: string;
+  /**
+   * Subject line for emails created from block page.
+   *
+   * @example Blocked User Inquiry
+   */
+  mailto_subject?: string;
+  /**
+   * Block page title.
+   *
+   * @example Cloudflare
+   */
+  name?: string;
+  /**
+   * Suppress detailed info at the bottom of the block page.
+   *
+   * @example false
+   */
+  suppress_footer?: boolean;
+};
+
+/**
+ * The response body to return. The value must conform to the configured content type.
+ *
+ * @example <error>This request has been rate-limited.</error>
+ * @maxLength 10240
+ */
+export type Body = string;
+
+/**
+ * DLP body scanning setting
+ */
+export type BodyScanningSettings = {
+  /**
+   * Inspection mode. One of deep or shallow
+   *
+   * @example deep
+   */
+  inspection_mode?: string;
+};
+
+export type BookmarkProps = {
+  /**
+   * @default true
+   */
+  app_launcher_visible?: void;
+  /**
+   * The URL or domain of the bookmark.
+   *
+   * @example https://mybookmark.com
+   */
+  domain?: void;
+  logo_url?: LogoUrl;
+  name?: AppsComponentsSchemasName;
+  /**
+   * The application type.
+   *
+   * @example bookmark
+   */
+  type?: string;
+};
+
+export type Bookmarks = {
+  app_launcher_visible?: SchemasAppLauncherVisible;
+  created_at?: Timestamp;
+  domain?: SchemasDomain;
+  /**
+   * The unique identifier for the Bookmark application.
+   */
+  id?: void;
+  logo_url?: LogoUrl;
+  name?: BookmarksComponentsSchemasName;
+  updated_at?: Timestamp;
+};
+
+export type Bookmarks8hR8t2wb = {
+  app_launcher_visible?: SchemasAppLauncherVisible;
+  created_at?: Timestamp;
+  domain?: ComponentsSchemasDomain;
+  /**
+   * The unique identifier for the Bookmark application.
+   */
+  id?: void;
+  logo_url?: LogoUrl;
+  name?: BookmarksComponentsSchemasName;
+  updated_at?: Timestamp;
+};
+
+export type BookmarksComponentsSchemasIdResponse = ApiResponseSingleLarS7owG & {
+  result?: {
+    id?: Uuid;
+  };
+};
+
+/**
+ * The name of the Bookmark application.
+ *
+ * @example My Website
+ */
+export type BookmarksComponentsSchemasName = string;
+
+export type BookmarksComponentsSchemasResponseCollection = ApiResponseCollection & {
+  result?: Bookmarks8hR8t2wb[];
+};
+
+export type BookmarksComponentsSchemasSingleResponse = ApiResponseSingleKLIlNaxV & {
+  result?: Bookmarks;
+};
+
+export type BookmarksComponentsSchemasSingleResponseGMepA5Af = ApiResponseSingleLarS7owG & {
+  result?: Bookmarks8hR8t2wb;
+};
+
+/**
+ * Certificate Authority is manually reviewing the order.
+ *
+ * @example false
+ */
+export type BrandCheck = boolean;
+
+/**
+ * When the client requesting an asset supports the Brotli compression algorithm, Cloudflare will serve a Brotli compressed version of the asset.
+ */
+export type Brotli = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example brotli
+   */
+  id: 'brotli';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: BrotliValue;
+};
+
+/**
+ * Value of the zone setting.
+ *
+ * @default off
+ */
+export type BrotliValue = 'off' | 'on';
+
+/**
+ * Browser isolation settings.
+ */
+export type BrowserIsolationSettings = {
+  /**
+   * Enable Browser Isolation.
+   *
+   * @example true
+   */
+  url_browser_isolation_enabled?: boolean;
+};
+
+/**
+ * Browser Cache TTL (in seconds) specifies how long Cloudflare-cached resources will remain on your visitors' computers. Cloudflare will honor any larger times specified by your server. (https://support.cloudflare.com/hc/en-us/articles/200168276).
+ */
+export type BrowserCacheTtl = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example browser_cache_ttl
+   */
+  id: 'browser_cache_ttl';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: BrowserCacheTtlValue;
+};
+
+/**
+ * Value of the zone setting.
+ * Notes: Setting a TTL of 0 is equivalent to selecting `Respect Existing Headers`
+ *
+ * @default 14400
+ */
+export type BrowserCacheTtlValue =
+  | 0
+  | 30
+  | 60
+  | 120
+  | 300
+  | 1200
+  | 1800
+  | 3600
+  | 7200
+  | 10800
+  | 14400
+  | 18000
+  | 28800
+  | 43200
+  | 57600
+  | 72000
+  | 86400
+  | 172800
+  | 259200
+  | 345600
+  | 432000
+  | 691200
+  | 1382400
+  | 2073600
+  | 2678400
+  | 5356800
+  | 16070400
+  | 31536000;
+
+/**
+ * Browser Integrity Check is similar to Bad Behavior and looks for common HTTP headers abused most commonly by spammers and denies access to your page.  It will also challenge visitors that do not have a user agent or a non standard user agent (also commonly used by abuse bots, crawlers or visitors). (https://support.cloudflare.com/hc/en-us/articles/200170086).
+ */
+export type BrowserCheck = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example browser_check
+   */
+  id: 'browser_check';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: BrowserCheckValue;
+};
+
+/**
+ * Value of the zone setting.
+ *
+ * @default on
+ */
+export type BrowserCheckValue = 'on' | 'off';
+
+/**
+ * Name of the bucket. The name must be greater than 2 and less than 64 characters.
+ *
+ * @example example-bucket
+ * @pattern ^[a-z0-9][a-z0-9-]*[a-z0-9]
+ */
+export type BucketName = string;
+
+/**
+ * The build identifier for the Railgun receiver.
+ *
+ * @example b1234
+ */
+export type Build = string;
+
+/**
+ * Configs for the project build process.
+ */
+export type BuildConfig = {
+  /**
+   * Command used to build project.
+   *
+   * @example npm run build
+   */
+  build_command?: string | null;
+  /**
+   * Output directory of the build.
+   *
+   * @example build
+   */
+  destination_dir?: string | null;
+  /**
+   * Directory to run the command.
+   *
+   * @example /
+   */
+  root_dir?: string | null;
+  /**
+   * The classifying tag for analytics.
+   *
+   * @example cee1c73f6e4743d0b5e6bb1a0bcaabcc
+   */
+  web_analytics_tag?: string | null;
+  /**
+   * The auth token for analytics.
+   *
+   * @example 021e1057c18547eca7b79f2516f06o7x
+   */
+  web_analytics_token?: string | null;
+};
+
+export type BulkOperationResponseCollection = ApiResponseCollection & {
+  result?: SchemasOperation;
+};
+
+export type BulkDelete = KeyNameBulk[];
+
+export type BulkWrite = {
+  /**
+   * Whether or not the server should base64 decode the value before storing it. Useful for writing values that wouldn't otherwise be valid JSON strings, such as images.
+   *
+   * @default false
+   */
+  base64?: boolean;
+  expiration?: Expiration4507z3vp;
+  expiration_ttl?: ExpirationTtl;
+  key?: KeyNameBulk;
+  metadata?: ListMetadata;
+  /**
+   * A UTF-8 encoded string to be stored, up to 10 MB in length.
+   *
+   * @example Some string
+   * @maxLength 10485760
+   */
+  value?: string;
+}[];
+
+/**
+ * A ubiquitous bundle has the highest probability of being verified everywhere, even by clients using outdated or unusual trust stores. An optimal bundle uses the shortest chain and newest intermediates. And the force bundle verifies the chain, but does not otherwise modify it.
+ *
+ * @default ubiquitous
+ * @example ubiquitous
+ */
+export type BundleMethod = 'ubiquitous' | 'optimal' | 'force';
+
+/**
+ * Criteria specifying when the current rate limit should be bypassed. You can specify that the rate limit should not apply to one or more URLs.
+ */
+export type Bypass = {
+  /**
+   * @example url
+   */
+  name?: 'url';
+  /**
+   * The URL to bypass.
+   *
+   * @example api.example.com/*
+   */
+  value?: string;
+}[];
+
+/**
+ * Indicates whether the certificate is a CA or leaf certificate.
+ *
+ * @example true
+ */
+export type Ca = boolean;
+
+export type CaCQxHTRof = {
+  aud?: Aud;
+  id?: Id4G7SFJfZ;
+  public_key?: PublicKey;
+};
+
+/**
+ * The ID of the CA.
+ *
+ * @example 7eddae4619b50ab1361ba8ae9bd72269a432fea041529ed9
+ * @maxLength 48
+ */
+export type CaComponentsSchemasId = string;
+
+export type CaComponentsSchemasIdResponse = ApiResponseSingleLarS7owG & {
+  result?: {
+    id?: CaComponentsSchemasId;
+  };
+};
+
+export type CaComponentsSchemasResponseCollection = ApiResponseCollection & {
+  result?: CaCQxHTRof[];
+};
+
+export type CaComponentsSchemasResponseCollectionZvceXl7i = ApiResponseCollection & {
+  result?: SchemasCa[];
+};
+
+export type CaComponentsSchemasSingleResponse = ApiResponseSingleKLIlNaxV & {
+  result?: Record<string, any>;
+};
+
+export type CaComponentsSchemasSingleResponseSWdmxSty = ApiResponseSingleLarS7owG & {
+  result?: Record<string, any>;
+};
+
+/**
+ * The parameters configuring the action.
+ */
+export type CacheRulesComponentsSchemasActionParameters = ActionParametersSetCacheSettings;
+
+export type CacheRulesComponentsSchemasRule = {
+  /**
+   * @example set_cache_settings
+   */
+  action?: void;
+  action_parameters?: CacheRulesComponentsSchemasActionParameters;
+  /**
+   * @example use the cache settings
+   */
+  description?: void;
+  /**
+   * @example http.cookie contains "something"
+   */
+  expression?: void;
+  /**
+   * @example 3a03d665bac047339bb530ecb439a90d
+   */
+  id?: void;
+  /**
+   * @example 1
+   */
+  version?: void;
+};
+
+export type CacheRulesComponentsSchemasRuleset = {
+  /**
+   * @example
+   */
+  description?: void;
+  /**
+   * @example 2f2feab2026849078ba485f918791bdc
+   */
+  id?: void;
+  /**
+   * @example zone
+   */
+  kind?: void;
+  /**
+   * @example default
+   */
+  name?: void;
+  /**
+   * @example http_request_cache_settings
+   */
+  phase?: void;
+  /**
+   * The rules in the ruleset.
+   */
+  rules?: CacheRulesComponentsSchemasRule[];
+};
+
+/**
+ * Cache Level functions based off the setting level. The basic setting will cache most static resources (i.e., css, images, and JavaScript). The simplified setting will ignore the query string when delivering a cached resource. The aggressive setting will cache all static resources, including ones with a query string. (https://support.cloudflare.com/hc/en-us/articles/200168256).
+ */
+export type CacheLevel = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example cache_level
+   */
+  id: 'cache_level';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: CacheLevelValue;
+};
+
+/**
+ * Value of the zone setting.
+ *
+ * @default aggressive
+ */
+export type CacheLevelValue = 'aggressive' | 'basic' | 'simplified';
+
+/**
+ * Increase cache lifetimes by automatically storing all cacheable files into Cloudflare's persistent object storage buckets. Requires Cache Reserve subscription. Note: using Tiered Cache with Cache Reserve is highly recommended to reduce Reserve operations costs. See the [developer docs](https://developers.cloudflare.com/cache/about/cache-reserve) for more information.
+ */
+export type CacheReserve = {
+  /**
+   * ID of the zone setting.
+   *
+   * @example cache_reserve
+   */
+  id: 'cache_reserve';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on: string | null;
+};
+
+/**
+ * Increase cache lifetimes by automatically storing all cacheable files into Cloudflare's persistent object storage buckets. Requires Cache Reserve subscription. Note: using Tiered Cache with Cache Reserve is highly recommended to reduce Reserve operations costs. See the [developer docs](https://developers.cloudflare.com/cache/about/cache-reserve) for more information.
+ */
+export type CacheReserveTRvGfFtN = {
+  /**
+   * ID of the zone setting.
+   *
+   * @example cache_reserve
+   */
+  id: 'cache_reserve';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on: string | null;
+};
+
+export type CacheReserveResponseValue = {
+  /**
+   * Increase cache lifetimes by automatically storing all cacheable files into Cloudflare's persistent object storage buckets. Requires Cache Reserve subscription. Note: using Tiered Cache with Cache Reserve is highly recommended to reduce Reserve operations costs. See the [developer docs](https://developers.cloudflare.com/cache/about/cache-reserve) for more information.
+   */
+  result?: CacheReserveTRvGfFtN & {
+    value: CacheReserveValue;
+  };
+};
+
+/**
+ * Value of the Cache Reserve zone setting.
+ *
+ * @default off
+ */
+export type CacheReserveValue = 'on' | 'off';
+
+/**
+ * If set to false, then the Address Map cannot be deleted via API. This is true for Cloudflare-managed maps.
+ *
+ * @example true
+ */
+export type CanDelete = boolean;
+
+/**
+ * If set to false, then the IPs on the Address Map cannot be modified via the API. This is true for Cloudflare-managed maps.
+ *
+ * @example true
+ */
+export type CanModifyIps = boolean;
+
+/**
+ * Indicates if the domain can be registered as a new domain.
+ *
+ * @example false
+ */
+export type CanRegister = boolean;
+
+/**
+ * Indicates whether you can subscribe to this plan.
+ *
+ * @default false
+ * @example true
+ */
+export type CanSubscribe = boolean;
+
+export type CaptionBasicUpload = {
+  /**
+   * The WebVTT file containing the caption or subtitle content.
+   *
+   * @example @/Users/kyle/Desktop/tr.vtt
+   */
+  file: string;
+};
+
+export type Captions = {
+  label?: Label;
+  language?: Language;
+};
+
+/**
+ * Turn on the captive portal after the specified amount of time.
+ *
+ * @example 180
+ */
+export type CaptivePortal = number;
+
+export type CatchAllRule = {
+  actions?: RuleCatchallActions;
+  enabled?: RuleEnabledXvrbaudJ;
+  matchers?: RuleCatchallMatchers;
+  name?: RuleName;
+  tag?: RuleIdentifier2K5KLBLf;
+};
+
+export type CatchAllRuleResponseSingle = ApiResponseSingleSiIqFfOd & {
+  result?: CatchAllRule;
+};
+
+export type Categories = {
+  beta?: Beta;
+  ['class']?: Class;
+  description?: ComponentsSchemasDescriptionDHTB25HG;
+  id?: IdWr4kBzDa;
+  name?: CategoriesComponentsSchemasName;
+  /**
+   * All subcategories for this category.
+   */
+  subcategories?: Subcategory[];
+};
+
+/**
+ * The categories of the rule.
+ *
+ * @example directory-traversal
+ * @example header
+ */
+export type CategoriesGr0NL98E = Category[];
+
+/**
+ * The name of the category.
+ *
+ * @example Education
+ */
+export type CategoriesComponentsSchemasName = string;
+
+export type CategoriesComponentsSchemasResponseCollection = ApiResponseCollection & {
+  result?: Categories[];
+};
+
+/**
+ * A category of the rule.
+ *
+ * @example directory-traversal
+ */
+export type Category = string;
+
+export type Centrify = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: GenericOauthConfig & {
+    /**
+     * Your centrify account url
+     *
+     * @example https://abc123.my.centrify.com/
+     */
+    centrify_account?: string;
+    /**
+     * Your centrify app id
+     *
+     * @example exampleapp
+     */
+    centrify_app_id?: string;
+  };
+  id?: Uuid;
+  name: SchemasNameIXVfNmuB;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
+     */
+    group_member_deprovision?: boolean;
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type: string;
+};
+
+/**
+ * Certificate identifier tag.
+ *
+ * @example 2458ce5a-0c35-4c7f-82c7-8e9487d3ff60
+ * @maxLength 36
+ */
+export type CertId = string;
+
+/**
+ * Certificate Pack UUID.
+ *
+ * @example a77f8bd7-3b47-46b4-a6f1-75cf98109948
+ */
+export type CertPackUuid = string;
+
+/**
+ * The zone's SSL certificate or certificate and the intermediate(s).
+ * 
+ * @example -----BEGIN CERTIFICATE-----
+MIIDtTCCAp2gAwIBAgIJAMHAwfXZ5/PWMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV
+BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX
+aWRnaXRzIFB0eSBMdGQwHhcNMTYwODI0MTY0MzAxWhcNMTYxMTIyMTY0MzAxWjBF
+MQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50
+ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
+CgKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmGdtcGbg/1
+CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKnabIRuGvB
+KwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpidtnKX/a+5
+0GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+pyFxIXjbEI
+dZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pEewooaeO2
+izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABo4GnMIGkMB0GA1UdDgQWBBT/LbE4
+9rWf288N6sJA5BRb6FJIGDB1BgNVHSMEbjBsgBT/LbE49rWf288N6sJA5BRb6FJI
+GKFJpEcwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNV
+BAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZIIJAMHAwfXZ5/PWMAwGA1UdEwQF
+MAMBAf8wDQYJKoZIhvcNAQELBQADggEBAHHFwl0tH0quUYZYO0dZYt4R7SJ0pCm2
+2satiyzHl4OnXcHDpekAo7/a09c6Lz6AU83cKy/+x3/djYHXWba7HpEu0dR3ugQP
+Mlr4zrhd9xKZ0KZKiYmtJH+ak4OM4L3FbT0owUZPyjLSlhMtJVcoRp5CJsjAMBUG
+SvD8RX+T01wzox/Qb+lnnNnOlaWpqu8eoOenybxKp1a9ULzIVvN/LAcc+14vioFq
+2swRWtmocBAs8QR9n4uvbpiYvS8eYueDCWMM4fvFfBhaDZ3N9IbtySh3SpFdQDhw
+YbjM2rxXiyLGxB4Bol7QTv4zHif7Zt89FReT/NBy4rzaskDJY5L6xmY=
+-----END CERTIFICATE-----
+ */
+export type Certificate = string;
+
+/**
+ * The unique identifier for a certificate_pack.
+ *
+ * @example 3822ff90-ea29-44df-9e55-21300bb9419b
+ */
+export type CertificatePacksComponentsSchemasIdentifier = string;
+
+/**
+ * Status of certificate pack.
+ *
+ * @example initializing
+ */
+export type CertificatePacksComponentsSchemasStatus =
+  | 'initializing'
+  | 'pending_validation'
+  | 'deleted'
+  | 'pending_issuance'
+  | 'pending_deployment'
+  | 'pending_deletion'
+  | 'pending_expiration'
+  | 'expired'
+  | 'active'
+  | 'initializing_timed_out'
+  | 'validation_timed_out'
+  | 'issuance_timed_out'
+  | 'deployment_timed_out'
+  | 'deletion_timed_out'
+  | 'pending_cleanup'
+  | 'staging_deployment'
+  | 'staging_active'
+  | 'deactivating'
+  | 'inactive'
+  | 'backup_issued'
+  | 'holding_deployment';
+
+export type CertificateObject = {
+  certificate?: ZoneAuthenticatedOriginPullComponentsSchemasCertificate;
+  expires_on?: ComponentsSchemasExpiresOn;
+  id?: Identifier;
+  issuer?: Issuer;
+  signature?: Signature;
+  status?: ZoneAuthenticatedOriginPullComponentsSchemasStatus;
+  uploaded_on?: SchemasUploadedOn;
+};
+
+export type CertificateObject25TqpbxA = {
+  certificate?: ZoneAuthenticatedOriginPullComponentsSchemasCertificate;
+  expires_on?: ZoneAuthenticatedOriginPullComponentsSchemasExpiresOn;
+  id?: ZoneAuthenticatedOriginPullComponentsSchemasIdentifier;
+  issuer?: Issuer;
+  signature?: Signature;
+  status?: ZoneAuthenticatedOriginPullComponentsSchemasStatus;
+  uploaded_on?: SchemasUploadedOn;
+};
+
+export type CertificateObjectPost = {
+  ca?: Ca;
+  certificates?: SchemasCertificates;
+  expires_on?: MtlsManagementComponentsSchemasExpiresOn;
+  id?: Identifier;
+  issuer?: SchemasIssuer;
+  name?: SchemasNameUG4dW73x;
+  serial_number?: SchemasSerialNumber;
+  signature?: Signature;
+  updated_at?: SchemasUpdatedAt;
+  uploaded_on?: MtlsManagementComponentsSchemasUploadedOn;
+};
+
+export type CertificateObjectPostBzIcru7v = {
+  ca?: Ca;
+  certificates?: SchemasCertificates;
+  expires_on?: MtlsManagementComponentsSchemasExpiresOn;
+  id?: MtlsManagementComponentsSchemasIdentifier;
+  issuer?: SchemasIssuer;
+  name?: MtlsManagementComponentsSchemasName;
+  serial_number?: SchemasSerialNumber;
+  signature?: Signature;
+  updated_at?: SchemasUpdatedAt;
+  uploaded_on?: MtlsManagementComponentsSchemasUploadedOn;
+};
+
+export type CertificateAnalyzeResponse = ApiResponseSingleZZHeSkIR & {
+  result?: Record<string, any>;
+};
+
+export type CertificateAnalyzeResponse5wg3arho = ApiResponseSingleLarS7owG & {
+  result?: Record<string, any>;
+};
+
+/**
+ * The Certificate Authority that will issue the certificate
+ *
+ * @example google
+ */
+export type CertificateAuthority = 'digicert' | 'google' | 'lets_encrypt';
+
+/**
+ * Certificate Authority selected for the order.  Selecting Let's Encrypt will reduce customization of other fields: validation_method must be 'txt', validity_days must be 90, cloudflare_branding must be omitted, and hosts must contain only 2 entries, one for the zone name and one for the subdomain wildcard of the zone name (e.g. example.com, *.example.com).
+ *
+ * @example digicert
+ */
+export type CertificateAuthorityFERjgp6A = 'digicert' | 'google' | 'lets_encrypt';
+
+export type CertificatePackQuotaResponse = ApiResponseSingleZZHeSkIR & {
+  result?: {
+    advanced?: Quota;
+  };
+};
+
+export type CertificatePackQuotaResponseVji3HC3Y = ApiResponseSingleLarS7owG & {
+  result?: {
+    advanced?: Quota;
+  };
+};
+
+export type CertificatePackResponseCollection = ApiResponseCollection & {
+  result?: Record<string, any>[];
+};
+
+export type CertificatePackResponseSingle = ApiResponseSingleZZHeSkIR & {
+  result?: Record<string, any>;
+};
+
+export type CertificatePackResponseSingleM1XodH89 = ApiResponseSingleLarS7owG & {
+  result?: Record<string, any>;
+};
+
+export type CertificateResponseCollection = ApiResponseCollection & {
+  result?: CustomCertificateRKdQQr58[];
+};
+
+export type CertificateResponseIdOnly = ApiResponseSingleZZHeSkIR & {
+  result?: {
+    id?: Identifier;
+  };
+};
+
+export type CertificateResponseIdOnlyRNZdKjgM = ApiResponseSingleLarS7owG & {
+  result?: {
+    id?: CustomCertificateComponentsSchemasIdentifier;
+  };
+};
+
+export type CertificateResponseSingle = ApiResponseSingleZZHeSkIR & {
+  result?: Record<string, any>;
+};
+
+export type CertificateResponseSingleFFh8Q9dH = ApiResponseSingleLarS7owG & {
+  result?: Record<string, any>;
+};
+
+export type CertificateResponseSingleId = SchemasCertificateResponseSingle & {
+  result?: {
+    id?: Identifier;
+  };
+};
+
+export type CertificateResponseSingleIdEaxlwmc6 = SchemasCertificateResponseSingleI8qAM9fN & {
+  result?: {
+    id?: CertificatesComponentsSchemasIdentifier;
+  };
+};
+
+export type CertificateResponseSinglePost = ApiResponseSingleZZHeSkIR & {
+  result?: CertificateObjectPost;
+};
+
+export type CertificateResponseSinglePostOZ0lEuuJ = ApiResponseSingleLarS7owG & {
+  result?: CertificateObjectPostBzIcru7v;
+};
+
+/**
+ * Matches any valid client certificate.
+ *
+ * @example {"certificate":{}}
+ */
+export type CertificateRule = {
+  /**
+   * @example {}
+   */
+  certificate: Record<string, any>;
+};
+
+/**
+ * Current status of certificate.
+ *
+ * @example active
+ */
+export type CertificateStatus =
+  | 'initializing'
+  | 'authorizing'
+  | 'active'
+  | 'expired'
+  | 'issuing'
+  | 'timing_out'
+  | 'pending_deployment';
+
+export type Certificates = {
+  certificate?: ComponentsSchemasCertificate;
+  csr: Csr;
+  expires_on?: SchemasExpiresOn;
+  hostnames: Hostnames;
+  id?: Identifier;
+  request_type: RequestType;
+  requested_validity: RequestedValidity;
+};
+
+export type CertificatesJ6E1yuF3 = {
+  certificate?: ComponentsSchemasCertificate;
+  csr: Csr;
+  expires_on?: CertificatesComponentsSchemasExpiresOn;
+  hostnames: Hostnames;
+  id?: CertificatesComponentsSchemasIdentifier;
+  request_type: RequestType;
+  requested_validity: RequestedValidity;
+};
+
+export type CertificatesSRlxxCwp = {
+  associated_hostnames?: AssociatedHostnames;
+  created_at?: Timestamp;
+  expires_on?: Timestamp;
+  fingerprint?: Fingerprint;
+  /**
+   * The ID of the application that will use this certificate.
+   */
+  id?: void;
+  name?: CertificatesComponentsSchemasName;
+  updated_at?: Timestamp;
+};
+
+/**
+ * When the certificate will expire.
+ *
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
+ */
+export type CertificatesComponentsSchemasExpiresOn = string;
+
+export type CertificatesComponentsSchemasIdResponse = ApiResponseSingleLarS7owG & {
+  result?: {
+    id?: Uuid;
+  };
+};
+
+/**
+ * The x509 serial number of the Origin CA certificate.
+ *
+ * @example 328578533902268680212849205732770752308931942346
+ */
+export type CertificatesComponentsSchemasIdentifier = string;
+
+/**
+ * The name of the certificate.
+ *
+ * @example Allow devs
+ */
+export type CertificatesComponentsSchemasName = string;
+
+export type CertificatesComponentsSchemasResponseCollection = ApiResponseCollection & {
+  result?: CertificatesSRlxxCwp[];
+};
+
+export type CertificatesComponentsSchemasResponseCollectionJkSglPKo = ApiResponseCollection & {
+  result?: ComponentsSchemasCertificates[];
+};
+
+export type CertificatesComponentsSchemasSingleResponse = ApiResponseSingleKLIlNaxV & {
+  result?: CertificatesSRlxxCwp;
+};
+
+export type CertificatesComponentsSchemasSingleResponseXU1AJCdT = ApiResponseSingleLarS7owG & {
+  result?: ComponentsSchemasCertificates;
+};
+
+/**
+ * Cloudflare account ID
+ *
+ * @example 699d98642c564d2e855e9661899b7252
+ * @maxLength 32
+ */
+export type CfAccountId = string;
+
+/**
+ * Specify how long a visitor is allowed access to your site after successfully completing a challenge (such as a CAPTCHA). After the TTL has expired the visitor will have to complete a new challenge. We recommend a 15 - 45 minute setting and will attempt to honor any setting above 45 minutes. (https://support.cloudflare.com/hc/en-us/articles/200170136).
+ */
+export type ChallengeTtl = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example challenge_ttl
+   */
+  id: 'challenge_ttl';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: ChallengeTtlValue;
+};
+
+/**
+ * Value of the zone setting.
+ *
+ * @default 1800
+ */
+export type ChallengeTtlValue =
+  | 300
+  | 900
+  | 1800
+  | 2700
+  | 3600
+  | 7200
+  | 10800
+  | 14400
+  | 28800
+  | 57600
+  | 86400
+  | 604800
+  | 2592000
+  | 31536000;
+
+/**
+ * @maxItems 10
+ * @uniqueItems true
+ */
+export type Characteristics = {
+  name: CharacteristicsComponentsSchemasName;
+  type: SchemasType73ZGJLlz;
+}[];
+
+/**
+ * The name of the characteristic field, i.e., the header or cookie name.
+ *
+ * @example authorization
+ * @maxLength 128
+ */
+export type CharacteristicsComponentsSchemasName = string;
+
+/**
+ * List of volume names to be checked for encryption.
+ *
+ * @example C
+ * @example D
+ * @example G
+ */
+export type CheckDisks = string[];
+
+/**
+ * A list of regions from which to run health checks. Null means Cloudflare will pick a default region.
+ *
+ * @example WEU
+ * @example ENAM
+ */
+export type CheckRegions =
+  | (
+      | 'WNAM'
+      | 'ENAM'
+      | 'WEU'
+      | 'EEU'
+      | 'NSAM'
+      | 'SSAM'
+      | 'OC'
+      | 'ME'
+      | 'NAF'
+      | 'SAF'
+      | 'IN'
+      | 'SEAS'
+      | 'NEAS'
+      | 'ALL_REGIONS'
+    )[]
+  | null;
+
+/**
+ * A list of regions from which to run health checks. Null means every Cloudflare data center.
+ *
+ * @example WEU
+ * @example ENAM
+ */
+export type CheckRegionsM0UYyZsj =
+  | (
+      | 'WNAM'
+      | 'ENAM'
+      | 'WEU'
+      | 'EEU'
+      | 'NSAM'
+      | 'SSAM'
+      | 'OC'
+      | 'ME'
+      | 'NAF'
+      | 'SAF'
+      | 'SAS'
+      | 'SEAS'
+      | 'NEAS'
+      | 'ALL_REGIONS'
+    )[]
+  | null;
+
+/**
+ * A list of regions from which to run health checks. Null means every Cloudflare data center.
+ *
+ * @example WEU
+ * @example ENAM
+ */
+export type CheckRegionsPQxNXzsr =
+  | (
+      | 'WNAM'
+      | 'ENAM'
+      | 'WEU'
+      | 'EEU'
+      | 'NSAM'
+      | 'SSAM'
+      | 'OC'
+      | 'ME'
+      | 'NAF'
+      | 'SAF'
+      | 'SAS'
+      | 'SEAS'
+      | 'NEAS'
+      | 'ALL_REGIONS'
+    )[]
+  | null;
+
+/**
+ * IP Prefix in Classless Inter-Domain Routing format.
+ *
+ * @example 192.0.2.0/24
+ */
+export type Cidr = string;
+
+export type CidrConfiguration = {
+  /**
+   * The configuration target. You must set the target to `ip_range` when specifying an IP address range in the rule.
+   *
+   * @example ip_range
+   */
+  target?: 'ip_range';
+  /**
+   * The IP address range to match. You can only use prefix lengths `/16` and `/24` for IPv4 ranges, and prefix lengths `/32`, `/48`, and `/64` for IPv6 ranges.
+   *
+   * @example 198.51.100.4/16
+   */
+  value?: string;
+};
+
+/**
+ * List of IPv4/IPv6 CIDR addresses.
+ *
+ * @example 199.27.128.0/21
+ * @example 2400:cb00::/32
+ */
+export type CidrList = string[];
+
+/**
+ * An allowlist of ciphers for TLS termination. These ciphers must be in the BoringSSL format.
+ */
+export type Ciphers = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example ciphers
+   */
+  id: 'ciphers';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: CiphersValue;
+};
+
+/**
+ * Value of the zone setting.
+ *
+ * @example ECDHE-RSA-AES128-GCM-SHA256
+ * @example AES128-SHA
+ * @uniqueItems true
+ */
+export type CiphersValue = string[];
+
+/**
+ * City.
+ *
+ * @example Austin
+ */
+export type City = string;
+
+/**
+ * Which account types are allowed to create policies based on this categories. `blocked` categories are blocked unconditionally for all accounts. `removalPending` categories can be removed from policies but not added. `noBlock` categories cannot be blocked.
+ *
+ * @example premium
+ */
+export type Class = 'free' | 'premium' | 'blocked' | 'removalPending' | 'noBlock';
+
+/**
+ * The Client Certificate PEM
+ *
+ * @example -----BEGIN CERTIFICATE-----\nMIIDmDCCAoC...dhDDE\n-----END CERTIFICATE-----
+ */
+export type ClientCertificatesComponentsSchemasCertificate = string;
+
+/**
+ * Certificate Authority used to issue the Client Certificate
+ */
+export type ClientCertificatesComponentsSchemasCertificateAuthority = {
+  /**
+   * @example 568b6b74-7b0c-4755-8840-4e3b8c24adeb
+   */
+  id?: string;
+  /**
+   * @example Cloudflare Managed CA for account
+   */
+  name?: string;
+};
+
+/**
+ * Client Certificates may be active or revoked, and the pending_reactivation or pending_revocation represent in-progress asynchronous transitions
+ *
+ * @example active
+ */
+export type ClientCertificatesComponentsSchemasStatus =
+  | 'active'
+  | 'pending_reactivation'
+  | 'pending_revocation'
+  | 'revoked';
+
+/**
+ * Set if the location is the default one.
+ *
+ * @example false
+ */
+export type ClientDefault = boolean;
+
+export type ClientCertificate = {
+  certificate?: ClientCertificatesComponentsSchemasCertificate;
+  certificate_authority?: ClientCertificatesComponentsSchemasCertificateAuthority;
+  common_name?: CommonName;
+  country?: Country;
+  csr?: SchemasCsr;
+  expires_on?: ExpiredOn;
+  fingerprint_sha256?: FingerprintSha256;
+  id?: Identifier;
+  issued_on?: IssuedOn;
+  location?: Location;
+  organization?: Organization;
+  organizational_unit?: OrganizationalUnit;
+  serial_number?: ComponentsSchemasSerialNumber;
+  signature?: ComponentsSchemasSignature;
+  ski?: Ski;
+  state?: State;
+  status?: ClientCertificatesComponentsSchemasStatus;
+  validity_days?: ComponentsSchemasValidityDays;
+};
+
+export type ClientCertificateResponseCollection = ApiResponseCollection & {
+  result?: ClientCertificate[];
+};
+
+export type ClientCertificateResponseSingle = ApiResponseSingleZZHeSkIR & {
+  result?: ClientCertificate;
+};
+
+/**
+ * The Client ID for the service token. Access will check for this value in the `CF-Access-Client-ID` request header.
+ *
+ * @example 88bf3b6d86161464f6509f7219099e57.access.example.com
+ */
+export type ClientId = string;
+
+/**
+ * The Client Secret for the service token. Access will check for this value in the `CF-Access-Client-Secret` request header.
+ *
+ * @example bdd31cbc4dec990953e39163fbbb194c93313ca9f0a6e420346af9d326b1d2a5
+ */
+export type ClientSecret = string;
+
+export type ClipResponseSingle = ApiResponseCollection & {
+  result?: Clipping;
+};
+
+/**
+ * The unique video identifier (UID).
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type ClippedFromVideoUid = string;
+
+export type Clipping = {
+  allowedOrigins?: AllowedOrigins;
+  clippedFromVideoUID?: ClippedFromVideoUid;
+  created?: ClippingCreated;
+  creator?: Creator;
+  endTimeSeconds?: EndTimeSeconds;
+  maxDurationSeconds?: MaxDurationSeconds;
+  meta?: MediaMetadata;
+  modified?: LiveInputModified;
+  playback?: Playback;
+  preview?: Preview;
+  requireSignedURLs?: RequireSignedURLs;
+  startTimeSeconds?: StartTimeSeconds;
+  status?: MediaState;
+  thumbnailTimestampPct?: ThumbnailTimestampPct;
+  watermark?: WatermarkAtUpload;
+};
+
+/**
+ * The date and time the clip was created.
+ *
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
+ */
+export type ClippingCreated = string;
+
+export type CloudflareTunnelComponentsSchemasConnection = {
+  /**
+   * UUID of the cloudflared instance.
+   */
+  client_id?: void;
+  client_version?: CloudflareTunnelComponentsSchemasVersion;
+  colo_name?: SchemasColoName;
+  id?: ConnectionId;
+  is_pending_reconnect?: IsPendingReconnect;
+  /**
+   * Timestamp of when the connection was established.
+   *
+   * @example 2021-01-25T18:22:34.317854Z
+   * @format date-time
+   */
+  opened_at?: string;
+  /**
+   * The public IP address of the host running cloudflared.
+   *
+   * @example 85.12.78.6
+   */
+  origin_ip?: string;
+  uuid?: ConnectionId;
+};
+
+/**
+ * Timestamp of when the tunnel was created.
+ *
+ * @example 2021-01-25T18:22:34.317854Z
+ * @format date-time
+ */
+export type CloudflareTunnelComponentsSchemasCreatedAt = string;
+
+/**
+ * Metadata associated with the tunnel.
+ *
+ * @example {}
+ */
+export type CloudflareTunnelComponentsSchemasMetadata = Record<string, any>;
+
+/**
+ * The status of the tunnel. Valid values are `inactive` (tunnel has never been run), `degraded` (tunnel is active and able to serve traffic but in an unhealthy state), `healthy` (tunnel is active and able to serve traffic), or `down` (tunnel can not serve traffic as it has no connections to the Cloudflare Edge).
+ *
+ * @example healthy
+ */
+export type CloudflareTunnelComponentsSchemasStatus = string;
+
+/**
+ * The cloudflared version used to establish this connection.
+ *
+ * @example 2022.7.1
+ */
+export type CloudflareTunnelComponentsSchemasVersion = string;
+
+/**
+ * Whether or not to add Cloudflare Branding for the order.  This will add sni.cloudflaressl.com as the Common Name if set true.
+ *
+ * @example false
+ */
+export type CloudflareBranding = boolean;
+
+/**
+ * The IP address assigned to the Cloudflare side of the GRE tunnel.
+ *
+ * @example 203.0.113.1
+ */
+export type CloudflareGreEndpoint = string;
+
+/**
+ * The IP address assigned to the Cloudflare side of the IPsec tunnel.
+ *
+ * @example 203.0.113.1
+ */
+export type CloudflareIpsecEndpoint = string;
+
+export type CmbConfig = {
+  regions?: Regions;
+} | null;
+
+export type CmbConfigResponseSingle = ApiResponseSingleEkzmTA7q & {
+  result?: CmbConfig;
+};
+
+/**
+ * Whether or not cname flattening is on.
+ */
+export type CnameFlattening = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * How to flatten the cname destination.
+   *
+   * @example flatten_at_root
+   */
+  id: 'cname_flattening';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: CnameFlatteningValue;
+};
+
+/**
+ * Value of the cname flattening setting.
+ *
+ * @default flatten_at_root
+ */
+export type CnameFlatteningValue = 'flatten_at_root' | 'flatten_all';
+
+/**
+ * The unique activation code for the account membership.
+ *
+ * @example 05dd05cce12bbed97c0d87cd78e89bc2fd41a6cee72f27f6fc84af2e45c0fac0
+ * @maxLength 64
+ */
+export type Code = string;
+
+export type CollectionInviteResponse = ApiResponseCollection & {
+  result?: Invite[];
+};
+
+export type CollectionMemberResponse = ApiResponseCollection & {
+  result?: ComponentsSchemasMember[];
+};
+
+export type CollectionMembershipResponse = ApiResponseCollection & {
+  result?: Membership[];
+};
+
+export type CollectionOrganizationResponse = ApiResponseCollection & {
+  result?: Organization4zEoGtIG[];
+};
+
+export type CollectionResponse = ApiResponseCollection & {
+  result?: (ApiShield & {
+    features?: void;
+  })[];
+};
+
+export type CollectionResponsePaginated =
+  | (CollectionResponse & {
+      result_info?: {
+        /**
+         * Total results returned based on your search parameters.
+         *
+         * @example 1
+         */
+        count?: number;
+        /**
+         * Current page within paginated list of results.
+         *
+         * @example 1
+         */
+        page?: number;
+        /**
+         * Number of results per page of results.
+         *
+         * @example 20
+         */
+        per_page?: number;
+        /**
+         * Total results available without any search parameters.
+         *
+         * @example 500
+         */
+        total_count?: number;
+      };
+    } & {
+      result?: ApiShield[];
+    })
+  | CollectionResponse;
+
+export type CollectionRoleResponse = ApiResponseCollection & {
+  result?: SchemasRole[];
+};
+
+export type Colo = {
+  city?: ColoCity;
+  name?: ColoNameVarDrACz;
+};
+
+/**
+ * Source colo city.
+ *
+ * @example Denver, CO, US
+ */
+export type ColoCity = string;
+
+/**
+ * Scope colo name.
+ *
+ * @example den01
+ */
+export type ColoName = string;
+
+/**
+ * Source colo name.
+ *
+ * @example den01
+ */
+export type ColoNameVarDrACz = string;
+
+/**
+ * List of colo names for the ECMP scope.
+ */
+export type ColoNames = ColoName[];
+
+/**
+ * Scope colo region.
+ *
+ * @example APAC
+ */
+export type ColoRegion = string;
+
+/**
+ * List of colo regions for the ECMP scope.
+ */
+export type ColoRegions = ColoRegion[];
+
+export type ColoResponse = ApiResponseSingleLarS7owG & {
+  query?: QueryResponse;
+  result?: Datacenters;
+};
+
+export type ColoResult = {
+  colo?: Colo;
+  error?: Error;
+  hops?: HopResult[];
+  target_summary?: TargetSummary;
+  traceroute_time_ms?: TracerouteTimeMs;
+};
+
+/**
+ * If no source colo names specified, all colos will be used. China colos are unavailable for traceroutes.
+ *
+ * @example den
+ * @example sin
+ */
+export type Colos = string[];
+
+/**
+ * Comments or notes about the DNS record. This field has no effect on DNS responses.
+ *
+ * @example Domain verification record
+ */
+export type Comment = string;
+
+/**
+ * Optional remark describing the route.
+ *
+ * @example Example comment for this route.
+ */
+export type CommentCrz1ciLB = string;
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type CommonComponentsSchemasIdentifier = string;
+
+export type CommonComponentsSchemasIp = Ipv4 | Ipv6Dw2g7BEM;
+
+/**
+ * Common Name of the Client Certificate
+ *
+ * @example Cloudflare
+ */
+export type CommonName = string;
+
+export type ComponentValue = {
+  ['default']?: DefaultVg5XL96o;
+  name?: ComponentValueComponentsSchemasName;
+  unit_price?: UnitPrice;
+};
+
+/**
+ * The unique component.
+ *
+ * @example page_rules
+ */
+export type ComponentValueComponentsSchemasName =
+  | 'zones'
+  | 'page_rules'
+  | 'dedicated_certificates'
+  | 'dedicated_certificates_custom';
+
+/**
+ * A component value for a subscription.
+ */
+export type ComponentValue = {
+  /**
+   * The default amount assigned.
+   *
+   * @example 5
+   */
+  ['default']?: number;
+  /**
+   * The name of the component value.
+   *
+   * @example page_rules
+   */
+  name?: string;
+  /**
+   * The unit price for the component value.
+   *
+   * @example 5
+   */
+  price?: number;
+  /**
+   * The amount of the component value assigned.
+   *
+   * @example 20
+   */
+  value?: number;
+};
+
+/**
+ * The list of add-ons subscribed to.
+ */
+export type ComponentValues = ComponentValue[];
+
+export type ComponentsSchemasAccount = Account;
+
+/**
+ * @example 9a7806061c88ada191ed06f989cc3dac
+ */
+export type ComponentsSchemasAccountIdentifier = void;
+
+/**
+ * The action to apply to a matched request. The `log` action is only available on an Enterprise plan.
+ *
+ * @example block
+ */
+export type ComponentsSchemasAction =
+  | 'block'
+  | 'challenge'
+  | 'js_challenge'
+  | 'managed_challenge'
+  | 'allow'
+  | 'log'
+  | 'bypass';
+
+/**
+ * The parameters configuring the action.
+ */
+export type ComponentsSchemasActionParameters = ActionParametersRedirect;
+
+export type ComponentsSchemasAsn = number;
+
+export type ComponentsSchemasBase = {
+  /**
+   * When the Keyless SSL was created.
+   *
+   * @example 2014-01-01T05:20:00Z
+   * @format date-time
+   */
+  created_on: string;
+  enabled: Enabled3YyasMQY;
+  host: SchemasHost;
+  id: KeylessCertificateComponentsSchemasIdentifier;
+  /**
+   * When the Keyless SSL was last modified.
+   *
+   * @example 2014-01-01T05:20:00Z
+   * @format date-time
+   */
+  modified_on: string;
+  name: KeylessCertificateComponentsSchemasName;
+  /**
+   * Available permissions for the Keyless SSL for the current user requesting the item.
+   *
+   * @example #ssl:read
+   * @example #ssl:edit
+   */
+  permissions: any[];
+  port: PortImSN1BQg;
+  status: KeylessCertificateComponentsSchemasStatus;
+};
+
+/**
+ * The Origin CA certificate. Will be newline-encoded.
+ * 
+ * @example -----BEGIN CERTIFICATE-----
+MIICvDCCAaQCAQAwdzELMAkGA1UEBhMCVVMxDTALBgNVBAgMBFV0YWgxDzANBgNV
+BAcMBkxpbmRvbjEWMBQGA1UECgwNRGlnaUNlcnQgSW5jLjERMA8GA1UECwwIRGln
+aUNlcnQxHTAbBgNVBAMMFGV4YW1wbGUuZGlnaWNlcnQuY29tMIIBIjANBgkqhkiG
+9w0BAQEFAAOCAQ8AMIIBCgKCAQEA8+To7d+2kPWeBv/orU3LVbJwDrSQbeKamCmo
+wp5bqDxIwV20zqRb7APUOKYoVEFFOEQs6T6gImnIolhbiH6m4zgZ/CPvWBOkZc+c
+1Po2EmvBz+AD5sBdT5kzGQA6NbWyZGldxRthNLOs1efOhdnWFuhI162qmcflgpiI
+WDuwq4C9f+YkeJhNn9dF5+owm8cOQmDrV8NNdiTqin8q3qYAHHJRW28glJUCZkTZ
+wIaSR6crBQ8TbYNE0dc+Caa3DOIkz1EOsHWzTx+n0zKfqcbgXi4DJx+C1bjptYPR
+BPZL8DAeWuA8ebudVT44yEp82G96/Ggcf7F33xMxe0yc+Xa6owIDAQABoAAwDQYJ
+KoZIhvcNAQEFBQADggEBAB0kcrFccSmFDmxox0Ne01UIqSsDqHgL+XmHTXJwre6D
+hJSZwbvEtOK0G3+dr4Fs11WuUNt5qcLsx5a8uk4G6AKHMzuhLsJ7XZjgmQXGECpY
+Q4mC3yT3ZoCGpIXbw+iP3lmEEXgaQL0Tx5LFl/okKbKYwIqNiyKWOMj7ZR/wxWg/
+ZDGRs55xuoeLDJ/ZRFf9bI+IaCUd1YrfYcHIl3G87Av+r49YVwqRDT0VDV7uLgqn
+29XI1PpVUNCPQGn9p/eX6Qo7vpDaPybRtA2R7XLKjQaF9oXWeCUqy1hvJac9QFO2
+97Ob1alpHPoZ7mWiEuJwjBPii6a9M9G30nUo39lBi1w=
+-----END CERTIFICATE-----
+ */
+export type ComponentsSchemasCertificate = string;
+
+export type ComponentsSchemasCertificateObject = {
+  ca?: Ca;
+  certificates?: SchemasCertificates;
+  expires_on?: MtlsManagementComponentsSchemasExpiresOn;
+  id?: Identifier;
+  issuer?: SchemasIssuer;
+  name?: SchemasNameUG4dW73x;
+  serial_number?: SchemasSerialNumber;
+  signature?: Signature;
+  uploaded_on?: MtlsManagementComponentsSchemasUploadedOn;
+};
+
+export type ComponentsSchemasCertificateObject6kagZg5y = {
+  ca?: Ca;
+  certificates?: SchemasCertificates;
+  expires_on?: MtlsManagementComponentsSchemasExpiresOn;
+  id?: MtlsManagementComponentsSchemasIdentifier;
+  issuer?: SchemasIssuer;
+  name?: MtlsManagementComponentsSchemasName;
+  serial_number?: SchemasSerialNumber;
+  signature?: Signature;
+  uploaded_on?: MtlsManagementComponentsSchemasUploadedOn;
+};
+
+/**
+ * The Certificate Authority that Total TLS certificates will be issued through.
+ *
+ * @example google
+ */
+export type ComponentsSchemasCertificateAuthority = 'google' | 'lets_encrypt';
+
+export type ComponentsSchemasCertificateResponseCollection = ApiResponseCollection & {
+  result?: ZoneAuthenticatedOriginPullHgUvk0U1[];
+};
+
+export type ComponentsSchemasCertificateResponseSingle = ApiResponseSingleZZHeSkIR & {
+  result?: SchemasCertificateObject;
+};
+
+export type ComponentsSchemasCertificateResponseSingleSttrXbFI = ApiResponseSingleLarS7owG & {
+  result?: SchemasCertificateObjectAlDI2xY5;
+};
+
+export type ComponentsSchemasCertificates = {
+  associated_hostnames?: AssociatedHostnames;
+  created_at?: Timestamp;
+  expires_on?: Timestamp;
+  fingerprint?: Fingerprint;
+  /**
+   * The ID of the application that will use this certificate.
+   */
+  id?: void;
+  name?: CertificatesComponentsSchemasName;
+  updated_at?: Timestamp;
+};
+
+export type ComponentsSchemasCollectionResponse = ApiResponseCollection & {
+  result?: Web3Hostname[];
+};
+
+/**
+ * The tunnel configuration and ingress rules in JSON format. For syntax and parameters, refer to the [configuration file documentation](https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/tunnel-guide/local/local-management/configuration-file/#file-structure).
+ */
+export type ComponentsSchemasConfig = Record<string, any>;
+
+/**
+ * The configuration object for the current rule.
+ */
+export type ComponentsSchemasConfiguration = {
+  /**
+   * The configuration target for this rule. You must set the target to `ua` for User Agent Blocking rules.
+   *
+   * @example ua
+   */
+  target?: string;
+  /**
+   * The exact user agent string to match. This value will be compared to the received `User-Agent` HTTP header value.
+   *
+   * @example Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/603.2.4 (KHTML, like Gecko) Version/10.1.1 Safari/603.2.4
+   */
+  value?: string;
+};
+
+export type ComponentsSchemasConnection = {
+  colo_name?: SchemasColoName;
+  is_pending_reconnect?: IsPendingReconnect;
+  uuid?: ConnectionId;
+};
+
+/**
+ * Shows time of creation.
+ *
+ * @example 2018-08-28T17:26:26Z
+ * @format date-time
+ */
+export type ComponentsSchemasCreatedAt = string;
+
+/**
+ * When the Railgun was created.
+ *
+ * @example 2014-01-01T05:20:00Z
+ * @format date-time
+ */
+export type ComponentsSchemasCreatedOn = string;
+
+/**
+ * An optional description forthe IPsec tunnel.
+ *
+ * @example Tunnel for ISP X
+ */
+export type ComponentsSchemasDescription = string;
+
+/**
+ * Object description.
+ *
+ * @example Load Balancer for www.example.com
+ */
+export type ComponentsSchemasDescriptionPGj41dmE = string;
+
+/**
+ * An informative summary of the rate limit. This value is sanitized and any tags will be removed.
+ *
+ * @example Prevent multiple login failures to mitigate brute force attacks
+ * @maxLength 1024
+ */
+export type ComponentsSchemasDescriptionShl7dZHd = string;
+
+/**
+ * A short summary of domains in the category.
+ *
+ * @example Sites related to educational content that are not included in other categories like Science, Technology or Educational institutions.
+ */
+export type ComponentsSchemasDescriptionDHTB25HG = string;
+
+/**
+ * The domain of the Bookmark application.
+ *
+ * @example example.com
+ */
+export type ComponentsSchemasDomain = string;
+
+/**
+ * The email of the user.
+ *
+ * @example jdoe@example.com
+ * @format email
+ */
+export type ComponentsSchemasEmail = string;
+
+export type ComponentsSchemasEmptyResponse = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+/**
+ * If enabled, Total TLS will order a hostname specific TLS certificate for any proxied A, AAAA, or CNAME record in your zone.
+ *
+ * @example true
+ */
+export type ComponentsSchemasEnabled = boolean;
+
+/**
+ * Whether to enable (the default) this load balancer.
+ *
+ * @default true
+ * @example true
+ */
+export type ComponentsSchemasEnabledQ79EL5TU = boolean;
+
+export type ComponentsSchemasExclude = SplitTunnel[];
+
+/**
+ * When the certificate from the authority expires.
+ *
+ * @example 2100-01-01T05:20:00Z
+ * @format date-time
+ */
+export type ComponentsSchemasExpiresOn = string;
+
+/**
+ * When the certificate from the authority expires.
+ *
+ * @example 2016-01-01T05:20:00Z
+ * @format date-time
+ */
+export type ComponentsSchemasExpiresOnIEhoDYOo = string;
+
+/**
+ * @example {"slo":["99.9"]}
+ */
+export type ComponentsSchemasFilters = {
+  [key: string]: any[];
+};
+
+/**
+ * Hostname of the Worker Domain.
+ *
+ * @example foo.example.com
+ */
+export type ComponentsSchemasHostname = string;
+
+/**
+ * ID of the namespace.
+ *
+ * @example 5fd1cafff895419c8bcc647fc64ab8f0
+ */
+export type ComponentsSchemasId = string;
+
+export type ComponentsSchemasIdResponse = ApiResponseSingleKLIlNaxV & {
+  result?: {
+    id?: Uuid;
+  };
+};
+
+export type ComponentsSchemasIdResponseIHcJUh5S = ApiResponseSingleWkFwqHKI & {
+  result?: {
+    id?: ComponentsSchemasIdentifierNz3bhUPI;
+  };
+};
+
+export type ComponentsSchemasIdResponseRHALhS1I = ApiResponseSingleLarS7owG & {
+  result?: {
+    id?: LoadBalancerComponentsSchemasIdentifier;
+  };
+};
+
+export type ComponentsSchemasIdResponseXrDu14nR = ApiResponseSingleUl1k90Mw & {
+  result?: {
+    id?: LoadBalancerComponentsSchemasIdentifier;
+  };
+};
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type ComponentsSchemasIdentifier = string;
+
+/**
+ * @example 23ff594956f20c2a721606e94745a8aa
+ */
+export type ComponentsSchemasIdentifierNz3bhUPI = void;
+
+/**
+ * Token identifier tag.
+ *
+ * @example ed17574386854bf78a67040be0a770b0
+ * @maxLength 32
+ */
+export type ComponentsSchemasIdentifierUpjmfntS = string;
+
+/**
+ * IPv4 or IPv6 address.
+ *
+ * @example 1.1.1.1
+ */
+export type ComponentsSchemasIp = string;
+
+/**
+ * The type of the membership.
+ *
+ * @example zone
+ */
+export type ComponentsSchemasKind = 'zone' | 'account';
+
+/**
+ * The wirefilter expression to match devices.
+ *
+ * @example user.identity == "test@cloudflare.com"
+ * @maxLength 500
+ */
+export type ComponentsSchemasMatch = string;
+
+export type ComponentsSchemasMember = {
+  email: EmailPuzf53IC;
+  id: CommonComponentsSchemasIdentifier;
+  name: MemberComponentsSchemasName;
+  /**
+   * Roles assigned to this Member.
+   */
+  roles: SchemasRole[];
+  /**
+   * A member's status in the organization.
+   *
+   * @example accepted
+   */
+  status: 'accepted' | 'invited';
+};
+
+/**
+ * Arbitrary JSON to be associated with a key/value pair.
+ *
+ * @example {"someMetadataKey": "someMetadataValue"}
+ */
+export type ComponentsSchemasMetadata = string;
+
+/**
+ * The state of the rules contained in the rule group. When `on`, the rules in the group are configurable/usable.
+ *
+ * @default on
+ */
+export type ComponentsSchemasMode = 'on' | 'off';
+
+/**
+ * The timestamp of when the rule was last modified.
+ *
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
+ */
+export type ComponentsSchemasModifiedOn = string;
+
+export type ComponentsSchemasModifiedTunnelsCollectionResponse = ApiResponseSingleRxxEmdsv & {
+  result?: {
+    /**
+     * @example true
+     */
+    modified?: boolean;
+    modified_interconnects?: Interconnect[];
+  };
+};
+
+export type ComponentsSchemasMonitor = {
+  allow_insecure?: AllowInsecure;
+  consecutive_down?: ConsecutiveDown;
+  consecutive_up?: ConsecutiveUp;
+  created_on?: Timestamp;
+  description?: Description329lsFZ7;
+  expected_body?: ExpectedBody;
+  expected_codes?: SchemasExpectedCodes;
+  follow_redirects?: FollowRedirects;
+  header?: Header;
+  id?: IdentifierYmSdxGUH;
+  interval?: IntervalHvanFWV2;
+  method?: Method;
+  modified_on?: Timestamp;
+  path?: Path;
+  port?: SchemasPort;
+  probe_zone?: ProbeZone;
+  retries?: RetriesGl6521CK;
+  timeout?: Timeout;
+  type?: TypeB9S5DdJI;
+};
+
+export type ComponentsSchemasMonitor2jUnhefX = {
+  allow_insecure?: AllowInsecure;
+  consecutive_down?: ConsecutiveDown;
+  consecutive_up?: ConsecutiveUp;
+  created_on?: Timestamp;
+  description?: MonitorComponentsSchemasDescription;
+  expected_body?: ExpectedBody;
+  expected_codes?: SchemasExpectedCodes;
+  follow_redirects?: FollowRedirects;
+  header?: Header;
+  id?: MonitorComponentsSchemasIdentifier;
+  interval?: IntervalLx3GfHR3;
+  method?: SchemasMethod;
+  modified_on?: Timestamp;
+  path?: Path;
+  port?: ComponentsSchemasPort;
+  probe_zone?: ProbeZone;
+  retries?: Retries7RuyOW7F;
+  timeout?: SchemasTimeout;
+  type?: MonitorComponentsSchemasType;
+};
+
+/**
+ * The name of the interconnect. The name cannot share a name with other tunnels.
+ *
+ * @example pni_ord
+ */
+export type ComponentsSchemasName = string;
+
+/**
+ * The name of the Device Posture Integration.
+ *
+ * @example My Workspace One Integration
+ */
+export type ComponentsSchemasNameKTVvRGKN = string;
+
+/**
+ * Role Name.
+ *
+ * @example Organization Admin
+ * @maxLength 120
+ */
+export type ComponentsSchemasNameWXo9HKYH = string;
+
+/**
+ * The name of the Rule.
+ *
+ * @example block bad websites
+ */
+export type ComponentsSchemasNameDiPhdb0D = string;
+
+/**
+ * The DNS hostname to associate with your Load Balancer. If this hostname already exists as a DNS record in Cloudflare's DNS, the Load Balancer will take precedence and the DNS record will not be used.
+ *
+ * @example www.example.com
+ */
+export type ComponentsSchemasNamePmZCIPld = string;
+
+/**
+ * The name of the peer.
+ *
+ * @example my-peer-1
+ */
+export type ComponentsSchemasNameT0FRMejA = string;
+
+/**
+ * The name of the Access group.
+ *
+ * @example Allow devs
+ */
+export type ComponentsSchemasNameUYr2s0a0 = string;
+
+/**
+ * Update enablement of Smart Tiered Cache
+ */
+export type ComponentsSchemasPatch = {
+  value: TieredCacheSmartTopologyApiComponentsSchemasValue;
+};
+
+/**
+ * A pattern that matches an entry
+ */
+export type ComponentsSchemasPattern = {
+  /**
+   * The regex pattern.
+   *
+   * @example ^4[0-9]{6,14}$
+   */
+  regex: string;
+  /**
+   * Validation algorithm for the pattern. This algorithm will get run on potential matches, and if it returns false, the entry will not be matched.
+   *
+   * @example luhn
+   */
+  validation?: 'luhn';
+};
+
+/**
+ * When true, indicates that the firewall rule is currently paused.
+ *
+ * @example false
+ */
+export type ComponentsSchemasPaused = boolean;
+
+/**
+ * Number of results per page of results.
+ *
+ * @example 20
+ */
+export type ComponentsSchemasPerPage = number;
+
+export type ComponentsSchemasPolicies = {
+  alert_type?: AlertType;
+  created?: Timestamp;
+  description?: PoliciesComponentsSchemasDescription;
+  enabled?: PoliciesComponentsSchemasEnabled;
+  filters?: ComponentsSchemasFilters;
+  id?: Uuid;
+  mechanisms?: Mechanisms;
+  modified?: Timestamp;
+  name?: PoliciesComponentsSchemasName2;
+};
+
+/**
+ * The port number to connect to for the health check. Required for TCP, UDP, and SMTP checks. HTTP and HTTPS checks should only define the port when using a non-standard port (HTTP: default 80, HTTPS: default 443).
+ *
+ * @default 0
+ */
+export type ComponentsSchemasPort = number;
+
+/**
+ * The relative priority of the current URI-based WAF override when multiple overrides match a single URL. A lower number indicates higher priority. Higher priority overrides may overwrite values set by lower priority overrides.
+ *
+ * @example 1
+ * @maximum 1000000000
+ * @minimum -1000000000
+ */
+export type ComponentsSchemasPriority = number;
+
+/**
+ * The private key for the certificate
+ * 
+ * @example -----BEGIN PRIVATE KEY-----
+MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDEXDkcICRU3XBv9hiiPnBWIjgTQyowmVFxDr11mONgZB/cMYjE/OvQjvnpwNcOaSK16MOpAjNbELKRx2lZiVJaLRDCccqCxXwP/CrdRChcqGzo7mbNksMlcidrErb0LlEBKLFC2QjRmRKqB+YOs4TD8WsZu2S667A2fZmjRlaqOxFi1h62ee0P+TLU628UC/nl41JifSt5Evt7hMDHakemdwZblNYr2p6T3NQjdhjYXTtP4UmOGJBhJ7i7Kicg3d3CIgdTMbggSeGWqjndr4ldVnD96FN3cVT5uDFsn2CJXTFgdeBWoUnMS4VnUZzPWGf4vSBXC8qV7Ls+w46yT7T1AgMBAAECggEAQZnp/oqCeNPOR6l5S2L+1tfx0gWjZ78hJVteUpZ0iHSK7F6kKeOxyOird7vUXV0kmo+cJq+0hp0Ke4eam640FCpwKfYoSQ4/R3vgujGWJnaihCN5tv5sMet0XeJPuz5qE7ALoKCvwI6aXLHs20aAeZIDTQJ9QbGSGnJVzOWn+JDTidIgZpN57RpXfSAwnJPTQK/PN8i5z108hsaDOdEgGmxYZ7kYqMqzX20KXmth58LDfPixs5JGtS60iiKC/wOcGzkB2/AdTSojR76oEU77cANP/3zO25NG//whUdYlW0t0d7PgXxIeJe+xgYnamDQJx3qonVyt4H77ha0ObRAj9QKBgQDicZr+VTwFMnELP3a+FXGnjehRiuS1i7MXGKxNweCD+dFlML0FplSQS8Ro2n+d8lu8BBXGx0qm6VXu8Rhn7TAUL6q+PCgfarzxfIhacb/TZCqfieIHsMlVBfhV5HCXnk+kis0tuC/PRArcWTwDHJUJXkBhvkUsNswvQzavDPI7KwKBgQDd/WgLkj7A3X5fgIHZH/GbDSBiXwzKb+rF4ZCT2XFgG/OAW7vapfcX/w+v+5lBLyrocmOAS3PGGAhM5T3HLnUCQfnK4qgps1Lqibkc9Tmnsn60LanUjuUMsYv/zSw70tozbzhJ0pioEpWfRxRZBztO2Rr8Ntm7h6Fk701EXGNAXwKBgQCD1xsjy2J3sCerIdcz0u5qXLAPkeuZW+34m4/ucdwTWwc0gEz9lhsULFj9p4G351zLuiEnq+7mAWLcDJlmIO3mQt6JhiLiL9Y0T4pgBmxmWqKKYtAsJB0EmMY+1BNN44mBRqMxZFTJu1cLdhT/xstrOeoIPqytknYNanfTMZlzIwKBgHrLXe5oq0XMP8dcMneEcAUwsaU4pr6kQd3L9EmUkl5zl7J9C+DaxWAEuwzBw/iGutlxzRB+rD/7szu14wJ29EqXbDGKRzMp+se5/yfBjm7xEZ1hVPw7PwBShfqt57X/4Ktq7lwHnmH6RcGhc+P7WBc5iO/S94YAdIp8xOT3pf9JAoGAE0QkqJUY+5Mgr+fBO0VNV72ZoPveGpW+De59uhKAOnu1zljQCUtk59m6+DXfm0tNYKtawa5n8iN71Zh+s62xXSt3pYi1Y5CCCmv8Y4BhwIcPwXKk3zEvLgSHVTpC0bayA9aSO4bbZgVXa5w+Z0w/vvfp9DWo1IS3EnQRrz6WMYA=
+-----END PRIVATE KEY-----
+ */
+export type ComponentsSchemasPrivateKey = string;
+
+/**
+ * The reference of the rule (the rule ID by default).
+ *
+ * @example my_ref
+ */
+export type ComponentsSchemasRef = string;
+
+export type ComponentsSchemasResponse = ApiResponseCollection & {
+  result?: IpList[];
+};
+
+export type ComponentsSchemasResponseCollection = ApiResponseCollection & {
+  result?: AddressMaps[];
+};
+
+export type ComponentsSchemasResponseCollection8mHxL6ja = ApiResponseCollection & {
+  result?: RulesLzz0wOUq[];
+};
+
+export type ComponentsSchemasResponseCollectionPyBuRAaz = ApiResponseCollection & {
+  result?: DeviceManagedNetworks[];
+};
+
+export type ComponentsSchemasResponseCollectionW5oRiKX6 = ApiResponseCollection & {
+  result?: ServiceTokens[];
+};
+
+export type ComponentsSchemasResponseCollectionEULMBMTa = ApiResponseCollection & {
+  result?: Analytics[];
+};
+
+export type ComponentsSchemasResponseCollectionLs4R2ehK = ApiResponseCollection & {
+  result?: Record<string, any>[];
+};
+
+export type ComponentsSchemasResponseCollectionPvo6FynM = ApiResponseCollection & {
+  result?: Acl[];
+};
+
+/**
+ * Metrics on Workers KV requests.
+ */
+export type ComponentsSchemasResult = {
+  /**
+   * @example {"metrics":[[2,4],[16,32]]}
+   */
+  data:
+    | {
+        /**
+         * List of metrics returned by the query.
+         */
+        metrics: any[];
+      }[]
+    | null;
+  /**
+   * Number of seconds between current time and last processed event, i.e. how many seconds of data could be missing.
+   *
+   * @example 0
+   * @minimum 0
+   */
+  data_lag: number;
+  /**
+   * Maximum results for each metric.
+   *
+   * @example {"storedBytes":32,"storedKeys":4}
+   */
+  max: void;
+  /**
+   * Minimum results for each metric.
+   *
+   * @example {"storedBytes":16,"storedKeys":2}
+   */
+  min: void;
+  query: QueryLWVM8wx5;
+  /**
+   * Total number of rows in the result.
+   *
+   * @example 2
+   * @minimum 0
+   */
+  rows: number;
+  /**
+   * Total results for metrics across all data.
+   *
+   * @example {"storedBytes":48,"storedKeys":6}
+   */
+  totals: void;
+};
+
+export type ComponentsSchemasRule = AnomalyRule | TraditionalDenyRule | TraditionalAllowRule;
+
+/**
+ * BETA Field Not General Access: A list of rules for this load balancer to execute.
+ */
+export type ComponentsSchemasRules = {
+  /**
+   * The condition expressions to evaluate. If the condition evaluates to true, the overrides or fixed_response in this rule will be applied. An empty condition is always true. For more details on condition expressions, please see https://developers.cloudflare.com/load-balancing/understand-basics/load-balancing-rules/expressions.
+   *
+   * @example http.request.uri.path contains "/testing"
+   */
+  condition?: string;
+  /**
+   * Disable this specific rule. It will no longer be evaluated by this load balancer.
+   *
+   * @default false
+   */
+  disabled?: boolean;
+  /**
+   * A collection of fields used to directly respond to the eyeball instead of routing to a pool. If a fixed_response is supplied the rule will be marked as terminates.
+   */
+  fixed_response?: {
+    /**
+     * The http 'Content-Type' header to include in the response.
+     *
+     * @example application/json
+     * @maxLength 32
+     */
+    content_type?: string;
+    /**
+     * The http 'Location' header to include in the response.
+     *
+     * @example www.example.com
+     * @maxLength 2048
+     */
+    location?: string;
+    /**
+     * Text to include as the http body.
+     *
+     * @example Testing Hello
+     * @maxLength 1024
+     */
+    message_body?: string;
+    /**
+     * The http status code to respond with.
+     */
+    status_code?: number;
+  };
+  /**
+   * Name of this rule. Only used for human readability.
+   *
+   * @example route the path /testing to testing datacenter.
+   * @maxLength 200
+   */
+  name?: string;
+  /**
+   * A collection of overrides to apply to the load balancer when this rule's condition is true. All fields are optional.
+   */
+  overrides?: {
+    adaptive_routing?: AdaptiveRouting;
+    country_pools?: CountryPools;
+    default_pools?: DefaultPools;
+    fallback_pool?: FallbackPool;
+    location_strategy?: LocationStrategy;
+    pop_pools?: PopPools;
+    random_steering?: RandomSteering;
+    region_pools?: RegionPools;
+    session_affinity?: SessionAffinity;
+    session_affinity_attributes?: SessionAffinityAttributes;
+    session_affinity_ttl?: SessionAffinityTtl;
+    steering_policy?: SteeringPolicy;
+    ttl?: TtlXvgb35JN;
+  };
+  /**
+   * The order in which rules should be executed in relation to each other. Lower values are executed first. Values do not need to be sequential. If no value is provided for any rule the array order of the rules field will be used to assign a priority.
+   *
+   * @default 0
+   */
+  priority?: number;
+  /**
+   * If this rule's condition is true, this causes rule evaluation to stop after processing this rule.
+   *
+   * @default false
+   */
+  terminates?: boolean;
+}[];
+
+export type ComponentsSchemasRuleset = {
+  /**
+   * @example
+   */
+  description?: void;
+  /**
+   * @example 2f2feab2026849078ba485f918791bdc
+   */
+  id?: void;
+  /**
+   * @example zone
+   */
+  kind?: void;
+  /**
+   * @example default
+   */
+  name?: void;
+  /**
+   * @example http_request_dynamic_redirect
+   */
+  phase?: void;
+  /**
+   * The rules in the ruleset.
+   */
+  rules?: DynamicRedirectRulesComponentsSchemasRule[];
+};
+
+/**
+ * The serial number on the created Client Certificate.
+ *
+ * @example 3bb94ff144ac567b9f75ad664b6c55f8d5e48182
+ */
+export type ComponentsSchemasSerialNumber = string;
+
+/**
+ * The device serial number.
+ *
+ * @example EXAMPLEHMD6R
+ */
+export type ComponentsSchemasSerialNumberMLjjvVe3 = string;
+
+/**
+ * The type of hash used for the Client Certificate..
+ *
+ * @example SHA256WithRSA
+ */
+export type ComponentsSchemasSignature = string;
+
+export type ComponentsSchemasSingleResponse = ApiResponseSingleZ04EBmfK & {
+  result?: AddressMaps;
+};
+
+export type ComponentsSchemasSingleResponse0LJKBZJ0 = ApiResponseSingleUl1k90Mw & {
+  /**
+   * A list of countries and subdivisions mapped to a region.
+   *
+   * @example {"iso_standard":"Country and subdivision codes follow ISO 3166-1 alpha-2 and ISO 3166-2","regions":[{"countries":[{"country_code_a2":"CA","country_name":"Canada","country_subdivisions":[{"subdivision_code_a2":"AB","subdivision_name":"Alberta"},{"subdivision_code_a2":"BC","subdivision_name":"British Columbia"}]},{"country_code_a2":"HT","country_name":"Haiti"},{"country_code_a2":"MX","country_name":"Mexico"},{"country_code_a2":"US","country_name":"United States","country_subdivisions":[{"subdivision_code_a2":"AZ","subdivision_name":"Arizona"},{"subdivision_code_a2":"CA","subdivision_name":"California"},{"subdivision_code_a2":"CO","subdivision_name":"Colorado"},{"subdivision_code_a2":"HI","subdivision_name":"Hawaii"},{"subdivision_code_a2":"MN","subdivision_name":"Minnesota"},{"subdivision_code_a2":"MO","subdivision_name":"Missouri"},{"subdivision_code_a2":"NV","subdivision_name":"Nevada"},{"subdivision_code_a2":"OR","subdivision_name":"Oregon"},{"subdivision_code_a2":"TX","subdivision_name":"Texas"},{"subdivision_code_a2":"UT","subdivision_name":"Utah"},{"subdivision_code_a2":"WA","subdivision_name":"Washington"}]}],"region_code":"WNAM"}]}
+   */
+  result?: Record<string, any>;
+};
+
+export type ComponentsSchemasSingleResponse1a4d0nCA = ApiResponseSingleWkFwqHKI & {
+  result?: Acl;
+};
+
+export type ComponentsSchemasSingleResponseAo9BXUmS = ApiResponseSingleKLIlNaxV & {
+  result?: Groups;
+};
+
+export type ComponentsSchemasSingleResponseIAPm1A0c = ApiResponseSingleI8cJ1fX8 & {
+  result?: DeviceManagedNetworks;
+};
+
+export type ComponentsSchemasSingleResponseTtXC0WGS = ApiResponseSingleVxjnpV7r & {
+  result?: RulesLzz0wOUq;
+};
+
+export type ComponentsSchemasSingleResponseWAHJUoBY = ApiResponseSingleLarS7owG & {
+  result?: MonitorHN4sJkEF;
+};
+
+/**
+ * The custom page state.
+ *
+ * @example default
+ */
+export type ComponentsSchemasState = 'default' | 'customized';
+
+/**
+ * Status of the hostname's activation.
+ *
+ * @example pending
+ */
+export type ComponentsSchemasStatus =
+  | 'active'
+  | 'pending'
+  | 'active_redeploying'
+  | 'moved'
+  | 'pending_deletion'
+  | 'deleted'
+  | 'pending_blocked'
+  | 'pending_migration'
+  | 'pending_provisioned'
+  | 'test_pending'
+  | 'test_active'
+  | 'test_active_apex'
+  | 'test_blocked'
+  | 'test_failed'
+  | 'provisioned'
+  | 'blocked';
+
+/**
+ * Whether the user is a member of the organization or has an inivitation pending.
+ *
+ * @example member
+ */
+export type ComponentsSchemasStatusMKwOT5XZ = 'member' | 'invited';
+
+export type ComponentsSchemasTunnelModifiedResponse = ApiResponseSingleRxxEmdsv & {
+  result?: {
+    /**
+     * @example true
+     */
+    modified?: boolean;
+    modified_interconnect?: Record<string, any>;
+  };
+};
+
+export type ComponentsSchemasTunnelSingleResponse = ApiResponseSingleRxxEmdsv & {
+  result?: {
+    interconnect?: Record<string, any>;
+  };
+};
+
+export type ComponentsSchemasTunnelUpdateRequest = {
+  description?: InterconnectComponentsSchemasDescription;
+  gre?: Gre;
+  health_check?: SchemasHealthCheck;
+  interface_address?: InterfaceAddress;
+  mtu?: SchemasMtu;
+};
+
+export type ComponentsSchemasTunnelsCollectionResponse = ApiResponseSingleRxxEmdsv & {
+  result?: {
+    interconnects?: Interconnect[];
+  };
+};
+
+/**
+ * The type of Device Managed Network.
+ *
+ * @example tls
+ */
+export type ComponentsSchemasType = 'tls';
+
+/**
+ * The type 'legacy_custom' enables support for legacy clients which do not include SNI in the TLS handshake.
+ *
+ * @default legacy_custom
+ * @example sni_custom
+ */
+export type ComponentsSchemasType0YGATrqi = 'legacy_custom' | 'sni_custom';
+
+/**
+ * End date and time of requesting data period in the ISO8601 format.
+ *
+ * @example 2016-11-11T13:00:00Z
+ * @format date-time
+ */
+export type ComponentsSchemasUntil = string;
+
+/**
+ * Last updated.
+ *
+ * @example 2018-08-28T17:26:26Z
+ * @format date-time
+ */
+export type ComponentsSchemasUpdatedAt = string;
+
+/**
+ * The time when the certificate was uploaded.
+ *
+ * @example 2019-10-28T18:11:23.37411Z
+ * @format date-time
+ */
+export type ComponentsSchemasUploadedOn = string;
+
+/**
+ * URL(s) to filter submissions results by
+ *
+ * @example https://www.cloudflare.com
+ * @format uri
+ */
+export type ComponentsSchemasUrl = string;
+
+/**
+ * The policy ID.
+ *
+ * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
+ * @maxLength 36
+ */
+export type ComponentsSchemasUuid = string;
+
+/**
+ * UUID
+ *
+ * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
+ * @maxLength 36
+ */
+export type ComponentsSchemasUuid2bGv7FH2 = string;
+
+export type ComponentsSchemasValidationMethod = {
+  validation_method: ValidationMethodDefinition;
+};
+
+/**
+ * The number of days the Client Certificate will be valid after the issued_on date
+ *
+ * @example 3650
+ */
+export type ComponentsSchemasValidityDays = number;
+
+/**
+ * Enables Tiered Caching.
+ *
+ * @example on
+ */
+export type ComponentsSchemasValue = 'on' | 'off';
+
+/**
+ * The version of the Railgun receiver.
+ *
+ * @example 2.1
+ */
+export type ComponentsSchemasVersion = string;
+
+export type ComponentsSchemasZone = {
+  /**
+   * The last time proof of ownership was detected and the zone was made
+   * active
+   *
+   * @example 2014-01-02T00:01:00.12345Z
+   * @format date-time
+   */
+  activated_on: string | null;
+  /**
+   * When the zone was created
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  created_on: string;
+  /**
+   * The interval (in seconds) from when development mode expires
+   * (positive integer) or last expired (negative integer) for the
+   * domain. If development mode has never been enabled, this value is 0.
+   *
+   * @example 7200
+   */
+  development_mode: number;
+  id: CommonComponentsSchemasIdentifier;
+  /**
+   * When the zone was last modified
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on: string;
+  /**
+   * The domain name
+   *
+   * @example example.com
+   * @maxLength 253
+   * @pattern ^([a-zA-Z0-9][\-a-zA-Z0-9]*\.)+[\-a-zA-Z0-9]{2,20}$
+   */
+  name: string;
+  /**
+   * DNS host at the time of switching to Cloudflare
+   *
+   * @example NameCheap
+   * @maxLength 50
+   */
+  original_dnshost: string | null;
+  /**
+   * Original name servers before moving to Cloudflare
+   * Notes: Is this only available for full zones?
+   *
+   * @example ns1.originaldnshost.com
+   * @example ns2.originaldnshost.com
+   */
+  original_name_servers: string[] | null;
+  /**
+   * Registrar for the domain at the time of switching to Cloudflare
+   *
+   * @example GoDaddy
+   */
+  original_registrar: string | null;
+};
+
+export type Condition = {
+  ['request.ip']?: RequestIp;
+};
+
+export type Config = HostnameCertidInputKYvlDdSs[];
+
+/**
+ * The parameters configuring the action.
+ */
+export type ConfigRulesComponentsSchemasActionParameters = ActionParametersSetConfig;
+
+export type ConfigRulesComponentsSchemasRule = {
+  /**
+   * @example set_config
+   */
+  action?: void;
+  action_parameters?: ConfigRulesComponentsSchemasActionParameters;
+  /**
+   * @example enable Email Obfuscation
+   */
+  description?: void;
+  /**
+   * @example http.cookie contains "something"
+   */
+  expression?: void;
+  /**
+   * @example 3a03d665bac047339bb530ecb439a90d
+   */
+  id?: void;
+  /**
+   * @example 1
+   */
+  version?: void;
+};
+
+export type ConfigRulesComponentsSchemasRuleset = {
+  /**
+   * @example
+   */
+  description?: void;
+  /**
+   * @example 2f2feab2026849078ba485f918791bdc
+   */
+  id?: void;
+  /**
+   * @example zone
+   */
+  kind?: void;
+  /**
+   * @example default
+   */
+  name?: void;
+  /**
+   * @example http_config_settings
+   */
+  phase?: void;
+  /**
+   * The rules in the ruleset.
+   */
+  rules?: ConfigRulesComponentsSchemasRule[];
+};
+
+/**
+ * @example 6f91088a406011ed95aed352566e8d4c
+ */
+export type ConfigComponentsSchemasAccountIdentifier = void;
+
+/**
+ * The configuration object containing third party integration information.
+ *
+ * @example {"api_url":"https://as123.awmdm.com/API","auth_url":"https://na.uemauth.vmwservices.com/connect/token","client_id":"example client id","client_secret":"example client secret"}
+ */
+export type ConfigRequest =
+  | WorkspaceOneConfigRequest
+  | CrowdstrikeConfigRequest
+  | UptycsConfigRequest
+  | IntuneConfigRequest
+  | KolideConfigRequest;
+
+/**
+ * The configuration object containing third party integration information.
+ *
+ * @example {"api_url":"https://as123.awmdm.com/API","auth_url":"https://na.uemauth.vmwservices.com/connect/token","client_id":"example client id","client_secret":"example client secret"}
+ */
+export type ConfigRequestZ6i29f3i =
+  | WorkspaceOneConfigRequest
+  | CrowdstrikeConfigRequest
+  | UptycsConfigRequest
+  | IntuneConfigRequest;
+
+/**
+ * The configuration object containing third party integration information.
+ *
+ * @example {"api_url":"https://as123.awmdm.com/API","auth_url":"https://na.uemauth.vmwservices.com/connect/token","client_id":"example client id"}
+ */
+export type ConfigResponse = WorkspaceOneConfigResponse;
+
+export type ConfigResponseSingle = ApiResponseSingleLarS7owG & {
+  result?: Record<string, any>;
+};
+
+/**
+ * Indicates if this is a locally or remotely configured tunnel. If `local`, manage the tunnel using a YAML file on the origin machine. If `cloudflare`, manage the tunnel on the Zero Trust dashboard or using the [Cloudflare Tunnel configuration](https://api.cloudflare.com/#cloudflare-tunnel-configuration-properties) endpoint.
+ *
+ * @default local
+ * @example cloudflare
+ */
+export type ConfigSrc = 'local' | 'cloudflare';
+
+/**
+ * The version of the remote tunnel configuration. Used internally to sync cloudflared with the Zero Trust dashboard.
+ */
+export type ConfigVersion = number;
+
+export type Configuration = {
+  auth_id_characteristics?: Characteristics;
+};
+
+/**
+ * A list of IP addresses or CIDR ranges that will be allowed to access the URLs specified in the Zone Lockdown rule. You can include any number of `ip` or `ip_range` configurations.
+ */
+export type Configurations = SchemasIpConfiguration | SchemasCidrConfiguration;
+
+/**
+ * A flag indicating whether the given zone is connected to the Railgun.
+ *
+ * @default false
+ * @example true
+ */
+export type Connected = boolean;
+
+export type Connection = {
+  /**
+   * @example 2021-08-18T10:51:10.09615Z
+   */
+  added_at?: void;
+  /**
+   * @example false
+   */
+  domain_reported_malicious?: void;
+  /**
+   * @example blog.cloudflare.com/page
+   */
+  first_page_url?: void;
+  /**
+   * @example 2021-08-18T10:51:08Z
+   */
+  first_seen_at?: void;
+  /**
+   * @example blog.cloudflare.com
+   */
+  host?: void;
+  /**
+   * @example c9ef84a6bf5e47138c75d95e2f933e8f
+   */
+  id?: void;
+  /**
+   * @example 2021-09-02T09:57:54Z
+   */
+  last_seen_at?: void;
+  /**
+   * @example blog.cloudflare.com/page1
+   * @example blog.cloudflare.com/page2
+   */
+  page_urls?: void;
+  /**
+   * @example https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/js/bootstrap.min.js
+   */
+  url?: void;
+  /**
+   * @example false
+   */
+  url_contains_cdn_cgi_path?: void;
+};
+
+export type ConnectionMIE3WtIg = {
+  created_on?: ConnectionComponentsSchemasCreatedOn;
+  enabled: ConnectionComponentsSchemasEnabled;
+  id: ConnectionComponentsSchemasIdentifier;
+  modified_on?: ConnectionComponentsSchemasModifiedOn;
+  zone: ConnectionComponentsSchemasZone;
+};
+
+/**
+ * The IdP used to authenticate.
+ *
+ * @example saml
+ */
+export type ConnectionU5eyz9N8 = string;
+
+export type ConnectionCollectionResponse = ApiResponseCollection & {
+  result?: ConnectionMIE3WtIg[];
+};
+
+/**
+ * When the connection was created.
+ *
+ * @example 2017-06-14T00:00:00Z
+ * @format date-time
+ */
+export type ConnectionComponentsSchemasCreatedOn = string;
+
+/**
+ * A value indicating whether the connection is enabled or not.
+ *
+ * @default false
+ * @example true
+ */
+export type ConnectionComponentsSchemasEnabled = boolean;
+
+/**
+ * Connection identifier tag.
+ *
+ * @example c4a7362d577a6c3019a474fd6f485821
+ * @maxLength 32
+ */
+export type ConnectionComponentsSchemasIdentifier = string;
+
+/**
+ * When the connection was last modified.
+ *
+ * @example 2017-06-14T05:20:00Z
+ * @format date-time
+ */
+export type ConnectionComponentsSchemasModifiedOn = string;
+
+export type ConnectionComponentsSchemasZone = {
+  id?: CommonComponentsSchemasIdentifier;
+  name?: ZonePropertiesName;
+};
+
+/**
+ * UUID of the Cloudflare Tunnel connection.
+ *
+ * @example 1bedc50d-42b3-473c-b108-ff3d10c0d925
+ * @maxLength 36
+ */
+export type ConnectionId = string;
+
+export type ConnectionSingleIdResponse = ConnectionSingleResponse & {
+  result?: {
+    id?: ConnectionComponentsSchemasIdentifier;
+  };
+};
+
+export type ConnectionSingleRequest = {
+  enabled?: ConnectionComponentsSchemasEnabled;
+  zone: {
+    id?: CommonComponentsSchemasIdentifier;
+  };
+};
+
+export type ConnectionSingleResponse = ApiResponseSingleLarS7owG & {
+  result?: Record<string, any>;
+};
+
+/**
+ * The Cloudflare Tunnel connections between your origin and Cloudflare's edge.
+ */
+export type Connections = CloudflareTunnelComponentsSchemasConnection[];
+
+/**
+ * Timestamp of when the tunnel established at least one connection to Cloudflare's edge. If `null`, the tunnel is inactive.
+ *
+ * @example 2009-11-10T23:00:00Z
+ * @format date-time
+ */
+export type ConnsActiveAt = string | null;
+
+/**
+ * Timestamp of when the tunnel became inactive (no connections to Cloudflare's edge). If `null`, the tunnel is active.
+ *
+ * @example 2009-11-10T23:00:00Z
+ * @format date-time
+ */
+export type ConnsInactiveAt = string | null;
+
+/**
+ * To be marked unhealthy the monitored origin must fail this healthcheck N consecutive times.
+ *
+ * @default 0
+ */
+export type ConsecutiveDown = number;
+
+/**
+ * The number of consecutive fails required from a health check before changing the health to unhealthy.
+ *
+ * @default 1
+ */
+export type ConsecutiveFails = number;
+
+/**
+ * The number of consecutive successes required from a health check before changing the health to healthy.
+ *
+ * @default 1
+ */
+export type ConsecutiveSuccesses = number;
+
+/**
+ * To be marked healthy the monitored origin must pass this healthcheck N consecutive times.
+ *
+ * @default 0
+ */
+export type ConsecutiveUp = number;
+
+export type Consumer = {
+  created_on?: void;
+  environment?: void;
+  queue_name?: void;
+  service?: void;
+  settings?: {
+    batch_size?: BatchSize;
+    max_retries?: MaxRetries;
+    max_wait_time_ms?: MaxWaitTimeMs;
+  };
+};
+
+export type ConsumerCreated = {
+  created_on?: void;
+  dead_letter_queue?: DlqName;
+  environment?: void;
+  queue_name?: void;
+  script_name?: void;
+  settings?: {
+    batch_size?: BatchSize;
+    max_retries?: MaxRetries;
+    max_wait_time_ms?: MaxWaitTimeMs;
+  };
+};
+
+/**
+ * @example example-consumer
+ */
+export type ConsumerName = string;
+
+export type ConsumerUpdated = {
+  created_on?: void;
+  /**
+   * @example updated-example-dlq
+   */
+  dead_letter_queue?: void;
+  environment?: void;
+  queue_name?: void;
+  script_name?: void;
+  settings?: {
+    /**
+     * @example 100
+     */
+    batch_size?: number;
+    max_retries?: MaxRetries;
+    max_wait_time_ms?: MaxWaitTimeMs;
+  };
+};
+
+/**
+ * Contact Identifier.
+ *
+ * @example ea95132c15732412d22c1476fa83f27a
+ * @maxLength 32
+ */
+export type ContactIdentifier = string;
+
+export type ContactProperties = {
+  address: SchemasAddress;
+  address2?: Address2;
+  city: City;
+  country: CountryY1YJCISK;
+  email?: EmailPuzf53IC;
+  fax?: Fax;
+  first_name: FirstName;
+  id?: ContactIdentifier;
+  last_name: LastName;
+  organization: SchemasOrganization;
+  phone: Telephone;
+  state: ContactsComponentsSchemasState;
+  zip: Zipcode;
+};
+
+export type Contacts = ContactProperties;
+
+/**
+ * State.
+ *
+ * @example TX
+ */
+export type ContactsComponentsSchemasState = string;
+
+/**
+ * DNS record content.
+ *
+ * @example 127.0.0.1
+ */
+export type Content = string;
+
+/**
+ * Current content categories.
+ *
+ * @example {"id":155,"name":"Technology","super_category_id":26}
+ */
+export type ContentCategories = void;
+
+/**
+ * Behavior of the content list.
+ *
+ * @example block
+ */
+export type ContentListAction = 'block';
+
+export type ContentListDetails = {
+  action?: ContentListAction;
+};
+
+export type ContentListDetailsResponse = ApiResponseSingleLarS7owG & {
+  result?: ContentListDetails;
+};
+
+/**
+ * Content list entries.
+ */
+export type ContentListEntries = ContentListEntry[];
+
+/**
+ * Content list entry to be blocked.
+ */
+export type ContentListEntry = {
+  content?: ContentListEntryContent;
+  created_on?: Timestamp;
+  description?: ContentListEntryDescription;
+  id?: CommonComponentsSchemasIdentifier;
+  modified_on?: Timestamp;
+  type?: ContentListEntryType;
+};
+
+export type ContentListEntryCollectionResponse = ApiResponseCollection & {
+  result?: {
+    entries?: ContentListEntries;
+  };
+};
+
+/**
+ * CID or content path of content to block.
+ *
+ * @example QmPZ9gcCEpqKTo6aq61g2nXGUhM4iCL3ewB6LDXZCtioEB
+ * @maxLength 500
+ */
+export type ContentListEntryContent = string;
+
+export type ContentListEntryCreateRequest = {
+  content: ContentListEntryContent;
+  description?: ContentListEntryDescription;
+  type: ContentListEntryType;
+};
+
+/**
+ * An optional description of the content list entry.
+ *
+ * @example this is my content list entry
+ * @maxLength 500
+ */
+export type ContentListEntryDescription = string;
+
+export type ContentListEntrySingleResponse = ApiResponseSingleLarS7owG & {
+  result?: ContentListEntry;
+};
+
+/**
+ * Type of content list entry to block.
+ *
+ * @example cid
+ */
+export type ContentListEntryType = 'cid' | 'content_path';
+
+export type ContentListUpdateRequest = {
+  action: ContentListAction;
+  entries: ContentListEntries;
+};
+
+/**
+ * The content type of the body. Must be one of the following: `text/plain`, `text/xml`, or `application/json`.
+ *
+ * @example text/xml
+ * @maxLength 50
+ */
+export type ContentType = string;
+
+/**
+ * Configures cookie attributes for the waiting room cookie. This encrypted cookie stores a user's status in the waiting room, such as queue position.
+ */
+export type CookieAttributes = {
+  /**
+   * Configures the SameSite attribute on the waiting room cookie. Value `auto` will be translated to `lax` or `none` depending if **Always Use HTTPS** is enabled. Note that when using value `none`, the secure attribute cannot be set to `never`.
+   *
+   * @default auto
+   * @example auto
+   */
+  samesite?: 'auto' | 'lax' | 'none' | 'strict';
+  /**
+   * Configures the Secure attribute on the waiting room cookie. Value `always` indicates that the Secure attribute will be set in the Set-Cookie header, `never` indicates that the Secure attribute will not be set, and `auto` will set the Secure attribute depending if **Always Use HTTPS** is enabled.
+   *
+   * @default auto
+   * @example auto
+   */
+  secure?: 'auto' | 'always' | 'never';
+};
+
+export type CorsHeaders = {
+  allow_all_headers?: AllowAllHeaders;
+  allow_all_methods?: AllowAllMethods;
+  allow_all_origins?: AllowAllOrigins;
+  allow_credentials?: AllowCredentials;
+  allowed_headers?: AllowedHeaders;
+  allowed_methods?: AllowedMethods;
+  allowed_origins?: AllowedOrigins;
+  max_age?: MaxAge;
+};
+
+/**
+ * The number of items in the List.
+ *
+ * @example 20
+ */
+export type Count = number;
+
+/**
+ * Total results returned based on your search parameters.
+ *
+ * @example 1
+ */
+export type Count8disqZZW = number;
+
+/**
+ * Country, provided by the CSR
+ *
+ * @example US
+ */
+export type Country = string;
+
+/**
+ * The country in which the user lives.
+ *
+ * @example US
+ * @maxLength 30
+ */
+export type CountryY1YJCISK = string | null;
+
+export type CountryConfiguration = {
+  /**
+   * The configuration target. You must set the target to `country` when specifying a country code in the rule.
+   *
+   * @example country
+   */
+  target?: 'country';
+  /**
+   * The two-letter ISO-3166-1 alpha-2 code to match. For more information, refer to [IP Access rules: Parameters](https://developers.cloudflare.com/waf/tools/ip-access-rules/parameters/#country).
+   *
+   * @example US
+   */
+  value?: string;
+};
+
+/**
+ * A mapping of country codes to a list of pool IDs (ordered by their failover priority) for the given country. Any country not explicitly defined will fall back to using the corresponding region_pool mapping if it exists else to default_pools.
+ *
+ * @example {"GB":["abd90f38ced07c2e2f4df50b1f61d4194"],"US":["de90f38ced07c2e2f4df50b1f61d4194","00920f38ce07c2e2f4df50b1f61d4194"]}
+ */
+export type CountryPools = Record<string, any>;
+
+export type Create = {
+  email: EmailPuzf53IC;
+  /**
+   * Array of roles associated with this member.
+   */
+  roles: RoleComponentsSchemasIdentifier[];
+  /**
+   * @default pending
+   */
+  status?: 'accepted' | 'pending';
+};
+
+export type CreateCustomProfileResponse = ApiResponseCollection & {
+  result?: CustomProfile[];
+};
+
+export type CreateCustomProfiles = {
+  profiles: NewCustomProfile[];
+};
+
+export type CreateDestinationAddressProperties = {
+  email: EmailQw65SH2N;
+};
+
+export type CreateInputRequest = {
+  defaultCreator?: LiveInputDefaultCreator;
+  meta?: LiveInputMetadata;
+  recording?: LiveInputRecordingSettings;
+};
+
+export type CreateOutputRequest = {
+  enabled?: OutputEnabled;
+  streamKey: OutputStreamKey;
+  url: OutputUrl;
+};
+
+export type CreatePayload = {
+  condition?: Condition;
+  expires_on?: ExpiresOnZ3utPxP0;
+  name: NameZZnqpiZc;
+  not_before?: NotBefore;
+  policies: PoliciesJfEKIGCD;
+};
+
+export type CreateRenameNamespaceBody = {
+  title: NamespaceTitle;
+};
+
+export type CreateRequest = {
+  description?: Web3HostnameComponentsSchemasDescription;
+  dnslink?: Dnslink;
+  name: Web3HostnameComponentsSchemasName;
+  target: SchemasTarget;
+};
+
+export type CreateResponse = ApiResponseSingleKLIlNaxV & {
+  result?: {
+    client_id?: ClientId;
+    client_secret?: ClientSecret;
+    created_at?: Timestamp;
+    /**
+     * The ID of the service token.
+     */
+    id?: void;
+    name?: ServiceTokensComponentsSchemasName;
+    updated_at?: Timestamp;
+  };
+};
+
+export type CreateResponseEpcI3Ifk = ApiResponseSingleLarS7owG & {
+  result?: {
+    client_id?: ClientId;
+    client_secret?: ClientSecret;
+    created_at?: Timestamp;
+    /**
+     * The ID of the service token.
+     */
+    id?: void;
+    name?: ServiceTokensComponentsSchemasName;
+    updated_at?: Timestamp;
+  };
+};
+
+export type CreateRule = {
+  action: RuleAction;
+  description?: RuleDescription;
+  enabled?: RuleEnabled;
+  expression: RuleExpression;
+};
+
+export type CreateRuleProperties = {
+  actions: RuleActions;
+  enabled?: RuleEnabledXvrbaudJ;
+  matchers: RuleMatchers;
+  name?: RuleName;
+  priority?: RulePriority;
+};
+
+/**
+ * A ruleset object.
+ */
+export type CreateRuleset = {
+  description?: RulesetsComponentsSchemasDescription;
+  kind: SchemasKind;
+  name: RulesetsComponentsSchemasName;
+  phase: Phase;
+  rules: CreateUpdateRules;
+};
+
+/**
+ * A rule object.
+ */
+export type CreateUpdateRule = {
+  action: RulesComponentsSchemasAction;
+  action_parameters?: ActionParameters;
+  description?: RulesComponentsSchemasDescription;
+  enabled?: RulesComponentsSchemasEnabled;
+  expression: SchemasExpression;
+  logging?: Logging;
+  ref?: ComponentsSchemasRef;
+};
+
+/**
+ * The list of rules in the ruleset.
+ */
+export type CreateUpdateRules = (CreateUpdateRule | void)[];
+
+/**
+ * When the device was created.
+ *
+ * @example 2017-06-14T00:00:00Z
+ * @format date-time
+ */
+export type Created = string;
+
+/**
+ * The date and time the destination address has been created.
+ *
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
+ */
+export type Created2OTGyXLU = string;
+
+/**
+ * When the Application was created.
+ *
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
+ */
+export type CreatedJTk3Ehp3 = string;
+
+/**
+ * The date and time the media item was created.
+ *
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
+ */
+export type CreatedVKORkNvl = string;
+
+/**
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
+ */
+export type CreatedOn = string;
+
+/**
+ * This is the time the hostname was created.
+ *
+ * @example 2020-02-06T18:11:23.531995Z
+ * @format date-time
+ */
+export type CreatedAt = string;
+
+/**
+ * When the route was created.
+ *
+ * @example 2017-06-14T00:00:00Z
+ * @format date-time
+ */
+export type CreatedOn = string;
+
+/**
+ * The timestamp of when the Page Rule was created.
+ *
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
+ */
+export type CreatedOn1QmUCKgu = string;
+
+/**
+ * The timestamp of when the rule was created.
+ *
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
+ */
+export type CreatedOnSYnNp6TW = string;
+
+/**
+ * When the script was created.
+ *
+ * @example 2017-01-01T00:00:00Z
+ * @format date-time
+ */
+export type CreatedOnLPNq9Pbi = string;
+
+/**
+ * A user-defined identifier for the media creator.
+ *
+ * @example creator-id_abcde12345
+ * @maxLength 64
+ */
+export type Creator = string;
+
+export type CronTriggerResponseCollection = {
+  errors: Messages;
+  messages: Messages;
+  result:
+    | {
+        schedules?: {
+          created_on?: void;
+          cron?: void;
+          modified_on?: void;
+        }[];
+      }
+    | any[]
+    | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type CrowdstrikeConfigRequest = {
+  /**
+   * The Crowdstrike API URL.
+   *
+   * @example https://api.us-2.crowdstrike.com
+   */
+  api_url: string;
+  /**
+   * The Crowdstrike client ID.
+   *
+   * @example example client id
+   */
+  client_id: string;
+  /**
+   * The Crowdstrike client secret.
+   *
+   * @example example client secret
+   */
+  client_secret: string;
+  /**
+   * The Crowdstrike customer ID.
+   *
+   * @example example customer id
+   */
+  customer_id: string;
+};
+
+/**
+ * The Certificate Signing Request (CSR). Must be newline-encoded.
+ * 
+ * @example -----BEGIN CERTIFICATE REQUEST-----
+MIICxzCCAa8CAQAwSDELMAkGA1UEBhMCVVMxFjAUBgNVBAgTDVNhbiBGcmFuY2lz
+Y28xCzAJBgNVBAcTAkNBMRQwEgYDVQQDEwtleGFtcGxlLm5ldDCCASIwDQYJKoZI
+hvcNAQEBBQADggEPADCCAQoCggEBALxejtu4b+jPdFeFi6OUsye8TYJQBm3WfCvL
+Hu5EvijMO/4Z2TImwASbwUF7Ir8OLgH+mGlQZeqyNvGoSOMEaZVXcYfpR1hlVak8
+4GGVr+04IGfOCqaBokaBFIwzclGZbzKmLGwIQioNxGfqFm6RGYGA3be2Je2iseBc
+N8GV1wYmvYE0RR+yWweJCTJ157exyRzu7sVxaEW9F87zBQLyOnwXc64rflXslRqi
+g7F7w5IaQYOl8yvmk/jEPCAha7fkiUfEpj4N12+oPRiMvleJF98chxjD4MH39c5I
+uOslULhrWunfh7GB1jwWNA9y44H0snrf+xvoy2TcHmxvma9Eln8CAwEAAaA6MDgG
+CSqGSIb3DQEJDjErMCkwJwYDVR0RBCAwHoILZXhhbXBsZS5uZXSCD3d3dy5leGFt
+cGxlLm5ldDANBgkqhkiG9w0BAQsFAAOCAQEAcBaX6dOnI8ncARrI9ZSF2AJX+8mx
+pTHY2+Y2C0VvrVDGMtbBRH8R9yMbqWtlxeeNGf//LeMkSKSFa4kbpdx226lfui8/
+auRDBTJGx2R1ccUxmLZXx4my0W5iIMxunu+kez+BDlu7bTT2io0uXMRHue4i6quH
+yc5ibxvbJMjR7dqbcanVE10/34oprzXQsJ/VmSuZNXtjbtSKDlmcpw6To/eeAJ+J
+hXykcUihvHyG4A1m2R6qpANBjnA0pHexfwM/SgfzvpbvUg0T1ubmer8BgTwCKIWs
+dcWYTthM51JIqRBfNqy4QcBnX+GY05yltEEswQI55wdiS3CjTTA67sdbcQ==
+-----END CERTIFICATE REQUEST-----
+ */
+export type Csr = string;
+
+/**
+ * The monetary unit in which pricing information is displayed.
+ *
+ * @example USD
+ */
+export type Currency = string;
+
+/**
+ * Cloudflare Images current usage.
+ *
+ * @example 1000
+ */
+export type Current = number;
+
+/**
+ * The end of the current period and also when the next billing is due.
+ *
+ * @example 2014-03-31T12:20:00Z
+ * @format date-time
+ */
+export type CurrentPeriodEnd = string;
+
+/**
+ * When the current billing period started. May match initial_period_start if this is the first period.
+ *
+ * @example 2014-05-11T12:20:00Z
+ * @format date-time
+ */
+export type CurrentPeriodStart = string;
+
+/**
+ * Shows name of current registrar.
+ *
+ * @example Cloudflare
+ */
+export type CurrentRegistrar = string;
+
+/**
+ * Opaque token indicating the position from which to continue when requesting the next set of records if the amount of list results was limited by the limit parameter. A valid value for the cursor can be obtained from the cursors object in the result_info structure.
+ *
+ * @example 6Ck1la0VxJ0djhidm1MdX2FyDGxLKVeeHZZmORS_8XeSuhz9SjIJRaSa2lnsF01tQOHrfTGAP3R5X1Kv5iVUuMbNKhWNAXHOl6ePB0TUL8nw
+ */
+export type Cursor = string;
+
+export type CustomCertificate = {
+  bundle_method: BundleMethod;
+  expires_on: ExpiresOn;
+  geo_restrictions?: GeoRestrictions;
+  hosts: Hosts;
+  id: Identifier;
+  issuer: Issuer;
+  keyless_server?: KeylessCertificate;
+  modified_on: ModifiedOnBXl82yTE;
+  policy?: Policy;
+  priority: PriorityOBYCnVp3;
+  signature: Signature;
+  status: Status6huN0ErS;
+  uploaded_on: UploadedOn;
+  zone_id: Identifier;
+};
+
+export type CustomCertificateRKdQQr58 = {
+  bundle_method: BundleMethod;
+  expires_on: ComponentsSchemasExpiresOnIEhoDYOo;
+  geo_restrictions?: GeoRestrictions;
+  hosts: Hosts;
+  id: CustomCertificateComponentsSchemasIdentifier;
+  issuer: Issuer;
+  keyless_server?: KeylessCertificateHXaxgAu6;
+  modified_on: SchemasModifiedOnRHJWTByl;
+  policy?: Policy;
+  priority: PriorityFZPZtZRb;
+  signature: Signature;
+  status: CustomCertificateComponentsSchemasStatus;
+  uploaded_on: UploadedOn;
+  zone_id: CommonComponentsSchemasIdentifier;
+};
+
+/**
+ * Custom certificate settings for BYO-PKI.
+ */
+export type CustomCertificateSettings = {
+  /**
+   * Certificate status (internal)
+   *
+   * @example pending_deployment
+   */
+  binding_status?: string;
+  /**
+   * Enable use of custom certificate authority for signing Gateway traffic
+   *
+   * @example true
+   */
+  enabled: boolean;
+  /**
+   * UUID of certificate (ID from MTLS certificate store)
+   *
+   * @example d1b364c5-1311-466e-a194-f0e943e0799f
+   */
+  id?: string;
+  /**
+   * @format date-time
+   */
+  updated_at?: string;
+};
+
+/**
+ * Custom certificate identifier tag.
+ *
+ * @example 2458ce5a-0c35-4c7f-82c7-8e9487d3ff60
+ * @maxLength 36
+ */
+export type CustomCertificateComponentsSchemasIdentifier = string;
+
+/**
+ * Status of the zone's custom SSL.
+ *
+ * @example active
+ */
+export type CustomCertificateComponentsSchemasStatus = 'active' | 'expired' | 'deleted' | 'pending' | 'initializing';
+
+export type CustomErrorResponsesComponentsSchemasRule = {
+  /**
+   * @example serve_error
+   */
+  action?: void;
+  action_parameters?: ActionParametersServeError;
+  /**
+   * @example Change error response based on geolocation
+   */
+  description?: void;
+  /**
+   * @example ip.geoip.country eq "AL"
+   */
+  expression?: void;
+  /**
+   * @example 3a03d665bac047339bb530ecb439a90d
+   */
+  id?: void;
+  /**
+   * @example 1
+   */
+  version?: void;
+};
+
+export type CustomErrorResponsesComponentsSchemasRuleset = {
+  /**
+   * @example
+   */
+  description?: void;
+  /**
+   * @example 2f2feab2026849078ba485f918791bdc
+   */
+  id?: void;
+  /**
+   * @example zone
+   */
+  kind?: void;
+  /**
+   * @example default
+   */
+  name?: void;
+  /**
+   * @example http_custom_errors
+   */
+  phase?: void;
+  /**
+   * The rules in the ruleset.
+   */
+  rules?: CustomErrorResponsesComponentsSchemasRule[];
+};
+
+export type CustomHostname = Customhostname;
+
+export type CustomHostnameLeshIZet = CustomhostnameCUApQClb;
+
+/**
+ * Custom hostname identifier tag.
+ *
+ * @example 0d89c70d-ad9f-4843-b99f-6cc0252067e9
+ * @maxLength 36
+ * @minLength 36
+ */
+export type CustomHostnameComponentsSchemasIdentifier = string;
+
+/**
+ * Status of the hostname's activation.
+ *
+ * @example pending
+ */
+export type CustomHostnameComponentsSchemasStatus =
+  | 'active'
+  | 'pending'
+  | 'active_redeploying'
+  | 'moved'
+  | 'pending_deletion'
+  | 'deleted'
+  | 'pending_blocked'
+  | 'pending_migration'
+  | 'pending_provisioned'
+  | 'test_pending'
+  | 'test_active'
+  | 'test_active_apex'
+  | 'test_blocked'
+  | 'test_failed'
+  | 'provisioned'
+  | 'blocked';
+
+/**
+ * The name of the custom page type.
+ *
+ * @example basic_challenge
+ */
+export type CustomPagesComponentsSchemasIdentifier =
+  | 'basic_challenge'
+  | 'managed_challenge'
+  | 'waf_block'
+  | 'ratelimit_block'
+  | 'country_challenge'
+  | 'ip_block'
+  | 'under_attack'
+  | '500_errors'
+  | '1000_errors';
+
+/**
+ * The name of the custom page type.
+ *
+ * @example basic_challenge
+ */
+export type CustomPagesComponentsSchemasIdentifier2 =
+  | 'basic_challenge'
+  | 'managed_challenge'
+  | 'waf_block'
+  | 'country_challenge'
+  | 'ip_block'
+  | 'under_attack'
+  | 'ratelimit_block'
+  | '500_errors'
+  | '1000_errors';
+
+/**
+ * The custom error message shown to a user when they are denied access to the application.
+ */
+export type CustomDenyMessage = string;
+
+/**
+ * The custom URL a user is redirected to when they are denied access to the application.
+ */
+export type CustomDenyUrl = string;
+
+/**
+ * A custom entry that matches a profile
+ */
+export type CustomEntry = {
+  created_at?: Timestamp;
+  /**
+   * Whether the entry is enabled or not.
+   *
+   * @example true
+   */
+  enabled?: boolean;
+  id?: EntryId;
+  /**
+   * The name of the entry.
+   *
+   * @example Credit card (Visa)
+   */
+  name?: string;
+  pattern?: Pattern;
+  /**
+   * ID of the parent profile
+   */
+  profile_id?: void;
+  updated_at?: Timestamp;
+};
+
+/**
+ * A custom entry that matches a profile
+ */
+export type CustomEntryMPO16jNs = {
+  created_at?: Timestamp;
+  /**
+   * Whether the entry is enabled or not.
+   *
+   * @example true
+   */
+  enabled?: boolean;
+  id?: EntryId;
+  /**
+   * The name of the entry.
+   *
+   * @example Credit card (Visa)
+   */
+  name?: string;
+  pattern?: ComponentsSchemasPattern;
+  /**
+   * ID of the parent profile
+   */
+  profile_id?: void;
+  updated_at?: Timestamp;
+};
+
+export type CustomHostnameResponseCollection = ApiResponseCollection & {
+  result?: CustomHostnameLeshIZet[];
+};
+
+export type CustomHostnameResponseSingle = ApiResponseSingleZZHeSkIR & {
+  result?: CustomHostname;
+};
+
+export type CustomHostnameResponseSingleYSdaZAmS = ApiResponseSingleLarS7owG & {
+  result?: Record<string, any>;
+};
+
+/**
+ * These are per-hostname (customer) settings.
+ */
+export type CustomMetadata = {
+  /**
+   * Unique metadata for this hostname.
+   *
+   * @example value
+   */
+  key?: string;
+};
+
+/**
+ * a valid hostname that’s been added to your DNS zone as an A, AAAA, or CNAME record.
+ *
+ * @example origin2.example.com
+ */
+export type CustomOriginServer = string;
+
+/**
+ * A hostname that will be sent to your custom origin server as SNI for TLS handshake. This can be a valid subdomain of the zone or custom origin server name or the string ':request_host_header:' which will cause the host header in the request to be used as SNI. Not configurable with default/fallback origin server.
+ *
+ * @example sni.example.com
+ */
+export type CustomOriginSni = string;
+
+/**
+ * Only available for the Waiting Room Advanced subscription. This is a template html file that will be rendered at the edge. If no custom_page_html is provided, the default waiting room will be used. The template is based on mustache ( https://mustache.github.io/ ). There are several variables that are evaluated by the Cloudflare edge:
+ * 1. {{`waitTimeKnown`}} Acts like a boolean value that indicates the behavior to take when wait time is not available, for instance when queue_all is **true**.
+ * 2. {{`waitTimeFormatted`}} Estimated wait time for the user. For example, five minutes. Alternatively, you can use:
+ * 3. {{`waitTime`}} Number of minutes of estimated wait for a user.
+ * 4. {{`waitTimeHours`}} Number of hours of estimated wait for a user (`Math.floor(waitTime/60)`).
+ * 5. {{`waitTimeHourMinutes`}} Number of minutes above the `waitTimeHours` value (`waitTime%60`).
+ * 6. {{`queueIsFull`}} Changes to **true** when no more people can be added to the queue.
+ *
+ * To view the full list of variables, look at the `cfWaitingRoom` object described under the `json_response_enabled` property in other Waiting Room API calls.
+ *
+ * @default
+ * @example {{#waitTimeKnown}} {{waitTime}} mins {{/waitTimeKnown}} {{^waitTimeKnown}} Queue all enabled {{/waitTimeKnown}}
+ */
+export type CustomPageHtml = string;
+
+export type CustomPagesResponseCollection = ApiResponseCollection & {
+  result?: Record<string, any>[];
+};
+
+export type CustomPagesResponseSingle = ApiResponseSingleLarS7owG & {
+  result?: Record<string, any>;
+};
+
+export type CustomProfile = {
+  allowed_match_count?: AllowedMatchCount;
+  created_at?: Timestamp;
+  /**
+   * The description of the profile.
+   *
+   * @example A standard CVV card number
+   */
+  description?: string;
+  /**
+   * The entries for this profile.
+   */
+  entries?: CustomEntryMPO16jNs[];
+  id?: ProfileId;
+  /**
+   * The name of the profile.
+   *
+   * @example Generic CVV Card Number
+   */
+  name?: string;
+  /**
+   * The type of the profile.
+   *
+   * @example custom
+   */
+  type?: 'custom';
+  updated_at?: Timestamp;
+};
+
+export type CustomProfileResponse = ApiResponseSingleUypB4bgI & {
+  result?: CustomProfile;
+};
+
+export type CustomProfileResponseY26KBuBX = ApiResponseSingleLarS7owG & {
+  result?: CustomProfile;
+};
+
+/**
+ * A custom content type and reponse to return when the threshold is exceeded. The custom response configured in this object will override the custom error for the zone. This object is optional.
+ * Notes: If you omit this object, Cloudflare will use the default HTML error page. If "mode" is "challenge", "managed_challenge", or "js_challenge", Cloudflare will use the zone challenge pages and you should not provide the "response" object.
+ */
+export type CustomResponse = {
+  body?: Body;
+  content_type?: ContentType;
+};
+
+/**
+ * The IP address assigned to the customer side of the GRE tunnel.
+ *
+ * @example 203.0.113.1
+ */
+export type CustomerGreEndpoint = string;
+
+/**
+ * The IP address assigned to the customer side of the IPsec tunnel.
+ *
+ * @example 203.0.113.1
+ */
+export type CustomerIpsecEndpoint = string;
+
+export type Customhostname = {
+  created_at?: CreatedAt;
+  custom_metadata?: CustomMetadata;
+  custom_origin_server?: CustomOriginServer;
+  custom_origin_sni?: CustomOriginSni;
+  hostname?: Hostname;
+  id?: Identifier;
+  ownership_verification?: OwnershipVerification;
+  ownership_verification_http?: OwnershipVerificationHttp;
+  ssl?: Ssl;
+  status?: ComponentsSchemasStatus;
+  verification_errors?: VerificationErrors;
+};
+
+export type CustomhostnameCUApQClb = {
+  created_at?: CreatedAt;
+  custom_metadata?: CustomMetadata;
+  custom_origin_server?: CustomOriginServer;
+  custom_origin_sni?: CustomOriginSni;
+  hostname?: Hostname;
+  id?: CustomHostnameComponentsSchemasIdentifier;
+  ownership_verification?: OwnershipVerification;
+  ownership_verification_http?: OwnershipVerificationHttp;
+  ssl?: SslReUR6bMS;
+  status?: CustomHostnameComponentsSchemasStatus;
+  verification_errors?: VerificationErrors;
+};
+
+/**
+ * Totals and timeseries data.
+ */
+export type Dashboard = {
+  timeseries?: Timeseries;
+  totals?: Totals;
+};
+
+export type DashboardResponse = ApiResponseSingleLarS7owG & {
+  query?: QueryResponse;
+  result?: Dashboard;
+};
+
+/**
+ * Array with one row per combination of dimension values.
+ */
+export type Data = {
+  /**
+   * Array of dimension values, representing the combination of dimension values corresponding to this row.
+   */
+  dimensions: string[];
+}[];
+
+/**
+ * The number of data points used for the threshold suggestion calculation.
+ */
+export type DataPoints = number;
+
+/**
+ * A breakdown of all dashboard analytics data by co-locations. This is limited to Enterprise zones only.
+ */
+export type Datacenters = {
+  /**
+   * The airport code identifer for the co-location.
+   *
+   * @example SFO
+   */
+  colo_id?: string;
+  timeseries?: TimeseriesByColo;
+  totals?: TotalsByColo;
+}[];
+
+/**
+ * Name of the dataset.
+ *
+ * @example http_requests
+ * @maxLength 256
+ * @pattern ^[a-zA-Z0-9_\-]*$
+ */
+export type Dataset = string | null;
+
+/**
+ * The number of days until the next key rotation.
+ *
+ * @example 1
+ */
+export type DaysUntilNextRotation = number;
+
+/**
+ * The action Access will take if a user matches this policy.
+ *
+ * @example allow
+ */
+export type Decision = 'allow' | 'deny' | 'non_identity' | 'bypass';
+
+/**
+ * Whether the policy is the default policy for an account.
+ *
+ * @example false
+ */
+export type Default = boolean;
+
+/**
+ * The default amount allocated.
+ *
+ * @example 5
+ */
+export type DefaultVg5XL96o = number;
+
+export type DefaultDeviceSettingsPolicy = {
+  allow_mode_switch?: AllowModeSwitch;
+  allow_updates?: AllowUpdates;
+  allowed_to_leave?: AllowedToLeave;
+  auto_connect?: AutoConnect;
+  captive_portal?: CaptivePortal;
+  /**
+   * Whether the policy will be applied to matching devices.
+   *
+   * @example true
+   */
+  ['default']?: boolean;
+  disable_auto_fallback?: DisableAutoFallback;
+  /**
+   * Whether the policy will be applied to matching devices.
+   *
+   * @example true
+   */
+  enabled?: boolean;
+  exclude?: ExcludeRjxLDhaP;
+  exclude_office_ips?: ExcludeOfficeIps;
+  fallback_domains?: FallbackDomains;
+  gateway_unique_id?: GatewayUniqueId;
+  include?: IncludeFVRZ2Ny8;
+  service_mode_v2?: ServiceModeV2;
+  support_url?: SupportUrl;
+  switch_locked?: SwitchLocked;
+};
+
+export type DefaultDeviceSettingsPolicyNayGa1J3 = {
+  allow_mode_switch?: AllowModeSwitch;
+  allow_updates?: AllowUpdates;
+  allowed_to_leave?: AllowedToLeave;
+  auto_connect?: AutoConnect;
+  captive_portal?: CaptivePortal;
+  /**
+   * Whether the policy will be applied to matching devices.
+   *
+   * @example true
+   */
+  ['default']?: boolean;
+  disable_auto_fallback?: DisableAutoFallback;
+  /**
+   * Whether the policy will be applied to matching devices.
+   *
+   * @example true
+   */
+  enabled?: boolean;
+  exclude?: ComponentsSchemasExclude;
+  exclude_office_ips?: ExcludeOfficeIps;
+  fallback_domains?: FallbackDomains;
+  gateway_unique_id?: GatewayUniqueId;
+  include?: SchemasInclude;
+  service_mode_v2?: ServiceModeV2;
+  support_url?: SupportUrl;
+  switch_locked?: SwitchLocked;
+};
+
+export type DefaultDeviceSettingsResponse = ApiResponseCollection & {
+  result?: DefaultDeviceSettingsPolicyNayGa1J3;
+};
+
+/**
+ * The default action/mode of a rule.
+ *
+ * @example block
+ */
+export type DefaultMode = 'disable' | 'simulate' | 'block' | 'challenge';
+
+/**
+ * A list of pool IDs ordered by their failover priority. Pools defined here are used by default, or when region_pools are not configured for a given region.
+ *
+ * @example 17b5962d775c646f3f9725cbc7a53df4
+ * @example 9290f38c5d07c2e2f4df57b1f61d4196
+ * @example 00920f38ce07c2e2f4df50b1f61d4194
+ */
+export type DefaultPools = string[];
+
+export type DefaultResponse = ApiResponseSingleLarS7owG;
+
+/**
+ * If you have legacy TLS clients which do not send the TLS server name indicator, then you can specify one default SNI on the map. If Cloudflare receives a TLS handshake from a client without an SNI, it will respond with the default SNI on those IPs. The default SNI can be any valid zone or subdomain owned by the account.
+ *
+ * @example *.example.com
+ */
+export type DefaultSni = string | null;
+
+/**
+ * The language of the default page template. If no default_template_language is provided, then `en-US` (English) will be used.
+ *
+ * @default en-US
+ * @example es-ES
+ */
+export type DefaultTemplateLanguage =
+  | 'en-US'
+  | 'es-ES'
+  | 'de-DE'
+  | 'fr-FR'
+  | 'it-IT'
+  | 'ja-JP'
+  | 'ko-KR'
+  | 'pt-BR'
+  | 'zh-CN'
+  | 'zh-TW'
+  | 'nl-NL'
+  | 'pl-PL'
+  | 'id-ID'
+  | 'tr-TR'
+  | 'ar-EG'
+  | 'ru-RU'
+  | 'fa-IR';
+
+/**
+ * Account identifier for the account to which prefix is being delegated.
+ *
+ * @example b1946ac92492d2347c6235b4d2611184
+ * @maxLength 32
+ */
+export type DelegatedAccountIdentifier = string;
+
+/**
+ * Account identifier for the account to which prefix is being delegated.
+ *
+ * @example b1946ac92492d2347c6235b4d2611184
+ * @maxLength 32
+ */
+export type DelegatedAccountIdentifier4pd98LdN = string;
+
+/**
+ * Delegation identifier tag.
+ *
+ * @example d933b1530bc56c9953cf8ce166da8004
+ * @maxLength 32
+ */
+export type DelegationIdentifier = string;
+
+export type DeleteAdvancedCertificatePackResponseSingle = ApiResponseSingleZZHeSkIR & {
+  result?: {
+    id?: Identifier;
+  };
+};
+
+export type DeleteAdvancedCertificatePackResponseSingleJSlQkaZt = ApiResponseSingleLarS7owG & {
+  result?: {
+    id?: CertificatePacksComponentsSchemasIdentifier;
+  };
+};
+
+export type DeleteDnssecResponseSingle = ApiResponseSinglePOKosyfu & {
+  /**
+   * @example
+   */
+  result?: string;
+};
+
+/**
+ * When true, indicates that Cloudflare should also delete the associated filter if there are no other firewall rules referencing the filter.
+ */
+export type DeleteFilterIfUnused = boolean;
+
+/**
+ * True if the device was deleted.
+ *
+ * @example true
+ */
+export type Deleted = boolean;
+
+/**
+ * When true, indicates that the firewall rule was deleted.
+ *
+ * @example true
+ */
+export type DeletedRjQ7awe5 = boolean;
+
+export type DeletedFilter = {
+  deleted: DeletedRjQ7awe5;
+  id: FiltersComponentsSchemasId;
+};
+
+/**
+ * Date of deletion, if any.
+ *
+ * @format date-time
+ */
+export type DeletedAt = string | null;
+
+/**
+ * Timestamp of when the tunnel was deleted. If `null`, the tunnel has not been deleted.
+ *
+ * @example 2009-11-10T23:00:00Z
+ * @format date-time
+ */
+export type DeletedAtYdpycuPv = string | null;
+
+export type DeletedResponse = ApiResponseSingleYdRGfgTy & {
+  /**
+   * @example ok
+   */
+  result?: string;
+};
+
+export type DeletedResponseCeOmnPLd = ApiResponseSingleLarS7owG & {
+  /**
+   * @example {}
+   */
+  result?: Record<string, any>;
+};
+
+export type DeploymentListResponse = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+  result_info?: {
+    /**
+     * @example 1
+     */
+    count?: void;
+    /**
+     * @example 1
+     */
+    page?: void;
+    /**
+     * @example 100
+     */
+    per_page?: void;
+    /**
+     * @example 1
+     */
+    total_count?: void;
+  };
+};
+
+export type DeploymentNewDeployment = {
+  errors: Messages;
+  messages: Messages;
+  result: Deployments;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type DeploymentResponseDetails = {
+  errors: Messages;
+  messages: Messages;
+  result: Deployments;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type DeploymentResponseLogs = {
+  errors: Messages;
+  messages: Messages;
+  /**
+   * @example {"data":[{"line":"Cloning repository...","ts":"2021-04-20T19:35:29.0749819Z"},{"line":"From https://github.com/cloudflare/example","ts":"2021-04-20T19:35:30.0749819Z"},{"line":" * branch            209c5bb11d89533f426b2f8469bcae12fdccf71b -> FETCH_HEAD","ts":"2021-04-20T19:35:30.0749819Z"},{"line":"","ts":"2021-04-20T19:35:30.0749819Z"},{"line":"HEAD is now at 209c5bb Update index.html","ts":"2021-04-20T19:35:30.0749819Z"},{"line":"","ts":"2021-04-20T19:35:30.0749819Z"},{"line":"","ts":"2021-04-20T19:35:30.0749819Z"},{"line":"Success: Finished cloning repository files","ts":"2021-04-20T19:35:30.0749819Z"},{"line":"Installing dependencies","ts":"2021-04-20T19:35:59.0749819Z"},{"line":"Python version set to 2.7","ts":"2021-04-20T19:35:59.0931208Z"},{"line":"v12.18.0 is already installed.","ts":"2021-04-20T19:36:02.2369501Z"},{"line":"Now using node v12.18.0 (npm v6.14.4)","ts":"2021-04-20T19:36:02.6028886Z"},{"line":"Started restoring cached build plugins","ts":"2021-04-20T19:36:02.624555Z"},{"line":"Finished restoring cached build plugins","ts":"2021-04-20T19:36:02.6340688Z"},{"line":"Attempting ruby version 2.7.1, read from environment","ts":"2021-04-20T19:36:02.963095Z"},{"line":"Using ruby version 2.7.1","ts":"2021-04-20T19:36:04.2236084Z"},{"line":"Using PHP version 5.6","ts":"2021-04-20T19:36:04.5450152Z"},{"line":"5.2 is already installed.","ts":"2021-04-20T19:36:04.5740509Z"},{"line":"Using Swift version 5.2","ts":"2021-04-20T19:36:04.577035Z"},{"line":"Installing Hugo 0.54.0","ts":"2021-04-20T19:36:04.5771615Z"},{"line":"Hugo Static Site Generator v0.54.0-B1A82C61A/extended linux/amd64 BuildDate: 2019-02-01T10:04:38Z","ts":"2021-04-20T19:36:05.4786868Z"},{"line":"Started restoring cached go cache","ts":"2021-04-20T19:36:05.4794366Z"},{"line":"Finished restoring cached go cache","ts":"2021-04-20T19:36:05.481977Z"},{"line":"go version go1.14.4 linux/amd64","ts":"2021-04-20T19:36:05.9049776Z"},{"line":"go version go1.14.4 linux/amd64","ts":"2021-04-20T19:36:05.9086053Z"},{"line":"Installing missing commands","ts":"2021-04-20T19:36:05.9163568Z"},{"line":"Verify run directory","ts":"2021-04-20T19:36:05.9163934Z"},{"line":"Executing user command: echo \"skipping build step: no build command specified\"","ts":"2021-04-20T19:36:05.9164636Z"},{"line":"skipping build step: no build command specified","ts":"2021-04-20T19:36:05.9165087Z"},{"line":"Finished","ts":"2021-04-20T19:36:05.917412Z"}],"includes_container_logs":true,"total":30}
+   */
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type DeploymentResponseStageLogs = {
+  errors: Messages;
+  messages: Messages;
+  /**
+   * @example {"data":[{"id":15,"message":"Installing dependencies","timestamp":"2021-04-20T19:35:59.0749819Z"},{"id":16,"message":"Python version set to 2.7","timestamp":"2021-04-20T19:35:59.0931208Z"},{"id":17,"message":"v12.18.0 is already installed.","timestamp":"2021-04-20T19:36:02.2369501Z"},{"id":18,"message":"Now using node v12.18.0 (npm v6.14.4)","timestamp":"2021-04-20T19:36:02.6028886Z"},{"id":19,"message":"Started restoring cached build plugins","timestamp":"2021-04-20T19:36:02.624555Z"},{"id":20,"message":"Finished restoring cached build plugins","timestamp":"2021-04-20T19:36:02.6340688Z"},{"id":21,"message":"Attempting ruby version 2.7.1, read from environment","timestamp":"2021-04-20T19:36:02.963095Z"},{"id":22,"message":"Using ruby version 2.7.1","timestamp":"2021-04-20T19:36:04.2236084Z"},{"id":23,"message":"Using PHP version 5.6","timestamp":"2021-04-20T19:36:04.5450152Z"},{"id":24,"message":"5.2 is already installed.","timestamp":"2021-04-20T19:36:04.5740509Z"},{"id":25,"message":"Using Swift version 5.2","timestamp":"2021-04-20T19:36:04.577035Z"},{"id":26,"message":"Installing Hugo 0.54.0","timestamp":"2021-04-20T19:36:04.5771615Z"},{"id":27,"message":"Hugo Static Site Generator v0.54.0-B1A82C61A/extended linux/amd64 BuildDate: 2019-02-01T10:04:38Z","timestamp":"2021-04-20T19:36:05.4786868Z"},{"id":28,"message":"Started restoring cached go cache","timestamp":"2021-04-20T19:36:05.4794366Z"},{"id":29,"message":"Finished restoring cached go cache","timestamp":"2021-04-20T19:36:05.481977Z"},{"id":30,"message":"go version go1.14.4 linux/amd64","timestamp":"2021-04-20T19:36:05.9049776Z"},{"id":31,"message":"go version go1.14.4 linux/amd64","timestamp":"2021-04-20T19:36:05.9086053Z"},{"id":32,"message":"Installing missing commands","timestamp":"2021-04-20T19:36:05.9163568Z"},{"id":33,"message":"Verify run directory","timestamp":"2021-04-20T19:36:05.9163934Z"},{"id":34,"message":"Executing user command: echo \"skipping build step: no build command specified\"","timestamp":"2021-04-20T19:36:05.9164636Z"},{"id":35,"message":"skipping build step: no build command specified","timestamp":"2021-04-20T19:36:05.9165087Z"},{"id":36,"message":"Finished","timestamp":"2021-04-20T19:36:05.917412Z"}],"end":37,"ended_on":"2021-04-20T19:36:06.38889Z","name":"build","start":0,"started_on":"2021-04-20T19:35:58.238757Z","status":"success","total":37}
+   */
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+/**
+ * Configs for deployments in a project.
+ */
+export type DeploymentConfigs = {
+  /**
+   * Configs for preview deploys.
+   */
+  preview?: DeploymentConfigsValues;
+  /**
+   * Configs for production deploys.
+   */
+  production?: DeploymentConfigsValues;
+};
+
+export type DeploymentConfigsValues = {
+  /**
+   * Compatibility date used for Pages Functions.
+   *
+   * @example 2022-01-01
+   */
+  compatibility_date?: string;
+  /**
+   * Compatibility flags used for Pages Functions.
+   *
+   * @example url_standard
+   */
+  compatibility_flags?: any[];
+  /**
+   * D1 databases used for Pages Functions.
+   */
+  d1_databases?: {
+    /**
+     * D1 binding.
+     *
+     * @example {"id":"445e2955-951a-43f8-a35b-a4d0c8138f63"}
+     */
+    D1_BINDING?: {
+      /**
+       * UUID of the D1 database.
+       *
+       * @example 445e2955-951a-43f8-a35b-a4d0c8138f63
+       */
+      id?: string;
+    };
+  } | null;
+  /**
+   * Durabble Object namespaces used for Pages Functions.
+   */
+  durable_object_namespaces?: {
+    /**
+     * Durabble Object binding.
+     *
+     * @example {"namespace_id":"5eb63bbbe01eeed093cb22bb8f5acdc3"}
+     */
+    DO_BINDING?: {
+      /**
+       * ID of the Durabble Object namespace.
+       *
+       * @example 5eb63bbbe01eeed093cb22bb8f5acdc3
+       */
+      namespace_id?: string;
+    };
+  } | null;
+  /**
+   * Environment variables for build configs.
+   */
+  env_vars?: {
+    /**
+     * Environment variable.
+     *
+     * @example {"type":"plain_text","value":"hello world"}
+     */
+    ENVIRONMENT_VARIABLE?: {
+      /**
+       * The type of environment variable (plain text or secret)
+       */
+      type?: 'plain_text' | 'secret_text';
+      /**
+       * Environment variable value.
+       */
+      value?: string;
+    };
+  } | null;
+  /**
+   * KV namespaces used for Pages Functions.
+   */
+  kv_namespaces?: {
+    /**
+     * KV binding.
+     *
+     * @example {"namespace_id":"5eb63bbbe01eeed093cb22bb8f5acdc3"}
+     */
+    KV_BINDING?: {
+      /**
+       * ID of the KV namespace.
+       *
+       * @example 5eb63bbbe01eeed093cb22bb8f5acdc3
+       */
+      namespace_id?: string;
+    };
+  };
+  /**
+   * Queue Producer bindings used for Pages Functions.
+   */
+  queue_producers?: {
+    /**
+     * Queue Producer binding.
+     *
+     * @example {"name":"some-queue"}
+     */
+    QUEUE_PRODUCER_BINDING?: {
+      /**
+       * Name of the Queue.
+       *
+       * @example some-queue
+       */
+      name?: string;
+    };
+  } | null;
+  /**
+   * R2 buckets used for Pages Functions.
+   */
+  r2_buckets?: {
+    /**
+     * R2 binding.
+     *
+     * @example {"name":"some-bucket"}
+     */
+    R2_BINDING?: {
+      /**
+       * Name of the R2 bucket.
+       *
+       * @example some-bucket
+       */
+      name?: string;
+    };
+  } | null;
+  /**
+   * Services used for Pages Functions.
+   */
+  service_bindings?: {
+    /**
+     * Service binding.
+     *
+     * @example {"environment":"production","service":"example-worker"}
+     */
+    SERVICE_BINDING?: {
+      /**
+       * The Service environment.
+       */
+      environment?: string;
+      /**
+       * The Service name.
+       */
+      service?: string;
+    };
+  } | null;
+};
+
+/**
+ * @example bcf48806-b317-4351-9ee7-36e7d557d4de
+ * @maxLength 36
+ */
+export type DeploymentIdentifier = string;
+
+/**
+ * Deployment stage name.
+ *
+ * @example deploy
+ * @pattern queued|initialize|clone_repo|build|deploy
+ */
+export type DeploymentStageName = string;
+
+export type Deployments = {
+  /**
+   * A list of alias URLs pointing to this deployment.
+   *
+   * @example https://branchname.projectname.pages.dev
+   */
+  aliases?: any[] | null;
+  build_config?: void;
+  /**
+   * When the deployment was created.
+   *
+   * @example 2021-03-09T00:55:03.923456Z
+   * @format date-time
+   */
+  created_on?: string;
+  /**
+   * Info about what caused the deployment.
+   */
+  deployment_trigger?: {
+    /**
+     * Additional info about the trigger.
+     */
+    metadata?: {
+      /**
+       * Where the trigger happened.
+       *
+       * @example main
+       */
+      branch?: string;
+      /**
+       * Hash of the deployment trigger commit.
+       *
+       * @example ad9ccd918a81025731e10e40267e11273a263421
+       */
+      commit_hash?: string;
+      /**
+       * Message of the deployment trigger commit.
+       *
+       * @example Update index.html
+       */
+      commit_message?: string;
+    };
+    /**
+     * What caused the deployment.
+     *
+     * @example ad_hoc
+     * @pattern push|ad_hoc
+     */
+    type?: string;
+  };
+  /**
+   * A dict of env variables to build this deploy.
+   *
+   * @example {"BUILD_VERSION":{"value":"3.3"},"ENV":{"value":"STAGING"}}
+   */
+  env_vars?: Record<string, any>;
+  /**
+   * Type of deploy.
+   *
+   * @example preview
+   * @pattern preview|production
+   */
+  environment?: string;
+  /**
+   * Id of the deployment.
+   *
+   * @example f64788e9-fccd-4d4a-a28a-cb84f88f6
+   */
+  id?: string;
+  /**
+   * If the deployment has been skipped.
+   *
+   * @example true
+   */
+  is_skipped?: boolean;
+  latest_stage?: void;
+  /**
+   * When the deployment was last modified.
+   *
+   * @example 2021-03-09T00:58:59.045655
+   * @format date-time
+   */
+  modified_on?: string;
+  /**
+   * Id of the project.
+   *
+   * @example 7b162ea7-7367-4d67-bcde-1160995d5
+   */
+  project_id?: string;
+  /**
+   * Name of the project.
+   *
+   * @example ninjakittens
+   */
+  project_name?: string;
+  /**
+   * Short Id (8 character) of the deployment.
+   *
+   * @example f64788e9
+   */
+  short_id?: string;
+  source?: void;
+  /**
+   * List of past stages.
+   *
+   * @example {"ended_on":"2021-06-03T15:39:03.134378Z","name":"queued","started_on":"2021-06-03T15:38:15.608194Z","status":"active"}
+   * @example {"ended_on":null,"name":"initialize","started_on":null,"status":"idle"}
+   * @example {"ended_on":null,"name":"clone_repo","started_on":null,"status":"idle"}
+   * @example {"ended_on":null,"name":"build","started_on":null,"status":"idle"}
+   * @example {"ended_on":null,"name":"deploy","started_on":null,"status":"idle"}
+   */
+  stages?: Stage[];
+  /**
+   * The live URL to view this deployment.
+   *
+   * @example https://f64788e9.ninjakittens.pages.dev
+   */
+  url?: string;
+};
+
+export type DeploymentsListResponse = ApiResponseCommon & {
+  /**
+   * @example {"id":"bcf48806-b317-4351-9ee7-36e7d557d4de","metadata":{"author_email":"user@example.com","author_id":"408cbcdfd4dda4617efef40b04d168a1","created_on":"2022-11-15T18:25:44.442097Z","modified_on":"2022-11-15T18:25:44.442097Z","source":"api"},"number":2}
+   * @example {"id":"18f97339-c287-4872-9bdd-e2135c07ec12","metadata":{"author_email":"user@example.com","author_id":"408cbcdfd4dda4617efef40b04d168a1","created_on":"2022-11-08T17:30:56.968096Z","modified_on":"2022-11-08T17:30:56.968096Z","source":"api"},"number":1}
+   */
+  items?: any[];
+  /**
+   * @example {"id":"bcf48806-b317-4351-9ee7-36e7d557d4de","metadata":{"author_email":"user@example.com","author_id":"408cbcdfd4dda4617efef40b04d168a1","created_on":"2022-11-15T18:25:44.442097Z","modified_on":"2022-11-15T18:25:44.442097Z","source":"api"},"number":2,"resources":{"bindings":[{"json":"example_binding","name":"JSON_VAR","type":"json"}],"script":{"etag":"13a3240e8fb414561b0366813b0b8f42b3e6cfa0d9e70e99835dae83d0d8a794","handlers":["fetch"],"last_deployed_from":"api"},"script_runtime":{"usage_model":"bundled"}}}
+   */
+  latest?: Record<string, any>;
+};
+
+export type DeploymentsSingleResponse = ApiResponseCommon & {
+  /**
+   * @example 18f97339-c287-4872-9bdd-e2135c07ec12
+   */
+  id?: string;
+  /**
+   * @example {"author_email":"user@example.com","author_id":"408cbcdfd4dda4617efef40b04d168a1","created_on":"2022-11-08T17:19:29.176266Z","modified_on":"2022-11-08T17:19:29.176266Z","source":"api"}
+   */
+  metadata?: Record<string, any>;
+  /**
+   * @example 1
+   */
+  number?: number;
+  /**
+   * @example {"bindings":[{"json":"example_binding","name":"JSON_VAR","type":"json"}],"script":{"etag":"13a3240e8fb414561b0366813b0b8f42b3e6cfa0d9e70e99835dae83d0d8a794","handlers":["fetch"],"last_deployed_from":"api"},"script_runtime":{"usage_model":"bundled"}}
+   */
+  resources?: Record<string, any>;
+};
+
+/**
+ * Deprecate the response to ANY requests.
+ *
+ * @example true
+ */
+export type DeprecateAnyRequests = boolean;
+
+/**
+ * Description of the prefix.
+ *
+ * @example Internal test prefix
+ * @maxLength 1000
+ */
+export type Description = string;
+
+/**
+ * Object description.
+ *
+ * @example Login page monitor
+ */
+export type Description329lsFZ7 = string;
+
+/**
+ * A note that you can use to add more details about the waiting room.
+ *
+ * @default
+ * @example Production - DO NOT MODIFY
+ */
+export type DescriptionJIh6Lv2u = string;
+
+/**
+ * The description of the List.
+ *
+ * @example The serial numbers for administrators
+ */
+export type DescriptionX9wAFqIk = string;
+
+/**
+ * The description of the Device Posture Rule.
+ *
+ * @example The rule for admin serial numbers
+ */
+export type DescriptionGpCjO3oV = string;
+
+/**
+ * A human-readable description of the health check.
+ *
+ * @example Health check for www.example.com
+ */
+export type DescriptionNNNUBbC7 = string;
+
+/**
+ * An optional human provided description of the static route.
+ *
+ * @example New route for new prefix 203.0.113.1
+ */
+export type DescriptionPhEFvENx = string;
+
+/**
+ * Description of role's permissions.
+ *
+ * @example Administrative access to the entire Organization
+ */
+export type DescriptionWY1HJwZu = string;
+
+/**
+ * A string to search for in the description of existing rules.
+ *
+ * @example abusive
+ */
+export type DescriptionSearch = string;
+
+/**
+ * Destination address identifier.
+ *
+ * @example ea95132c15732412d22c1476fa83f27a
+ * @maxLength 32
+ */
+export type DestinationAddressIdentifier = string;
+
+export type DestinationAddressProperties = {
+  created?: Created2OTGyXLU;
+  email?: EmailQw65SH2N;
+  modified?: ModifiedCBEhc8Ab;
+  tag?: DestinationAddressIdentifier;
+  verified?: Verified;
+};
+
+export type DestinationAddressResponseSingle = ApiResponseSingleSiIqFfOd & {
+  result?: Addresses;
+};
+
+export type DestinationAddressesResponseCollection = ApiResponseCollection & {
+  result?: Addresses[];
+  result_info?: {
+    /**
+     * @example 1
+     */
+    count?: void;
+    /**
+     * @example 1
+     */
+    page?: void;
+    /**
+     * @example 20
+     */
+    per_page?: void;
+    /**
+     * @example 1
+     */
+    total_count?: void;
+  };
+};
+
+/**
+ * Uniquely identifies a resource (such as an s3 bucket) where data will be pushed. Additional configuration parameters supported by the destination may be included.
+ *
+ * @example s3://mybucket/logs?region=us-west-2
+ * @format uri
+ * @maxLength 4096
+ */
+export type DestinationConf = string;
+
+export type DestinationExistsResponse = {
+  errors: Messages;
+  messages: Messages;
+  result:
+    | {
+        /**
+         * @example false
+         */
+        exists?: boolean;
+      }
+    | any[]
+    | string
+    | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+/**
+ * The mode that defines how rules within the package are evaluated during the course of a request. When a package uses anomaly detection mode (`anomaly` value), each rule is given a score when triggered. If the total score of all triggered rules exceeds the sensitivity defined in the WAF package, the action configured in the package will be performed. Traditional detection mode (`traditional` value) will decide the action to take when it is triggered by the request. If multiple rules are triggered, the action providing the highest protection will be applied (for example, a 'block' action will win over a 'challenge' action).
+ *
+ * @example traditional
+ */
+export type DetectionMode = 'anomaly' | 'traditional';
+
+/**
+ * Development Mode temporarily allows you to enter development mode for your websites if you need to make changes to your site. This will bypass Cloudflare's accelerated cache and slow down your site, but is useful if you are making changes to cacheable content (like images, css, or JavaScript) and would like to see those changes right away. Once entered, development mode will last for 3 hours and then automatically toggle off.
+ */
+export type DevelopmentMode = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example development_mode
+   */
+  id: 'development_mode';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: DevelopmentModeValue;
+  /**
+   * Value of the zone setting.
+   * Notes: The interval (in seconds) from when development mode expires (positive integer) or last expired (negative integer) for the domain. If development mode has never been enabled, this value is false.
+   *
+   * @example 3600
+   */
+  time_remaining?: number;
+};
+
+/**
+ * Value of the zone setting.
+ *
+ * @default off
+ */
+export type DevelopmentModeValue = 'on' | 'off';
+
+/**
+ * The configuration object which contains the details for the WARP client to conduct the test.
+ *
+ * @example {"host":"https://dash.cloudflare.com","kind":"http","method":"GET"}
+ */
+export type DeviceDexTestSchemasData = {
+  /**
+   * The desired endpoint to test.
+   *
+   * @example https://dash.cloudflare.com
+   */
+  host?: string;
+  /**
+   * The type of test.
+   *
+   * @example http
+   */
+  kind?: string;
+  /**
+   * The HTTP request method type.
+   *
+   * @example GET
+   */
+  method?: string;
+};
+
+/**
+ * Additional details about the test.
+ *
+ * @example Checks the dash endpoint every 30 minutes
+ */
+export type DeviceDexTestSchemasDescription = string;
+
+/**
+ * Determines whether or not the test is active.
+ *
+ * @example true
+ */
+export type DeviceDexTestSchemasEnabled = boolean;
+
+export type DeviceDexTestSchemasHttp = {
+  data: DeviceDexTestSchemasData;
+  description?: DeviceDexTestSchemasDescription;
+  enabled: DeviceDexTestSchemasEnabled;
+  interval: DeviceDexTestSchemasInterval;
+  name: DeviceDexTestSchemasName;
+};
+
+/**
+ * How often the test will run.
+ *
+ * @example 30m
+ */
+export type DeviceDexTestSchemasInterval = string;
+
+/**
+ * The name of the DEX test. Must be unique.
+ *
+ * @example HTTP dash health check
+ */
+export type DeviceDexTestSchemasName = string;
+
+export type DeviceManagedNetworks = {
+  config?: SchemasConfigResponse;
+  name?: DeviceManagedNetworksComponentsSchemasName;
+  network_id?: UuidUoyzrwvx;
+  type?: ComponentsSchemasType;
+};
+
+export type DeviceManagedNetworksUgiuQAHC = {
+  config?: SchemasConfigResponse;
+  name?: DeviceManagedNetworksComponentsSchemasName;
+  network_id?: DeviceManagedNetworksComponentsSchemasUuid;
+  type?: DeviceManagedNetworksComponentsSchemasType;
+};
+
+/**
+ * @example 699d98642c564d2e855e9661899b7252
+ */
+export type DeviceManagedNetworksComponentsSchemasIdentifier = void;
+
+/**
+ * The name of the Device Managed Network. Must be unique.
+ *
+ * @example managed-network-1
+ */
+export type DeviceManagedNetworksComponentsSchemasName = string;
+
+export type DeviceManagedNetworksComponentsSchemasResponseCollection = ApiResponseCollection & {
+  result?: DeviceManagedNetworksUgiuQAHC[];
+};
+
+export type DeviceManagedNetworksComponentsSchemasSingleResponse = ApiResponseSingleLarS7owG & {
+  result?: DeviceManagedNetworksUgiuQAHC;
+};
+
+/**
+ * The type of Device Managed Network.
+ *
+ * @example tls
+ */
+export type DeviceManagedNetworksComponentsSchemasType = 'tls';
+
+/**
+ * API uuid tag.
+ *
+ * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
+ * @maxLength 36
+ */
+export type DeviceManagedNetworksComponentsSchemasUuid = string;
+
+export type DevicePostureIntegrations = {
+  config?: ConfigResponse;
+  id?: UuidUoyzrwvx;
+  interval?: IntervalCy0QprOB;
+  name?: ComponentsSchemasNameKTVvRGKN;
+  type?: SchemasType;
+};
+
+export type DevicePostureIntegrations7AZ1Apoy = {
+  config?: ConfigResponse;
+  id?: DevicePostureIntegrationsComponentsSchemasUuid;
+  interval?: SchemasInterval;
+  name?: DevicePostureIntegrationsComponentsSchemasName;
+  type?: DevicePostureIntegrationsComponentsSchemasType;
+};
+
+export type DevicePostureIntegrationsComponentsSchemasIdResponse = ApiResponseSingleLarS7owG & {
+  result?: void | null;
+};
+
+/**
+ * @example 699d98642c564d2e855e9661899b7252
+ */
+export type DevicePostureIntegrationsComponentsSchemasIdentifier = void;
+
+/**
+ * The name of the Device Posture Integration.
+ *
+ * @example My Workspace One Integration
+ */
+export type DevicePostureIntegrationsComponentsSchemasName = string;
+
+export type DevicePostureIntegrationsComponentsSchemasResponseCollection = ApiResponseCollection & {
+  result?: DevicePostureIntegrations7AZ1Apoy[];
+};
+
+export type DevicePostureIntegrationsComponentsSchemasSingleResponse = ApiResponseSingleLarS7owG & {
+  result?: DevicePostureIntegrations7AZ1Apoy;
+};
+
+/**
+ * The type of Device Posture Integration.
+ *
+ * @example workspace_one
+ */
+export type DevicePostureIntegrationsComponentsSchemasType = 'workspace_one' | 'crowdstrike_s2s' | 'uptycs' | 'intune';
+
+/**
+ * API uuid tag.
+ *
+ * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
+ * @maxLength 36
+ */
+export type DevicePostureIntegrationsComponentsSchemasUuid = string;
+
+export type DevicePostureRules = {
+  description?: DescriptionGpCjO3oV;
+  expiration?: Expiration;
+  id?: UuidUoyzrwvx;
+  input?: Input;
+  match?: Match;
+  name?: NameKU9Y1gf9;
+  schedule?: ScheduleVkuQMHl2;
+  type?: TypeS34NxojT;
+};
+
+export type DevicePostureRulesJXQaeA4J = {
+  description?: DevicePostureRulesComponentsSchemasDescription;
+  expiration?: SchemasExpiration;
+  id?: DevicePostureRulesComponentsSchemasUuid;
+  input?: InputZcd2nhY2;
+  match?: SchemasMatchPKnBbWyP;
+  name?: DevicePostureRulesComponentsSchemasName;
+  schedule?: ScheduleXq5rkQsP;
+  type?: DevicePostureRulesComponentsSchemasType;
+};
+
+/**
+ * The description of the Device Posture Rule.
+ *
+ * @example The rule for admin serial numbers
+ */
+export type DevicePostureRulesComponentsSchemasDescription = string;
+
+export type DevicePostureRulesComponentsSchemasIdResponse = ApiResponseSingleLarS7owG & {
+  result?: {
+    id?: DevicePostureRulesComponentsSchemasUuid;
+  };
+};
+
+/**
+ * @example 699d98642c564d2e855e9661899b7252
+ */
+export type DevicePostureRulesComponentsSchemasIdentifier = void;
+
+/**
+ * The name of the Device Posture Rule.
+ *
+ * @example Admin Serial Numbers
+ */
+export type DevicePostureRulesComponentsSchemasName = string;
+
+export type DevicePostureRulesComponentsSchemasResponseCollection = ApiResponseCollection & {
+  result?: DevicePostureRulesJXQaeA4J[];
+};
+
+export type DevicePostureRulesComponentsSchemasSingleResponse = ApiResponseSingleLarS7owG & {
+  result?: DevicePostureRulesJXQaeA4J;
+};
+
+/**
+ * The type of Device Posture Rule.
+ *
+ * @example file
+ */
+export type DevicePostureRulesComponentsSchemasType =
+  | 'file'
+  | 'application'
+  | 'serial_number'
+  | 'tanium'
+  | 'gateway'
+  | 'warp';
+
+/**
+ * API uuid tag.
+ *
+ * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
+ * @maxLength 36
+ */
+export type DevicePostureRulesComponentsSchemasUuid = string;
+
+/**
+ * The wirefilter expression to be used for device posture check matching.
+ *
+ * @example any(device_posture.checks.passed[*] in {"1308749e-fcfb-4ebc-b051-fe022b632644"})
+ */
+export type DevicePosture = string;
+
+export type DeviceResponse = ApiResponseSingleI8cJ1fX8 & {
+  result?: Record<string, any>;
+};
+
+export type DeviceResponseYshSK9BF = ApiResponseSingleLarS7owG & {
+  result?: Record<string, any>;
+};
+
+export type DeviceSettingsPolicy = {
+  allow_mode_switch?: AllowModeSwitch;
+  allow_updates?: AllowUpdates;
+  allowed_to_leave?: AllowedToLeave;
+  auto_connect?: AutoConnect;
+  captive_portal?: CaptivePortal;
+  ['default']?: Default;
+  description?: SchemasDescriptionTQ4Ivhfo;
+  disable_auto_fallback?: DisableAutoFallback;
+  /**
+   * Whether the policy will be applied to matching devices.
+   *
+   * @example true
+   */
+  enabled?: boolean;
+  exclude?: ExcludeRjxLDhaP;
+  exclude_office_ips?: ExcludeOfficeIps;
+  fallback_domains?: FallbackDomains;
+  gateway_unique_id?: GatewayUniqueId;
+  include?: IncludeFVRZ2Ny8;
+  match?: SchemasMatch;
+  /**
+   * The name of the device settings policy.
+   *
+   * @example Allow Developers
+   * @maxLength 100
+   */
+  name?: string;
+  policy_id?: SchemasUuid4P4vJwxm;
+  precedence?: PrecedenceBOmzKeZm;
+  service_mode_v2?: ServiceModeV2;
+  support_url?: SupportUrl;
+  switch_locked?: SwitchLocked;
+};
+
+export type DeviceSettingsPolicy08gBee3x = {
+  allow_mode_switch?: AllowModeSwitch;
+  allow_updates?: AllowUpdates;
+  allowed_to_leave?: AllowedToLeave;
+  auto_connect?: AutoConnect;
+  captive_portal?: CaptivePortal;
+  ['default']?: SchemasDefault;
+  description?: DevicesComponentsSchemasDescription;
+  disable_auto_fallback?: DisableAutoFallback;
+  /**
+   * Whether the policy will be applied to matching devices.
+   *
+   * @example true
+   */
+  enabled?: boolean;
+  exclude?: ComponentsSchemasExclude;
+  exclude_office_ips?: ExcludeOfficeIps;
+  fallback_domains?: FallbackDomains;
+  gateway_unique_id?: GatewayUniqueId;
+  include?: SchemasInclude;
+  match?: ComponentsSchemasMatch;
+  /**
+   * The name of the device settings policy.
+   *
+   * @example Allow Developers
+   * @maxLength 100
+   */
+  name?: string;
+  policy_id?: Uuid;
+  precedence?: SchemasPrecedence;
+  service_mode_v2?: ServiceModeV2;
+  support_url?: SupportUrl;
+  switch_locked?: SwitchLocked;
+};
+
+export type DeviceSettingsResponse = ApiResponseCollection & {
+  result?: DeviceSettingsPolicy08gBee3x;
+};
+
+export type DeviceSettingsResponseCollection = ApiResponseCollection & {
+  result?: DeviceSettingsPolicy08gBee3x[];
+};
+
+export type Devices = {
+  created?: Created;
+  deleted?: Deleted;
+  device_type?: Platform;
+  id?: SchemasUuid4P4vJwxm;
+  ip?: IpMKmJkd3b;
+  key?: Key;
+  last_seen?: LastSeen;
+  mac_address?: MacAddress;
+  manufacturer?: Manufacturer;
+  model?: Model;
+  name?: SchemasNameLohsu7Gg;
+  os_distro_name?: OsDistroName;
+  os_distro_revision?: OsDistroRevision;
+  os_version?: OsVersion;
+  revoked_at?: RevokedAt;
+  serial_number?: SerialNumberJQ6wzAYC;
+  updated?: Updated;
+  user?: User;
+  version?: VersionLix2KSZT;
+};
+
+export type Devices9iMrlXhN = {
+  created?: SchemasCreated;
+  deleted?: SchemasDeleted;
+  device_type?: Platform;
+  id?: DevicesComponentsSchemasUuid;
+  ip?: ComponentsSchemasIp;
+  key?: SchemasKey;
+  last_seen?: LastSeen;
+  mac_address?: MacAddress;
+  manufacturer?: Manufacturer;
+  model?: Model;
+  name?: DevicesComponentsSchemasName;
+  os_distro_name?: OsDistroName;
+  os_distro_revision?: OsDistroRevision;
+  os_version?: OsVersion;
+  revoked_at?: RevokedAt;
+  serial_number?: ComponentsSchemasSerialNumberMLjjvVe3;
+  updated?: Updated;
+  user?: UserTCLIy2E3;
+  version?: DevicesComponentsSchemasVersion;
+};
+
+/**
+ * A description of the policy.
+ *
+ * @example Policy for test teams.
+ * @maxLength 500
+ */
+export type DevicesComponentsSchemasDescription = string;
+
+/**
+ * @example 699d98642c564d2e855e9661899b7252
+ */
+export type DevicesComponentsSchemasIdentifier = void;
+
+/**
+ * The device name.
+ *
+ * @example My mobile device
+ */
+export type DevicesComponentsSchemasName = string;
+
+/**
+ * Device ID.
+ *
+ * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
+ * @maxLength 36
+ */
+export type DevicesComponentsSchemasUuid = string;
+
+/**
+ * The WARP client version.
+ *
+ * @example 1.0.0
+ */
+export type DevicesComponentsSchemasVersion = string;
+
+export type DevicesResponse = ApiResponseCollection & {
+  result?: Devices9iMrlXhN[];
+};
+
+export type DexResponseCollection = ApiResponseCollectionCommon & {
+  result?: DeviceDexTestSchemasHttp[];
+};
+
+export type DexSingleResponse = ApiResponseSingleI8cJ1fX8 & {
+  result?: DeviceDexTestSchemasHttp;
+};
+
+/**
+ * Digest hash.
+ *
+ * @example 48E939042E82C22542CB377B580DFDC52A361CEFDC72E7F9107E2B6BD9306A45
+ */
+export type Digest = string | null;
+
+/**
+ * Type of digest algorithm.
+ *
+ * @example SHA256
+ */
+export type DigestAlgorithm = string | null;
+
+/**
+ * Coded type for digest algorithm.
+ *
+ * @example 2
+ */
+export type DigestType = string | null;
+
+/**
+ * A comma-separated list of dimensions to group results by.
+ *
+ * @example queryType
+ */
+export type Dimensions = string;
+
+/**
+ * Can be used to break down the data by given attributes. Options are:
+ *
+ * Dimension                 | Name                            | Example
+ * --------------------------|---------------------------------|--------------------------
+ * event                     | Connection Event                | connect, progress, disconnect, originError, clientFiltered
+ * appID                     | Application ID                  | 40d67c87c6cd4b889a4fd57805225e85
+ * coloName                  | Colo Name                       | SFO
+ * ipVersion                 | IP version used by the client   | 4, 6.
+ *
+ * @example event
+ * @example appID
+ */
+export type DimensionsHElZM7Gt = ('event' | 'appID' | 'coloName' | 'ipVersion')[];
+
+export type DirectUploadRequest = {
+  allowedOrigins?: AllowedOrigins;
+  creator?: Creator;
+  /**
+   * The date and time after upload when videos will not be accepted.
+   *
+   * @default Now + 30 minutes
+   * @example 2021-01-02T02:20:00Z
+   * @format date-time
+   */
+  expiry?: string;
+  maxDurationSeconds: MaxDurationSeconds;
+  requireSignedURLs?: RequireSignedURLs;
+  thumbnailTimestampPct?: ThumbnailTimestampPct;
+  watermark?: WatermarkAtUpload;
+};
+
+export type DirectUploadRequestV2 = {
+  /**
+   * The date after which the upload will not be accepted. Minimum: Now + 2 minutes. Maximum: Now + 6 hours.
+   *
+   * @default Now + 30 minutes
+   * @example 2021-01-02T02:20:00Z
+   * @format date-time
+   */
+  expiry?: string;
+  /**
+   * Optional Image Custom ID. Up to 1024 chars. Can include any number of subpaths, and utf8 characters. Cannot start nor end with a / (forward slash). Cannot be a UUID.
+   *
+   * @example this/is/my-customid
+   * @maxLength 1024
+   */
+  id?: string;
+  /**
+   * User modifiable key-value store. Can be used for keeping references to another system of record, for managing images.
+   */
+  metadata?: Record<string, any>;
+  /**
+   * Indicates whether the image requires a signature token to be accessed.
+   *
+   * @default false
+   * @example true
+   */
+  requireSignedURLs?: boolean;
+};
+
+export type DirectUploadResponse = ApiResponseSingleYdRGfgTy & {
+  result?: {
+    uid?: IdentifierKW7g5KGL;
+    /**
+     * The URL an unauthenticated upload can use for a single `HTTP POST multipart/form-data` request.
+     *
+     * @example www.example.com/samplepath
+     */
+    uploadURL?: string;
+    watermark?: Watermarks;
+  };
+};
+
+export type DirectUploadResponseV2 = ApiResponseSingleLarS7owG & {
+  result?: {
+    /**
+     * Image unique identifier.
+     *
+     * @example e22e9e6b-c02b-42fd-c405-6c32af5fe600
+     * @maxLength 32
+     */
+    id?: string;
+    /**
+     * The URL the unauthenticated upload can be performed to using a single HTTP POST (multipart/form-data) request.
+     *
+     * @example https://upload.imagedelivery.net/FxUufywByo0m2v3xhKSiU8/e22e9e6b-c02b-42fd-c405-6c32af5fe600
+     */
+    uploadURL?: string;
+  };
+};
+
+/**
+ * Direction to order DNS records in.
+ *
+ * @default asc
+ */
+export type Direction = 'asc' | 'desc';
+
+/**
+ * If the dns_server field of a fallback domain is not present, the client will fall back to a best guess of the default/system DNS resolvers, unless this policy option is set.
+ *
+ * @example true
+ */
+export type DisableAutoFallback = boolean;
+
+export type DisableForTime = {
+  /**
+   * Override code that is valid for 1 hour.
+   *
+   * @example 9106681
+   */
+  ['1']?: void;
+  /**
+   * Override code that is valid for 3 hours.
+   *
+   * @example 5356247
+   */
+  ['3']?: void;
+  /**
+   * Override code that is valid for 6 hours.
+   *
+   * @example 9478972
+   */
+  ['6']?: void;
+  /**
+   * Override code that is valid for 12 hour2.
+   *
+   * @example 3424359
+   */
+  ['12']?: void;
+  /**
+   * Override code that is valid for 24 hour.2.
+   *
+   * @example 2887634
+   */
+  ['24']?: void;
+};
+
+/**
+ * Only available for the Waiting Room Advanced subscription. Disables automatic renewal of session cookies. If `true`, an accepted user will have session_duration minutes to browse the site. After that, they will have to go through the waiting room again. If `false`, a user's session cookie will be automatically renewed on every request.
+ *
+ * @default false
+ * @example false
+ */
+export type DisableSessionRenewal = boolean;
+
+export type DisableTransferResponse = ApiResponseSingleWkFwqHKI & {
+  result?: DisableTransferResult;
+};
+
+/**
+ * The zone transfer status of a primary zone
+ *
+ * @example Disabled
+ */
+export type DisableTransferResult = string;
+
+/**
+ * When true, indicates that the rate limit is currently disabled.
+ *
+ * @example false
+ */
+export type Disabled = boolean;
+
+/**
+ * This field shows up only if the origin is disabled. This field is set with the time the origin was disabled.
+ *
+ * @format date-time
+ */
+export type DisabledAt = string;
+
+/**
+ * Alert type name.
+ *
+ * @example Origin Error Rate Alert
+ */
+export type DisplayName = string;
+
+/**
+ * @example example-dlq
+ */
+export type DlqName = string;
+
+/**
+ * The name and type of DNS record for the Spectrum application.
+ */
+export type Dns = {
+  name?: DnsName;
+  type?: DnsType;
+};
+
+export type DnsFirewall = {
+  attack_mitigation?: AttackMitigation;
+  deprecate_any_requests: DeprecateAnyRequests;
+  dns_firewall_ips: DnsFirewallIps;
+  ecs_fallback: EcsFallback;
+  id: Identifier;
+  maximum_cache_ttl: MaximumCacheTtl;
+  minimum_cache_ttl: MinimumCacheTtl;
+  modified_on: ModifiedOn;
+  name: Name;
+  negative_cache_ttl?: NegativeCacheTtl;
+  /**
+   * Deprecated alias for "upstream_ips".
+   *
+   * @deprecated true
+   */
+  origin_ips?: void;
+  ratelimit?: Ratelimit;
+  retries?: Retries;
+  upstream_ips: UpstreamIps;
+};
+
+export type DnsRecord =
+  | ARecord
+  | AAAARecord
+  | CAARecord
+  | CERTRecord
+  | CNAMERecord
+  | DNSKEYRecord
+  | DSRecord
+  | HTTPSRecord
+  | LOCRecord
+  | MXRecord
+  | NAPTRRecord
+  | NSRecord
+  | PTRRecord
+  | SMIMEARecord
+  | SRVRecord
+  | SSHFPRecord
+  | SVCBRecord
+  | TLSARecord
+  | TXTRecord
+  | URIRecord;
+
+/**
+ * List of records needed to enable an Email Routing zone.
+ */
+export type DnsRecordM1zJRhSs = {
+  /**
+   * DNS record content.
+   *
+   * @example route1.mx.cloudflare.net
+   */
+  content?: string;
+  /**
+   * DNS record name (or @ for the zone apex).
+   *
+   * @example example.com
+   * @maxLength 255
+   */
+  name?: string;
+  /**
+   * Required for MX, SRV and URI records. Unused by other record types. Records with lower priorities are preferred.
+   *
+   * @example 12
+   * @maximum 65535
+   * @minimum 0
+   */
+  priority?: number;
+  /**
+   * Time to live, in seconds, of the DNS record. Must be between 60 and 86400, or 1 for 'automatic'.
+   *
+   * @example 1
+   */
+  ttl?: number | 1;
+  /**
+   * DNS record type.
+   *
+   * @example NS
+   */
+  type?:
+    | 'A'
+    | 'AAAA'
+    | 'CNAME'
+    | 'HTTPS'
+    | 'TXT'
+    | 'SRV'
+    | 'LOC'
+    | 'MX'
+    | 'NS'
+    | 'CERT'
+    | 'DNSKEY'
+    | 'DS'
+    | 'NAPTR'
+    | 'SMIMEA'
+    | 'SSHFP'
+    | 'SVCB'
+    | 'TLSA'
+    | 'URI';
+};
+
+export type DnsSecondarySecondaryZone = {
+  auto_refresh_seconds: AutoRefreshSeconds;
+  id: Identifier6txek3jw;
+  name: NameSjz7boGi;
+  peers: Peers;
+};
+
+export type DnsSettingsResponseCollection = ApiResponseCollection & {
+  result?: DnsRecordM1zJRhSs[];
+};
+
+/**
+ * @example 203.0.113.1
+ * @example 203.0.113.254
+ * @example 2001:DB8:AB::CF
+ * @example 2001:DB8:CD::CF
+ */
+export type DnsFirewallIps = (string | string)[];
+
+export type DnsFirewallResponseCollection = ApiResponseCollection & {
+  result?: DnsFirewall[];
+};
+
+export type DnsFirewallSingleResponse = ApiResponseSingleCIiIMb72 & {
+  result?: DnsFirewall;
+};
+
+/**
+ * The name of the DNS record associated with the application.
+ *
+ * @example ssh.example.com
+ * @format hostname
+ */
+export type DnsName = string;
+
+export type DnsResponseCollection = ApiResponseCollection & {
+  result?: DnsRecord[];
+};
+
+export type DnsResponseImportScan = ApiResponseSingle8TQHeyma & {
+  result?: {
+    /**
+     * Number of DNS records added.
+     *
+     * @example 5
+     */
+    recs_added?: number;
+    /**
+     * Total number of DNS records parsed.
+     *
+     * @example 5
+     */
+    total_records_parsed?: number;
+  };
+  timing?: {
+    /**
+     * When the file parsing ended.
+     *
+     * @example 2014-03-01T12:20:01Z
+     * @format date-time
+     */
+    end_time?: string;
+    /**
+     * Processing time of the file in seconds.
+     *
+     * @example 1
+     */
+    process_time?: number;
+    /**
+     * When the file parsing started.
+     *
+     * @example 2014-03-01T12:20:00Z
+     * @format date-time
+     */
+    start_time?: string;
+  };
+};
+
+export type DnsResponseSingle = ApiResponseSingle8TQHeyma & {
+  result?: DnsRecord;
+};
+
+/**
+ * The TTL of our resolution of your DNS record in seconds.
+ *
+ * @minimum 600
+ */
+export type DnsTtl = number;
+
+/**
+ * The type of DNS record associated with the application.
+ *
+ * @example CNAME
+ */
+export type DnsType = 'CNAME' | 'ADDRESS';
+
+/**
+ * DNSLink value used if the target is ipfs.
+ *
+ * @example /ipns/onboarding.ipfs.cloudflare.com
+ */
+export type Dnslink = string;
+
+export type Dnssec = {
+  algorithm?: Algorithm;
+  digest?: Digest;
+  digest_algorithm?: DigestAlgorithm;
+  digest_type?: DigestType;
+  ds?: Ds;
+  flags?: Flags;
+  key_tag?: KeyTag;
+  key_type?: KeyType;
+  modified_on?: ModifiedOn4CdIXZup;
+  public_key?: PublicKeyAH0a9AtA;
+  status?: Status7l7v1BCo;
+};
+
+export type DnssecResponseSingle = ApiResponseSinglePOKosyfu & {
+  result?: Dnssec;
+};
+
+/**
+ * The domain and path that Access will secure.
+ *
+ * @example test.example.com/admin
+ */
+export type Domain = string;
+
+export type DomainSjfI1GKj = {
+  environment?: Environment;
+  hostname?: ComponentsSchemasHostname;
+  id?: DomainIdentifier;
+  service?: SchemasService;
+  zone_id?: ZoneIdentifier;
+  zone_name?: ZoneName;
+};
+
+export type DomainHistory = {
+  categorizations?: {
+    /**
+     * @example {"id":155,"name":"Technology"}
+     */
+    categories?: void;
+    /**
+     * @example 2021-04-30
+     * @format date
+     */
+    end?: string;
+    /**
+     * @example 2021-04-01
+     * @format date
+     */
+    start?: string;
+  }[];
+  domain?: SchemasDomainName;
+};
+
+export type DomainResponseCollection = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+  result_info?: {
+    /**
+     * @example 1
+     */
+    count?: void;
+    /**
+     * @example 1
+     */
+    page?: void;
+    /**
+     * @example 100
+     */
+    per_page?: void;
+    /**
+     * @example 1
+     */
+    total_count?: void;
+  };
+};
+
+export type DomainResponseCollectionZmR2fzja = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type DomainResponseSingle = ApiResponseSingleSJaluEU5 & {
+  result?: Record<string, any>;
+};
+
+export type DomainResponseSingleFb0rsuc8 = {
+  errors: Messages;
+  messages: Messages;
+  result: DomainSjfI1GKj;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type DomainComponentsSchemasDomain = {
+  additional_information?: AdditionalInformation;
+  application?: ApplicationIDJD2oSO;
+  content_categories?: ContentCategories;
+  domain?: SchemasDomainName;
+  popularity_rank?: PopularityRank;
+  resolves_to_refs?: ResolvesToRefs;
+  risk_score?: RiskScore;
+  risk_types?: RiskTypes;
+};
+
+export type DomainComponentsSchemasSingleResponse = ApiResponseSingleLarS7owG & {
+  result?: DomainComponentsSchemasDomain;
+};
+
+/**
+ * Identifer of the Worker Domain.
+ *
+ * @example dbe10b4bc17c295377eabd600e1787fd
+ */
+export type DomainIdentifier = void;
+
+/**
+ * Name of the domain.
+ *
+ * @example this-is-my-domain-01.com
+ * @pattern ^[a-z0-9][a-z0-9-]*$
+ */
+export type DomainName = string;
+
+/**
+ * Domain name.
+ *
+ * @example cloudflare.com
+ */
+export type DomainNamePfybr7Cq = string;
+
+/**
+ * List of domain names.
+ *
+ * @example cloudflare.com
+ * @example cloudflare.net
+ */
+export type DomainNames = string[];
+
+export type DomainProperties = {
+  available?: SchemasAvailable;
+  can_register?: CanRegister;
+  created_at?: ComponentsSchemasCreatedAt;
+  current_registrar?: CurrentRegistrar;
+  expires_at?: ExpiresAt;
+  id?: SchemasDomainIdentifier;
+  locked?: Locked;
+  registrant_contact?: RegistrantContact;
+  registry_statuses?: RegistryStatuses;
+  supported_tld?: SupportedTld;
+  transfer_in?: TransferIn;
+  updated_at?: ComponentsSchemasUpdatedAt;
+};
+
+export type DomainResponseCollection = ApiResponseCollection & {
+  result?: Domains[];
+};
+
+export type DomainResponseSingle = ApiResponseSingleLarS7owG & {
+  result?: Record<string, any>;
+};
+
+/**
+ * Match an entire email domain.
+ */
+export type DomainRule = {
+  email_domain: {
+    /**
+     * The email domain to match.
+     *
+     * @example example.com
+     */
+    domain: string;
+  };
+};
+
+export type DomainUpdateProperties = {
+  auto_renew?: AutoRenew;
+  locked?: Locked;
+  name_servers?: NameServers;
+  privacy?: Privacy;
+};
+
+export type Domains = DomainProperties;
+
+/**
+ * @example {"name":"example.com"}
+ */
+export type DomainsPost = void;
+
+/**
+ * The source URL for a downloaded image. If the watermark profile was created via direct upload, this field is null.
+ *
+ * @example https://company.com/logo.png
+ */
+export type DownloadedFrom = string;
+
+export type DownloadsResponse = ApiResponseSingleYdRGfgTy & {
+  result?: Record<string, any>;
+};
+
+/**
+ * Full DS record.
+ *
+ * @example example.com. 3600 IN DS 16953 13 2 48E939042E82C22542CB377B580DFDC52A361CEFDC72E7F9107E2B6BD9306A45
+ */
+export type Ds = string | null;
+
+/**
+ * The duration of the video in seconds. A value of `-1` means the duration is unknown. The duration becomes available after the upload and before the video is ready.
+ */
+export type Duration = number;
+
+/**
+ * The duration of the plan subscription.
+ *
+ * @example 1
+ */
+export type DurationUvPDdO2C = number;
+
+export type DynamicRedirectRulesComponentsSchemasRule = {
+  /**
+   * @example redirect
+   */
+  action?: void;
+  action_parameters?: ComponentsSchemasActionParameters;
+  /**
+   * @example Blog redirect
+   */
+  description?: void;
+  /**
+   * @example http.request.uri.path == "/blog"
+   */
+  expression?: void;
+  /**
+   * @example 3a03d665bac047339bb530ecb439a90d
+   */
+  id?: void;
+  /**
+   * @example 1
+   */
+  version?: void;
+};
+
+/**
+ * When enabled, Cloudflare will attempt to speed up overall page loads by serving `103` responses with `Link` headers from the final response. Refer to [Early Hints](https://developers.cloudflare.com/cache/about/early-hints) for more information.
+ */
+export type EarlyHints = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example early_hints
+   */
+  id: 'early_hints';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: EarlyHintsValue;
+};
+
+/**
+ * Value of the zone setting.
+ *
+ * @default off
+ */
+export type EarlyHintsValue = 'on' | 'off';
+
+/**
+ * Set if the location needs to resolve EDNS queries.
+ *
+ * @example false
+ */
+export type EcsSupport = boolean;
+
+/**
+ * Forward client IP (resolver) subnet if no EDNS Client Subnet is sent.
+ *
+ * @example false
+ */
+export type EcsFallback = boolean;
+
+/**
+ * Time (in seconds) that a resource will be ensured to remain on Cloudflare's cache servers.
+ */
+export type EdgeCacheTtl = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example edge_cache_ttl
+   */
+  id: 'edge_cache_ttl';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: EdgeCacheTtlValue;
+};
+
+/**
+ * Value of the zone setting.
+ * Notes: The minimum TTL available depends on the plan level of the zone. (Enterprise = 30, Business = 1800, Pro = 3600, Free = 7200)
+ *
+ * @default 7200
+ */
+export type EdgeCacheTtlValue =
+  | 30
+  | 60
+  | 300
+  | 1200
+  | 1800
+  | 3600
+  | 7200
+  | 10800
+  | 14400
+  | 18000
+  | 28800
+  | 43200
+  | 57600
+  | 72000
+  | 86400
+  | 172800
+  | 259200
+  | 345600
+  | 432000
+  | 518400
+  | 604800;
+
+/**
+ * The anycast edge IP configuration for the hostname of this application.
+ *
+ * @default {"connectivity":"all","type":"dynamic"}
+ */
+export type EdgeIps =
+  | {
+      /**
+       * The IP versions supported for inbound connections on Spectrum anycast IPs.
+       *
+       * @example all
+       */
+      connectivity?: 'all' | 'ipv4' | 'ipv6';
+      /**
+       * The type of edge IP configuration specified. Dynamically allocated edge IPs use Spectrum anycast IPs in accordance with the connectivity you specify. Only valid with CNAME DNS names.
+       *
+       * @example dynamic
+       */
+      type?: 'dynamic';
+    }
+  | {
+      /**
+       * The array of customer owned IPs we broadcast via anycast for this hostname and application.
+       *
+       * @example 192.0.2.1
+       */
+      ips?: string[];
+      /**
+       * The type of edge IP configuration specified. Statically allocated edge IPs use customer IPs in accordance with the ips array you specify. Only valid with ADDRESS DNS names.
+       *
+       * @example static
+       */
+      type?: 'static';
+    };
+
+/**
+ * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+ *
+ * @default true
+ */
+export type Editable = true | false;
+
+/**
+ * Allow or deny operations against the resources.
+ *
+ * @example allow
+ */
+export type Effect = 'allow' | 'deny';
+
+export type EgsPagination = {
+  /**
+   * The page number of paginated results.
+   *
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * The maximum number of results per page. You can only set the value to `1` or to a multiple of 5 such as `5`, `10`, `15`, or `20`.
+   *
+   * @default 20
+   * @maximum 1000
+   * @minimum 1
+   */
+  per_page?: number;
+};
+
+export type EitherProfileResponse = ApiResponseSingleUypB4bgI & {
+  result?: PredefinedProfile | CustomProfile | IntegrationProfile;
+};
+
+export type EitherProfileResponseLHJWqKkQ = ApiResponseSingleLarS7owG & {
+  result?: PredefinedProfile | CustomProfile;
+};
+
+export type Eligibility = {
+  eligible?: Eligible;
+  ready?: Ready;
+  type?: EligibilityComponentsSchemasType;
+};
+
+export type EligibilityComponentsSchemasResponseCollection = ApiResponseCollection & {
+  /**
+   * @example {"email":{"eligible":true,"ready":true,"type":"email"}}
+   */
+  result?: {
+    [key: string]: Eligibility[];
+  };
+};
+
+/**
+ * Determines type of delivery mechanism.
+ *
+ * @example email
+ */
+export type EligibilityComponentsSchemasType = 'email' | 'pagerduty' | 'webhook';
+
+/**
+ * Determines whether or not the account is eligible for the delivery mechanism.
+ *
+ * @example true
+ */
+export type Eligible = boolean;
+
+/**
+ * The email address of the authenticating user.
+ *
+ * @example user@example.com
+ * @format email
+ */
+export type Email = string;
+
+/**
+ * The contact email address of the user.
+ *
+ * @example user@example.com
+ * @maxLength 90
+ */
+export type EmailHj6ruiEO = string;
+
+/**
+ * The contact email address of the user.
+ *
+ * @example user@example.com
+ * @maxLength 90
+ */
+export type EmailPuzf53IC = string;
+
+/**
+ * The contact email address of the user.
+ *
+ * @example user@example.com
+ * @maxLength 90
+ */
+export type EmailQw65SH2N = string;
+
+/**
+ * The date and time the settings have been created.
+ *
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
+ */
+export type EmailSettingCreated = string;
+
+/**
+ * State of the zone settings for Email Routing.
+ *
+ * @default true
+ * @example true
+ */
+export type EmailSettingEnabled = true | false;
+
+/**
+ * Email Routing settings identifier.
+ *
+ * @example 75610dab9e69410a82cf7e400a09ecec
+ * @maxLength 32
+ */
+export type EmailSettingIdentifier = string;
+
+/**
+ * The date and time the settings have been modified.
+ *
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
+ */
+export type EmailSettingModified = string;
+
+/**
+ * Domain of your zone.
+ *
+ * @example example.net
+ */
+export type EmailSettingName = string;
+
+/**
+ * Flag to check if the user skipped the configuration wizard.
+ *
+ * @default true
+ * @example true
+ */
+export type EmailSettingSkipWizard = true | false;
+
+/**
+ * Show the state of your account, and the type or configuration error.
+ *
+ * @example ready
+ */
+export type EmailSettingStatus = 'ready' | 'unconfigured' | 'misconfigured' | 'misconfigured/locked' | 'unlocked';
+
+export type EmailSettingsProperties = {
+  created?: EmailSettingCreated;
+  enabled?: EmailSettingEnabled;
+  modified?: EmailSettingModified;
+  name?: EmailSettingName;
+  skip_wizard?: EmailSettingSkipWizard;
+  status?: EmailSettingStatus;
+  tag?: EmailSettingIdentifier;
+};
+
+export type EmailSettingsResponseSingle = ApiResponseSingleSiIqFfOd & {
+  result?: SettingsPG6mq1EP;
+};
+
+/**
+ * Encrypt email adresses on your web page from bots, while keeping them visible to humans. (https://support.cloudflare.com/hc/en-us/articles/200170016).
+ */
+export type EmailObfuscation = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example email_obfuscation
+   */
+  id: 'email_obfuscation';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: EmailObfuscationValue;
+};
+
+/**
+ * Value of the zone setting.
+ *
+ * @default on
+ */
+export type EmailObfuscationValue = 'on' | 'off';
+
+/**
+ * Matches a specific email.
+ */
+export type EmailRule = {
+  email: {
+    /**
+     * The email of the user.
+     *
+     * @example test@example.com
+     * @format email
+     */
+    email: string;
+  };
+};
+
+export type EmptyResponse = {
+  /**
+   * @example true
+   */
+  result?: true | false;
+  /**
+   * @example true
+   */
+  success?: true | false;
+};
+
+export type EmptyResponseCbHVcloB = ApiResponseCollection & {
+  /**
+   * @maxItems 0
+   */
+  result?: any[];
+};
+
+export type EmptyResponseXlOHTEms = ApiResponseSingleVxjnpV7r & {
+  result?: Record<string, any>;
+};
+
+/**
+ * Enables the binding cookie, which increases security against compromised authorization tokens and CSRF attacks.
+ *
+ * @default false
+ */
+export type EnableBindingCookie = boolean;
+
+export type EnableTransferResponse = ApiResponseSingleWkFwqHKI & {
+  result?: EnableTransferResult;
+};
+
+/**
+ * The zone transfer status of a primary zone
+ *
+ * @example Enabled
+ */
+export type EnableTransferResult = string;
+
+/**
+ * When true, indicates that Page Shield is enabled.
+ *
+ * @example true
+ */
+export type Enabled = boolean;
+
+/**
+ * Whether or not the Keyless SSL is on or off.
+ *
+ * @example false
+ */
+export type Enabled3YyasMQY = boolean;
+
+/**
+ * Whether or not the Keyless SSL is on or off.
+ *
+ * @example false
+ */
+export type EnabledJNPAumTy = boolean;
+
+/**
+ * Flag that indicates if the job is enabled.
+ *
+ * @example false
+ */
+export type EnabledKv09N7E6 = boolean;
+
+/**
+ * Whether to enable (the default) or disable this pool. Disabled pools will not receive traffic and are excluded from health checks. Disabling a pool will cause any load balancers using it to failover to the next pool (if any).
+ *
+ * @default true
+ * @example false
+ */
+export type EnabledMECT4zDK = boolean;
+
+/**
+ * Whether the Address Map is enabled or not. Cloudflare's DNS will not respond with IP addresses on an Address Map until the map is enabled.
+ *
+ * @default false
+ * @example true
+ */
+export type EnabledMHW1g4wi = boolean | null;
+
+/**
+ * Set if the rule is enabled.
+ *
+ * @example true
+ */
+export type EnabledQcoBB5YJ = boolean;
+
+/**
+ * Set to enable antivirus scan on downloads.
+ *
+ * @example false
+ */
+export type EnabledDownloadPhase = boolean;
+
+export type EnabledResponse = ApiResponseSingleZZHeSkIR & {
+  result?: {
+    enabled?: ZoneAuthenticatedOriginPullComponentsSchemasEnabled;
+  };
+};
+
+export type EnabledResponse1PjNFSXh = ApiResponseSingleLarS7owG & {
+  result?: {
+    enabled?: ZoneAuthenticatedOriginPullComponentsSchemasEnabled;
+  };
+};
+
+/**
+ * Set to enable antivirus scan on uploads.
+ *
+ * @example false
+ */
+export type EnabledUploadPhase = boolean;
+
+/**
+ * Whether or not the Keyless SSL is on or off.
+ *
+ * @deprecated true
+ * @example false
+ */
+export type EnabledWrite = boolean;
+
+/**
+ * Sets the (exclusive) end of the requested time frame. This can be a unix timestamp (in seconds or nanoseconds), or an absolute timestamp that conforms to RFC 3339. `end` must be at least five minutes earlier than now and must be later than `start`. Difference between `start` and `end` must be not greater than one hour.
+ *
+ * @example 2018-05-20T10:01:00Z
+ */
+export type End = string | number;
+
+/**
+ * Specifies the end time for the video clip in seconds.
+ */
+export type EndTimeSeconds = number;
+
+/**
+ * The endpoint which can contain path parameter templates in curly braces, each will be replaced from left to right with {varN}, starting with {var1}, during insertion. This will further be Cloudflare-normalized upon insertion. See: https://developers.cloudflare.com/rules/normalization/how-it-works/.
+ *
+ * @example /api/v1/users/{var1}
+ * @format uri-template
+ * @maxLength 4096
+ * @pattern ^/.*$
+ */
+export type Endpoint = string;
+
+/**
+ * UUID
+ *
+ * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
+ * @maxLength 36
+ */
+export type EntryId = Uuid;
+
+/**
+ * Worker environment associated with the zone and hostname.
+ *
+ * @example production
+ */
+export type Environment = string;
+
+/**
+ * Errors resulting from collecting traceroute from colo to target.
+ *
+ * @example
+ */
+export type Error =
+  | ''
+  | 'Could not gather traceroute data: Code 1'
+  | 'Could not gather traceroute data: Code 2'
+  | 'Could not gather traceroute data: Code 3'
+  | 'Could not gather traceroute data: Code 4';
+
+/**
+ * Specifies why the video failed to encode. This field is empty if the video is not in an `error` state. Preferred for programmatic use.
+ *
+ * @example ERR_NON_VIDEO
+ */
+export type ErrorReasonCode = string;
+
+/**
+ * Specifies why the video failed to encode using a human readable error message in English. This field is empty if the video is not in an `error` state.
+ *
+ * @example The file was not recognized as a valid video file.
+ */
+export type ErrorReasonText = string;
+
+/**
+ * If not null, the job is currently failing. Failures are usually repetitive (example: no permissions to write to destination bucket). Only the last failure is recorded. On successful execution of a job the error_message and last_error are set to null.
+ *
+ * @format date-time
+ */
+export type ErrorMessage = string | null;
+
+export type EstimatedQueuedUsers = number;
+
+export type EstimatedTotalActiveUsers = number;
+
+/**
+ * A digest of the IP data. Useful for determining if the data has changed.
+ *
+ * @example a8e453d9d129a3769407127936edfdb0
+ */
+export type Etag = string;
+
+/**
+ * Hashed script content, can be used in a If-None-Match header when updating.
+ *
+ * @example ea95132c15732412d22c1476fa83f27a
+ */
+export type EtagCXrJI57j = string;
+
+/**
+ * If set, the event will override the waiting room's `custom_page_html` property while it is active. If null, the event will inherit it.
+ *
+ * @example {{#waitTimeKnown}} {{waitTime}} mins {{/waitTimeKnown}} {{^waitTimeKnown}} Event is prequeueing / Queue all enabled {{/waitTimeKnown}}
+ */
+export type EventCustomPageHtml = string | null;
+
+/**
+ * A note that you can use to add more details about the event.
+ *
+ * @default
+ * @example Production event - DO NOT MODIFY
+ */
+export type EventDescription = string;
+
+/**
+ * @example {{#waitTimeKnown}} {{waitTime}} mins {{/waitTimeKnown}} {{^waitTimeKnown}} Event is prequeueing / Queue all enabled {{/waitTimeKnown}}
+ */
+export type EventDetailsCustomPageHtml = string;
+
+/**
+ * @example false
+ */
+export type EventDetailsDisableSessionRenewal = boolean;
+
+export type EventDetailsNewUsersPerMinute = number;
+
+/**
+ * @example random
+ */
+export type EventDetailsQueueingMethod = string;
+
+export type EventDetailsResponse = ApiResponseSinglePn9rJJNX & {
+  result?: EventDetailsResult;
+};
+
+export type EventDetailsResult = {
+  created_on?: Timestamp;
+  custom_page_html?: EventDetailsCustomPageHtml;
+  description?: EventDescription;
+  disable_session_renewal?: EventDetailsDisableSessionRenewal;
+  event_end_time?: EventEndTime;
+  event_start_time?: EventStartTime;
+  id?: EventId;
+  modified_on?: Timestamp;
+  name?: EventName;
+  new_users_per_minute?: EventDetailsNewUsersPerMinute;
+  prequeue_start_time?: EventPrequeueStartTime;
+  queueing_method?: EventDetailsQueueingMethod;
+  session_duration?: EventDetailsSessionDuration;
+  shuffle_at_event_start?: EventShuffleAtEventStart;
+  suspended?: EventSuspended;
+  total_active_users?: EventDetailsTotalActiveUsers;
+};
+
+export type EventDetailsSessionDuration = number;
+
+export type EventDetailsTotalActiveUsers = number;
+
+/**
+ * If set, the event will override the waiting room's `disable_session_renewal` property while it is active. If null, the event will inherit it.
+ */
+export type EventDisableSessionRenewal = boolean | null;
+
+/**
+ * An ISO 8601 timestamp that marks the end of the event.
+ *
+ * @example 2021-09-28T17:00:00.000Z
+ */
+export type EventEndTime = string;
+
+/**
+ * @example 25756b2dfe6e378a06b033b670413757
+ */
+export type EventId = void;
+
+export type EventIdResponse = ApiResponseSinglePn9rJJNX & {
+  result?: {
+    id?: EventId;
+  };
+};
+
+/**
+ * A unique name to identify the event. Only alphanumeric characters, hyphens and underscores are allowed.
+ *
+ * @example production_webinar_event
+ */
+export type EventName = string;
+
+/**
+ * If set, the event will override the waiting room's `new_users_per_minute` property while it is active. If null, the event will inherit it. This can only be set if the event's `total_active_users` property is also set.
+ *
+ * @maximum 2147483647
+ * @minimum 200
+ */
+export type EventNewUsersPerMinute = number | null;
+
+/**
+ * An ISO 8601 timestamp that marks when to begin queueing all users before the event starts. The prequeue must start at least five minutes before `event_start_time`.
+ *
+ * @example 2021-09-28T15:00:00.000Z
+ */
+export type EventPrequeueStartTime = string | null;
+
+/**
+ * If set, the event will override the waiting room's `queueing_method` property while it is active. If null, the event will inherit it.
+ *
+ * @example random
+ */
+export type EventQueueingMethod = string | null;
+
+export type EventResponse = ApiResponseSinglePn9rJJNX & {
+  result?: EventResult;
+};
+
+export type EventResponseCollection = ApiResponseCollection & {
+  result?: EventResult[];
+};
+
+export type EventResult = {
+  created_on?: Timestamp;
+  custom_page_html?: EventCustomPageHtml;
+  description?: EventDescription;
+  disable_session_renewal?: EventDisableSessionRenewal;
+  event_end_time?: EventEndTime;
+  event_start_time?: EventStartTime;
+  id?: EventId;
+  modified_on?: Timestamp;
+  name?: EventName;
+  new_users_per_minute?: EventNewUsersPerMinute;
+  prequeue_start_time?: EventPrequeueStartTime;
+  queueing_method?: EventQueueingMethod;
+  session_duration?: EventSessionDuration;
+  shuffle_at_event_start?: EventShuffleAtEventStart;
+  suspended?: EventSuspended;
+  total_active_users?: EventTotalActiveUsers;
+};
+
+/**
+ * If set, the event will override the waiting room's `session_duration` property while it is active. If null, the event will inherit it.
+ *
+ * @maximum 30
+ * @minimum 1
+ */
+export type EventSessionDuration = number | null;
+
+/**
+ * If enabled, users in the prequeue will be shuffled randomly at the `event_start_time`. Requires that `prequeue_start_time` is not null. This is useful for situations when many users will join the event prequeue at the same time and you want to shuffle them to ensure fairness. Naturally, it makes the most sense to enable this feature when the `queueing_method` during the event respects ordering such as **fifo**, or else the shuffling may be unnecessary.
+ *
+ * @default false
+ */
+export type EventShuffleAtEventStart = boolean;
+
+/**
+ * An ISO 8601 timestamp that marks the start of the event. At this time, queued users will be processed with the event's configuration. The start time must be at least one minute before `event_end_time`.
+ *
+ * @example 2021-09-28T15:30:00.000Z
+ */
+export type EventStartTime = string;
+
+/**
+ * Suspends or allows an event. If set to `true`, the event is ignored and traffic will be handled based on the waiting room configuration.
+ *
+ * @default false
+ */
+export type EventSuspended = boolean;
+
+/**
+ * If set, the event will override the waiting room's `total_active_users` property while it is active. If null, the event will inherit it. This can only be set if the event's `new_users_per_minute` property is also set.
+ *
+ * @maximum 2147483647
+ * @minimum 200
+ */
+export type EventTotalActiveUsers = number | null;
+
+/**
+ * Matches everyone.
+ */
+export type EveryoneRule = {
+  /**
+   * An empty object which matches on all users.
+   *
+   * @example {}
+   */
+  everyone: Record<string, any>;
+};
+
+/**
+ * Rules evaluated with a NOT logical operator. To match a policy, a user cannot meet any of the Exclude rules.
+ */
+export type Exclude = Rule[];
+
+/**
+ * Rules evaluated with a NOT logical operator. To match a policy, a user cannot meet any of the Exclude rules.
+ */
+export type ExcludeW6GORlYf = RuleComponentsSchemasRule[];
+
+export type ExcludeRjxLDhaP = SplitTunnel[];
+
+/**
+ * Whether to add Microsoft IPs to split tunnel exclusions.
+ *
+ * @example true
+ */
+export type ExcludeOfficeIps = boolean;
+
+/**
+ * If provided, include only tunnels that were created (and not deleted) before this time.
+ *
+ * @example 2019-10-12T07:20:50.52Z
+ * @format date-time
+ */
+export type ExistedAt = string;
+
+/**
+ * A case-insensitive sub-string to look for in the response body. If this string is not found, the origin will be marked as unhealthy. This parameter is only valid for HTTP and HTTPS monitors.
+ *
+ * @example alive
+ */
+export type ExpectedBody = string;
+
+/**
+ * The expected HTTP response code or code range of the health check. This parameter is only valid for HTTP and HTTPS monitors.
+ *
+ * @default 200
+ * @example 2xx
+ */
+export type ExpectedCodes = string;
+
+/**
+ * Sets the expiration time for a posture check result. If empty, the result remains valid until it is overwritten by new data from the WARP client.
+ *
+ * @example 1h
+ */
+export type Expiration = string;
+
+/**
+ * The time, measured in number of seconds since the UNIX epoch, at which the key should expire.
+ *
+ * @example 1578435000
+ */
+export type Expiration4507z3vp = number;
+
+/**
+ * The number of seconds for which the key should be visible before it expires. At least 60.
+ *
+ * @example 300
+ */
+export type ExpirationTtl = number;
+
+/**
+ * Date that the Client Certificate expires
+ *
+ * @example 2033-02-20T23:18:00Z
+ */
+export type ExpiredOn = string;
+
+/**
+ * Shows when domain name registration expires.
+ *
+ * @example 2019-08-28T23:59:59Z
+ * @format date-time
+ */
+export type ExpiresAt = string;
+
+/**
+ * When the certificate from the authority expires.
+ *
+ * @example 2016-01-01T05:20:00Z
+ * @format date-time
+ */
+export type ExpiresOn = string;
+
+/**
+ * The expiration time on or after which the JWT MUST NOT be accepted for processing.
+ *
+ * @example 2020-01-01T00:00:00Z
+ * @format date-time
+ */
+export type ExpiresOnZ3utPxP0 = string;
+
+/**
+ * The filter expression. For more information, refer to [Expressions](https://developers.cloudflare.com/ruleset-engine/rules-language/expressions/).
+ *
+ * @example (http.request.uri.path ~ ".*wp-login.php" or http.request.uri.path ~ ".*xmlrpc.php") and ip.addr ne 172.16.22.155
+ */
+export type Expression = string;
+
+/**
+ * Indicates whether this plan is managed externally.
+ *
+ * @default false
+ * @example false
+ */
+export type ExternallyManaged = boolean;
+
+export type Facebook = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: GenericOauthConfig;
+  id?: Uuid;
+  name: SchemasNameIXVfNmuB;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
+     */
+    group_member_deprovision?: boolean;
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type: string;
+};
+
+/**
+ * Block requests for files that cannot be scanned.
+ *
+ * @example false
+ */
+export type FailClosed = boolean;
+
+export type FailedLoginResponse = ApiResponseCollection & {
+  result?: {
+    expiration?: number;
+    /**
+     * @example {"app_name":"Test App","aud":"39691c1480a2352a18ece567debc2b32552686cbd38eec0887aa18d5d3f00c04","datetime":"2022-02-02T21:54:34.914Z","ray_id":"6d76a8a42ead4133","user_email":"test@cloudflare.com","user_uuid":"57171132-e453-4ee8-b2a5-8cbaad333207"}
+     */
+    metadata?: Record<string, any>;
+  }[];
+};
+
+/**
+ * The current failure reason if status is unhealthy.
+ *
+ * @example
+ */
+export type FailureReason = string;
+
+export type FallbackDomain = {
+  /**
+   * A description of the fallback domain, displayed in the client UI.
+   *
+   * @example Domain bypass for local development
+   * @maxLength 100
+   */
+  description?: string;
+  /**
+   * A list of IP addresses to handle domain resolution.
+   */
+  dns_server?: any[];
+  /**
+   * The domain suffix to match when resolving locally.
+   *
+   * @example example.com
+   */
+  suffix: string;
+};
+
+export type FallbackDomainResponseCollection = ApiResponseCollection & {
+  result?: FallbackDomain[];
+};
+
+export type FallbackDomains = FallbackDomain[];
+
+export type FallbackOriginResponse = ApiResponseSingleZZHeSkIR & {
+  result?: Record<string, any>;
+};
+
+export type FallbackOriginResponse8FEJU4mq = ApiResponseSingleLarS7owG & {
+  result?: Record<string, any>;
+};
+
+/**
+ * The pool ID to use when all other pools are detected as unhealthy.
+ */
+export type FallbackPool = void;
+
+/**
+ * Contact fax number.
+ *
+ * @example 123-867-5309
+ */
+export type Fax = string;
+
+export type FeatureAppProps = {
+  allowed_idps?: AllowedIdps;
+  auto_redirect_to_identity?: SchemasAutoRedirectToIdentity;
+  domain?: Domain;
+  name?: AppsComponentsSchemasName;
+  session_duration?: SessionDuration;
+  type: TypeOK1aJkK3;
+};
+
+export type FeatureAppPropsC4QFi3fN = {
+  allowed_idps?: AllowedIdps;
+  auto_redirect_to_identity?: AutoRedirectToIdentityB0IhfGBw;
+  domain?: SchemasDomainA7q0ZzCX;
+  name?: AppsComponentsSchemasName;
+  session_duration?: SessionDuration;
+  type?: AppsComponentsSchemasType;
+};
+
+export type Features = Thresholds | ParameterSchemas;
+
+/**
+ * The timestamp of when the script was last fetched.
+ */
+export type FetchedAt = string | null;
+
+/**
+ * Comma-separated list of fields.
+ *
+ * @example ClientIP,ClientRequestHost,ClientRequestMethod,ClientRequestURI,EdgeEndTimestamp,EdgeResponseBytes,EdgeResponseStatus,EdgeStartTimestamp,RayID
+ */
+export type Fields = string;
+
+export type FieldsResponse = {
+  /**
+   * @example value
+   */
+  key?: string;
+};
+
+/**
+ * Image file name.
+ *
+ * @example logo.png
+ * @maxLength 32
+ */
+export type Filename = string;
+
+/**
+ * Filters to drill down into specific events.
+ *
+ * @example {"where":{"and":[{"key":"ClientCountry","operator":"neq","value":"ca"}]}}
+ */
+export type Filter = string;
+
+export type FilterDeleteResponseCollection = ApiResponseCollection & {
+  result?: {
+    description?: FiltersComponentsSchemasDescription;
+    expression?: Expression;
+    id: FiltersComponentsSchemasId;
+    paused?: FiltersComponentsSchemasPaused;
+    ref?: SchemasRef;
+  }[];
+};
+
+export type FilterDeleteResponseSingle = ApiResponseSingleLarS7owG & {
+  result: {
+    description?: FiltersComponentsSchemasDescription;
+    expression?: Expression;
+    id: FiltersComponentsSchemasId;
+    paused?: FiltersComponentsSchemasPaused;
+    ref?: SchemasRef;
+  };
+};
+
+export type FilterNoId = {
+  enabled: FiltersComponentsSchemasEnabled;
+  pattern: SchemasPattern;
+};
+
+export type FilterResponseCollection = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type FilterResponseSingle = ApiResponseSingleLarS7owG & {
+  result?: FiltersGBQgbSgB;
+};
+
+export type FilterRuleBase = {
+  action?: ComponentsSchemasAction;
+  description?: FirewallRulesComponentsSchemasDescription;
+  id?: FirewallRulesComponentsSchemasId;
+  paused?: ComponentsSchemasPaused;
+  priority?: FirewallRulesComponentsSchemasPriority;
+  products?: Products;
+  ref?: Ref;
+};
+
+export type FilterRuleResponse = FilterRuleBase & {
+  filter?: FilterYvYniAZC | DeletedFilter;
+};
+
+export type FilterRulesResponseCollection = ApiResponseCollection & {
+  result: (FilterRuleResponse & Record<string, any>)[];
+};
+
+export type FilterRulesResponseCollectionDelete = ApiResponseCollection & {
+  result: (FilterRuleResponse & Record<string, any>)[];
+};
+
+export type FilterRulesSingleResponse = ApiResponseSingleLarS7owG & {
+  result: FilterRuleResponse & Record<string, any>;
+};
+
+export type FilterRulesSingleResponseDelete = ApiResponseSingleLarS7owG & {
+  result: FilterRuleResponse & Record<string, any>;
+};
+
+export type FilterYvYniAZC = {
+  description?: FiltersComponentsSchemasDescription;
+  expression?: Expression;
+  id?: FiltersComponentsSchemasId;
+  paused?: FiltersComponentsSchemasPaused;
+  ref?: SchemasRef;
+};
+
+/**
+ * Filter options for a particular resource type (pool or origin). Use null to reset.
+ */
+export type FilterOptions = {
+  /**
+   * If set true, disable notifications for this type of resource (pool or origin).
+   *
+   * @default false
+   */
+  disable?: boolean;
+  /**
+   * If present, send notifications only for this health status (e.g. false for only DOWN events). Use null to reset (all events).
+   */
+  healthy?: boolean | null;
+} | null;
+
+/**
+ * Segmentation filter in 'attribute operator value' format.
+ *
+ * @example responseCode==NOERROR,queryType==A
+ */
+export type Filters = string;
+
+/**
+ * The protocol or layer to evaluate the traffic, identity, and device posture expressions.
+ *
+ * @example http
+ */
+export type FiltersUTAknCFs = ('http' | 'dns' | 'l4' | 'egress')[];
+
+export type FiltersGBQgbSgB = {
+  enabled: FiltersComponentsSchemasEnabled;
+  id: CommonComponentsSchemasIdentifier;
+  pattern: SchemasPattern;
+};
+
+/**
+ * An informative summary of the filter.
+ *
+ * @example Restrict access from these browsers on this address range.
+ * @maxLength 500
+ */
+export type FiltersComponentsSchemasDescription = string;
+
+/**
+ * @example true
+ */
+export type FiltersComponentsSchemasEnabled = boolean;
+
+/**
+ * The unique identifier of the filter.
+ *
+ * @example 372e67954025e0ba6aaa6d586b9e0b61
+ * @maxLength 32
+ * @minLength 32
+ */
+export type FiltersComponentsSchemasId = string;
+
+/**
+ * When true, indicates that the filter is currently paused.
+ *
+ * @example false
+ */
+export type FiltersComponentsSchemasPaused = boolean;
+
+/**
+ * The MD5 fingerprint of the certificate.
+ *
+ * @example MD5 Fingerprint=1E:80:0F:7A:FD:31:55:96:DE:D5:CB:E2:F0:91:F6:91
+ */
+export type Fingerprint = string;
+
+/**
+ * Unique identifier of the Client Certificate
+ *
+ * @example 256c24690243359fb8cf139a125bd05ebf1d968b71e4caf330718e9f5c8a89ea
+ */
+export type FingerprintSha256 = string;
+
+/**
+ * FIPS settings.
+ */
+export type FipsSettings = {
+  /**
+   * Enable only cipher suites and TLS versions compliant with FIPS 140-2.
+   *
+   * @example true
+   */
+  tls?: boolean;
+};
+
+/**
+ * An informative summary of the firewall rule.
+ *
+ * @example Blocks traffic identified during investigation for MIR-31
+ * @maxLength 500
+ */
+export type FirewallRulesComponentsSchemasDescription = string;
+
+/**
+ * The unique identifier of the firewall rule.
+ *
+ * @example 372e67954025e0ba6aaa6d586b9e0b60
+ * @maxLength 32
+ */
+export type FirewallRulesComponentsSchemasId = string;
+
+/**
+ * The priority of the rule. Optional value used to define the processing order. A lower number indicates a higher priority. If not provided, rules with a defined priority will be processed before rules without a priority.
+ *
+ * @example 50
+ * @maximum 2147483647
+ * @minimum 0
+ */
+export type FirewallRulesComponentsSchemasPriority = number;
+
+export type Firewalluablock = {
+  configuration?: ComponentsSchemasConfiguration;
+  description?: UaRulesComponentsSchemasDescription;
+  id?: UaRulesComponentsSchemasId;
+  mode?: UaRulesComponentsSchemasMode;
+  paused?: SchemasPaused;
+};
+
+export type FirewalluablockResponseCollection = ApiResponseCollection & {
+  result?: UaRules[];
+};
+
+export type FirewalluablockResponseSingle = ApiResponseSingleLarS7owG & {
+  result?: Record<string, any>;
+};
+
+/**
+ * User's first name
+ *
+ * @example John
+ * @maxLength 60
+ */
+export type FirstName = string | null;
+
+/**
+ * The fit property describes how the width and height dimensions should be interpreted.
+ *
+ * @example scale-down
+ */
+export type Fit = 'scale-down' | 'contain' | 'cover' | 'crop' | 'pad';
+
+/**
+ * The log retention flag for Logpull API.
+ *
+ * @example true
+ */
+export type Flag = boolean;
+
+export type FlagResponse = ApiResponseSingleLarS7owG & {
+  result?: {
+    /**
+     * @example true
+     */
+    flag?: boolean;
+  };
+};
+
+/**
+ * Flag for DNSSEC record.
+ *
+ * @example 257
+ */
+export type Flags = number | null;
+
+/**
+ * Follow redirects if returned by the origin. This parameter is only valid for HTTP and HTTPS monitors.
+ *
+ * @default false
+ * @example true
+ */
+export type FollowRedirects = boolean;
+
+export type ForceResponse = ApiResponseSingleWkFwqHKI & {
+  result?: ForceResult;
+};
+
+/**
+ * When force_axfr query parameter is set to true, the response is a simple string
+ *
+ * @example OK
+ */
+export type ForceResult = string;
+
+/**
+ * The frequency at which Cloudflare sends batches of logs to your destination. Setting frequency to high sends your logs in larger quantities of smaller files. Setting frequency to low sends logs in smaller quantities of larger files.
+ *
+ * @default high
+ * @example high
+ */
+export type Frequency = 'high' | 'low' | null;
+
+/**
+ * How often the subscription is renewed automatically.
+ *
+ * @example monthly
+ */
+export type FrequencyATMhv5XI = 'weekly' | 'monthly' | 'quarterly' | 'yearly';
+
+export type FullResponse = ApiResponseSingleZ04EBmfK & {
+  result?: AddressMaps & {
+    ips?: SchemasIps;
+    memberships?: Memberships;
+  };
+};
+
+export type FullResponseVrSr0rHM = ApiResponseSingleLarS7owG & {
+  result?: AddressMapsTAVtBJaW & {
+    ips?: Ips9iuFUAPm;
+    memberships?: Memberships;
+  };
+};
+
+export type GatewayAccountDeviceSettings = {
+  /**
+   * Enable gateway proxy filtering on TCP.
+   *
+   * @example true
+   */
+  gateway_proxy_enabled?: boolean;
+  /**
+   * Enable gateway proxy filtering on UDP.
+   *
+   * @example true
+   */
+  gateway_udp_proxy_enabled?: boolean;
+};
+
+export type GatewayAccountDeviceSettingsResponse = ApiResponseSingleI8cJ1fX8 & {
+  result?: GatewayAccountDeviceSettings;
+};
+
+export type GatewayAccountLoggingSettings = {
+  /**
+   * Redact personally identifiable information from activity logging (PII fields are: source IP, user email, user ID, device ID, URL, referrer, user agent).
+   *
+   * @example true
+   */
+  redact_pii?: boolean;
+  /**
+   * Logging settings by rule type.
+   */
+  settings_by_rule_type?: {
+    /**
+     * Logging settings for DNS firewall.
+     */
+    dns?: Record<string, any>;
+    /**
+     * Logging settings for HTTP/HTTPS firewall.
+     */
+    http?: Record<string, any>;
+    /**
+     * Logging settings for Network firewall.
+     */
+    l4?: Record<string, any>;
+  };
+};
+
+export type GatewayAccountLoggingSettingsResponse = ApiResponseSingleVxjnpV7r & {
+  result?: GatewayAccountLoggingSettings;
+};
+
+/**
+ * account settings.
+ */
+export type GatewayAccountSettings = {
+  /**
+   * account settings.
+   */
+  settings?: {
+    activity_log?: ActivityLogSettings;
+    antivirus?: AntiVirusSettings;
+    block_page?: BlockPageSettings;
+    body_scanning?: BodyScanningSettings;
+    browser_isolation?: BrowserIsolationSettings;
+    custom_certificate?: CustomCertificateSettings;
+    fips?: FipsSettings;
+    tls_decrypt?: TlsSettings;
+  };
+};
+
+export type GatewayAccount = ApiResponseSingleVxjnpV7r & {
+  result?: {
+    gateway_tag?: GatewayTag;
+    id?: CfAccountId;
+    provider_name?: ProviderName;
+  };
+};
+
+export type GatewayAccountConfig = ApiResponseSingleVxjnpV7r & {
+  /**
+   * account settings.
+   */
+  result?: GatewayAccountSettings & {
+    created_at?: Timestamp;
+    updated_at?: Timestamp;
+  };
+};
+
+/**
+ * True if the seat is part of Gateway.
+ *
+ * @example false
+ */
+export type GatewaySeat = boolean;
+
+/**
+ * Gateway internal id.
+ *
+ * @example f174e90afafe4643bbbc4a0ed4fc8415
+ * @maxLength 32
+ */
+export type GatewayTag = string;
+
+/**
+ * @example 699d98642c564d2e855e9661899b7252
+ */
+export type GatewayUniqueId = string;
+
+export type GenericOauthConfig = {
+  /**
+   * Your OAuth Client ID
+   *
+   * @example <your client id>
+   */
+  client_id?: string;
+  /**
+   * Your OAuth Client Secret
+   *
+   * @example <your client secret>
+   */
+  client_secret?: string;
+};
+
+/**
+ * Specify the region where your private key can be held locally for optimal TLS performance. HTTPS connections to any excluded data center will still be fully encrypted, but will incur some latency while Keyless SSL is used to complete the handshake with the nearest allowed data center. Options allow distribution to only to U.S. data centers, only to E.U. data centers, or only to highest security data centers. Default distribution is to all Cloudflare datacenters, for optimal performance.
+ */
+export type GeoRestrictions = {
+  /**
+   * @example us
+   */
+  label?: 'us' | 'eu' | 'highest_security';
+};
+
+export type GetZoneConnectionResponse = Connection;
+
+export type GetZonePolicyResponse = PageshieldPolicy;
+
+export type GetZoneScriptResponse = Script & {
+  /**
+   * @example {"fetched_at":"2021-08-18T10:51:08Z","hash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b423","js_integrity_score":2}
+   */
+  versions?: Version[] | null;
+};
+
+export type GetZoneSettingsResponse = {
+  enabled?: Enabled;
+  updated_at?: UpdatedAt;
+  use_cloudflare_reporting_endpoint?: UseCloudflareReportingEndpoint;
+  use_connection_url_path?: UseConnectionUrlPath;
+};
+
+export type GetOwnershipResponse = {
+  errors: Messages;
+  messages: Messages;
+  result:
+    | {
+        /**
+         * @example logs/challenge-filename.txt
+         */
+        filename?: string;
+        /**
+         * @example
+         */
+        message?: string;
+        /**
+         * @example true
+         */
+        valid?: boolean;
+      }
+    | any[]
+    | string
+    | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type GetResponse = ApiResponseCollection & ZoneMetadata;
+
+export type GetSettingsResponse = ApiResponseSingleUypB4bgI & {
+  result?: {
+    /**
+     * @example EmpOvSXw8BfbrGCi0fhGiD/3yXk2SiV1Nzg2lru3oj0=
+     */
+    public_key: string | null;
+  };
+};
+
+export type GetSettingsResponseGLRUxD06 = ApiResponseSingleLarS7owG & {
+  result?: {
+    /**
+     * @example EmpOvSXw8BfbrGCi0fhGiD/3yXk2SiV1Nzg2lru3oj0=
+     */
+    public_key: string | null;
+  };
+};
+
+export type Github = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: GenericOauthConfig;
+  id?: Uuid;
+  name: SchemasNameIXVfNmuB;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
+     */
+    group_member_deprovision?: boolean;
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type: string;
+};
+
+/**
+ * Matches a Github organization.
+ * Requires a Github identity provider.
+ */
+export type GithubOrganizationRule = {
+  ['github-organization']: {
+    /**
+     * The ID of your Github identity provider.
+     *
+     * @example ea85612a-29c8-46c2-bacb-669d65136971
+     */
+    connection_id: string;
+    /**
+     * The name of the organization.
+     *
+     * @example cloudflare
+     */
+    name: string;
+  };
+};
+
+export type Google = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: GenericOauthConfig;
+  id?: Uuid;
+  name: SchemasNameIXVfNmuB;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
+     */
+    group_member_deprovision?: boolean;
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type: string;
+};
+
+export type GoogleApps = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: GenericOauthConfig & {
+    /**
+     * Your companies TLD
+     *
+     * @example mycompany.com
+     */
+    apps_domain?: string;
+  };
+  id?: Uuid;
+  name: SchemasNameIXVfNmuB;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
+     */
+    group_member_deprovision?: boolean;
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type: string;
+};
+
+/**
+ * @example {"read":true,"write":false}
+ */
+export type Grants = {
+  /**
+   * @example true
+   */
+  read?: boolean;
+  /**
+   * @example true
+   */
+  write?: boolean;
+};
+
+/**
+ * The configuration specific to GRE interconnects.
+ */
+export type Gre = {
+  /**
+   * The IP address assigned to the Cloudflare side of the GRE tunnel created as part of the Interconnect.
+   *
+   * @example 203.0.113.1
+   */
+  cloudflare_endpoint?: string;
+};
+
+export type GreTunnel = {
+  cloudflare_gre_endpoint: CloudflareGreEndpoint;
+  created_on?: SchemasCreatedOn;
+  customer_gre_endpoint: CustomerGreEndpoint;
+  description?: SchemasDescriptionVR40R5E7;
+  health_check?: HealthCheck;
+  id?: SchemasIdentifierRYBwrxr7;
+  interface_address: InterfaceAddress;
+  modified_on?: SchemasModifiedOn;
+  mtu?: Mtu;
+  name: NameBTvYm8cQ;
+  ttl?: Ttl;
+};
+
+export type Group = {
+  description?: GroupComponentsSchemasDescription;
+  id?: GroupComponentsSchemasIdentifier;
+  modified_rules_count?: ModifiedRulesCount;
+  name?: GroupComponentsSchemasName;
+  package_id?: PackageComponentsSchemasIdentifier;
+  rules_count?: RulesCount;
+};
+
+/**
+ * An informative summary of what the rule group does.
+ *
+ * @example Group designed to protect against IP addresses that are a threat and typically used to launch DDoS attacks
+ */
+export type GroupComponentsSchemasDescription = string | null;
+
+/**
+ * The unique identifier of the rule group.
+ *
+ * @example de677e5818985db1285d0e80225f06e5
+ * @maxLength 32
+ */
+export type GroupComponentsSchemasIdentifier = string;
+
+/**
+ * The name of the rule group.
+ *
+ * @example Project Honey Pot
+ */
+export type GroupComponentsSchemasName = string;
+
+export type Groups = {
+  created_at?: Timestamp;
+  exclude?: Exclude;
+  id?: SchemasUuid;
+  include?: Include;
+  name?: ComponentsSchemasNameUYr2s0a0;
+  require?: Require;
+  updated_at?: Timestamp;
+};
+
+/**
+ * An object that allows you to enable or disable WAF rule groups for the current WAF override. Each key of this object must be the ID of a WAF rule group, and each value must be a valid WAF action (usually `default` or `disable`). When creating a new URI-based WAF override, you must provide a `groups` object or a `rules` object.
+ *
+ * @example {"ea8687e59929c1fd05ba97574ad43f77":"default"}
+ */
+export type Groups19vIuPeV = {
+  [key: string]: any;
+};
+
+export type GroupsComponentsSchemasIdResponse = ApiResponseSingleLarS7owG & {
+  result?: {
+    id?: SchemasUuid;
+  };
+};
+
+/**
+ * The name of the Access group.
+ *
+ * @example Allow devs
+ */
+export type GroupsComponentsSchemasName = string;
+
+export type GroupsComponentsSchemasResponseCollection = ApiResponseCollection & {
+  result?: SchemasGroups[];
+};
+
+export type GroupsComponentsSchemasSingleResponse = ApiResponseSingleLarS7owG & {
+  result?: SchemasGroups;
+};
+
+/**
+ * Matches a group in Google Workspace.
+ * Requires a Google Workspace identity provider.
+ */
+export type GsuiteGroupRule = {
+  gsuite: {
+    /**
+     * The ID of your Google Workspace identity provider.
+     *
+     * @example ea85612a-29c8-46c2-bacb-669d65136971
+     */
+    connection_id: string;
+    /**
+     * The email of the Google Workspace group.
+     *
+     * @example devs@cloudflare.com
+     */
+    email: string;
+  };
+};
+
+/**
+ * HTTP/2 Edge Prioritization optimises the delivery of resources served through HTTP/2 to improve page load performance. It also supports fine control of content delivery when used in conjunction with Workers.
+ */
+export type H2Prioritization = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example h2_prioritization
+   */
+  id: 'h2_prioritization';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: H2PrioritizationValue;
+};
+
+/**
+ * Value of the zone setting.
+ *
+ * @default off
+ */
+export type H2PrioritizationValue = 'on' | 'off' | 'custom';
+
+/**
+ * The computed hash of the analyzed script.
+ *
+ * @maxLength 64
+ * @minLength 64
+ */
+export type Hash = string | null;
+
+/**
+ * The HTTP request headers to send in the health check. It is recommended you set a Host header by default. The User-Agent header cannot be overridden. This parameter is only valid for HTTP and HTTPS monitors.
+ *
+ * @example {"Host":["example.com"],"X-App-ID":["abc123"]}
+ */
+export type Header = Record<string, any>;
+
+/**
+ * The name of the response header to match.
+ *
+ * @example Cf-Cache-Status
+ */
+export type HeaderName = string;
+
+/**
+ * The operator used when matching: `eq` means "equal" and `ne` means "not equal".
+ *
+ * @example ne
+ */
+export type HeaderOp = 'eq' | 'ne';
+
+/**
+ * The value of the response header, which must match exactly.
+ *
+ * @example HIT
+ */
+export type HeaderValue = string;
+
+export type HealthCheck = {
+  /**
+   * Determines whether to run healthchecks for a tunnel.
+   *
+   * @default true
+   * @example true
+   */
+  enabled?: boolean;
+  /**
+   * How frequent the health check is run. The default value is `mid`.
+   *
+   * @default mid
+   * @example low
+   */
+  rate?: 'low' | 'mid' | 'high';
+  /**
+   * The destination address in a request type health check. After the healthcheck is decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded to this address. This field defaults to `customer_gre_endpoint address`.
+   *
+   * @example 203.0.113.1
+   */
+  target?: string;
+  /**
+   * The type of healthcheck to run, reply or request. The default value is `reply`.
+   *
+   * @default reply
+   * @example request
+   */
+  type?: 'reply' | 'request';
+};
+
+export type HealthDetails = ApiResponseSingleUl1k90Mw & {
+  /**
+   * A list of regions from which to run health checks. Null means every Cloudflare data center.
+   *
+   * @example {"pool_id":"17b5962d775c646f3f9725cbc7a53df4","pop_health":{"Amsterdam, NL":{"healthy":true,"origins":[{"2001:DB8::5":{"failure_reason":"No failures","healthy":true,"response_code":401,"rtt":"12.1ms"}}]}}}
+   */
+  result?: Record<string, any>;
+};
+
+export type HealthDetailsQWO9Uxvr = ApiResponseSingleLarS7owG & {
+  /**
+   * A list of regions from which to run health checks. Null means every Cloudflare data center.
+   *
+   * @example {"pool_id":"17b5962d775c646f3f9725cbc7a53df4","pop_health":{"Amsterdam, NL":{"healthy":true,"origins":[{"2001:DB8::5":{"failure_reason":"No failures","healthy":true,"response_code":401,"rtt":"12.1ms"}}]}}}
+   */
+  result?: Record<string, any>;
+};
+
+export type Healthchecks = {
+  address?: Address;
+  check_regions?: CheckRegions;
+  consecutive_fails?: ConsecutiveFails;
+  consecutive_successes?: ConsecutiveSuccesses;
+  created_on?: Timestamp;
+  description?: DescriptionNNNUBbC7;
+  failure_reason?: FailureReason;
+  http_config?: HttpConfig;
+  id?: Identifier;
+  interval?: Interval;
+  modified_on?: Timestamp;
+  name?: Name8NztOXJ3;
+  retries?: RetriesZPd5bYtZ;
+  status?: Status;
+  suspended?: Suspended;
+  tcp_config?: TcpConfig;
+  timeout?: Timeout;
+  type?: Type;
+};
+
+/**
+ * The height of the image in pixels.
+ */
+export type Height = number;
+
+/**
+ * Maximum height in image pixels.
+ *
+ * @example 768
+ * @minimum 1
+ */
+export type HeightHdzALmvb = number;
+
+/**
+ * URI to hero variant for an image.
+ *
+ * @example https://imagedelivery.net/MTt4OTd0b0w5aj/107b9558-dd06-4bbd-5fef-9c2c16bb7900/hero
+ * @format uri
+ */
+export type HeroUrl = string;
+
+export type History = {
+  alert_body?: AlertBody;
+  alert_type?: SchemasAlertType;
+  description?: HistoryComponentsSchemasDescription;
+  id?: Uuid;
+  mechanism?: Mechanism;
+  mechanism_type?: MechanismType;
+  name?: HistoryComponentsSchemasName;
+  sent?: Sent;
+};
+
+/**
+ * Description of the notification policy (if present).
+ *
+ * @example Universal Certificate validation status, issuance, renewal, and expiration notices
+ */
+export type HistoryComponentsSchemasDescription = string;
+
+/**
+ * Name of the policy.
+ *
+ * @example SSL Notification Event Policy
+ */
+export type HistoryComponentsSchemasName = string;
+
+/**
+ * Number of items per page.
+ *
+ * @default 25
+ * @maximum 1000
+ * @minimum 5
+ */
+export type HistoryComponentsSchemasPerPage = number;
+
+export type HistoryComponentsSchemasResponseCollection = ApiResponseCollection & {
+  /**
+   * @example {"alert_body":"SSL certificate has expired","alert_type":"universal_ssl_event_type","description":"Universal Certificate validation status, issuance, renewal, and expiration notices.","id":"f174e90a-fafe-4643-bbbc-4a0ed4fc8415","mechanism":"test@example.com","mechanism_type":"email","name":"SSL Notification Event Policy","sent":"2021-10-08T17:52:17.571336Z"}
+   */
+  result?: History[];
+  /**
+   * @example {"count":1,"page":1,"per_page":20}
+   */
+  result_info?: Record<string, any>;
+};
+
+export type HopResult = {
+  /**
+   * An array of node objects.
+   */
+  nodes?: NodeResult[];
+  packets_lost?: PacketsLost;
+  packets_sent?: PacketsSent;
+  packets_ttl?: PacketsTtl;
+};
+
+/**
+ * The keyless SSL name.
+ *
+ * @example example.com
+ * @format hostname
+ * @maxLength 253
+ */
+export type Host = string;
+
+/**
+ * RFC3986-compliant host.
+ *
+ * @example www.example.com
+ * @format hostname
+ * @maxLength 255
+ */
+export type HostD2DhpgVX = string;
+
+/**
+ * The host name to which the waiting room will be applied (no wildcards). Please do not include the scheme (http:// or https://). The host and path combination must be unique.
+ *
+ * @example shop.example.com
+ */
+export type HostB3JrS1Yy = string;
+
+/**
+ * The custom hostname that will point to your hostname via CNAME.
+ *
+ * @example app.example.com
+ * @maxLength 255
+ */
+export type Hostname = string;
+
+export type HostnameAuthenticatedOriginPull = HostnameCertidObject;
+
+export type HostnameAuthenticatedOriginPull7j0VlcSx = HostnameCertidObjectBCFXjAw3;
+
+/**
+ * The hostname certificate.
+ * 
+ * @example -----BEGIN CERTIFICATE-----
+MIIDtTCCAp2gAwIBAgIJAMHAwfXZ5/PWMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV
+BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX
+aWRnaXRzIFB0eSBMdGQwHhcNMTYwODI0MTY0MzAxWhcNMTYxMTIyMTY0MzAxWjBF
+MQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50
+ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
+CgKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmGdtcGbg/1
+CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKnabIRuGvB
+KwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpidtnKX/a+5
+0GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+pyFxIXjbEI
+dZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pEewooaeO2
+izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABo4GnMIGkMB0GA1UdDgQWBBT/LbE4
+9rWf288N6sJA5BRb6FJIGDB1BgNVHSMEbjBsgBT/LbE49rWf288N6sJA5BRb6FJI
+GKFJpEcwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNV
+BAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZIIJAMHAwfXZ5/PWMAwGA1UdEwQF
+MAMBAf8wDQYJKoZIhvcNAQELBQADggEBAHHFwl0tH0quUYZYO0dZYt4R7SJ0pCm2
+2satiyzHl4OnXcHDpekAo7/a09c6Lz6AU83cKy/+x3/djYHXWba7HpEu0dR3ugQP
+Mlr4zrhd9xKZ0KZKiYmtJH+ak4OM4L3FbT0owUZPyjLSlhMtJVcoRp5CJsjAMBUG
+SvD8RX+T01wzox/Qb+lnnNnOlaWpqu8eoOenybxKp1a9ULzIVvN/LAcc+14vioFq
+2swRWtmocBAs8QR9n4uvbpiYvS8eYueDCWMM4fvFfBhaDZ3N9IbtySh3SpFdQDhw
+YbjM2rxXiyLGxB4Bol7QTv4zHif7Zt89FReT/NBy4rzaskDJY5L6xmY=
+-----END CERTIFICATE-----
+ */
+export type HostnameAuthenticatedOriginPullComponentsSchemasCertificate = string;
+
+export type HostnameAuthenticatedOriginPullComponentsSchemasCertificateResponseCollection = ApiResponseCollection & {
+  result?: HostnameAuthenticatedOriginPull7j0VlcSx[];
+};
+
+/**
+ * Indicates whether hostname-level authenticated origin pulls is enabled. A null value voids the association.
+ *
+ * @example true
+ */
+export type HostnameAuthenticatedOriginPullComponentsSchemasEnabled = boolean | null;
+
+/**
+ * The date when the certificate expires.
+ *
+ * @example 2100-01-01T05:20:00Z
+ * @format date-time
+ */
+export type HostnameAuthenticatedOriginPullComponentsSchemasExpiresOn = string;
+
+/**
+ * Certificate identifier tag.
+ *
+ * @example 2458ce5a-0c35-4c7f-82c7-8e9487d3ff60
+ * @maxLength 36
+ */
+export type HostnameAuthenticatedOriginPullComponentsSchemasIdentifier = string;
+
+/**
+ * Status of the certificate or the association.
+ *
+ * @example active
+ */
+export type HostnameAuthenticatedOriginPullComponentsSchemasStatus =
+  | 'initializing'
+  | 'pending_deployment'
+  | 'pending_deletion'
+  | 'active'
+  | 'deleted'
+  | 'deployment_timed_out'
+  | 'deletion_timed_out';
+
+export type HostnameAopResponseCollection = ApiResponseCollection & {
+  result?: HostnameAuthenticatedOriginPull7j0VlcSx[];
+};
+
+export type HostnameAopSingleResponse = ApiResponseSingleZZHeSkIR & {
+  result?: HostnameCertidObject;
+};
+
+export type HostnameAopSingleResponseYzEPUGqk = ApiResponseSingleLarS7owG & {
+  result?: HostnameCertidObjectBCFXjAw3;
+};
+
+export type HostnameAssociation = {
+  hostnames?: string[];
+};
+
+export type HostnameAssociationsResponse = ApiResponseSingleZZHeSkIR & {
+  result?: HostnameAssociation;
+};
+
+export type HostnameCertidInput = {
+  cert_id?: CertId;
+  enabled?: HostnameAuthenticatedOriginPullComponentsSchemasEnabled;
+  hostname?: SchemasHostname;
+};
+
+export type HostnameCertidInputKYvlDdSs = {
+  cert_id?: HostnameAuthenticatedOriginPullComponentsSchemasIdentifier;
+  enabled?: HostnameAuthenticatedOriginPullComponentsSchemasEnabled;
+  hostname?: SchemasHostname;
+};
+
+export type HostnameCertidObject = {
+  cert_id?: Identifier;
+  cert_status?: HostnameAuthenticatedOriginPullComponentsSchemasStatus;
+  cert_updated_at?: UpdatedAt2oKeN2sz;
+  cert_uploaded_on?: ComponentsSchemasUploadedOn;
+  certificate?: HostnameAuthenticatedOriginPullComponentsSchemasCertificate;
+  created_at?: SchemasCreatedAt;
+  enabled?: HostnameAuthenticatedOriginPullComponentsSchemasEnabled;
+  expires_on?: HostnameAuthenticatedOriginPullComponentsSchemasExpiresOn;
+  hostname?: SchemasHostname;
+  issuer?: Issuer;
+  serial_number?: SerialNumber;
+  signature?: Signature;
+  status?: HostnameAuthenticatedOriginPullComponentsSchemasStatus;
+  updated_at?: UpdatedAt2oKeN2sz;
+};
+
+export type HostnameCertidObjectBCFXjAw3 = {
+  cert_id?: HostnameAuthenticatedOriginPullComponentsSchemasIdentifier;
+  cert_status?: HostnameAuthenticatedOriginPullComponentsSchemasStatus;
+  cert_updated_at?: UpdatedAtOvRg3NFi;
+  cert_uploaded_on?: ComponentsSchemasUploadedOn;
+  certificate?: HostnameAuthenticatedOriginPullComponentsSchemasCertificate;
+  created_at?: SchemasCreatedAt;
+  enabled?: HostnameAuthenticatedOriginPullComponentsSchemasEnabled;
+  expires_on?: HostnameAuthenticatedOriginPullComponentsSchemasExpiresOn;
+  hostname?: SchemasHostname;
+  issuer?: Issuer;
+  serial_number?: SerialNumber;
+  signature?: Signature;
+  status?: HostnameAuthenticatedOriginPullComponentsSchemasStatus;
+  updated_at?: UpdatedAtOvRg3NFi;
+};
+
+/**
+ * The custom hostname that will point to your hostname via CNAME.
+ *
+ * @example app.example.com
+ * @maxLength 255
+ */
+export type HostnamePost = string;
+
+/**
+ * Array of hostnames or wildcard names (e.g., *.example.com) bound to the certificate.
+ *
+ * @example example.com
+ * @example *.example.com
+ */
+export type Hostnames = any[];
+
+export type Hosts = string[];
+
+/**
+ * When enabled, the Hotlink Protection option ensures that other sites cannot suck up your bandwidth by building pages that use images hosted on your site. Anytime a request for an image on your site hits Cloudflare, we check to ensure that it's not another site requesting them. People will still be able to download and view images from your page, but other sites won't be able to steal them for use on their own pages. (https://support.cloudflare.com/hc/en-us/articles/200170026).
+ */
+export type HotlinkProtection = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example hotlink_protection
+   */
+  id: 'hotlink_protection';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: HotlinkProtectionValue;
+};
+
+/**
+ * Value of the zone setting.
+ *
+ * @default off
+ */
+export type HotlinkProtectionValue = 'on' | 'off';
+
+/**
+ * HTTP2 enabled for this zone.
+ */
+export type Http2 = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example http2
+   */
+  id: 'http2';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: Http2Value;
+};
+
+/**
+ * Value of the HTTP2 setting.
+ *
+ * @default off
+ */
+export type Http2Value = 'on' | 'off';
+
+/**
+ * HTTP3 enabled for this zone.
+ */
+export type Http3 = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example http3
+   */
+  id: 'http3';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: Http3Value;
+};
+
+/**
+ * Value of the HTTP3 setting.
+ *
+ * @default off
+ */
+export type Http3Value = 'on' | 'off';
+
+/**
+ * Parameters specific to an HTTP or HTTPS health check.
+ */
+export type HttpConfig = {
+  /**
+   * Do not validate the certificate when the health check uses HTTPS.
+   *
+   * @default false
+   */
+  allow_insecure?: boolean;
+  /**
+   * A case-insensitive sub-string to look for in the response body. If this string is not found, the origin will be marked as unhealthy.
+   *
+   * @example success
+   */
+  expected_body?: string;
+  /**
+   * The expected HTTP response codes (e.g. "200") or code ranges (e.g. "2xx" for all codes starting with 2) of the health check.
+   *
+   * @default 200
+   * @example 2xx
+   * @example 302
+   */
+  expected_codes?: string[] | null;
+  /**
+   * Follow redirects if the origin returns a 3xx status code.
+   *
+   * @default false
+   */
+  follow_redirects?: boolean;
+  /**
+   * The HTTP request headers to send in the health check. It is recommended you set a Host header by default. The User-Agent header cannot be overridden.
+   *
+   * @example {"Host":["example.com"],"X-App-ID":["abc123"]}
+   */
+  header?: Record<string, any> | null;
+  /**
+   * The HTTP method to use for the health check.
+   *
+   * @default GET
+   */
+  method?: 'GET' | 'HEAD';
+  /**
+   * The endpoint path to health check against.
+   *
+   * @default /
+   * @example /health
+   */
+  path?: string;
+  /**
+   * Port number to connect to for the health check. Defaults to 80 if type is HTTP or 443 if type is HTTPS.
+   *
+   * @default 80
+   */
+  port?: number;
+} | null;
+
+/**
+ * Enables the HttpOnly cookie attribute, which increases security against XSS attacks.
+ *
+ * @default true
+ * @example true
+ */
+export type HttpOnlyCookieAttribute = boolean;
+
+/**
+ * Unique id of the job.
+ *
+ * @minimum 1
+ */
+export type Id = number;
+
+/**
+ * The ID of the CA.
+ *
+ * @example 7eddae4619b50ab1361ba8ae9bd72269a432fea041529ed9
+ * @maxLength 48
+ */
+export type Id4G7SFJfZ = string;
+
+/**
+ * The identifier for this category. There is only one category per id.
+ */
+export type IdWr4kBzDa = number;
+
+/**
+ * Identifier of a recommedation result.
+ *
+ * @example ssl_recommendation
+ */
+export type IdBt8zQIzG = string;
+
+export type IdResponse = ApiResponseSingleZ04EBmfK & {
+  result?: {
+    id?: DelegationIdentifier;
+  };
+};
+
+export type IdResponse0zYv01t8 = ApiResponseSingleUl1k90Mw & {
+  result?: {
+    id?: IdentifierYmSdxGUH;
+  };
+};
+
+export type IdResponse49rxVYCd = ApiResponseSingleI8cJ1fX8 & {
+  result?: {
+    id?: UuidUoyzrwvx;
+  };
+};
+
+export type IdResponseBkIvko3W = ApiResponseSingleWkFwqHKI & {
+  result?: {
+    id?: Identifier6txek3jw;
+  };
+};
+
+export type IdResponseBBq1dCvd = ApiResponseSingleLarS7owG & {
+  result?: {
+    id?: MonitorComponentsSchemasIdentifier;
+  };
+};
+
+export type IdResponseI7tw1Lck = ApiResponseSingleO4T7cMiV & {
+  result?: {
+    id?: Identifier;
+  };
+};
+
+export type IdResponseQOfcO1so = ApiResponseSingleKLIlNaxV & {
+  result?: {
+    id?: SchemasUuid;
+  };
+};
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type Identifier = string;
+
+/**
+ * @example 699d98642c564d2e855e9661899b7252
+ */
+export type Identifier4iUVdVcr = void;
+
+/**
+ * @example 269d8f4853475ca241c4e730be286b20
+ */
+export type Identifier6txek3jw = void;
+
+/**
+ * Policy identifier.
+ *
+ * @example f267e341f3dd4697bd3b9f71dd96247f
+ */
+export type IdentifierEhp5XJwv = string;
+
+/**
+ * A Cloudflare-generated unique identifier for a media item.
+ *
+ * @example ea95132c15732412d22c1476fa83f27a
+ * @maxLength 32
+ */
+export type IdentifierKW7g5KGL = string;
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type IdentifierY35LcWMV = string;
+
+/**
+ * @example f1aba936b94213e5b8dca0c0dbf1f9cc
+ */
+export type IdentifierYmSdxGUH = void;
+
+export type IdentifierA7Wi2jzJ = string;
+
+/**
+ * @example 699d98642c564d2e855e9661899b7252
+ */
+export type IdentifierOTCaIgPs = void;
+
+/**
+ * Account identifier tag.
+ *
+ * @example 372e67954025e0ba6aaa6d586b9e0b59
+ * @maxLength 32
+ */
+export type IdentifierQ5PXAdjT = string;
+
+/**
+ * @example 699d98642c564d2e855e9661899b7252
+ */
+export type IdentifierUwBKGNkE = void;
+
+/**
+ * The wirefilter expression to be used for identity matching.
+ *
+ * @example any(identity.groups.name[*] in {"finance"})
+ */
+export type Identity = string;
+
+export type IdentityProvider = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: Record<string, any>;
+  id?: Uuid;
+  name: SchemasNameIXVfNmuB;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
+     */
+    group_member_deprovision?: boolean;
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type: string;
+};
+
+export type IdentityProviders =
+  | AzureAD
+  | Centrify
+  | Facebook
+  | Github
+  | Google
+  | GoogleApps
+  | Linkedin
+  | Oidc
+  | Okta
+  | Onelogin
+  | Pingone
+  | Saml
+  | Yandex;
+
+export type IdentityProvidersD6lP78R4 = {
+  config?: SchemasConfig;
+  id?: Uuid;
+  name?: IdentityProvidersComponentsSchemasName;
+  type?: IdentityProvidersComponentsSchemasType;
+};
+
+/**
+ * The name of the identity provider, shown to users on the login page.
+ *
+ * @example Widget Corps OTP
+ */
+export type IdentityProvidersComponentsSchemasName = string;
+
+export type IdentityProvidersComponentsSchemasResponseCollection = ApiResponseCollection & {
+  result?: (
+    | SchemasAzureAD
+    | SchemasCentrify
+    | SchemasFacebook
+    | SchemasGithub
+    | SchemasGoogle
+    | SchemasGoogleApps
+    | SchemasLinkedin
+    | SchemasOidc
+    | SchemasOkta
+    | SchemasOnelogin
+    | SchemasPingone
+    | SchemasSaml
+    | SchemasYandex
+  )[];
+};
+
+export type IdentityProvidersComponentsSchemasResponseCollectionBXesFUJJ = ApiResponseCollection & {
+  result?: IdentityProvidersD6lP78R4[];
+};
+
+export type IdentityProvidersComponentsSchemasSingleResponse = ApiResponseSingleKLIlNaxV & {
+  result?: SchemasIdentityProviders;
+};
+
+export type IdentityProvidersComponentsSchemasSingleResponseIlfaxGl3 = ApiResponseSingleLarS7owG & {
+  result?: IdentityProvidersD6lP78R4;
+};
+
+/**
+ * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+ *
+ * @example onetimepin
+ */
+export type IdentityProvidersComponentsSchemasType = string;
+
+export type ImageBasicUploadViaUrl = {
+  /**
+   * User modifiable key-value store. Can use used for keeping references to another system of record for managing images.
+   */
+  metadata?: Record<string, any>;
+  /**
+   * Indicates whether the image requires a signature token for the access.
+   *
+   * @default false
+   * @example true
+   */
+  requireSignedURLs?: boolean;
+  /**
+   * A URL to fetch an image from origin.
+   *
+   * @example https://example.com/path/to/logo.png
+   */
+  url: string;
+};
+
+export type ImagePatchRequest = {
+  /**
+   * User modifiable key-value store. Can be used for keeping references to another system of record for managing images. No change if not specified.
+   */
+  metadata?: Record<string, any>;
+  /**
+   * Indicates whether the image can be accessed using only its UID. If set to `true`, a signed token needs to be generated with a signing key to view the image. Returns a new UID on a change. No change if not specified.
+   *
+   * @example true
+   */
+  requireSignedURLs?: boolean;
+};
+
+/**
+ * Image Resizing provides on-demand resizing, conversion and optimisation for images served through Cloudflare's network. Refer to the [Image Resizing documentation](https://developers.cloudflare.com/images/) for more information.
+ */
+export type ImageResizing = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example image_resizing
+   */
+  id: 'image_resizing';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: ImageResizingValue;
+};
+
+/**
+ * Whether the feature is enabled, disabled, or enabled in `open proxy` mode.
+ *
+ * @default off
+ */
+export type ImageResizingValue = 'on' | 'off' | 'open';
+
+/**
+ * @example <image blob data>
+ */
+export type ImageResponseBlob = string | Record<string, any>;
+
+export type ImageResponseCollection = ApiResponseCollection & {
+  result?: Images[];
+};
+
+export type ImageResponseSingle = ApiResponseSingleLarS7owG & {
+  result?: Record<string, any>;
+};
+
+export type Images = {
+  filename?: Filename;
+  id?: ImagesComponentsSchemasIdentifier;
+  metadata?: Metadata;
+  requireSignedURLs?: RequireSignedURLsT5ww2QVG;
+  uploaded?: UploadedYGkLPeev;
+  variants?: SchemasVariants;
+};
+
+/**
+ * Image unique identifier.
+ *
+ * @example 107b9558-dd06-4bbd-5fef-9c2c16bb7900
+ * @maxLength 32
+ */
+export type ImagesComponentsSchemasIdentifier = string;
+
+export type ImagesCount = {
+  allowed?: Allowed26ctRtQW;
+  current?: Current;
+};
+
+export type ImagesStats = {
+  count?: ImagesCount;
+};
+
+/**
+ * Rules evaluated with an OR logical operator. A user needs to meet only one of the Include rules.
+ */
+export type Include = Rule[];
+
+/**
+ * Rules evaluated with an OR logical operator. A user needs to meet only one of the Include rules.
+ */
+export type IncludeRuTbCgSD = RuleComponentsSchemasRule[];
+
+export type IncludeFVRZ2Ny8 = SplitTunnelInclude[];
+
+/**
+ * The value to be checked against.
+ */
+export type Input = {
+  checkDisks?: CheckDisks;
+  id?: UuidUoyzrwvx;
+  requireAll?: RequireAll;
+};
+
+export type InputOZLZZB6G = {
+  /**
+   * The video height in pixels. A value of `-1` means the height is unknown. The value becomes available after the upload and before the video is ready.
+   */
+  height?: number;
+  /**
+   * The video width in pixels. A value of `-1` means the width is unknown. The value becomes available after the upload and before the video is ready.
+   */
+  width?: number;
+};
+
+/**
+ * The value to be checked against.
+ */
+export type InputZcd2nhY2 = {
+  id?: DevicePostureRulesComponentsSchemasUuid;
+};
+
+/**
+ * Details for streaming to an live input using RTMPS.
+ */
+export type InputRtmps = {
+  streamKey?: InputRtmpsStreamKey;
+  url?: InputRtmpsUrl;
+};
+
+/**
+ * The secret key to use when streaming via RTMPS to a live input.
+ *
+ * @example 2fb3cb9f17e68a2568d6ebed8d5505eak3ceaf8c9b1f395e1b76b79332497cada
+ */
+export type InputRtmpsStreamKey = string;
+
+/**
+ * The RTMPS URL you provide to the broadcaster, which they stream live video to.
+ *
+ * @example rtmps://live.cloudflare.com:443/live/
+ */
+export type InputRtmpsUrl = string;
+
+/**
+ * Details for streaming to a live input using SRT.
+ */
+export type InputSrt = {
+  passphrase?: InputSrtStreamPassphrase;
+  streamId?: InputSrtStreamId;
+  url?: InputSrtUrl;
+};
+
+/**
+ * The identifier of the live input to use when streaming via SRT.
+ *
+ * @example f256e6ea9341d51eea64c9454659e576
+ */
+export type InputSrtStreamId = string;
+
+/**
+ * The secret key to use when streaming via SRT to a live input.
+ *
+ * @example 2fb3cb9f17e68a2568d6ebed8d5505eak3ceaf8c9b1f395e1b76b79332497cada
+ */
+export type InputSrtStreamPassphrase = string;
+
+/**
+ * The SRT URL you provide to the broadcaster, which they stream live video to.
+ *
+ * @example srt://live.cloudflare.com:778
+ */
+export type InputSrtUrl = string;
+
+/**
+ * Details for streaming to a live input using WebRTC.
+ */
+export type InputWebrtc = {
+  url?: InputWebrtcUrl;
+};
+
+/**
+ * The WebRTC URL you provide to the broadcaster, which they stream live video to.
+ *
+ * @example https://customer-m033z5x00ks6nunl.cloudflarestream.com/b236bde30eb07b9d01318940e5fc3edake34a3efb3896e18f2dc277ce6cc993ad/webRTC/publish
+ */
+export type InputWebrtcUrl = string;
+
+/**
+ * app install id.
+ */
+export type InstallId = string;
+
+export type InstantLogsJob = {
+  destination_conf?: SchemasDestinationConf;
+  fields?: Fields;
+  filter?: Filter;
+  sample?: Sample;
+  session_id?: SessionId;
+} | null;
+
+export type InstantLogsJobResponseCollection = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type InstantLogsJobResponseSingle = ApiResponseSingleJE9eFdPt & {
+  result?: InstantLogsJob;
+};
+
+/**
+ * An entry derived from an integration
+ */
+export type IntegrationEntry = {
+  created_at?: Timestamp;
+  /**
+   * Whether the entry is enabled or not.
+   *
+   * @example true
+   */
+  enabled?: boolean;
+  id?: EntryId;
+  /**
+   * The name of the entry.
+   *
+   * @example Top Secret
+   */
+  name?: string;
+  /**
+   * ID of the parent profile
+   */
+  profile_id?: void;
+  updated_at?: Timestamp;
+};
+
+export type IntegrationProfile = {
+  created_at?: Timestamp;
+  /**
+   * The description of the profile.
+   */
+  description?: string;
+  /**
+   * The entries for this profile.
+   */
+  entries?: IntegrationEntry[];
+  id?: ProfileId;
+  /**
+   * The name of the profile.
+   *
+   * @example MIP Sensitivity Labels: Profile 1
+   */
+  name?: string;
+  /**
+   * The type of the profile.
+   *
+   * @example integration
+   */
+  type?: 'integration';
+  updated_at?: Timestamp;
+};
+
+export type Interconnect = {
+  colo_name?: ComponentsSchemasName;
+  created_on?: SchemasCreatedOn;
+  description?: InterconnectComponentsSchemasDescription;
+  gre?: Gre;
+  health_check?: SchemasHealthCheck;
+  id?: SchemasIdentifierRYBwrxr7;
+  interface_address?: InterfaceAddress;
+  modified_on?: SchemasModifiedOn;
+  mtu?: SchemasMtu;
+  name?: ComponentsSchemasName;
+};
+
+/**
+ * An optional description of the interconnect.
+ *
+ * @example Tunnel for Interconnect to ORD
+ */
+export type InterconnectComponentsSchemasDescription = string;
+
+/**
+ * A 31-bit prefix (/31 in CIDR notation) supporting two hosts, one for each side of the tunnel. Select the subnet from the following private IP space: 10.0.0.0–10.255.255.255, 172.16.0.0–172.31.255.255, 192.168.0.0–192.168.255.255.
+ *
+ * @example 192.0.2.0/31
+ */
+export type InterfaceAddress = string;
+
+/**
+ * The interval between each health check. Shorter intervals may give quicker notifications if the origin status changes, but will increase load on the origin as we check from multiple locations.
+ *
+ * @default 60
+ */
+export type Interval = number;
+
+/**
+ * The interval between each posture check with the third party API. Use "m" for minutes (e.g. "5m") and "h" for hours (e.g. "12h").
+ *
+ * @example 10m
+ */
+export type IntervalCy0QprOB = string;
+
+/**
+ * The interval between each health check. Shorter intervals may improve failover time, but will increase load on the origins as we check from multiple locations.
+ *
+ * @default 60
+ */
+export type IntervalHvanFWV2 = number;
+
+/**
+ * The interval between each health check. Shorter intervals may improve failover time, but will increase load on the origins as we check from multiple locations.
+ *
+ * @default 60
+ */
+export type IntervalLx3GfHR3 = number;
+
+export type IntuneConfigRequest = {
+  /**
+   * The Intune client ID.
+   *
+   * @example example client id
+   */
+  client_id: string;
+  /**
+   * The Intune client secret.
+   *
+   * @example example client secret
+   */
+  client_secret: string;
+  /**
+   * The Intune customer ID.
+   *
+   * @example example customer id
+   */
+  customer_id: string;
+};
+
+export type Invite = OrganizationInvite;
+
+/**
+ * Invite identifier tag.
+ *
+ * @example 4f5f0c14a2a41d5063dd301b2f829f04
+ * @maxLength 32
+ */
+export type InviteComponentsSchemasIdentifier = string;
+
+/**
+ * The email address of the user who created the invite.
+ *
+ * @example user@example.com
+ * @maxLength 90
+ */
+export type InvitedBy = string;
+
+/**
+ * Email address of the user to add to the organization.
+ *
+ * @example user@example.com
+ * @maxLength 90
+ */
+export type InvitedMemberEmail = string;
+
+/**
+ * When the invite was sent.
+ *
+ * @example 2014-01-01T05:20:00Z
+ * @format date-time
+ */
+export type InvitedOn = string;
+
+/**
+ * An IPv4 or IPv6 address.
+ *
+ * @example 192.0.2.1
+ */
+export type Ip = string;
+
+/**
+ * IPv4/IPv6 address of primary or secondary nameserver, depending on what zone this peer is linked to. For primary zones this IP defines the IP of the secondary nameserver Cloudflare will NOTIFY upon zone changes. For secondary zones this IP defines the IP of the primary nameserver Cloudflare will send AXFR/IXFR requests to.
+ *
+ * @example 192.0.2.53
+ */
+export type Ip6EYJJOTh = string;
+
+/**
+ * IPV6 destination ip assigned to this location. DNS requests sent to this IP will counted as the request under this location. (auto-generated).
+ *
+ * @example 2001:0db8:85a3:0000:0000:8a2e:0370:7334
+ */
+export type IpCcOd8dAo = string;
+
+export type IpList = {
+  description?: string;
+  id?: number;
+  /**
+   * @example Malware
+   */
+  name?: string;
+};
+
+/**
+ * IPv4 or IPv6 address.
+ *
+ * @example 1.1.1.1
+ */
+export type IpMKmJkd3b = string;
+
+/**
+ * The IP address of the authenticating user.
+ *
+ * @example 198.41.129.166
+ */
+export type IpRSepkSnX = string;
+
+/**
+ * An IPv4 or IPv6 address.
+ *
+ * @example 192.0.2.1
+ */
+export type IpAddress = string;
+
+export type IpComponentsSchemasIp = {
+  /**
+   * Specifies a reference to the autonomous systems (AS) that the IP address belongs to.
+   */
+  belongs_to_ref?: {
+    /**
+     * @example US
+     */
+    country?: string;
+    /**
+     * @example CLOUDFLARENET
+     */
+    description?: string;
+    /**
+     * @example autonomous-system--2fa28d71-3549-5a38-af05-770b79ad6ea8
+     */
+    id?: void;
+    /**
+     * Infrastructure type of this ASN.
+     *
+     * @example hosting_provider
+     */
+    type?: 'hosting_provider' | 'isp' | 'organization';
+    value?: string;
+  };
+  ip?: CommonComponentsSchemasIp;
+  /**
+   * @example {"id":131,"name":"Phishing","super_category_id":21}
+   */
+  risk_types?: void;
+};
+
+export type IpConfiguration = {
+  /**
+   * The configuration target. You must set the target to `ip` when specifying an IP address in the rule.
+   *
+   * @example ip
+   */
+  target?: 'ip';
+  /**
+   * The IP address to match. This address will be compared to the IP address of incoming requests.
+   *
+   * @example 198.51.100.4
+   */
+  value?: string;
+};
+
+/**
+ * Enables IP Access Rules for this application.
+ * Notes: Only available for TCP applications.
+ *
+ * @example true
+ */
+export type IpFirewall = boolean;
+
+/**
+ * Enable IP Geolocation to have Cloudflare geolocate visitors to your website and pass the country code to you. (https://support.cloudflare.com/hc/en-us/articles/200168236).
+ */
+export type IpGeolocation = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example ip_geolocation
+   */
+  id: 'ip_geolocation';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: IpGeolocationValue;
+};
+
+/**
+ * Value of the zone setting.
+ *
+ * @default on
+ */
+export type IpGeolocationValue = 'on' | 'off';
+
+/**
+ * Matches an IP address from a list.
+ */
+export type IpListRule = {
+  ip_list: {
+    /**
+     * The ID of a previously created IP list.
+     *
+     * @example aa0a4aab-672b-4bdb-bc33-a59f1130a11f
+     */
+    id: string;
+  };
+};
+
+/**
+ * The private IPv4 or IPv6 range connected by the route, in CIDR notation.
+ *
+ * @example 172.16.0.0/16
+ */
+export type IpNetwork = string;
+
+/**
+ * IP/CIDR range in URL-encoded format
+ *
+ * @example 172.16.0.0%2F16
+ */
+export type IpNetworkEncoded = string;
+
+/**
+ * Allowed IPv4/IPv6 address range of primary or secondary nameservers. This will be applied for the entire account. The IP range is used to allow additional NOTIFY IPs for secondary zones and IPs Cloudflare allows AXFR/IXFR requests from for primary zones. CIDRs are limited to a maximum of /24 for IPv4 and /64 for IPv6 respectively.
+ *
+ * @example 192.0.2.53/28
+ */
+export type IpRange = string;
+
+/**
+ * A single IP address range to search for in existing rules.
+ *
+ * @example 1.2.3.0/16
+ */
+export type IpRangeSearch = string;
+
+/**
+ * Matches an IP address block.
+ */
+export type IpRule = {
+  ip: {
+    /**
+     * An IPv4 or IPv6 CIDR block.
+     *
+     * @example 2400:cb00:21:10a::/64
+     */
+    ip: string;
+  };
+};
+
+/**
+ * A single IP address to search for in existing rules.
+ *
+ * @example 1.2.3.4
+ */
+export type IpSearch = string;
+
+export type IpamDelegations = {
+  cidr?: Cidr;
+  created_at?: Timestamp;
+  delegated_account_id?: DelegatedAccountIdentifier;
+  id?: DelegationIdentifier;
+  modified_at?: Timestamp;
+  parent_prefix_id?: Identifier;
+};
+
+export type IpamDelegationsGltFXre0 = {
+  cidr?: Cidr;
+  created_at?: Timestamp;
+  delegated_account_id?: DelegatedAccountIdentifier4pd98LdN;
+  id?: DelegationIdentifier;
+  modified_at?: Timestamp;
+  parent_prefix_id?: CommonComponentsSchemasIdentifier;
+};
+
+export type IpamDelegationsComponentsSchemasIdResponse = ApiResponseSingleLarS7owG & {
+  result?: {
+    id?: DelegationIdentifier;
+  };
+};
+
+export type IpamDelegationsComponentsSchemasResponseCollection = ApiResponseCollection & {
+  result?: IpamDelegationsGltFXre0[];
+};
+
+export type IpamDelegationsComponentsSchemasSingleResponse = ApiResponseSingleLarS7owG & {
+  result?: IpamDelegationsGltFXre0;
+};
+
+export type IpamPrefixes = {
+  account_id?: Identifier;
+  advertised?: Advertised;
+  advertised_modified_at?: ModifiedAtNullable;
+  approved?: Approved;
+  asn?: Asn;
+  cidr?: Cidr;
+  created_at?: Timestamp;
+  description?: Description;
+  id?: Identifier;
+  loa_document_id?: LoaDocumentIdentifier;
+  modified_at?: Timestamp;
+  on_demand_enabled?: OnDemandEnabled;
+  on_demand_locked?: OnDemandLocked;
+};
+
+export type IpamPrefixesUvf9zgla = {
+  account_id?: CommonComponentsSchemasIdentifier;
+  advertised?: Advertised;
+  advertised_modified_at?: ModifiedAtNullable;
+  approved?: Approved;
+  asn?: AsnT2U9T8kj;
+  cidr?: Cidr;
+  created_at?: Timestamp;
+  description?: IpamPrefixesComponentsSchemasDescription;
+  id?: CommonComponentsSchemasIdentifier;
+  loa_document_id?: LoaDocumentIdentifierGtDvyfh0;
+  modified_at?: Timestamp;
+  on_demand_enabled?: OnDemandEnabled;
+  on_demand_locked?: OnDemandLocked;
+};
+
+/**
+ * Description of the prefix.
+ *
+ * @example Internal test prefix
+ * @maxLength 1000
+ */
+export type IpamPrefixesComponentsSchemasDescription = string;
+
+export type IpamPrefixesComponentsSchemasResponseCollection = ApiResponseCollection & {
+  result?: IpamPrefixesUvf9zgla[];
+};
+
+export type IpamPrefixesComponentsSchemasSingleResponse = ApiResponseSingleLarS7owG & {
+  result?: IpamPrefixesUvf9zgla;
+};
+
+export type Ips = {
+  /**
+   * A digest of the IP data. Useful for determining if the data has changed.
+   *
+   * @example a8e453d9d129a3769407127936edfdb0
+   */
+  etag?: string;
+  /**
+   * List of Cloudflare IPv4 CIDR addresses.
+   */
+  ipv4_cidrs?: string[];
+  /**
+   * List of Cloudflare IPv6 CIDR addresses.
+   */
+  ipv6_cidrs?: string[];
+};
+
+/**
+ * The set of IPs on the Address Map.
+ */
+export type Ips9iuFUAPm = AddressMapsIpSOzzPbBz[];
+
+/**
+ * A list of CIDRs to restrict ingress connections.
+ */
+export type IpsFDl19jsa = string[];
+
+export type IpsJdcloud = {
+  etag?: Etag;
+  ipv4_cidrs?: Ipv4Cidrs;
+  ipv6_cidrs?: Ipv6Cidrs;
+  /**
+   * List IPv4 and IPv6 CIDRs, only popoulated if `?networks=jdcloud` is used.
+   */
+  jdcloud_cidrs?: string[];
+};
+
+export type IpsecTunnel = {
+  allow_null_cipher?: AllowNullCipher;
+  cloudflare_endpoint: CloudflareIpsecEndpoint;
+  created_on?: SchemasCreatedOn;
+  customer_endpoint?: CustomerIpsecEndpoint;
+  description?: ComponentsSchemasDescription;
+  id?: SchemasIdentifierRYBwrxr7;
+  interface_address: InterfaceAddress;
+  modified_on?: SchemasModifiedOn;
+  name: SchemasName;
+  psk_metadata?: PskMetadata;
+  tunnel_health_check?: TunnelHealthCheck;
+};
+
+/**
+ * @example 192.0.2.0
+ * @format ipv4
+ */
+export type Ipv4 = string;
+
+/**
+ * List of Cloudflare IPv4 CIDR addresses.
+ */
+export type Ipv4Cidrs = string[];
+
+/**
+ * Enable IPv6 on all subdomains that are Cloudflare enabled.  (https://support.cloudflare.com/hc/en-us/articles/200168586).
+ */
+export type Ipv6 = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example ipv6
+   */
+  id: 'ipv6';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: Ipv6Value;
+};
+
+/**
+ * @example 2001:0DB8::
+ * @format ipv6
+ */
+export type Ipv6Dw2g7BEM = string;
+
+/**
+ * List of Cloudflare IPv6 CIDR addresses.
+ */
+export type Ipv6Cidrs = string[];
+
+export type Ipv6Configuration = {
+  /**
+   * The configuration target. You must set the target to `ip6` when specifying an IPv6 address in the rule.
+   *
+   * @example ip6
+   */
+  target?: 'ip6';
+  /**
+   * The IPv6 address to match.
+   *
+   * @example 2001:DB8:100::CF
+   */
+  value?: string;
+};
+
+/**
+ * Value of the zone setting.
+ *
+ * @default off
+ */
+export type Ipv6Value = 'off' | 'on';
+
+/**
+ * If `true`, this virtual network is the default for the account.
+ *
+ * @example true
+ */
+export type IsDefaultNetwork = boolean;
+
+/**
+ * Cloudflare continues to track connections for several minutes after they disconnect. This is an optimization to improve latency and reliability of reconnecting.  If `true`, the connection has disconnected but is still being tracked. If `false`, the connection is actively serving traffic.
+ *
+ * @example false
+ */
+export type IsPendingReconnect = boolean;
+
+/**
+ * Indicates whether you are currently subscribed to this plan.
+ *
+ * @default false
+ * @example false
+ */
+export type IsSubscribed = boolean;
+
+/**
+ * Lock all settings as Read-Only in the Dashboard, regardless of user permission. Updates may only be made via the API or Terraform for this account when enabled.
+ *
+ * @example false
+ */
+export type IsUiReadOnly = boolean;
+
+/**
+ * Require this application to be served in an isolated browser for users matching this policy.
+ *
+ * @default false
+ * @example false
+ */
+export type IsolationRequired = boolean;
+
+/**
+ * Date that the Client Certificate was issued by the Certificate Authority
+ *
+ * @example 2023-02-23T23:18:00Z
+ */
+export type IssuedOn = string;
+
+/**
+ * The time on which the token was created.
+ *
+ * @example 2018-07-01T05:20:00Z
+ * @format date-time
+ */
+export type IssuedOnHmshAtfd = string;
+
+/**
+ * The certificate authority that issued the certificate.
+ *
+ * @example GlobalSign
+ */
+export type Issuer = string;
+
+/**
+ * @example {"comment":"Private IP address","created_on":"2020-01-01T08:00:00Z","id":"2c0fc9fa937b11eaa1b71c4d701ab86e","ip":"10.0.0.1","modified_on":"2020-01-10T14:00:00Z"}
+ */
+export type Item =
+  | {
+      comment?: ItemComment;
+      /**
+       * The RFC 3339 timestamp of when the item was created.
+       *
+       * @example 2020-01-01T08:00:00Z
+       */
+      created_on?: string;
+      hostname?: ItemHostname;
+      id?: ListId;
+      ip: ItemIp;
+      /**
+       * The RFC 3339 timestamp of when the item was last modified.
+       *
+       * @example 2020-01-10T14:00:00Z
+       */
+      modified_on?: string;
+      redirect?: ItemRedirect;
+    }
+  | {
+      comment?: ItemComment;
+      /**
+       * The RFC 3339 timestamp of when the item was created.
+       *
+       * @example 2020-01-01T08:00:00Z
+       */
+      created_on?: string;
+      hostname?: ItemHostname;
+      id?: ListId;
+      ip?: ItemIp;
+      /**
+       * The RFC 3339 timestamp of when the item was last modified.
+       *
+       * @example 2020-01-10T14:00:00Z
+       */
+      modified_on?: string;
+      redirect: ItemRedirect;
+    }
+  | {
+      comment?: ItemComment;
+      /**
+       * The RFC 3339 timestamp of when the item was created.
+       *
+       * @example 2020-01-01T08:00:00Z
+       */
+      created_on?: string;
+      hostname: ItemHostname;
+      id?: ListId;
+      ip?: ItemIp;
+      /**
+       * The RFC 3339 timestamp of when the item was last modified.
+       *
+       * @example 2020-01-10T14:00:00Z
+       */
+      modified_on?: string;
+      redirect?: ItemRedirect;
+    };
+
+export type ItemResponseCollection = ApiResponseCollection & {
+  result?: Item;
+};
+
+/**
+ * An informative summary of the list item.
+ *
+ * @example Private IP address
+ */
+export type ItemComment = string;
+
+/**
+ * Valid characters for hostnames are ASCII(7) letters from a to z, the digits from 0 to 9, wildcards (*), and the hyphen (-).
+ */
+export type ItemHostname = string;
+
+/**
+ * The unique ID of the item in the List.
+ *
+ * @example 34b12448945f11eaa1b71c4d701ab86e
+ */
+export type ItemId = string;
+
+/**
+ * An IPv4 address, an IPv4 CIDR, or an IPv6 CIDR. IPv6 CIDRs are limited to a maximum of /64.
+ *
+ * @example 10.0.0.1
+ */
+export type ItemIp = string;
+
+/**
+ * The definition of the redirect.
+ */
+export type ItemRedirect = {
+  /**
+   * @default false
+   */
+  include_subdomains?: boolean;
+  /**
+   * @default true
+   */
+  preserve_path_suffix?: boolean;
+  /**
+   * @default false
+   */
+  preserve_query_string?: boolean;
+  /**
+   * @example example.com/arch
+   */
+  source_url: string;
+  /**
+   * @default 301
+   */
+  status_code?: 301 | 302 | 307 | 308;
+  /**
+   * @default false
+   */
+  subpath_matching?: boolean;
+  /**
+   * @example https://archlinux.org/
+   */
+  target_url: string;
+};
+
+/**
+ * The items in the List.
+ */
+export type Items = {
+  created_at?: Timestamp;
+  value?: ValueBmHGW0nn;
+}[];
+
+export type ItemsListResponseCollection = ApiResponseCollection & {
+  result?: ItemsYDMk5o9K;
+  result_info?: {
+    cursors?: {
+      /**
+       * @example yyy
+       */
+      after?: string;
+      /**
+       * @example xxx
+       */
+      before?: string;
+    };
+  };
+};
+
+export type ItemsUpdateRequestCollection = (
+  | {
+      comment?: ItemComment;
+      ip: ItemIp;
+      redirect?: ItemRedirect;
+    }
+  | {
+      comment?: ItemComment;
+      ip?: ItemIp;
+      redirect: ItemRedirect;
+    }
+  | {
+      comment?: ItemComment;
+      ip?: ItemIp;
+      redirect?: ItemRedirect;
+    }
+)[];
+
+export type ItemsYDMk5o9K = Item[];
+
+/**
+ * Enable IXFR transfer protocol, default is AXFR. Only applicable to secondary zones.
+ *
+ * @example false
+ */
+export type IxfrEnable = boolean;
+
+/**
+ * The integrity score of the JavaScript content.
+ *
+ * @maximum 99
+ * @minimum 1
+ */
+export type JsIntegrityScore = number | null;
+
+/**
+ * Only available for the Waiting Room Advanced subscription. If `true`, requests to the waiting room with the header `Accept: application/json` will receive a JSON response object with information on the user's status in the waiting room as opposed to the configured static HTML page. This JSON response object has one property `cfWaitingRoom` which is an object containing the following fields:
+ * 1. `inWaitingRoom`: Boolean indicating if the user is in the waiting room (always **true**).
+ * 2. `waitTimeKnown`: Boolean indicating if the current estimated wait times are accurate. If **false**, they are not available.
+ * 3. `waitTime`: Valid only when `waitTimeKnown` is **true**. Integer indicating the current estimated time in minutes the user will wait in the waiting room. When `queueingMethod` is **random**, this is set to `waitTime50Percentile`.
+ * 4. `waitTime25Percentile`: Valid only when `queueingMethod` is **random** and `waitTimeKnown` is **true**. Integer indicating the current estimated maximum wait time for the 25% of users that gain entry the fastest (25th percentile).
+ * 5. `waitTime50Percentile`: Valid only when `queueingMethod` is **random** and `waitTimeKnown` is **true**. Integer indicating the current estimated maximum wait time for the 50% of users that gain entry the fastest (50th percentile). In other words, half of the queued users are expected to let into the origin website before `waitTime50Percentile` and half are expected to be let in after it.
+ * 6. `waitTime75Percentile`: Valid only when `queueingMethod` is **random** and `waitTimeKnown` is **true**. Integer indicating the current estimated maximum wait time for the 75% of users that gain entry the fastest (75th percentile).
+ * 7. `waitTimeFormatted`: String displaying the `waitTime` formatted in English for users. If `waitTimeKnown` is **false**, `waitTimeFormatted` will display **unavailable**.
+ * 8. `queueIsFull`: Boolean indicating if the waiting room's queue is currently full and not accepting new users at the moment.
+ * 9. `queueAll`: Boolean indicating if all users will be queued in the waiting room and no one will be let into the origin website.
+ * 10. `lastUpdated`: String displaying the timestamp as an ISO 8601 string of the user's last attempt to leave the waiting room and be let into the origin website. The user is able to make another attempt after `refreshIntervalSeconds` past this time. If the user makes a request too soon, it will be ignored and `lastUpdated` will not change.
+ * 11. `refreshIntervalSeconds`: Integer indicating the number of seconds after `lastUpdated` until the user is able to make another attempt to leave the waiting room and be let into the origin website. When the `queueingMethod` is `reject`, there is no specified refresh time — it will always be **zero**.
+ * 12. `queueingMethod`: The queueing method currently used by the waiting room. It is either **fifo**, **random**, **passthrough**, or **reject**.
+ * 13. `isFIFOQueue`: Boolean indicating if the waiting room uses a FIFO (First-In-First-Out) queue.
+ * 14. `isRandomQueue`: Boolean indicating if the waiting room uses a Random queue where users gain access randomly.
+ * 15. `isPassthroughQueue`: Boolean indicating if the waiting room uses a passthrough queue. Keep in mind that when passthrough is enabled, this JSON response will only exist when `queueAll` is **true** or `isEventPrequeueing` is **true** because in all other cases requests will go directly to the origin.
+ * 16. `isRejectQueue`: Boolean indicating if the waiting room uses a reject queue.
+ * 17. `isEventActive`: Boolean indicating if an event is currently occurring. Events are able to change a waiting room's behavior during a specified period of time. For additional information, look at the event properties `prequeue_start_time`, `event_start_time`, and `event_end_time` in the documentation for creating waiting room events. Events are considered active between these start and end times, as well as during the prequeueing period if it exists.
+ * 18. `isEventPrequeueing`: Valid only when `isEventActive` is **true**. Boolean indicating if an event is currently prequeueing users before it starts.
+ * 19. `timeUntilEventStart`: Valid only when `isEventPrequeueing` is **true**. Integer indicating the number of minutes until the event starts.
+ * 20. `timeUntilEventStartFormatted`: String displaying the `timeUntilEventStart` formatted in English for users. If `isEventPrequeueing` is **false**, `timeUntilEventStartFormatted` will display **unavailable**.
+ * 21. `timeUntilEventEnd`: Valid only when `isEventActive` is **true**. Integer indicating the number of minutes until the event ends.
+ * 22. `timeUntilEventEndFormatted`: String displaying the `timeUntilEventEnd` formatted in English for users. If `isEventActive` is **false**, `timeUntilEventEndFormatted` will display **unavailable**.
+ * 23. `shuffleAtEventStart`: Valid only when `isEventActive` is **true**. Boolean indicating if the users in the prequeue are shuffled randomly when the event starts.
+ *
+ * An example cURL to a waiting room could be:
+ *
+ * 	curl -X GET "https://example.com/waitingroom" \
+ * 		-H "Accept: application/json"
+ *
+ * If `json_response_enabled` is **true** and the request hits the waiting room, an example JSON response when `queueingMethod` is **fifo** and no event is active could be:
+ *
+ * 	{
+ * 		"cfWaitingRoom": {
+ * 			"inWaitingRoom": true,
+ * 			"waitTimeKnown": true,
+ * 			"waitTime": 10,
+ * 			"waitTime25Percentile": 0,
+ * 			"waitTime50Percentile": 0,
+ * 			"waitTime75Percentile": 0,
+ * 			"waitTimeFormatted": "10 minutes",
+ * 			"queueIsFull": false,
+ * 			"queueAll": false,
+ * 			"lastUpdated": "2020-08-03T23:46:00.000Z",
+ * 			"refreshIntervalSeconds": 20,
+ * 			"queueingMethod": "fifo",
+ * 			"isFIFOQueue": true,
+ * 			"isRandomQueue": false,
+ * 			"isPassthroughQueue": false,
+ * 			"isRejectQueue": false,
+ * 			"isEventActive": false,
+ * 			"isEventPrequeueing": false,
+ * 			"timeUntilEventStart": 0,
+ * 			"timeUntilEventStartFormatted": "unavailable",
+ * 			"timeUntilEventEnd": 0,
+ * 			"timeUntilEventEndFormatted": "unavailable",
+ * 			"shuffleAtEventStart": false
+ * 		}
+ * 	}
+ *
+ * If `json_response_enabled` is **true** and the request hits the waiting room, an example JSON response when `queueingMethod` is **random** and an event is active could be:
+ *
+ * 	{
+ * 		"cfWaitingRoom": {
+ * 			"inWaitingRoom": true,
+ * 			"waitTimeKnown": true,
+ * 			"waitTime": 10,
+ * 			"waitTime25Percentile": 5,
+ * 			"waitTime50Percentile": 10,
+ * 			"waitTime75Percentile": 15,
+ * 			"waitTimeFormatted": "5 minutes to 15 minutes",
+ * 			"queueIsFull": false,
+ * 			"queueAll": false,
+ * 			"lastUpdated": "2020-08-03T23:46:00.000Z",
+ * 			"refreshIntervalSeconds": 20,
+ * 			"queueingMethod": "random",
+ * 			"isFIFOQueue": false,
+ * 			"isRandomQueue": true,
+ * 			"isPassthroughQueue": false,
+ * 			"isRejectQueue": false,
+ * 			"isEventActive": true,
+ * 			"isEventPrequeueing": false,
+ * 			"timeUntilEventStart": 0,
+ * 			"timeUntilEventStartFormatted": "unavailable",
+ * 			"timeUntilEventEnd": 15,
+ * 			"timeUntilEventEndFormatted": "15 minutes",
+ * 			"shuffleAtEventStart": true
+ * 		}
+ * 	}.
+ *
+ * @default false
+ * @example false
+ */
+export type JsonResponseEnabled = boolean;
+
+/**
+ * The signing key in JWK format.
+ *
+ * @example eyJ1c2UiOiJzaWciLCJrdHkiOiJSU0EiLCJraWQiOiI1MjEzY2ZhMTIxZjcwYjhjMTM4MDY4NmZmYzM3MWJhMyIsImFsZyI6IlJTMjU2IiwibiI6IjBUandqT2laV21KNDN2ZjNUbzREb1htWFd0SkdOR3lYZmh5dHRMYUJnRjEtRVFXUURLaG9LYm9hS21xakNBc21za3V0YkxVN1BVOGRrUU5ER1p3S3VWczA4elNaNGt4aTR0RWdQUFp5dDdkWEMtbFlSWW95ckFHRjRBWGh5MzI5YkhDUDFJbHJCQl9Ba0dnbmRMQWd1bnhZMHJSZ2N2T3ppYXc2S0p4Rm5jMlVLMFdVOGIwcDRLS0hHcDFLTDlkazBXVDhkVllxYmVSaUpqQ2xVRW1oOHl2OUNsT1ZhUzRLeGlYNnhUUTREWnc2RGFKZklWM1F0Tmd2cG1ieWxOSmFQSG5zc3JodDJHS1A5NjJlS2poUVJsaWd2SFhKTE9uSm9KZkxlSUVIWi1peFdmY1RETUg5MnNHdm93MURPanhMaUNOMXpISy1oN2JMb1hUaUxnYzRrdyIsImUiOiJBUUFCIiwiZCI6IndpQWEwaU5mWnNYSGNOcVMxSWhnUmdzVHJHay1TcFlYV2lReDZHTU9kWlJKekhGazN0bkRERFJvNHNKZTBxX0dEOWkzNlEyZkVadS15elpEcEJkc3U5OHNtaHhNU19Ta0s5X3VFYUo1Zm96V2IyN3JRRnFoLVliUU9MUThkUnNPRHZmQl9Hb2txWWJzblJDR3kzWkFaOGZJZ25ocXBUNEpiOHdsaWxpMUgxeFpzM3RnTWtkTEluTm1yMFAtcTYxZEtNd3JYZVRoSWNEc0kyb2Z1LTFtRm1MWndQb2ZGbmxaTW9QN1pfRU5pUGNfWGtWNzFhaHBOZE9pcW5ablZtMHBCNE5QS1UweDRWTjQyYlAzWEhMUmpkV2hJOGt3SC1BdXhqb3BLaHJ0R2tvcG1jZFRkM1ZRdElaOGRpZHByMXpBaEpvQi16ZVlIaTFUel9ZSFFld0FRUSIsInAiOiIyVTZFVUJka3U3TndDYXoyNzZuWGMxRXgwVHpNZjU4U0UtU2M2eUNaYWk2TkwzVURpWi1mNHlIdkRLYnFGUXdLWDNwZ0l2aVE3Y05QYUpkbE9NeS1mU21GTXU3V3hlbVZYamFlTjJCMkRDazhQY0NEOVgxU2hhR3E1ZUdSSHNObVUtSDNxTG1FRGpjLWliazRHZ0RNb2lVYjQ2OGxFZHAwU2pIOXdsOUdsYTgiLCJxIjoiOW5ucXg5ZnNNY2dIZ29DemhfVjJmaDhoRUxUSUM5aFlIOVBCTG9aQjZIaE1TWG1ja1BSazVnUlpPWlFEN002TzlMaWZjNmFDVXdEbjBlQzU2YkFDNUNrcWxjODJsVDhzTWlMeWJyTjh3bWotcjNjSTBGQTlfSGQySEY1ZkgycnJmenVqd0NWM3czb09Ud3p4d1g3c2xKbklRanphel91SzEyWEtucVZZcUYwIiwiZHAiOiJxQklTUTlfVUNWaV9Ucng0UU9VYnZoVU9jc2FUWkNHajJiNzNudU9YeElnOHFuZldSSnN4RG5zd2FKaXdjNWJjYnZ3M1h0VGhRd1BNWnhpeE1UMHFGNlFGWVY5WXZibnJ6UEp4YkdNdTZqajZYc2lIUjFlbWU3U09lVDM4Xzg0aFZyOXV6UkN2RWstb0R0MHlodW9YVzFGWVFNRTE2cGtMV0ZkUjdRUERsQUUiLCJkcSI6Im5zQUp3eXZFbW8tdW5wU01qYjVBMHB6MExCRjBZNFMxeGRJYXNfLVBSYzd0dThsVFdWMl8teExEOFR6dmhqX0lmY0RJR3JJZGNKNjlzVVZnR1M3ZnZkcng3Y21uNjFyai1XcmU0UVJFRC1lV1dxZDlpc2FVRmg5UGVKZ2tCbFZVVnYtdnladVlWdFF2a1NUU05ZR3RtVXl2V2xKZDBPWEFHRm9jdGlfak9aVSIsInFpIjoib0dYaWxLQ2NKRXNFdEE1eG54WUdGQW5UUjNwdkZLUXR5S0F0UGhHaHkybm5ya2VzN1RRaEFxMGhLRWZtU1RzaE1hNFhfd05aMEstX1F0dkdoNDhpeHdTTDVLTEwxZnFsY0k2TF9XUnF0cFQxS21LRERlUHR2bDVCUzFGbjgwSGFwR215cmZRWUU4S09QR2UwUl82S1BOZE1vc3dYQ3Nfd0RYMF92ZzNoNUxRIn0=
+ */
+export type Jwk = string;
+
+/**
+ * The device's public key.
+ *
+ * @example yek0SUYoOQ10vMGsIYAevozXUQpQtNFJFfFGqER/BGc=
+ */
+export type Key = string;
+
+/**
+ * A name for a value. A value stored under a given key may be retrieved via the same key.
+ */
+export type KeyFEYbivGQ = {
+  /**
+   * The time, measured in number of seconds since the UNIX epoch, at which the key will expire. This property is omitted for keys that will not expire.
+   *
+   * @example 1577836800
+   */
+  expiration?: number;
+  metadata?: ListMetadata;
+  name: KeyName;
+};
+
+export type KeyConfig = {
+  days_until_next_rotation?: DaysUntilNextRotation;
+  key_rotation_interval_days?: KeyRotationIntervalDays;
+  last_key_rotation_at?: LastKeyRotationAt;
+};
+
+export type KeyGenerationResponse = ApiResponseCollection & {
+  result?: Keys;
+};
+
+/**
+ * A key's name. The name may be at most 512 bytes. All printable, non-whitespace characters are valid. Use percent-encoding to define key names as part of a URL.
+ *
+ * @example My-Key
+ * @maxLength 512
+ */
+export type KeyName = string;
+
+/**
+ * A key's name. The name may be at most 512 bytes. All printable, non-whitespace characters are valid.
+ *
+ * @example My-Key
+ * @maxLength 512
+ */
+export type KeyNameBulk = string;
+
+export type KeyResponseCollection = ApiResponseCollection & {
+  result?: {
+    created?: SigningKeyCreated;
+    id?: SchemasIdentifier;
+  }[];
+};
+
+export type KeyResponseCollectionOyAZovtl = ApiResponseCollection & {
+  result?: KeysResponse;
+};
+
+/**
+ * The number of days between key rotations.
+ *
+ * @example 30
+ * @maximum 365
+ * @minimum 21
+ */
+export type KeyRotationIntervalDays = number;
+
+/**
+ * Code for key tag.
+ *
+ * @example 42
+ */
+export type KeyTag = number | null;
+
+/**
+ * Algorithm key type.
+ *
+ * @example ECDSAP256SHA256
+ */
+export type KeyType = string | null;
+
+export type KeylessCertificate = Base;
+
+export type KeylessCertificateHXaxgAu6 = ComponentsSchemasBase;
+
+/**
+ * Keyless certificate identifier tag.
+ *
+ * @example 4d2844d2ce78891c34d0b6c0535a291e
+ * @maxLength 32
+ */
+export type KeylessCertificateComponentsSchemasIdentifier = string;
+
+/**
+ * The keyless SSL name.
+ *
+ * @example example.com Keyless SSL
+ * @maxLength 180
+ */
+export type KeylessCertificateComponentsSchemasName = string;
+
+/**
+ * Status of the Keyless SSL.
+ *
+ * @example active
+ */
+export type KeylessCertificateComponentsSchemasStatus = 'active' | 'deleted';
+
+/**
+ * Private IP of the Key Server Host
+ *
+ * @example 10.0.0.1
+ */
+export type KeylessPrivateIp = string;
+
+export type KeylessResponseCollection = ApiResponseCollection & {
+  result?: KeylessCertificateHXaxgAu6[];
+};
+
+export type KeylessResponseSingle = ApiResponseSingleZZHeSkIR & {
+  result?: Base;
+};
+
+export type KeylessResponseSingleZksQvj76 = ApiResponseSingleLarS7owG & {
+  result?: Record<string, any>;
+};
+
+export type KeylessResponseSingleId = ApiResponseSingleZZHeSkIR & {
+  result?: {
+    id?: Identifier;
+  };
+};
+
+export type KeylessResponseSingleIdRO91wPYN = ApiResponseSingleLarS7owG & {
+  result?: {
+    id?: KeylessCertificateComponentsSchemasIdentifier;
+  };
+};
+
+/**
+ * Configuration for using Keyless SSL through a Cloudflare Tunnel
+ */
+export type KeylessTunnel = {
+  private_ip: KeylessPrivateIp;
+  vnet_id: KeylessVnetId;
+};
+
+/**
+ * Cloudflare Tunnel Virtual Network ID
+ *
+ * @example 7365377a-85a4-4390-9480-531ef7dc7a3c
+ */
+export type KeylessVnetId = string;
+
+export type Keys = {
+  created?: SigningKeyCreated;
+  id?: SchemasIdentifier;
+  jwk?: Jwk;
+  pem?: Pem;
+};
+
+export type KeysJZLBRHLA = {
+  name?: KeysComponentsSchemasName;
+  value?: KeysComponentsSchemasValue;
+};
+
+/**
+ * Key name.
+ *
+ * @example default
+ */
+export type KeysComponentsSchemasName = string;
+
+export type KeysComponentsSchemasSingleResponse = ApiResponseSingleKLIlNaxV & KeyConfig;
+
+export type KeysComponentsSchemasSingleResponseI72uQ4Jz = ApiResponseSingleLarS7owG & KeyConfig;
+
+/**
+ * Key value.
+ *
+ * @example Oix0bbNaT8Rge9PuyxUBrjI6zrgnsyJ5=
+ */
+export type KeysComponentsSchemasValue = string;
+
+export type KeysResponse = {
+  keys?: KeysJZLBRHLA[];
+};
+
+/**
+ * The type of the membership.
+ *
+ * @example zone
+ */
+export type Kind = 'zone' | 'account';
+
+/**
+ * The type of the list. Each type supports specific list items (IP addresses, hostnames or redirects).
+ *
+ * @example ip
+ */
+export type KindI00awcl2 = 'ip' | 'redirect' | 'hostname';
+
+export type KolideConfigRequest = {
+  /**
+   * The Kolide client ID.
+   *
+   * @example example client id
+   */
+  client_id: string;
+  /**
+   * The Kolide client secret.
+   *
+   * @example example client secret
+   */
+  client_secret: string;
+};
+
+/**
+ * A byte sequence to be stored, up to 10 MB in length.
+ *
+ * @example Some Value
+ */
+export type KvComponentsSchemasValue = string;
+
+export type KvNamespaceBinding = {
+  name: BindingName;
+  namespace_id: NamespaceIdentifier;
+  /**
+   * The class of resource that the binding provides.
+   *
+   * @example kv_namespace
+   */
+  type: 'kv_namespace';
+};
+
+/**
+ * The language label displayed in the native language to users.
+ *
+ * @example Türkçe
+ */
+export type Label = string;
+
+/**
+ * Field appears if there is an additional annotation printed when the probe returns. Field also appears when running a GRE+ICMP traceroute to denote which traceroute a node comes from.
+ */
+export type Labels = string[];
+
+/**
+ * The language tag in BCP 47 format.
+ *
+ * @example tr
+ */
+export type Language = string;
+
+export type LanguageResponseCollection = ApiResponseCollection & {
+  result?: Captions[];
+};
+
+export type LanguageResponseSingle = ApiResponseSingleYdRGfgTy & {
+  result?: Record<string, any>;
+};
+
+/**
+ * Records the last time for which logs have been successfully pushed. If the last successful push was for logs range 2018-07-23T10:00:00Z to 2018-07-23T10:01:00Z then the value of this field will be 2018-07-23T10:01:00Z. If the job has never run or has just been enabled and hasn't run yet then the field will be empty.
+ *
+ * @format date-time
+ */
+export type LastComplete = string | null;
+
+/**
+ * Records the last time the job failed. If not null, the job is currently failing. If null, the job has either never failed or has run successfully at least once since last failure. See also the error_message field.
+ *
+ * @format date-time
+ */
+export type LastError = string | null;
+
+/**
+ * Timestamp of the last time an attempt to dispatch a notification to this webhook failed.
+ *
+ * @example 2020-10-26T18:25:04.532316Z
+ * @format date-time
+ */
+export type LastFailure = string;
+
+/**
+ * The timestamp of the previous key rotation.
+ *
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
+ */
+export type LastKeyRotationAt = string;
+
+/**
+ * User's last name
+ *
+ * @example Appleseed
+ * @maxLength 60
+ */
+export type LastName = string | null;
+
+/**
+ * When the device last connected to Cloudflare services.
+ *
+ * @example 2017-06-14T00:00:00Z
+ * @format date-time
+ */
+export type LastSeen = string;
+
+/**
+ * Timestamp of the last time Cloudflare was able to successfully dispatch a notification using this webhook.
+ *
+ * @example 2020-10-26T18:25:04.532316Z
+ * @format date-time
+ */
+export type LastSuccess = string;
+
+/**
+ * The time at which the user last successfully logged in.
+ *
+ * @example 2020-07-01T05:20:00Z
+ * @format date-time
+ */
+export type LastSuccessfulLogin = string;
+
+/**
+ * The timestamp of when the ruleset was last modified.
+ *
+ * @example 2000-01-01T00:00:00.000000Z
+ */
+export type LastUpdated = string;
+
+/**
+ * The latitude of the data center containing the origins used in this pool in decimal degrees. If this is set, longitude must also be set.
+ */
+export type Latitude = number;
+
+/**
+ * Indicates whether this plan has a legacy discount applied.
+ *
+ * @default false
+ * @example false
+ */
+export type LegacyDiscount = boolean;
+
+/**
+ * The legacy identifier for this rate plan, if any.
+ *
+ * @example free
+ */
+export type LegacyId = string;
+
+/**
+ * Limit number of returned metrics.
+ *
+ * @default 100000
+ * @example 100
+ */
+export type Limit = number;
+
+export type Linkedin = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: GenericOauthConfig;
+  id?: Uuid;
+  name: SchemasNameIXVfNmuB;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
+     */
+    group_member_deprovision?: boolean;
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type: string;
+};
+
+export type List = {
+  created_on?: SchemasCreatedOnNgcP5F83;
+  description?: ListsComponentsSchemasDescription;
+  id?: ListId;
+  kind?: KindI00awcl2;
+  modified_on?: ListsComponentsSchemasModifiedOn;
+  name?: ListsComponentsSchemasName;
+  num_items?: NumItems;
+  num_referencing_filters?: NumReferencingFilters;
+};
+
+export type ListDeleteResponseCollection = ApiResponseCollection & {
+  result?: {
+    id?: ItemId;
+  };
+};
+
+export type ListResponseCollection = ApiResponseCollection & {
+  result?: List;
+};
+
+export type ListZoneConnectionsResponse = ApiResponseCollection & {
+  result?: Connection[];
+  result_info?: ResultInfo;
+};
+
+export type ListZonePoliciesResponse = ApiResponseCollection & {
+  result?: PageshieldPolicy[];
+};
+
+export type ListZoneScriptsResponse = ApiResponseCollection & {
+  result?: Script[];
+  result_info?: ResultInfo;
+};
+
+/**
+ * The unique ID of the list.
+ *
+ * @example 2c0fc9fa937b11eaa1b71c4d701ab86e
+ * @maxLength 32
+ * @minLength 32
+ */
+export type ListId = string;
+
+export type ListItemResponseCollection = ApiResponseCollection & {
+  result?: Items[];
+} & {
+  result_info?: {
+    /**
+     * Total results returned based on your search parameters.
+     *
+     * @example 1
+     */
+    count?: number;
+    /**
+     * Current page within paginated list of results.
+     *
+     * @example 1
+     */
+    page?: number;
+    /**
+     * Number of results per page of results.
+     *
+     * @example 20
+     */
+    per_page?: number;
+    /**
+     * Total results available without any search parameters.
+     *
+     * @example 2000
+     */
+    total_count?: number;
+  };
+};
+
+/**
+ * Arbitrary JSON that is associated with a key.
+ *
+ * @example {"someMetadataKey":"someMetadataValue"}
+ */
+export type ListMetadata = Record<string, any>;
+
+export type Lists = {
+  count?: Count;
+  created_at?: Timestamp;
+  description?: DescriptionX9wAFqIk;
+  id?: Uuid1mDHWugl;
+  name?: NameCf4EglAb;
+  type?: TypeKFroakje;
+  updated_at?: Timestamp;
+};
+
+export type ListsAsyncResponse = ApiResponseCollection & {
+  result?: {
+    operation_id?: OperationId;
+  };
+};
+
+export type ListsResponseCollection = ApiResponseCollection & {
+  result?: {
+    created_on: SchemasCreatedOnNgcP5F83;
+    description?: ListsComponentsSchemasDescription;
+    id: ListId;
+    kind: KindI00awcl2;
+    modified_on: ListsComponentsSchemasModifiedOn;
+    name: ListsComponentsSchemasName;
+    num_items: NumItems;
+    num_referencing_filters?: NumReferencingFilters;
+  }[];
+};
+
+/**
+ * An informative summary of the list.
+ *
+ * @example This is a note.
+ * @maxLength 500
+ */
+export type ListsComponentsSchemasDescription = string;
+
+/**
+ * The RFC 3339 timestamp of when the list was last modified.
+ *
+ * @example 2020-01-10T14:00:00Z
+ */
+export type ListsComponentsSchemasModifiedOn = string;
+
+/**
+ * An informative name for the list. Use this name in filter and rule expressions.
+ *
+ * @example list1
+ * @maxLength 50
+ * @pattern ^[a-zA-Z0-9_]+$
+ */
+export type ListsComponentsSchemasName = string;
+
+/**
+ * The live input ID used to upload a video with Stream Live.
+ *
+ * @example fc0a8dc887b16759bfd9ad922230a014
+ * @maxLength 32
+ */
+export type LiveInput = string;
+
+/**
+ * Details about a live input.
+ */
+export type LiveInput = {
+  created?: LiveInputCreated;
+  meta?: LiveInputMetadata;
+  modified?: LiveInputModified;
+  recording?: LiveInputRecordingSettings;
+  rtmps?: InputRtmps;
+  rtmpsPlayback?: PlaybackRtmps;
+  srt?: InputSrt;
+  srtPlayback?: PlaybackSrt;
+  status?: LiveInputStatus;
+  uid?: LiveInputIdentifier;
+  webRTC?: InputWebrtc;
+  webRTCPlayback?: PlaybackWebrtc;
+};
+
+/**
+ * The date and time the live input was created.
+ *
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
+ */
+export type LiveInputCreated = string;
+
+/**
+ * Sets the creator ID asssociated with this live input.
+ */
+export type LiveInputDefaultCreator = string;
+
+/**
+ * A unique identifier for a live input.
+ *
+ * @example 66be4bf738797e01e1fca35a7bdecdcd
+ * @maxLength 32
+ */
+export type LiveInputIdentifier = string;
+
+/**
+ * A user modifiable key-value store used to reference other systems of record for managing live inputs.
+ *
+ * @example {"name":"test stream 1"}
+ */
+export type LiveInputMetadata = Record<string, any>;
+
+/**
+ * The date and time the live input was last modified.
+ *
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
+ */
+export type LiveInputModified = string;
+
+export type LiveInputObjectWithoutUrl = {
+  created?: LiveInputCreated;
+  meta?: LiveInputMetadata;
+  modified?: LiveInputModified;
+  uid?: LiveInputIdentifier;
+};
+
+/**
+ * Lists the origins allowed to display videos created with this input. Enter allowed origin domains in an array and use `*` for wildcard subdomains. An empty array allows videos to be viewed on any origin.
+ *
+ * @example example.com
+ */
+export type LiveInputRecordingAllowedOrigins = string[];
+
+/**
+ * Specifies the recording behavior for the live input. Set this value to `off` to prevent a recording. Set the value to `automatic` to begin a recording and transition to on-demand after Stream Live stops receiving input.
+ *
+ * @default off
+ * @example automatic
+ */
+export type LiveInputRecordingMode = 'off' | 'automatic';
+
+/**
+ * Indicates if a video using the live input has the `requireSignedURLs` property set. Also enforces access controls on any video recording of the livestream with the live input.
+ *
+ * @default false
+ * @example true
+ */
+export type LiveInputRecordingRequireSignedURLs = boolean;
+
+/**
+ * Records the input to a Cloudflare Stream video. Behavior depends on the mode. In most cases, the video will initially be viewable as a live video and transition to on-demand after a condition is satisfied.
+ *
+ * @example {"mode":"off","requireSignedURLs":false,"timeoutSeconds":0}
+ */
+export type LiveInputRecordingSettings = {
+  allowedOrigins?: LiveInputRecordingAllowedOrigins;
+  mode?: LiveInputRecordingMode;
+  requireSignedURLs?: LiveInputRecordingRequireSignedURLs;
+  timeoutSeconds?: LiveInputRecordingTimeoutSeconds;
+};
+
+/**
+ * Determines the amount of time a live input configured in `automatic` mode should wait before a recording transitions from live to on-demand. `0` is recommended for most use cases and indicates the platform default should be used.
+ *
+ * @default 0
+ */
+export type LiveInputRecordingTimeoutSeconds = number;
+
+export type LiveInputResponseCollection = ApiResponseCollection & {
+  result?: {
+    liveInputs?: LiveInputObjectWithoutUrl[];
+    /**
+     * The total number of remaining live inputs based on cursor position.
+     *
+     * @example 1000
+     */
+    range?: number;
+    /**
+     * The total number of live inputs that match the provided filters.
+     *
+     * @example 35586
+     */
+    total?: number;
+  };
+};
+
+export type LiveInputResponseSingle = ApiResponseSingleYdRGfgTy & {
+  result?: LiveInput;
+};
+
+/**
+ * The connection status of a live input.
+ */
+export type LiveInputStatus =
+  | any
+  | 'connected'
+  | 'reconnected'
+  | 'reconnecting'
+  | 'client_disconnect'
+  | 'ttl_exceeded'
+  | 'failed_to_connect'
+  | 'failed_to_reconnect'
+  | 'new_configuration_accepted'
+  | null;
+
+/**
+ * Identifier for the uploaded LOA document.
+ *
+ * @example d933b1530bc56c9953cf8ce166da8004
+ * @maxLength 32
+ */
+export type LoaDocumentIdentifier = string | null;
+
+/**
+ * Identifier for the uploaded LOA document.
+ *
+ * @example d933b1530bc56c9953cf8ce166da8004
+ * @maxLength 32
+ */
+export type LoaDocumentIdentifierGtDvyfh0 = string | null;
+
+export type LoaUploadResponse = ApiResponseSingleZ04EBmfK & {
+  result?: {
+    /**
+     * Name of LOA document.
+     *
+     * @example document.pdf
+     */
+    filename?: string;
+  };
+};
+
+export type LoaUploadResponseCKBnZwZO = ApiResponseSingleLarS7owG & {
+  result?: {
+    /**
+     * Name of LOA document.
+     *
+     * @example document.pdf
+     */
+    filename?: string;
+  };
+};
+
+export type LoadBalancer = {
+  adaptive_routing?: AdaptiveRouting;
+  country_pools?: CountryPools;
+  created_on?: Timestamp;
+  default_pools?: DefaultPools;
+  description?: ComponentsSchemasDescriptionPGj41dmE;
+  enabled?: ComponentsSchemasEnabledQ79EL5TU;
+  fallback_pool?: FallbackPool;
+  id?: LoadBalancerComponentsSchemasIdentifier;
+  location_strategy?: LocationStrategy;
+  modified_on?: Timestamp;
+  name?: ComponentsSchemasNamePmZCIPld;
+  pop_pools?: PopPools;
+  proxied?: Proxied;
+  random_steering?: RandomSteering;
+  region_pools?: RegionPools;
+  rules?: Rules;
+  session_affinity?: SessionAffinity;
+  session_affinity_attributes?: SessionAffinityAttributes;
+  session_affinity_ttl?: SessionAffinityTtl;
+  steering_policy?: SteeringPolicy;
+  ttl?: TtlHaRIhRKD;
+};
+
+export type LoadBalancerUJT5l2Nt = {
+  adaptive_routing?: AdaptiveRouting;
+  country_pools?: CountryPools;
+  created_on?: Timestamp;
+  default_pools?: DefaultPools;
+  description?: LoadBalancerComponentsSchemasDescription;
+  enabled?: LoadBalancerComponentsSchemasEnabled;
+  fallback_pool?: FallbackPool;
+  id?: LoadBalancerComponentsSchemasIdentifier;
+  location_strategy?: LocationStrategy;
+  modified_on?: Timestamp;
+  name?: LoadBalancerComponentsSchemasName;
+  pop_pools?: PopPools;
+  proxied?: Proxied;
+  random_steering?: RandomSteering;
+  region_pools?: RegionPools;
+  rules?: ComponentsSchemasRules;
+  session_affinity?: SessionAffinity;
+  session_affinity_attributes?: SessionAffinityAttributes;
+  session_affinity_ttl?: SessionAffinityTtl;
+  steering_policy?: SteeringPolicy;
+  ttl?: TtlXvgb35JN;
+};
+
+/**
+ * Object description.
+ *
+ * @example Load Balancer for www.example.com
+ */
+export type LoadBalancerComponentsSchemasDescription = string;
+
+/**
+ * Whether to enable (the default) this load balancer.
+ *
+ * @default true
+ * @example true
+ */
+export type LoadBalancerComponentsSchemasEnabled = boolean;
+
+/**
+ * @example 699d98642c564d2e855e9661899b7252
+ */
+export type LoadBalancerComponentsSchemasIdentifier = void;
+
+/**
+ * The DNS hostname to associate with your Load Balancer. If this hostname already exists as a DNS record in Cloudflare's DNS, the Load Balancer will take precedence and the DNS record will not be used.
+ *
+ * @example www.example.com
+ */
+export type LoadBalancerComponentsSchemasName = string;
+
+export type LoadBalancerComponentsSchemasResponseCollection = ApiResponseCollection & {
+  result?: LoadBalancerUJT5l2Nt[];
+};
+
+export type LoadBalancerComponentsSchemasSingleResponse = ApiResponseSingleUl1k90Mw & {
+  result?: LoadBalancer;
+};
+
+export type LoadBalancerComponentsSchemasSingleResponseMP6TZKst = ApiResponseSingleLarS7owG & {
+  result?: LoadBalancerUJT5l2Nt;
+};
+
+/**
+ * Configures load shedding policies and percentages for the pool.
+ */
+export type LoadShedding = {
+  /**
+   * The percent of traffic to shed from the pool, according to the default policy. Applies to new sessions and traffic without session affinity.
+   *
+   * @default 0
+   * @maximum 100
+   * @minimum 0
+   */
+  default_percent?: number;
+  /**
+   * The default policy to use when load shedding. A random policy randomly sheds a given percent of requests. A hash policy computes a hash over the CF-Connecting-IP address and sheds all requests originating from a percent of IPs.
+   *
+   * @default random
+   */
+  default_policy?: 'random' | 'hash';
+  /**
+   * The percent of existing sessions to shed from the pool, according to the session policy.
+   *
+   * @default 0
+   * @maximum 100
+   * @minimum 0
+   */
+  session_percent?: number;
+  /**
+   * Only the hash policy is supported for existing sessions (to avoid exponential decay).
+   *
+   * @default hash
+   */
+  session_policy?: 'hash';
+};
+
+/**
+ * Location, provided by the CSR
+ *
+ * @example Somewhere
+ */
+export type Location = string;
+
+/**
+ * Controls location-based steering for non-proxied requests. See `steering_policy` to learn how steering is affected.
+ */
+export type LocationStrategy = {
+  /**
+   * Determines the authoritative location when ECS is not preferred, does not exist in the request, or its GeoIP lookup is unsuccessful.
+   * - `"pop"`: Use the Cloudflare PoP location.
+   * - `"resolver_ip"`: Use the DNS resolver GeoIP location. If the GeoIP lookup is unsuccessful, use the Cloudflare PoP location.
+   *
+   * @default pop
+   * @example resolver_ip
+   */
+  mode?: 'pop' | 'resolver_ip';
+  /**
+   * Whether the EDNS Client Subnet (ECS) GeoIP should be preferred as the authoritative location.
+   * - `"always"`: Always prefer ECS.
+   * - `"never"`: Never prefer ECS.
+   * - `"proximity"`: Prefer ECS only when `steering_policy="proximity"`.
+   * - `"geo"`: Prefer ECS only when `steering_policy="geo"`.
+   *
+   * @default proximity
+   * @example always
+   */
+  prefer_ecs?: 'always' | 'never' | 'proximity' | 'geo';
+};
+
+export type Locations = {
+  client_default?: ClientDefault;
+  created_at?: Timestamp;
+  doh_subdomain?: Subdomain;
+  ecs_support?: EcsSupport;
+  id?: SchemasUuidHmO1cTZ9;
+  ip?: IpCcOd8dAo;
+  name?: SchemasName4xhKRX0o;
+  networks?: Network;
+  updated_at?: Timestamp;
+};
+
+/**
+ * An informative summary of the rule.
+ *
+ * @example Restrict access to these endpoints to requests from a known IP address
+ * @maxLength 1024
+ */
+export type LockdownsComponentsSchemasDescription = string;
+
+/**
+ * The unique identifier of the Zone Lockdown rule.
+ *
+ * @example 372e67954025e0ba6aaa6d586b9e0b59
+ * @maxLength 32
+ */
+export type LockdownsComponentsSchemasId = string;
+
+/**
+ * The priority of the rule to control the processing order. A lower number indicates higher priority. If not provided, any rules with a configured priority will be processed before rules without a priority.
+ *
+ * @example 5
+ */
+export type LockdownsComponentsSchemasPriority = number;
+
+/**
+ * Shows whether a registrar lock is in place for a domain.
+ *
+ * @example false
+ */
+export type Locked = boolean;
+
+/**
+ * An object configuring the rule's logging behavior.
+ *
+ * @example {"enabled":true}
+ */
+export type Logging = {
+  /**
+   * Whether to generate a log when the rule matches.
+   *
+   * @example true
+   */
+  enabled?: boolean;
+};
+
+export type LoginDesign = {
+  /**
+   * The background color on your login page.
+   *
+   * @example #c5ed1b
+   */
+  background_color?: string;
+  /**
+   * The text at the bottom of your login page.
+   *
+   * @example This is an example description.
+   */
+  footer_text?: string;
+  /**
+   * The text at the top of your login page.
+   *
+   * @example This is an example description.
+   */
+  header_text?: string;
+  /**
+   * The URL of the logo on your login page.
+   *
+   * @example https://example.com/logo.png
+   */
+  logo_path?: string;
+  /**
+   * The text color on your login page.
+   *
+   * @example #c5ed1b
+   */
+  text_color?: string;
+};
+
+/**
+ * The image URL for the logo shown in the App Launcher dashboard.
+ *
+ * @example https://www.cloudflare.com/img/logo-web-badges/cf-logo-on-white-bg.svg
+ */
+export type LogoUrl = string;
+
+/**
+ * Configuration string. It specifies things like requested fields and timestamp formats. If migrating from the logpull api, copy the url (full url or just the query string) of your call here, and logpush will keep on making this call for you, setting start and end times appropriately.
+ *
+ * @example fields=RayID,ClientIP,EdgeStartTimestamp&timestamps=rfc3339
+ * @format uri-reference
+ * @maxLength 4096
+ */
+export type LogpullOptions = string | null;
+
+/**
+ * Whether Logpush is turned on for the Worker.
+ *
+ * @example false
+ */
+export type Logpush = boolean;
+
+export type LogpushFieldResponseCollection = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type LogpushJob = {
+  dataset?: Dataset;
+  destination_conf?: DestinationConf;
+  enabled?: EnabledKv09N7E6;
+  error_message?: ErrorMessage;
+  frequency?: Frequency;
+  id?: Id;
+  last_complete?: LastComplete;
+  last_error?: LastError;
+  logpull_options?: LogpullOptions;
+  name?: NameGjT0muUM;
+} | null;
+
+export type LogpushJobResponseCollection = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type LogpushJobResponseSingle = ApiResponseSingleJE9eFdPt & {
+  result?: LogpushJob;
+};
+
+/**
+ * @example {"ClientIP":"192.0.2.1","RayID":"41ddf1740f67442d","EdgeStartTimestamp":1526810289280000000}
+{"ClientIP":"192.0.2.1","RayID":"41ddf1740f67442d","EdgeStartTimestamp":1526810289280000000}
+{"ClientIP":"192.0.2.1","RayID":"41ddf1740f67442d","EdgeStartTimestamp":1526810289280000000}
+ */
+export type Logs = string | Record<string, any>;
+
+/**
+ * The longitude of the data center containing the origins used in this pool in decimal degrees. If this is set, latitude must also be set.
+ */
+export type Longitude = number;
+
+/**
+ * The device mac address.
+ *
+ * @example 00-00-5E-00-53-00
+ */
+export type MacAddress = string;
+
+/**
+ * When true, the Managed Transform is enabled.
+ *
+ * @example true
+ */
+export type ManagedHeadersComponentsSchemasEnabled = boolean;
+
+/**
+ * Human-readable identifier of the Managed Transform.
+ *
+ * @example add_cf-bot-score_header
+ */
+export type ManagedHeadersComponentsSchemasId = string;
+
+/**
+ * The device manufacturer name.
+ *
+ * @example My phone corp
+ */
+export type Manufacturer = string;
+
+/**
+ * The conditions that the client must match to run the rule.
+ */
+export type Match = MatchItem[];
+
+/**
+ * Whether to match all search requirements or at least one (any). If set to `all`, acts like a logical AND between filters. If set to `any`, acts like a logical OR instead. Note that the interaction between tag filters is controlled by the `tag-match` parameter instead.
+ *
+ * @default all
+ * @example any
+ */
+export type Match90leq6MH = 'any' | 'all';
+
+/**
+ * Determines which traffic the rate limit counts towards the threshold.
+ */
+export type MatchVa0wXlcX = {
+  headers?: {
+    name?: HeaderName;
+    op?: HeaderOp;
+    value?: HeaderValue;
+  }[];
+  request?: {
+    methods?: Methods;
+    schemes?: Schemes;
+    url?: SchemasUrl;
+  };
+  response?: {
+    origin_traffic?: OriginTraffic;
+  };
+};
+
+export type MatchItem = {
+  platform?: Platform;
+};
+
+/**
+ * The maximum duration in seconds for a video upload. Can be set for a video that is not yet uploaded to limit its duration. Uploads that exceed the specified duration will fail during processing. A value of `-1` means the value is unknown.
+ *
+ * @maximum 21600
+ * @minimum 1
+ */
+export type MaxDurationSeconds = number;
+
+/**
+ * The maximum number of seconds the results of a preflight request can be cached.
+ *
+ * @example -1
+ * @maximum 86400
+ * @minimum -1
+ */
+export type MaxAge = number;
+
+export type MaxEstimatedTimeMinutes = number;
+
+/**
+ * @example 3
+ */
+export type MaxRetries = number;
+
+/**
+ * Maximum RTT in ms.
+ */
+export type MaxRttMs = number;
+
+/**
+ * Max TTL.
+ *
+ * @default 15
+ * @maximum 64
+ * @minimum 0
+ */
+export type MaxTtl = number;
+
+/**
+ * Maximum size of an allowable upload.
+ */
+export type MaxUpload = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * identifier of the zone setting.
+   *
+   * @example max_upload
+   */
+  id: 'max_upload';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: MaxUploadValue;
+};
+
+/**
+ * Value of the zone setting.
+ * Notes: The size depends on the plan level of the zone. (Enterprise = 500, Business = 200, Pro = 100, Free = 100)
+ *
+ * @default 100
+ */
+export type MaxUploadValue = 100 | 200 | 500;
+
+/**
+ * @example 5000
+ */
+export type MaxWaitTimeMs = number;
+
+/**
+ * Maximum DNS Cache TTL.
+ *
+ * @default 900
+ * @example 900
+ * @maximum 36000
+ * @minimum 30
+ */
+export type MaximumCacheTtl = number;
+
+/**
+ * Mean RTT in ms.
+ */
+export type MeanRttMs = number;
+
+/**
+ * The mechanism to which the notification has been dispatched.
+ *
+ * @example test@example.com
+ */
+export type Mechanism = string;
+
+/**
+ * The type of mechanism to which the notification has been dispatched. This can be email/pagerduty/webhook based on the mechanism configured.
+ *
+ * @example email
+ */
+export type MechanismType = 'email' | 'pagerduty' | 'webhook';
+
+/**
+ * List of IDs that will be used when dispatching a notification. IDs for email type will be the email address.
+ *
+ * @example {"email":[{"id":"test@example.com"}],"pagerduty":[{"id":"e8133a15-00a4-4d69-aec1-32f70c51f6e5"}],"webhooks":[{"id":"14cc1190-5d2b-4b98-a696-c424cb2ad05f"}]}
+ */
+export type Mechanisms = {
+  [key: string]: {
+    id?: Uuid;
+  }[];
+};
+
+/**
+ * A user modifiable key-value store used to reference other systems of record for managing videos.
+ *
+ * @example {}
+ */
+export type MediaMetadata = Record<string, any>;
+
+/**
+ * Specifies the processing status of the video.
+ *
+ * @example inprogress
+ */
+export type MediaState = 'pendingupload' | 'downloading' | 'queued' | 'inprogress' | 'ready' | 'error';
+
+/**
+ * Specifies a detailed status for a video. If the `state` is `inprogress` or `error`, the `step` field returns `encoding` or `manifest`. If the `state` is `inprogress`, `pctComplete` returns a number between 0 and 100 to indicate the approximate percent of completion. If the `state` is `error`, `errorReasonCode` and `errorReasonText` provide additional details.
+ */
+export type MediaStatus = {
+  errorReasonCode?: ErrorReasonCode;
+  errorReasonText?: ErrorReasonText;
+  pctComplete?: PctComplete;
+  state?: MediaState;
+};
+
+export type Member = {
+  code?: Code;
+  id: MembershipComponentsSchemasIdentifier;
+  /**
+   * Roles assigned to this member.
+   */
+  roles: Role[];
+  status: void;
+  user: {
+    email: EmailPuzf53IC;
+    first_name?: FirstName;
+    id?: CommonComponentsSchemasIdentifier;
+    last_name?: LastName;
+    two_factor_authentication_enabled?: TwoFactorAuthenticationEnabled;
+  };
+};
+
+/**
+ * Member Name.
+ *
+ * @example John Smith
+ * @maxLength 100
+ */
+export type MemberComponentsSchemasName = string | null;
+
+export type Membership = {
+  account?: SchemasAccount;
+  api_access_enabled?: ApiAccessEnabled;
+  code?: Code;
+  id?: MembershipComponentsSchemasIdentifier;
+  /**
+   * All access permissions for the user at the account.
+   *
+   * @example {"analytics":{"read":true,"write":false},"zones":{"read":true,"write":true}}
+   */
+  permissions?: Permissions;
+  roles?: Roles;
+  status?: SchemasStatusJI04pNVL;
+};
+
+/**
+ * Membership identifier tag.
+ *
+ * @example 4536bcfad5faccb111b47003c79917fa
+ * @maxLength 32
+ */
+export type MembershipComponentsSchemasIdentifier = string;
+
+/**
+ * Zones and Accounts which will be assigned IPs on this Address Map. A zone membership will take priority over an account membership.
+ */
+export type Memberships = AddressMapsMembership5Sv6b19f[];
+
+export type Messages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+/**
+ * User modifiable key-value store. Can be used for keeping references to another system of record for managing images. Metadata must not exceed 1024 bytes.
+ *
+ * @example {"key":"value"}
+ */
+export type Metadata = Record<string, any>;
+
+/**
+ * The method to use for the health check. This defaults to 'GET' for HTTP/HTTPS based checks and 'connection_established' for TCP based health checks.
+ *
+ * @default GET
+ * @example GET
+ */
+export type Method = string;
+
+/**
+ * The HTTP method used to access the endpoint.
+ *
+ * @example GET
+ */
+export type MethodA9T9ZDIH = 'GET' | 'POST' | 'HEAD' | 'OPTIONS' | 'PUT' | 'DELETE' | 'CONNECT' | 'PATCH' | 'TRACE';
+
+/**
+ * The HTTP methods to match. You can specify a subset (for example, `['POST','PUT']`) or all methods (`['_ALL_']`). This field is optional when creating a rate limit.
+ *
+ * @example GET
+ * @example POST
+ */
+export type Methods = ('GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | '_ALL_')[];
+
+/**
+ * A comma-separated list of metrics to query.
+ *
+ * @example queryCount,uncachedCount
+ */
+export type Metrics = string;
+
+/**
+ * Minimum RTT in ms.
+ */
+export type MinRttMs = number;
+
+/**
+ * Only accepts HTTPS requests that use at least the TLS protocol version specified. For example, if TLS 1.1 is selected, TLS 1.0 connections will be rejected, while 1.1, 1.2, and 1.3 (if enabled) will be permitted.
+ *
+ * @default 1.0
+ */
+export type MinTlsVersion = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example min_tls_version
+   */
+  id: 'min_tls_version';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: MinTlsVersionValue;
+};
+
+/**
+ * Value of the zone setting.
+ *
+ * @default 1.0
+ */
+export type MinTlsVersionValue = '1.0' | '1.1' | '1.2' | '1.3';
+
+/**
+ * Automatically minify certain assets for your website. Refer to [Using Cloudflare Auto Minify](https://support.cloudflare.com/hc/en-us/articles/200168196) for more information.
+ */
+export type Minify = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * Zone setting identifier.
+   *
+   * @example minify
+   */
+  id: 'minify';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: MinifyValue;
+};
+
+/**
+ * Value of the zone setting.
+ */
+export type MinifyValue = {
+  /**
+   * Automatically minify all CSS files for your website.
+   *
+   * @default off
+   */
+  css?: 'on' | 'off';
+  /**
+   * Automatically minify all HTML files for your website.
+   *
+   * @default off
+   */
+  html?: 'on' | 'off';
+  /**
+   * Automatically minify all JavaScript files for your website.
+   *
+   * @default off
+   */
+  js?: 'on' | 'off';
+};
+
+/**
+ * Minimum DNS Cache TTL.
+ *
+ * @default 60
+ * @example 60
+ * @maximum 36000
+ * @minimum 30
+ */
+export type MinimumCacheTtl = number;
+
+/**
+ * The minimum number of origins that must be healthy for this pool to serve traffic. If the number of healthy origins falls below this number, the pool will be marked unhealthy and will failover to the next available pool.
+ *
+ * @default 1
+ */
+export type MinimumOrigins = number;
+
+/**
+ * Automatically optimize image loading for website visitors on mobile
+ * devices. Refer to [our blog post](http://blog.cloudflare.com/mirage2-solving-mobile-speed)
+ * for more information.
+ */
+export type Mirage = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example mirage
+   */
+  id: 'mirage';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: MirageValue;
+};
+
+/**
+ * Value of the zone setting.
+ *
+ * @default off
+ */
+export type MirageValue = 'on' | 'off';
+
+export type Miscategorization = {
+  /**
+   * Content category IDs to add.
+   *
+   * @example 82
+   */
+  content_adds?: void;
+  /**
+   * Content category IDs to remove.
+   *
+   * @example 155
+   */
+  content_removes?: void;
+  /**
+   * @example domain
+   */
+  indicator_type?: 'domain' | 'ipv4' | 'ipv6' | 'url';
+  /**
+   * Provide only if indicator_type is `ipv4` or `ipv6`.
+   */
+  ip?: void;
+  /**
+   * Security category IDs to add.
+   *
+   * @example 117
+   * @example 131
+   */
+  security_adds?: void;
+  /**
+   * Security category IDs to remove.
+   *
+   * @example 83
+   */
+  security_removes?: void;
+  /**
+   * Provide only if indicator_type is `domain` or `url`. Example if indicator_type is `domain`: `example.com`. Example if indicator_type is `url`: `https://example.com/news/`.
+   */
+  url?: string;
+};
+
+export type MnmConfig = {
+  default_sampling: MnmConfigDefaultSampling;
+  name: MnmConfigName;
+  router_ips: MnmConfigRouterIps;
+};
+
+/**
+ * Fallback sampling rate of flow messages being sent in packets per second. This should match the packet sampling rate configured on the router.
+ *
+ * @default 1
+ * @minimum 1
+ */
+export type MnmConfigDefaultSampling = number;
+
+/**
+ * The account name.
+ *
+ * @example cloudflare user's account
+ */
+export type MnmConfigName = string;
+
+/**
+ * IPv4 CIDR of the router sourcing flow data. Only /32 addresses are currently supported.
+ *
+ * @example 203.0.113.1/32
+ */
+export type MnmConfigRouterIp = string;
+
+export type MnmConfigRouterIps = MnmConfigRouterIp[];
+
+export type MnmConfigSingleResponse = ApiResponseSingleLarS7owG & {
+  result?: MnmConfig;
+};
+
+export type MnmRule = {
+  automatic_advertisement: MnmRuleAutomaticAdvertisement;
+  bandwidth_threshold?: MnmRuleBandwidthThreshold;
+  duration: MnmRuleDuration;
+  id?: RuleIdentifier;
+  name: MnmRuleName;
+  packet_threshold?: MnmRulePacketThreshold;
+  prefixes: MnmRuleIpPrefixes;
+} | null;
+
+export type MnmRuleAdvertisableResponse = {
+  automatic_advertisement: MnmRuleAutomaticAdvertisement;
+} | null;
+
+export type MnmRuleAdvertisementSingleResponse = ApiResponseSingleLarS7owG & {
+  result?: MnmRuleAdvertisableResponse;
+};
+
+/**
+ * Toggle on if you would like Cloudflare to automatically advertise the IP Prefixes within the rule via Magic Transit when the rule is triggered. Only available for users of Magic Transit.
+ *
+ * @example false
+ */
+export type MnmRuleAutomaticAdvertisement = boolean | null;
+
+/**
+ * The number of bits per second for the rule. When this value is exceeded for the set duration, an alert notification is sent. Minimum of 1 and no maximum.
+ *
+ * @example 1000
+ * @minimum 1
+ */
+export type MnmRuleBandwidthThreshold = number;
+
+/**
+ * The amount of time that the rule threshold must be exceeded to send an alert notification. The minimum is 60 seconds and maximum is 21600 seconds. The format is XhYmZs where X, Y, and Z durations are optional; however at least one unit must be provided.
+ *
+ * @default 60s
+ * @example 1h2m3s
+ */
+export type MnmRuleDuration = string;
+
+/**
+ * The IP prefixes that are monitored for this rule. Must be a CIDR range like 203.0.113.0/24. Max 5000 different CIDR ranges.
+ *
+ * @example 203.0.113.1/32
+ */
+export type MnmRuleIpPrefix = string;
+
+export type MnmRuleIpPrefixes = MnmRuleIpPrefix[];
+
+/**
+ * The name of the rule. Must be unique. Supports characters A-Z, a-z, 0-9, underscore (_), dash (-), period (.), and tilde (~). You can’t have a space in the rule name. Max 256 characters.
+ *
+ * @example my_rule_1
+ */
+export type MnmRuleName = string;
+
+/**
+ * The number of packets per second for the rule. When this value is exceeded for the set duration, an alert notification is sent. Minimum of 1 and no maximum.
+ *
+ * @example 10000
+ * @minimum 1
+ */
+export type MnmRulePacketThreshold = number;
+
+export type MnmRulesCollectionResponse = ApiResponseCollection & {
+  result?: MnmRule[] | null;
+};
+
+export type MnmRulesSingleResponse = ApiResponseSingleLarS7owG & {
+  result?: MnmRule;
+};
+
+/**
+ * Automatically redirect visitors on mobile devices to a mobile-optimized subdomain. Refer to [Understanding Cloudflare Mobile Redirect](https://support.cloudflare.com/hc/articles/200168336) for more information.
+ */
+export type MobileRedirect = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * Identifier of the zone setting.
+   *
+   * @example mobile_redirect
+   */
+  id: 'mobile_redirect';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: MobileRedirectValue;
+};
+
+/**
+ * Value of the zone setting.
+ */
+export type MobileRedirectValue = {
+  /**
+   * Which subdomain prefix you wish to redirect visitors on mobile devices to (subdomain must already exist).
+   *
+   * @example m
+   * @minLength 1
+   */
+  mobile_subdomain?: string | null;
+  /**
+   * Whether or not mobile redirect is enabled.
+   *
+   * @default off
+   */
+  status?: 'on' | 'off';
+  /**
+   * Whether to drop the current page path and redirect to the mobile subdomain URL root, or keep the path and redirect to the same page on the mobile subdomain.
+   *
+   * @default false
+   * @example false
+   */
+  strip_uri?: boolean;
+};
+
+/**
+ * The action to perform.
+ *
+ * @example challenge
+ */
+export type Mode = 'simulate' | 'ban' | 'challenge' | 'js_challenge' | 'managed_challenge';
+
+/**
+ * When set to `on`, the current rule will be used when evaluating the request. Applies to traditional (allow) WAF rules.
+ *
+ * @example on
+ */
+export type ModeAllowTraditional = 'on' | 'off';
+
+/**
+ * When set to `on`, the current WAF rule will be used when evaluating the request. Applies to anomaly detection WAF rules.
+ *
+ * @example on
+ */
+export type ModeAnomaly = 'on' | 'off';
+
+/**
+ * The action that the current WAF rule will perform when triggered. Applies to traditional (deny) WAF rules.
+ *
+ * @example block
+ */
+export type ModeDenyTraditional = 'default' | 'disable' | 'simulate' | 'block' | 'challenge';
+
+/**
+ * The device model name.
+ *
+ * @example MyPhone(pro-X)
+ */
+export type Model = string;
+
+/**
+ * The date and time the media item was last modified.
+ *
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
+ */
+export type Modified = string;
+
+/**
+ * The date and time the destination address was last modified.
+ *
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
+ */
+export type ModifiedCBEhc8Ab = string;
+
+/**
+ * When the Application was last modified.
+ *
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
+ */
+export type ModifiedXJlHjzHE = string;
+
+/**
+ * Last time the advertisement status was changed. This field is only not 'null' if on demand is enabled.
+ *
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
+ */
+export type ModifiedAtNullable = string | null;
+
+/**
+ * Last modification of DNS Firewall cluster.
+ *
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
+ */
+export type ModifiedOn = string;
+
+/**
+ * When DNSSEC was last modified.
+ *
+ * @example 2014-01-01T05:20:00Z
+ * @format date-time
+ */
+export type ModifiedOn4CdIXZup = string | null;
+
+/**
+ * When the certificate was last modified.
+ *
+ * @example 2014-01-01T05:20:00Z
+ * @format date-time
+ */
+export type ModifiedOnBXl82yTE = string;
+
+/**
+ * last time this setting was modified.
+ *
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
+ */
+export type ModifiedOnDrYUvDnK = string | null;
+
+/**
+ * When the script was last modified.
+ *
+ * @example 2017-01-01T00:00:00Z
+ * @format date-time
+ */
+export type ModifiedOnKlppwHF4 = string;
+
+/**
+ * When the route was last modified.
+ *
+ * @example 2017-06-14T05:20:00Z
+ * @format date-time
+ */
+export type ModifiedOnMQy5ittP = string;
+
+/**
+ * Last time the token was modified.
+ *
+ * @example 2018-07-02T05:20:00Z
+ * @format date-time
+ */
+export type ModifiedOnSimuKuKK = string;
+
+/**
+ * The number of rules within the group that have been modified from their default configuration.
+ *
+ * @default 0
+ * @example 2
+ */
+export type ModifiedRulesCount = number;
+
+export type ModifiedTunnelsCollectionResponse = ApiResponseSingleRxxEmdsv & {
+  result?: {
+    /**
+     * @example true
+     */
+    modified?: boolean;
+    modified_gre_tunnels?: GreTunnel[];
+  };
+};
+
+export type ModifyRequest = {
+  description?: Web3HostnameComponentsSchemasDescription;
+  dnslink?: Dnslink;
+};
+
+export type Monitor = {
+  allow_insecure?: AllowInsecure;
+  created_on?: Timestamp;
+  description?: Description329lsFZ7;
+  expected_body?: ExpectedBody;
+  expected_codes?: ExpectedCodes;
+  follow_redirects?: FollowRedirects;
+  header?: Header;
+  id?: IdentifierYmSdxGUH;
+  interval?: IntervalHvanFWV2;
+  method?: Method;
+  modified_on?: Timestamp;
+  path?: Path;
+  port?: PortFtc1VWvE;
+  retries?: RetriesGl6521CK;
+  timeout?: Timeout;
+  type?: TypeB9S5DdJI;
+};
+
+export type MonitorHN4sJkEF = {
+  allow_insecure?: AllowInsecure;
+  created_on?: Timestamp;
+  description?: MonitorComponentsSchemasDescription;
+  expected_body?: ExpectedBody;
+  expected_codes?: ExpectedCodes;
+  follow_redirects?: FollowRedirects;
+  header?: Header;
+  id?: MonitorComponentsSchemasIdentifier;
+  interval?: IntervalLx3GfHR3;
+  method?: SchemasMethod;
+  modified_on?: Timestamp;
+  path?: Path;
+  port?: SchemasPortRWJFwo9O;
+  retries?: Retries7RuyOW7F;
+  timeout?: SchemasTimeout;
+  type?: MonitorComponentsSchemasType;
+};
+
+/**
+ * Object description.
+ *
+ * @example Login page monitor
+ */
+export type MonitorComponentsSchemasDescription = string;
+
+/**
+ * @example f1aba936b94213e5b8dca0c0dbf1f9cc
+ */
+export type MonitorComponentsSchemasIdentifier = void;
+
+export type MonitorComponentsSchemasResponseCollection = ApiResponseCollection & {
+  result?: ComponentsSchemasMonitor[];
+};
+
+export type MonitorComponentsSchemasResponseCollection2 = ApiResponseCollection & {
+  result?: ComponentsSchemasMonitor2jUnhefX[];
+};
+
+export type MonitorComponentsSchemasResponseCollectionA9oUxpwl = ApiResponseCollection & {
+  result?: MonitorHN4sJkEF[];
+};
+
+export type MonitorComponentsSchemasSingleResponse = ApiResponseSingleUl1k90Mw & {
+  result?: ComponentsSchemasMonitor;
+};
+
+export type MonitorComponentsSchemasSingleResponseYOkpwnDw = ApiResponseSingleLarS7owG & {
+  result?: ComponentsSchemasMonitor2jUnhefX;
+};
+
+/**
+ * The protocol to use for the health check. Currently supported protocols are 'HTTP','HTTPS', 'TCP', 'ICMP-PING', 'UDP-ICMP', and 'SMTP'.
+ *
+ * @default http
+ * @example https
+ */
+export type MonitorComponentsSchemasType = 'http' | 'https' | 'tcp' | 'udp_icmp' | 'icmp_ping' | 'smtp';
+
+export type MtlsManagementComponentsSchemasCertificateResponseCollection = ApiResponseCollection & {
+  result?: ComponentsSchemasCertificateObject6kagZg5y[];
+} & {
+  result_info?: {
+    /**
+     * @example 1
+     */
+    count?: void;
+    /**
+     * @example 1
+     */
+    page?: void;
+    /**
+     * @example 50
+     */
+    per_page?: void;
+    /**
+     * @example 1
+     */
+    total_count?: void;
+    /**
+     * @example 1
+     */
+    total_pages?: void;
+  };
+};
+
+export type MtlsManagementComponentsSchemasCertificateResponseSingle = ApiResponseSingleZZHeSkIR & {
+  result?: ComponentsSchemasCertificateObject;
+};
+
+export type MtlsManagementComponentsSchemasCertificateResponseSingleVPgDx3nJ = ApiResponseSingleLarS7owG & {
+  result?: ComponentsSchemasCertificateObject6kagZg5y;
+};
+
+/**
+ * When the certificate expires.
+ *
+ * @example 2122-10-29T16:59:47Z
+ * @format date-time
+ */
+export type MtlsManagementComponentsSchemasExpiresOn = string;
+
+/**
+ * Certificate identifier tag.
+ *
+ * @example 2458ce5a-0c35-4c7f-82c7-8e9487d3ff60
+ * @maxLength 36
+ */
+export type MtlsManagementComponentsSchemasIdentifier = string;
+
+/**
+ * Optional unique name for the certificate. Only used for human readability.
+ *
+ * @example example_ca_cert
+ */
+export type MtlsManagementComponentsSchemasName = string;
+
+/**
+ * Certificate deployment status for the given service.
+ *
+ * @example pending_deployment
+ */
+export type MtlsManagementComponentsSchemasStatus = string;
+
+/**
+ * This is the time the certificate was uploaded.
+ *
+ * @example 2022-11-22T17:32:30.467938Z
+ * @format date-time
+ */
+export type MtlsManagementComponentsSchemasUploadedOn = string;
+
+/**
+ * Maximum Transmission Unit (MTU) in bytes for the GRE tunnel. The minimum value is 576.
+ *
+ * @default 1476
+ */
+export type Mtu = number;
+
+export type MultipleRouteDeleteResponse = ApiResponseSingleRxxEmdsv & {
+  result?: {
+    /**
+     * @example true
+     */
+    deleted?: boolean;
+    deleted_routes?: Record<string, any>;
+  };
+};
+
+export type MultipleRouteModifiedResponse = ApiResponseSingleRxxEmdsv & {
+  result?: {
+    /**
+     * @example true
+     */
+    modified?: boolean;
+    modified_routes?: Route[];
+  };
+};
+
+/**
+ * DNS Firewall Cluster Name.
+ *
+ * @example My Awesome DNS Firewall cluster
+ * @maxLength 160
+ */
+export type Name = string;
+
+/**
+ * DNS record name (or @ for the zone apex) in Punycode.
+ *
+ * @example example.com
+ * @maxLength 255
+ */
+export type Name5Ag1twUN = string;
+
+/**
+ * A short name to identify the health check. Only alphanumeric characters, hyphens and underscores are allowed.
+ *
+ * @example server-1
+ */
+export type Name8NztOXJ3 = string;
+
+/**
+ * The name of the List.
+ *
+ * @example Admin Serial Numbers
+ */
+export type NameCf4EglAb = string;
+
+/**
+ * A unique name to identify the waiting room. Only alphanumeric characters, hyphens and underscores are allowed.
+ *
+ * @example production_webinar
+ */
+export type NameGu3WWDHz = string;
+
+/**
+ * A short name (tag) for the pool. Only alphanumeric characters, hyphens, and underscores are allowed.
+ *
+ * @example primary-dc-1
+ */
+export type NameILH8OrHN = string;
+
+/**
+ * The name of your Zero Trust organization.
+ *
+ * @example Widget Corps Internal Applications
+ */
+export type NameRPn8IBAr = string;
+
+/**
+ * A short description of the watermark profile.
+ *
+ * @default
+ * @example Marketing Videos
+ */
+export type NameWjx50o7Y = string;
+
+/**
+ * Token name.
+ *
+ * @example readonly token
+ * @maxLength 120
+ */
+export type NameZZnqpiZc = string;
+
+/**
+ * The name of the tunnel. The name cannot contain spaces or special characters, must be 15 characters or less, and cannot share a name with another GRE tunnel.
+ *
+ * @example GRE_1
+ */
+export type NameBTvYm8cQ = string;
+
+/**
+ * The domain name
+ *
+ * @example example.com
+ * @maxLength 253
+ * @pattern ^([a-zA-Z0-9][\-a-zA-Z0-9]*\.)+[\-a-zA-Z0-9]{2,20}$
+ */
+export type NameCklnDVgY = string;
+
+/**
+ * Optional human readable job name. Not unique. Cloudflare suggests that you set this to a meaningful string, like the domain name, to make it easier to identify your job.
+ *
+ * @example example.com
+ * @maxLength 512
+ * @pattern ^[a-zA-Z0-9\-\.]*$
+ */
+export type NameGjT0muUM = string | null;
+
+/**
+ * The name of the Device Posture Rule.
+ *
+ * @example Admin Serial Numbers
+ */
+export type NameKU9Y1gf9 = string;
+
+/**
+ * The keyless SSL name.
+ *
+ * @example example.com Keyless SSL
+ * @maxLength 180
+ */
+export type NameOdTv91XZ = string;
+
+/**
+ * Zone name.
+ *
+ * @example www.example.com.
+ */
+export type NameSjz7boGi = string;
+
+/**
+ * List of name servers.
+ *
+ * @example preston.ns.cloudflare.com
+ * @example oli.ns.cloudflare.com
+ */
+export type NameServers = string[];
+
+/**
+ * The keyless SSL name.
+ *
+ * @example example.com Keyless SSL
+ * @maxLength 180
+ */
+export type NameWrite = string;
+
+export type Namespace = {
+  id: NamespaceIdentifier;
+  /**
+   * True if keys written on the URL will be URL-decoded before storing. For example, if set to "true", a key written on the URL as "%3F" will be stored as "?".
+   *
+   * @example true
+   */
+  supports_url_encoding?: boolean;
+  title: NamespaceTitle;
+};
+
+/**
+ * Namespace identifier tag.
+ *
+ * @example 0f2ac74b498b48028cb68387c421e279
+ * @maxLength 32
+ */
+export type NamespaceIdentifier = string;
+
+/**
+ * A human-readable string name for a Namespace.
+ *
+ * @example My Own Namespace
+ */
+export type NamespaceTitle = string;
+
+/**
+ * Negative DNS Cache TTL.
+ *
+ * @example 900
+ * @maximum 36000
+ * @minimum 30
+ */
+export type NegativeCacheTtl = number | null;
+
+/**
+ * Enable Network Error Logging reporting on your zone. (Beta)
+ */
+export type Nel = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * Zone setting identifier.
+   *
+   * @example nel
+   */
+  id: 'nel';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: NelValue;
+};
+
+/**
+ * Value of the zone setting.
+ */
+export type NelValue = {
+  /**
+   * @default false
+   * @example false
+   */
+  enabled?: boolean;
+};
+
+/**
+ * A list of network ranges that requests from this location would originate from.
+ */
+export type Network = string[];
+
+/**
+ * Indicates whether the variant can access an image without a signature, regardless of image access control.
+ *
+ * @default false
+ * @example true
+ */
+export type NeverRequireSignedURLs = boolean;
+
+export type NewProjectResponse = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+/**
+ * A custom entry create payload
+ */
+export type NewCustomEntry = {
+  /**
+   * Whether the entry is enabled or not.
+   *
+   * @example true
+   */
+  enabled: boolean;
+  /**
+   * The name of the entry.
+   *
+   * @example Credit card (Visa)
+   */
+  name: string;
+  pattern: Pattern;
+};
+
+/**
+ * A custom entry create payload
+ */
+export type NewCustomEntryGJ2LIzhS = {
+  /**
+   * Whether the entry is enabled or not.
+   *
+   * @example true
+   */
+  enabled: boolean;
+  /**
+   * The name of the entry.
+   *
+   * @example Credit card (Visa)
+   */
+  name: string;
+  pattern: ComponentsSchemasPattern;
+};
+
+export type NewCustomProfile = {
+  allowed_match_count?: AllowedMatchCount;
+  /**
+   * The description of the profile.
+   *
+   * @example A standard CVV card number
+   */
+  description?: string;
+  /**
+   * The entries for this profile.
+   */
+  entries?: NewCustomEntryGJ2LIzhS[];
+  /**
+   * The name of the profile.
+   *
+   * @example Generic CVV Card Number
+   */
+  name?: string;
+};
+
+/**
+ * Sets the number of new users that will be let into the route every minute. This value is used as baseline for the number of users that are let in per minute. So it is possible that there is a little more or little less traffic coming to the route based on the traffic patterns at that time around the world.
+ *
+ * @maximum 2147483647
+ * @minimum 200
+ */
+export type NewUsersPerMinute = number;
+
+/**
+ * An ISO 8601 timestamp that marks when the next event will begin queueing.
+ *
+ * @example 2021-09-28T15:00:00.000Z
+ */
+export type NextEventPrequeueStartTime = string | null;
+
+/**
+ * An ISO 8601 timestamp that marks when the next event will start.
+ *
+ * @example 2021-09-28T15:00:00.000Z
+ */
+export type NextEventStartTime = string | null;
+
+/**
+ * The next-hop IP Address for the static route.
+ *
+ * @example 203.0.113.1
+ */
+export type Nexthop = string;
+
+/**
+ * @example {"asn":"AS13335","ip":"1.1.1.1","max_latency_ms":0.034,"mean_latency_ms":0.021,"min_latency_ms":0.014,"name":"one.one.one.one","packet_count":3,"std_dev_latency_ms":0.011269427669584647}
+ */
+export type NodeResult = {
+  asn?: SchemasAsn;
+  ip?: TracerouteComponentsSchemasIp;
+  labels?: Labels;
+  max_rtt_ms?: MaxRttMs;
+  mean_rtt_ms?: MeanRttMs;
+  min_rtt_ms?: MinRttMs;
+  name?: TracerouteComponentsSchemasName;
+  packet_count?: PacketCount;
+  std_dev_rtt_ms?: StdDevRttMs;
+};
+
+/**
+ * The time before which the token MUST NOT be accepted for processing.
+ *
+ * @example 2018-07-01T05:20:00Z
+ * @format date-time
+ */
+export type NotBefore = string;
+
+/**
+ * An informative summary of the rule, typically used as a reminder or explanation.
+ *
+ * @example This rule is enabled because of an event that occurred on date X.
+ */
+export type Notes = string;
+
+/**
+ * The URL where webhooks will be sent.
+ *
+ * @example https://example.com
+ * @format uri
+ */
+export type NotificationUrl = string;
+
+/**
+ * This field is now deprecated. It has been moved to Cloudflare's Centralized Notification service https://developers.cloudflare.com/fundamentals/notifications/. The email address to send health status notifications to. This can be an individual mailbox or a mailing list. Multiple emails can be supplied as a comma delimited list.
+ *
+ * @example someone@example.com,sometwo@example.com
+ */
+export type NotificationEmail = string;
+
+/**
+ * The email address to send health status notifications to. This can be an individual mailbox or a mailing list. Multiple emails can be supplied as a comma delimited list.
+ *
+ * @example someone@example.com,sometwo@example.com
+ */
+export type NotificationEmailRSyVUYWe = string;
+
+/**
+ * Filter pool and origin health notifications by resource type or health status. Use null to reset.
+ *
+ * @example {"origin":{"disable":true},"pool":{"healthy":false}}
+ */
+export type NotificationFilter = {
+  origin?: FilterOptions;
+  pool?: FilterOptions;
+} | null;
+
+/**
+ * The FQDN of the name server.
+ *
+ * @example ns1.example.com
+ * @format hostname
+ */
+export type NsName = string;
+
+/**
+ * The number of items in the list.
+ *
+ * @example 10
+ */
+export type NumItems = number;
+
+/**
+ * The number of [filters](#filters) referencing the list.
+ *
+ * @example 2
+ */
+export type NumReferencingFilters = number;
+
+export type Object = {
+  /**
+   * Whether the Durable Object has stored data.
+   *
+   * @example true
+   */
+  hasStoredData?: boolean;
+  /**
+   * ID of the Durable Object.
+   *
+   * @example fe7803fc55b964e09d94666545aab688d360c6bda69ba349ced1e5f28d2fc2c8
+   */
+  id?: string;
+};
+
+/**
+ * When the billing item was created.
+ *
+ * @example 2014-03-01T12:21:59.3456Z
+ * @format date-time
+ */
+export type OccurredAt = string;
+
+export type Oidc = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: GenericOauthConfig & {
+    /**
+     * The authorization_endpoint URL of your IdP
+     *
+     * @example https://accounts.google.com/o/oauth2/auth
+     */
+    auth_url?: string;
+    /**
+     * The jwks_uri endpoint of your IdP to allow the IdP keys to sign the tokens
+     *
+     * @example https://www.googleapis.com/oauth2/v3/certs
+     */
+    certs_url?: string;
+    /**
+     * OAuth scopes
+     *
+     * @example openid
+     * @example email
+     * @example profile
+     */
+    scopes?: string[];
+    /**
+     * The token_endpoint URL of your IdP
+     *
+     * @example https://accounts.google.com/o/oauth2/token
+     */
+    token_url?: string;
+  };
+  id?: Uuid;
+  name: SchemasNameIXVfNmuB;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
+     */
+    group_member_deprovision?: boolean;
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type: string;
+};
+
+export type Okta = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: GenericOauthConfig & {
+    /**
+     * Your okta account url
+     *
+     * @example https://dev-abc123.oktapreview.com
+     */
+    okta_account?: string;
+  };
+  id?: Uuid;
+  name: SchemasNameIXVfNmuB;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
+     */
+    group_member_deprovision?: boolean;
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type: string;
+};
+
+/**
+ * Matches an Okta group.
+ * Requires an Okta identity provider.
+ */
+export type OktaGroupRule = {
+  okta: {
+    /**
+     * The ID of your Okta identity provider.
+     *
+     * @example ea85612a-29c8-46c2-bacb-669d65136971
+     */
+    connection_id: string;
+    /**
+     * The email of the Okta group.
+     *
+     * @example devs@cloudflare.com
+     */
+    email: string;
+  };
+};
+
+/**
+ * Whether advertisement of the prefix to the Internet may be dynamically enabled or disabled.
+ *
+ * @example true
+ */
+export type OnDemandEnabled = boolean;
+
+/**
+ * Whether advertisement status of the prefix is locked, meaning it cannot be changed.
+ *
+ * @example false
+ */
+export type OnDemandLocked = boolean;
+
+/**
+ * The date and time when the video upload URL is no longer valid for direct user uploads.
+ *
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
+ */
+export type OneTimeUploadExpiry = string;
+
+export type Onelogin = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: GenericOauthConfig & {
+    /**
+     * Your OneLogin account url
+     *
+     * @example https://mycompany.onelogin.com
+     */
+    onelogin_account?: string;
+  };
+  id?: Uuid;
+  name: SchemasNameIXVfNmuB;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
+     */
+    group_member_deprovision?: boolean;
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type: string;
+};
+
+/**
+ * The translucency of the image. A value of `0.0` makes the image completely transparent, and `1.0` makes the image completely opaque. Note that if the image is already semi-transparent, setting this to `1.0` will not make the image completely opaque.
+ *
+ * @default 1
+ * @example 0.75
+ * @maximum 1
+ * @minimum 0
+ */
+export type Opacity = number;
+
+/**
+ * A OpenAPI 3.0.0 compliant schema.
+ *
+ * @example {"info":{"title":"OpenAPI JSON schema for www.example.com","version":"1.0"},"openapi":"3.0.0","paths":{"... Further paths ...":{},"/api/v1/users/{var1}":{"get":{"parameters":[{"in":"path","name":"var1","required":true,"schema":{"type":"string"}}]}}},"servers":[{"url":"www.example.com"}]}
+ */
+export type Openapi = Record<string, any>;
+
+/**
+ * A OpenAPI 3.0.0 compliant schema.
+ *
+ * @example {"info":{"title":"OpenAPI JSON schema for www.example.com","version":"1.0"},"openapi":"3.0.0","paths":{"... Further paths ...":{},"/api/v1/users/{var1}":{"get":{"parameters":[{"in":"path","name":"var1","required":true,"schema":{"type":"string"}}]}}},"servers":[{"url":"www.example.com"}]}
+ */
+export type Openapiwiththresholds = Record<string, any>;
+
+export type Operation = {
+  endpoint: Endpoint;
+  features?: Features;
+  host: HostD2DhpgVX;
+  last_updated: Timestamp;
+  method: MethodA9T9ZDIH;
+  operation_id: Uuid;
+};
+
+/**
+ * The unique operation ID of the asynchronous action.
+ *
+ * @example 4da8780eeb215e6cb7f48dd981c4ea02
+ */
+export type OperationId = string;
+
+/**
+ * Enables the Opportunistic Encryption feature for a zone.
+ */
+export type OpportunisticEncryption = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example opportunistic_encryption
+   */
+  id: 'opportunistic_encryption';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: OpportunisticEncryptionValue;
+};
+
+/**
+ * Value of the zone setting.
+ * Notes: Default value depends on the zone's plan level.
+ *
+ * @default on
+ */
+export type OpportunisticEncryptionValue = 'on' | 'off';
+
+/**
+ * Add an Alt-Svc header to all legitimate requests from Tor, allowing the connection to use our onion services instead of exit nodes.
+ *
+ * @default off
+ */
+export type OpportunisticOnion = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example opportunistic_onion
+   */
+  id: 'opportunistic_onion';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: OpportunisticOnionValue;
+};
+
+/**
+ * Value of the zone setting.
+ * Notes: Default value depends on the zone's plan level.
+ *
+ * @default off
+ */
+export type OpportunisticOnionValue = 'on' | 'off';
+
+/**
+ * Allows you to define image resizing sizes for different use cases.
+ */
+export type Options = {
+  fit: Fit;
+  height: HeightHdzALmvb;
+  metadata: SchemasMetadata;
+  width: Width3qFBlIcS;
+};
+
+/**
+ * Orange to Orange (O2O) allows zones on Cloudflare to CNAME to other zones also on Cloudflare.
+ */
+export type OrangeToOrange = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example orange_to_orange
+   */
+  id: 'orange_to_orange';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: OrangeToOrangeValue;
+};
+
+/**
+ * Value of the zone setting.
+ *
+ * @default on
+ */
+export type OrangeToOrangeValue = 'on' | 'off';
+
+/**
+ * Field to order DNS records by.
+ *
+ * @default type
+ */
+export type Order = 'type' | 'name' | 'content' | 'ttl' | 'proxied';
+
+/**
+ * Organization, provided by the CSR
+ *
+ * @example Organization
+ */
+export type Organization = string;
+
+export type Organization4zEoGtIG = {
+  id?: CommonComponentsSchemasIdentifier;
+  name?: SchemasNameMUD1zc5L;
+  permissions?: SchemasPermissions;
+  /**
+   * List of roles that a user has within an organization.
+   */
+  roles?: string[];
+  status?: ComponentsSchemasStatusMKwOT5XZ;
+};
+
+/**
+ * Organization identifier tag.
+ *
+ * @example 01a7362d577a6c3019a474fd6f485823
+ * @maxLength 32
+ */
+export type OrganizationComponentsSchemasIdentifier = string;
+
+export type OrganizationInvite = BaseMktMcgEk & {
+  /**
+   * Current status of two-factor enforcement on the organization.
+   *
+   * @default false
+   * @example true
+   */
+  organization_is_enforcing_twofactor?: boolean;
+  /**
+   * Current status of the invitation.
+   *
+   * @example accepted
+   */
+  status?: 'pending' | 'accepted' | 'rejected' | 'canceled' | 'left' | 'expired';
+};
+
+/**
+ * Organizational Unit, provided by the CSR
+ *
+ * @example Organizational Unit
+ */
+export type OrganizationalUnit = string;
+
+export type Organizations = {
+  auth_domain?: AuthDomain;
+  auto_redirect_to_identity?: AutoRedirectToIdentity;
+  created_at?: Timestamp;
+  is_ui_read_only?: IsUiReadOnly;
+  login_design?: LoginDesign;
+  name?: NameRPn8IBAr;
+  ui_read_only_toggle_reason?: UiReadOnlyToggleReason;
+  updated_at?: Timestamp;
+  user_seat_expiration_inactive_time?: UserSeatExpirationInactiveTime;
+};
+
+export type OrganizationsHXYA9SXW = {
+  auth_domain?: AuthDomain;
+  created_at?: Timestamp;
+  is_ui_read_only?: IsUiReadOnly;
+  login_design?: LoginDesign;
+  name?: OrganizationsComponentsSchemasName;
+  updated_at?: Timestamp;
+};
+
+/**
+ * The name of your Zero Trust organization.
+ *
+ * @example Widget Corps Internal Applications
+ */
+export type OrganizationsComponentsSchemasName = string;
+
+export type OrganizationsComponentsSchemasSingleResponse = ApiResponseSingleKLIlNaxV & {
+  result?: SchemasOrganizations;
+};
+
+export type OrganizationsComponentsSchemasSingleResponseZfZi7x26 = ApiResponseSingleLarS7owG & {
+  result?: OrganizationsHXYA9SXW;
+};
+
+/**
+ * Your origin hostname that requests to your custom hostnames will be sent to.
+ *
+ * @example fallback.example.com
+ * @maxLength 255
+ */
+export type Origin = string;
+
+export type OriginLs8Gu3ue = {
+  address?: Address2vBDvjOD;
+  disabled_at?: DisabledAt;
+  enabled?: SchemasEnabledFbTTZgfc;
+  header?: SchemasHeader;
+  name?: SchemasNamePvgM4uwK;
+  virtual_network_id?: VirtualNetworkId;
+  weight?: WeightNB8okIS7;
+};
+
+export type OriginRulesComponentsSchemasRule = {
+  /**
+   * @example route
+   */
+  action?: void;
+  action_parameters?: SchemasActionParameters;
+  /**
+   * @example change the host header, origin, and SNI
+   */
+  description?: void;
+  /**
+   * @example http.cookie contains "something"
+   */
+  expression?: void;
+  /**
+   * @example 3a03d665bac047339bb530ecb439a90d
+   */
+  id?: void;
+  /**
+   * @example 1
+   */
+  version?: void;
+};
+
+/**
+ * Whether to enable (the default) this origin within the pool. Disabled origins will not receive traffic and are excluded from health checks. The origin will only be disabled for the current pool.
+ *
+ * @default true
+ * @example true
+ */
+export type OriginComponentsSchemasEnabled = boolean;
+
+/**
+ * A human-identifiable name for the origin.
+ *
+ * @example app-server-1
+ */
+export type OriginComponentsSchemasName = string;
+
+/**
+ * The name and type of DNS record for the Spectrum application.
+ */
+export type OriginDns = {
+  name?: OriginDnsName;
+  ttl?: DnsTtl;
+  type?: OriginDnsType;
+};
+
+/**
+ * The name of the DNS record associated with the origin.
+ *
+ * @example origin.example.com
+ * @format hostname
+ */
+export type OriginDnsName = string;
+
+/**
+ * The type of DNS record associated with the origin. "" is used to specify a combination of A/AAAA records.
+ *
+ * @example
+ */
+export type OriginDnsType = '' | 'A' | 'AAAA' | 'SRV';
+
+/**
+ * Cloudflare will proxy customer error pages on any 502,504 errors on origin server instead of showing a default Cloudflare error page. This does not apply to 522 errors and is limited to Enterprise Zones.
+ *
+ * @default off
+ */
+export type OriginErrorPagePassThru = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example origin_error_page_pass_thru
+   */
+  id: 'origin_error_page_pass_thru';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: OriginErrorPagePassThruValue;
+};
+
+/**
+ * Value of the zone setting.
+ *
+ * @default off
+ */
+export type OriginErrorPagePassThruValue = 'on' | 'off';
+
+/**
+ * The origin ipv4/ipv6 address or domain name mapped to it's health data.
+ *
+ * @example {"failure_reason":"No failures","healthy":true,"response_code":200,"rtt":"66ms"}
+ */
+export type OriginHealthData = {
+  failure_reason?: string;
+  healthy?: boolean;
+  response_code?: number;
+  rtt?: string;
+};
+
+/**
+ * If true, filter events where the origin status is healthy. If false, filter events where the origin status is unhealthy.
+ *
+ * @default true
+ * @example true
+ */
+export type OriginHealthy = boolean;
+
+/**
+ * The highest HTTP version Cloudflare will attempt to use with your origin. This setting allows Cloudflare to make HTTP/2 requests to your origin. (Refer to [Enable HTTP/2 to Origin](https://developers.cloudflare.com/cache/how-to/enable-http2-to-origin/), for more information.).
+ */
+export type OriginMaxHttpVersion = {
+  /**
+   * Identifier of the zone setting.
+   *
+   * @example origin_max_http_version
+   */
+  id: 'origin_max_http_version';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+};
+
+/**
+ * The destination port at the origin. Only specified in conjunction with origin_dns. May use an integer to specify a single origin port, for example `1000`, or a string to specify a range of origin ports, for example `"1000-2000"`.
+ * Notes: If specifying a port range, the number of ports in the range must match the number of ports specified in the "protocol" field.
+ *
+ * @example 22
+ * @maximum 65535
+ * @minimum 1
+ */
+export type OriginPort = number | string;
+
+/**
+ * Configures origin steering for the pool. Controls how origins are selected for new sessions and traffic without session affinity.
+ */
+export type OriginSteering = {
+  /**
+   * The type of origin steering policy to use, either "random" or "hash" (based on CF-Connecting-IP).
+   *
+   * @default random
+   */
+  policy?: 'random' | 'hash';
+};
+
+/**
+ * When true, only the uncached traffic served from your origin servers will count towards rate limiting. In this case, any cached traffic served by Cloudflare will not count towards rate limiting. This field is optional.
+ * Notes: This field is deprecated. Instead, use response headers and set "origin_traffic" to "false" to avoid legacy behaviour interacting with the "response_headers" property.
+ */
+export type OriginTraffic = boolean;
+
+/**
+ * URI to original variant for an image.
+ *
+ * @example https://imagedelivery.net/MTt4OTd0b0w5aj/107b9558-dd06-4bbd-5fef-9c2c16bb7900/original
+ * @format uri
+ */
+export type OriginalUrl = string;
+
+/**
+ * The list of origins within this pool. Traffic directed at this pool is balanced across all currently healthy origins, provided the pool itself is healthy.
+ */
+export type Origins = OriginLs8Gu3ue[];
+
+/**
+ * The list of origins within this pool. Traffic directed at this pool is balanced across all currently healthy origins, provided the pool itself is healthy.
+ */
+export type OriginsSJsVZfMb = SchemasOrigin[];
+
+/**
+ * The Linux distro name.
+ *
+ * @example ubuntu
+ */
+export type OsDistroName = string;
+
+/**
+ * The Linux distro revision.
+ *
+ * @example 1.0.0
+ */
+export type OsDistroRevision = string;
+
+/**
+ * The operating system version.
+ *
+ * @example 10.0.0
+ */
+export type OsVersion = string;
+
+export type Output = {
+  enabled?: OutputEnabled;
+  streamKey?: OutputStreamKey;
+  uid?: OutputIdentifier;
+  url?: OutputUrl;
+};
+
+/**
+ * When enabled, live video streamed to the associated live input will be sent to the output URL. When disabled, live video will not be sent to the output URL, even when streaming to the associated live input. Use this to control precisely when you start and stop simulcasting to specific destinations like YouTube and Twitch.
+ *
+ * @default true
+ * @example true
+ */
+export type OutputEnabled = boolean;
+
+/**
+ * A unique identifier for the output.
+ *
+ * @example baea4d9c515887b80289d5c33cf01145
+ * @maxLength 32
+ */
+export type OutputIdentifier = string;
+
+export type OutputResponseCollection = ApiResponseCollection & {
+  result?: Output[];
+};
+
+export type OutputResponseSingle = ApiResponseSingleYdRGfgTy & {
+  result?: Output;
+};
+
+/**
+ * The streamKey used to authenticate against an output's target.
+ *
+ * @example uzya-f19y-g2g9-a2ee-51j2
+ */
+export type OutputStreamKey = string;
+
+/**
+ * The URL an output uses to restream.
+ *
+ * @example rtmp://a.rtmp.youtube.com/live2
+ */
+export type OutputUrl = string;
+
+export type Override = {
+  description?: OverridesComponentsSchemasDescription;
+  groups?: Groups19vIuPeV;
+  id?: OverridesComponentsSchemasId;
+  paused?: Paused26QCY3k0;
+  priority?: ComponentsSchemasPriority;
+  rewrite_action?: RewriteAction;
+  rules?: Rules8wmBD69l;
+  urls?: Urls;
+};
+
+export type OverrideCodesResponse = ApiResponseCollection & {
+  result?: {
+    disable_for_time?: DisableForTime;
+  };
+};
+
+export type OverrideResponseCollection = ApiResponseCollection & {
+  result: {
+    description?: OverridesComponentsSchemasDescription;
+    groups?: Groups19vIuPeV;
+    id: OverridesComponentsSchemasId;
+    paused: Paused26QCY3k0;
+    priority: ComponentsSchemasPriority;
+    rewrite_action?: RewriteAction;
+    rules?: Rules8wmBD69l;
+    urls: Urls;
+  }[];
+};
+
+export type OverrideResponseSingle = ApiResponseSingleLarS7owG & {
+  result: Override;
+};
+
+/**
+ * An informative summary of the current URI-based WAF override.
+ *
+ * @example Enable Cloudflare Magento ruleset for shop.example.com
+ * @maxLength 1024
+ */
+export type OverridesComponentsSchemasDescription = string | null;
+
+/**
+ * The unique identifier of the WAF override.
+ *
+ * @example de677e5818985db1285d0e80225f06e5
+ * @maxLength 32
+ */
+export type OverridesComponentsSchemasId = string;
+
+/**
+ * Ownership challenge token to prove destination ownership.
+ *
+ * @example 00000000000000000000
+ * @maxLength 4096
+ * @pattern ^[a-zA-Z0-9/\+\.\-_]*$
+ */
+export type OwnershipChallenge = string;
+
+/**
+ * This is a record which can be placed to activate a hostname.
+ */
+export type OwnershipVerification = {
+  /**
+   * DNS Name for record.
+   *
+   * @example _cf-custom-hostname.app.example.com
+   */
+  name?: string;
+  /**
+   * DNS Record type.
+   *
+   * @example txt
+   */
+  type?: 'txt';
+  /**
+   * Content for the record.
+   *
+   * @example 5cc07c04-ea62-4a5a-95f0-419334a875a4
+   */
+  value?: string;
+};
+
+/**
+ * This presents the token to be served by the given http url to activate a hostname.
+ */
+export type OwnershipVerificationHttp = {
+  /**
+   * Token to be served.
+   *
+   * @example 5cc07c04-ea62-4a5a-95f0-419334a875a4
+   */
+  http_body?: string;
+  /**
+   * The HTTP URL that will be checked during custom hostname verification and where the customer should host the token.
+   *
+   * @example http://custom.test.com/.well-known/cf-custom-hostname-challenge/0d89c70d-ad9f-4843-b99f-6cc0252067e9
+   */
+  http_url?: string;
+};
+
+/**
+ * The p50 quantile of requests (in period_seconds).
+ */
+export type P50 = number;
+
+/**
+ * The p90 quantile of requests (in period_seconds).
+ */
+export type P90 = number;
+
+/**
+ * The p99 quantile of requests (in period_seconds).
+ */
+export type P99 = number;
+
+export type Package = PackageDefinition | AnomalyPackage;
+
+/**
+ * A summary of the purpose/function of the WAF package.
+ *
+ * @example null
+ */
+export type PackageComponentsSchemasDescription = string;
+
+/**
+ * The unique identifier of a WAF package.
+ *
+ * @example a25a9a7e9c00afc1fb2e0245519d725b
+ * @maxLength 32
+ */
+export type PackageComponentsSchemasIdentifier = string;
+
+/**
+ * The name of the WAF package.
+ *
+ * @example USER
+ */
+export type PackageComponentsSchemasName = string;
+
+/**
+ * When set to `active`, indicates that the WAF package will be applied to the zone.
+ *
+ * @default active
+ */
+export type PackageComponentsSchemasStatus = 'active';
+
+export type PackageDefinition = {
+  description: PackageComponentsSchemasDescription;
+  detection_mode: DetectionMode;
+  id: PackageComponentsSchemasIdentifier;
+  name: PackageComponentsSchemasName;
+  status?: PackageComponentsSchemasStatus;
+  zone_id: CommonComponentsSchemasIdentifier;
+};
+
+export type PackageResponseCollection =
+  | ApiResponseCollection
+  | {
+      result?: Package[];
+    };
+
+export type PackageResponseSingle =
+  | ApiResponseSingleLarS7owG
+  | {
+      result?: Record<string, any>;
+    };
+
+/**
+ * Number of packets with a response from this node.
+ */
+export type PacketCount = number;
+
+/**
+ * Type of packet sent.
+ *
+ * @default icmp
+ * @example icmp
+ */
+export type PacketType = 'icmp' | 'tcp' | 'udp' | 'gre' | 'gre+icmp';
+
+/**
+ * Number of packets where no response was received.
+ */
+export type PacketsLost = number;
+
+/**
+ * Number of packets sent at each TTL.
+ *
+ * @default 3
+ * @maximum 10
+ * @minimum 0
+ */
+export type PacketsPerTtl = number;
+
+/**
+ * Number of packets sent with specified TTL.
+ */
+export type PacketsSent = number;
+
+/**
+ * The time to live (TTL).
+ */
+export type PacketsTtl = number;
+
+/**
+ * The whitespace between the adjacent edges (determined by position) of the video and the image. `0.0` indicates no padding, and `1.0` indicates a fully padded video width or length, as determined by the algorithm.
+ *
+ * @default 0.05
+ * @example 0.1
+ * @maximum 1
+ * @minimum 0
+ */
+export type Padding = number;
+
+/**
+ * Page number of paginated results.
+ *
+ * @default 1
+ * @minimum 1
+ */
+export type Page = number;
+
+/**
+ * Current page within paginated list of results.
+ *
+ * @example 1
+ */
+export type PageEKO5IlXB = number;
+
+export type PageRule = {
+  actions: Actions;
+  created_on: CreatedOn1QmUCKgu;
+  id: SchemasIdentifier;
+  modified_on: SchemasModifiedOnPkJiYI69;
+  priority: PriorityCHRoVVCg;
+  status: StatusLJNunJhf;
+  targets: Targets;
+};
+
+export type Pagerduty = {
+  id?: Uuid;
+  name?: PagerdutyComponentsSchemasName;
+};
+
+/**
+ * The name of the pagerduty service.
+ *
+ * @example My PagerDuty Service
+ */
+export type PagerdutyComponentsSchemasName = string;
+
+export type PagerdutyComponentsSchemasResponseCollection = ApiResponseCollection & {
+  result?: Pagerduty[];
+};
+
+export type PageruleResponseCollection = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type PageruleResponseSingle = ApiResponseSingle9gEyfxyF & {
+  result?: Record<string, any>;
+};
+
+export type PageruleSettingsResponseCollection = {
+  errors: Messages;
+  messages: Messages;
+  result: SettingsWG7ImyVP;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type PageshieldPolicy = {
+  /**
+   * The action to take if the expression matches
+   *
+   * @example allow
+   */
+  action?: 'allow' | 'log';
+  /**
+   * A description for the policy
+   *
+   * @example Checkout page CSP policy
+   */
+  description?: string;
+  /**
+   * Whether the policy is enabled
+   *
+   * @example true
+   */
+  enabled?: boolean;
+  /**
+   * The expression which must match for the policy to be applied, using the Cloudflare Firewall rule expression syntax
+   *
+   * @example ends_with(http.request.uri.path, "/checkout")
+   */
+  expression?: string;
+  /**
+   * The ID of the policy
+   *
+   * @example c9ef84a6bf5e47138c75d95e2f933e8f
+   */
+  id?: string;
+  /**
+   * The policy which will be applied
+   *
+   * @example script-src 'none';
+   */
+  value?: string;
+};
+
+/**
+ * Breakdown of totals for pageviews.
+ */
+export type Pageviews = {
+  /**
+   * The total number of pageviews served within the time range.
+   */
+  all?: number;
+  /**
+   * A variable list of key/value pairs representing the search engine and number of hits.
+   *
+   * @example {"baidubot":1345,"bingbot":5372,"googlebot":35272,"pingdom":13435}
+   */
+  search_engine?: Record<string, any>;
+};
+
+export type ParameterSchemas = {
+  parameter_schemas: {
+    last_updated?: Timestamp;
+    parameter_schemas?: ParameterSchemasDefinition;
+  };
+};
+
+/**
+ * An operation schema object containing a response.
+ *
+ * @example {"parameters":[{"description":"Sufficient requests have been observed for this parameter to provide high confidence in this parameter schema.","in":"path","name":"var1","required":true,"schema":{"maximum":10,"minimum":1,"type":"integer"}}],"responses":null}
+ */
+export type ParameterSchemasDefinition = {
+  /**
+   * An array containing the learned parameter schemas.
+   *
+   * @example {"description":"Sufficient requests have been observed for this parameter to provide high confidence in this parameter schema.","in":"path","name":"var1","required":true,"schema":{"maximum":10,"minimum":1,"type":"integer"}}
+   */
+  parameters?: any[];
+  /**
+   * An empty response object. This field is required to yield a valid operation schema.
+   */
+  responses?: Record<string, any>;
+};
+
+export type PassiveDnsByIp = {
+  /**
+   * Total results returned based on your search parameters.
+   *
+   * @example 1
+   */
+  count?: number;
+  /**
+   * Current page within paginated list of results.
+   *
+   * @example 1
+   */
+  page?: number;
+  /**
+   * Number of results per page of results.
+   *
+   * @example 20
+   */
+  per_page?: number;
+  /**
+   * Reverse DNS look-ups observed during the time period.
+   */
+  reverse_records?: {
+    /**
+     * First seen date of the DNS record during the time period.
+     *
+     * @example 2021-04-01
+     * @format date
+     */
+    first_seen?: string;
+    /**
+     * Hostname that the IP was observed resolving to.
+     */
+    hostname?: void;
+    /**
+     * Last seen date of the DNS record during the time period.
+     *
+     * @example 2021-04-30
+     * @format date
+     */
+    last_seen?: string;
+  }[];
+};
+
+export type PassiveDnsByIpComponentsSchemasSingleResponse = ApiResponseSingleLarS7owG & {
+  result?: PassiveDnsByIp;
+};
+
+/**
+ * Update enablement of Tiered Caching
+ */
+export type Patch = {
+  value: Value;
+};
+
+/**
+ * Update enablement of Argo Smart Routing
+ */
+export type PatchSwNjVZjB = {
+  value: SchemasValueGg4TAeXR;
+};
+
+/**
+ * The email address to send health status notifications to. This field is now deprecated in favor of Cloudflare Notifications for Load Balancing, so only resetting this field with an empty string `""` is accepted.
+ *
+ * @example
+ */
+export type PatchPoolsNotificationEmail = '""';
+
+export type PatchRule = {
+  action: RuleAction;
+  description?: RuleDescription;
+  enabled?: RuleEnabled;
+  expression: RuleExpression;
+  position?: RulePosition;
+};
+
+/**
+ * The endpoint path you want to conduct a health check against. This parameter is only valid for HTTP and HTTPS monitors.
+ *
+ * @default /
+ * @example /health
+ */
+export type Path = string;
+
+/**
+ * Sets the path within the host to enable the waiting room on. The waiting room will be enabled for all subpaths as well. If there are two waiting rooms on the same subpath, the waiting room for the most specific path will be chosen. Wildcards and query parameters are not supported.
+ *
+ * @default /
+ * @example /shop/checkout
+ */
+export type PathIVkcNWHz = string;
+
+/**
+ * Enables cookie paths to scope an application's JWT to the application path. If disabled, the JWT will scope to the hostname by default
+ *
+ * @default false
+ * @example true
+ */
+export type PathCookieAttribute = boolean;
+
+/**
+ * A pattern that matches an entry
+ */
+export type Pattern = {
+  /**
+   * The regex pattern.
+   *
+   * @example ^4[0-9]{6,14}$
+   */
+  regex: string;
+  /**
+   * Validation algorithm for the pattern. This algorithm will get run on potential matches, and if it returns false, the entry will not be matched.
+   *
+   * @example luhn
+   */
+  validation?: 'luhn';
+};
+
+/**
+ * @example example.net/*
+ */
+export type Pattern2dXyN8SA = string;
+
+/**
+ * Indicates whether the zone is only using Cloudflare DNS services. A
+ * true value means the zone will not receive security or performance
+ * benefits.
+ *
+ * @default false
+ */
+export type Paused = boolean;
+
+/**
+ * When true, indicates that the WAF package is currently paused.
+ */
+export type Paused26QCY3k0 = boolean;
+
+/**
+ * The maximum number of bytes to capture. This field only applies to `full` packet captures.
+ *
+ * @example 500000
+ * @maximum 1000000000
+ * @minimum 1
+ */
+export type PcapsByteLimit = number;
+
+export type PcapsCollectionResponse = ApiResponseCollection & {
+  result?: (PcapsResponseSimple | PcapsResponseFull)[];
+};
+
+/**
+ * The name of the data center used for the packet capture. This can be a specific colo (ord02) or a multi-colo name (ORD). This field only applies to `full` packet captures.
+ *
+ * @example ord02
+ */
+export type PcapsColoName = string;
+
+/**
+ * The full URI for the bucket. This field only applies to `full` packet captures.
+ *
+ * @example s3://pcaps-bucket?region=us-east-1
+ */
+export type PcapsDestinationConf = string;
+
+/**
+ * An error message that describes why the packet capture failed. This field only applies to `full` packet captures.
+ *
+ * @example No packets matched the filter in the time limit given. Please modify the filter or try again.
+ */
+export type PcapsErrorMessage = string;
+
+/**
+ * The packet capture filter. When this field is empty, all packets are captured.
+ */
+export type PcapsFilterV1 = {
+  /**
+   * The destination IP address of the packet.
+   *
+   * @example 1.2.3.4
+   */
+  destination_address?: string;
+  /**
+   * The destination port of the packet.
+   *
+   * @example 80
+   */
+  destination_port?: number;
+  /**
+   * The protocol number of the packet.
+   *
+   * @example 6
+   */
+  protocol?: number;
+  /**
+   * The source IP address of the packet.
+   *
+   * @example 1.2.3.4
+   */
+  source_address?: string;
+  /**
+   * The source port of the packet.
+   *
+   * @example 123
+   */
+  source_port?: number;
+};
+
+/**
+ * The ID for the packet capture.
+ *
+ * @example 66802ca5668e47a2b82c2e6746e45037
+ * @maxLength 32
+ * @minLength 32
+ */
+export type PcapsId = string;
+
+/**
+ * The ownership challenge filename stored in the bucket.
+ *
+ * @example ownership-challenge-9883874ecac311ec8475433579a6bf5f.txt
+ */
+export type PcapsOwnershipChallenge = string;
+
+export type PcapsOwnershipCollection = ApiResponseCollection & {
+  result?: PcapsOwnershipResponse[] | null;
+};
+
+export type PcapsOwnershipRequest = {
+  destination_conf: PcapsDestinationConf;
+};
+
+export type PcapsOwnershipResponse = {
+  destination_conf: PcapsDestinationConf;
+  filename: PcapsOwnershipChallenge;
+  /**
+   * The bucket ID associated with the packet captures API.
+   *
+   * @example 9883874ecac311ec8475433579a6bf5f
+   * @maxLength 32
+   * @minLength 32
+   */
+  id: string;
+  /**
+   * The status of the ownership challenge. Can be pending, success or failed.
+   *
+   * @example success
+   */
+  status: 'pending' | 'success' | 'failed';
+  /**
+   * The RFC 3339 timestamp when the bucket was added to packet captures API.
+   *
+   * @example 2020-01-01T08:00:00Z
+   */
+  submitted: string;
+  /**
+   * The RFC 3339 timestamp when the bucket was validated.
+   *
+   * @example 2020-01-01T08:00:00Z
+   */
+  validated?: string;
+};
+
+export type PcapsOwnershipSingleResponse = {
+  errors: Messages;
+  messages: Messages;
+  result: PcapsOwnershipResponse;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type PcapsOwnershipValidateRequest = {
+  destination_conf: PcapsDestinationConf;
+  ownership_challenge: PcapsOwnershipChallenge;
+};
+
+/**
+ * The limit of packets contained in a packet capture.
+ *
+ * @example 10000
+ * @maximum 10000
+ * @minimum 1
+ */
+export type PcapsPacketLimit = number;
+
+export type PcapsRequestFull = {
+  byte_limit?: PcapsByteLimit;
+  colo_name: PcapsColoName;
+  destination_conf: PcapsDestinationConf;
+  filter_v1?: PcapsFilterV1;
+  packet_limit?: PcapsPacketLimit;
+  system: PcapsSystem;
+  time_limit: PcapsTimeLimit;
+  type: PcapsType;
+};
+
+export type PcapsRequestPcap = PcapsRequestSimple | PcapsRequestFull;
+
+export type PcapsRequestSimple = {
+  filter_v1?: PcapsFilterV1;
+  packet_limit: PcapsPacketLimit;
+  system: PcapsSystem;
+  time_limit: PcapsTimeLimit;
+  type: PcapsType;
+};
+
+export type PcapsResponseFull = {
+  byte_limit?: PcapsByteLimit;
+  colo_name?: PcapsColoName;
+  destination_conf?: PcapsDestinationConf;
+  error_message?: PcapsErrorMessage;
+  filter_v1?: PcapsFilterV1;
+  id?: PcapsId;
+  status?: PcapsStatus;
+  submitted?: PcapsSubmitted;
+  system?: PcapsSystem;
+  time_limit?: PcapsTimeLimit;
+  type?: PcapsType;
+};
+
+export type PcapsResponseSimple = {
+  filter_v1?: PcapsFilterV1;
+  id?: PcapsId;
+  status?: PcapsStatus;
+  submitted?: PcapsSubmitted;
+  system?: PcapsSystem;
+  time_limit?: PcapsTimeLimit;
+  type?: PcapsType;
+};
+
+export type PcapsSingleResponse = ApiResponseSingleLarS7owG & {
+  result?: PcapsResponseSimple | PcapsResponseFull;
+};
+
+/**
+ * The status of the packet capture request.
+ *
+ * @example success
+ */
+export type PcapsStatus =
+  | 'unknown'
+  | 'success'
+  | 'pending'
+  | 'running'
+  | 'conversion_pending'
+  | 'conversion_running'
+  | 'complete'
+  | 'failed';
+
+/**
+ * The RFC 3339 timestamp when the packet capture was created.
+ *
+ * @example 2020-01-01T08:00:00Z
+ */
+export type PcapsSubmitted = string;
+
+/**
+ * The system used to collect packet captures.
+ *
+ * @example magic-transit
+ */
+export type PcapsSystem = 'magic-transit';
+
+/**
+ * The packet capture duration in seconds.
+ *
+ * @example 300
+ * @maximum 300
+ * @minimum 1
+ */
+export type PcapsTimeLimit = number;
+
+/**
+ * The type of packet capture. `Simple` captures sampled packets, and `full` captures entire payloads and non-sampled packets.
+ *
+ * @example simple
+ */
+export type PcapsType = 'simple' | 'full';
+
+/**
+ * Indicates the size of the entire upload in bytes. The value must be a non-negative integer.
+ *
+ * @maximum 100
+ * @minimum 0
+ */
+export type PctComplete = string;
+
+export type Peer = {
+  id: ComponentsSchemasIdentifierNz3bhUPI;
+  ip?: Ip6EYJJOTh;
+  ixfr_enable?: IxfrEnable;
+  name: ComponentsSchemasNameT0FRMejA;
+  port?: PortXQsQDzbx;
+  tsig_id?: TsigId;
+};
+
+/**
+ * A list of peer tags.
+ *
+ * @example 23ff594956f20c2a721606e94745a8aa
+ * @example 00920f38ce07c2e2f4df50b1f61d4194
+ */
+export type Peers = any[];
+
+/**
+ * The signing key in PEM format.
+ *
+ * @example LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcGdJQkFBS0NBUUVBMFRqd2pPaVpXbUo0M3ZmM1RvNERvWG1YV3RKR05HeVhmaHl0dExhQmdGMStFUVdRCkRLaG9LYm9hS21xakNBc21za3V0YkxVN1BVOGRrUU5ER1p3S3VWczA4elNaNGt4aTR0RWdQUFp5dDdkWEMrbFkKUllveXJBR0Y0QVhoeTMyOWJIQ1AxSWxyQkIvQWtHZ25kTEFndW54WTByUmdjdk96aWF3NktKeEZuYzJVSzBXVQo4YjBwNEtLSEdwMUtMOWRrMFdUOGRWWXFiZVJpSmpDbFVFbWg4eXY5Q2xPVmFTNEt4aVg2eFRRNERadzZEYUpmCklWM1F0Tmd2cG1ieWxOSmFQSG5zc3JodDJHS1A5NjJlS2poUVJsaWd2SFhKTE9uSm9KZkxlSUVIWitpeFdmY1QKRE1IOTJzR3ZvdzFET2p4TGlDTjF6SEsraDdiTG9YVGlMZ2M0a3dJREFRQUJBb0lCQVFEQ0lCclNJMTlteGNkdwoycExVaUdCR0N4T3NhVDVLbGhkYUpESG9ZdzUxbEVuTWNXVGUyY01NTkdqaXdsN1NyOFlQMkxmcERaOFJtNzdMCk5rT2tGMnk3M3l5YUhFeEw5S1FyMys0Um9ubCtqTlp2YnV0QVdxSDVodEE0dER4MUd3NE85OEg4YWlTcGh1eWQKRUliTGRrQm54OGlDZUdxbFBnbHZ6Q1dLV0xVZlhGbXplMkF5UjBzaWMyYXZRLzZyclYwb3pDdGQ1T0Vod093agphaCs3N1dZV1l0bkEraDhXZVZreWcvdG44UTJJOXo5ZVJYdlZxR2sxMDZLcWRtZFdiU2tIZzA4cFRUSGhVM2paCnMvZGNjdEdOMWFFanlUQWY0QzdHT2lrcUd1MGFTaW1aeDFOM2RWQzBobngySjJtdlhNQ0VtZ0g3TjVnZUxWUFAKOWdkQjdBQkJBb0dCQU5sT2hGQVhaTHV6Y0Ftczl1K3AxM05STWRFOHpIK2ZFaFBrbk9zZ21Xb3VqUzkxQTRtZgpuK01oN3d5bTZoVU1DbDk2WUNMNGtPM0RUMmlYWlRqTXZuMHBoVEx1MXNYcGxWNDJuamRnZGd3cFBEM0FnL1Y5ClVvV2hxdVhoa1I3RFpsUGg5Nmk1aEE0M1BvbTVPQm9BektJbEcrT3ZKUkhhZEVveC9jSmZScFd2QW9HQkFQWjUKNnNmWDdESElCNEtBczRmMWRuNGZJUkMweUF2WVdCL1R3UzZHUWVoNFRFbDVuSkQwWk9ZRVdUbVVBK3pPanZTNApuM09tZ2xNQTU5SGd1ZW13QXVRcEtwWFBOcFUvTERJaThtNnpmTUpvL3E5M0NOQlFQZngzZGh4ZVh4OXE2Mzg3Cm84QWxkOE42RGs4TThjRis3SlNaeUVJODJzLzdpdGRseXA2bFdLaGRBb0dCQUtnU0VrUGYxQWxZdjA2OGVFRGwKRzc0VkRuTEdrMlFobzltKzk1N2psOFNJUEtwMzFrU2JNUTU3TUdpWXNIT1czRzc4TjE3VTRVTUR6R2NZc1RFOQpLaGVrQldGZldMMjU2OHp5Y1d4akx1bzQrbDdJaDBkWHBudTBqbms5L1AvT0lWYS9iczBRcnhKUHFBN2RNb2JxCkYxdFJXRURCTmVxWkMxaFhVZTBEdzVRQkFvR0JBSjdBQ2NNcnhKcVBycDZVakkyK1FOS2M5Q3dSZEdPRXRjWFMKR3JQL2owWE83YnZKVTFsZHYvc1N3L0U4NzRZL3lIM0F5QnF5SFhDZXZiRkZZQmt1MzczYThlM0pwK3RhNC9scQozdUVFUkEvbmxscW5mWXJHbEJZZlQzaVlKQVpWVkZiL3I4bWJtRmJVTDVFazBqV0JyWmxNcjFwU1hkRGx3QmhhCkhMWXY0em1WQW9HQkFLQmw0cFNnbkNSTEJMUU9jWjhXQmhRSjAwZDZieFNrTGNpZ0xUNFJvY3RwNTY1SHJPMDAKSVFLdElTaEg1a2s3SVRHdUYvOERXZEN2djBMYnhvZVBJc2NFaStTaXk5WDZwWENPaS8xa2FyYVU5U3BpZ3czago3YjVlUVV0UlovTkIycVJwc3EzMEdCUENqanhudEVmK2lqelhUS0xNRndyUDhBMTlQNzRONGVTMAotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
+ */
+export type Pem = string;
+
+/**
+ * Number of DNS records per page.
+ *
+ * @default 100
+ * @maximum 50000
+ * @minimum 5
+ */
+export type PerPage = number;
+
+/**
+ * Maximum number of results per page.
+ *
+ * @default 20
+ * @maximum 50
+ * @minimum 5
+ */
+export type PerPage6pFKSuRs = number;
+
+/**
+ * The time in seconds (an integer value) to count matching traffic. If the count exceeds the configured threshold within this period, Cloudflare will perform the configured action.
+ *
+ * @example 900
+ * @maximum 86400
+ * @minimum 10
+ */
+export type Period = number;
+
+/**
+ * The period over which this threshold is suggested.
+ */
+export type PeriodSeconds = number;
+
+/**
+ * A named group of permissions that map to a group of operations against resources.
+ */
+export type PermissionGroup = {
+  /**
+   * Identifier of the group.
+   *
+   * @example 6d7f2f5f5b1d4a0e9081fdc98d432fd1
+   */
+  id: string;
+  /**
+   * Name of the group.
+   *
+   * @example Load Balancers Write
+   */
+  name?: string;
+};
+
+/**
+ * A set of permission groups that are specified to the policy.
+ *
+ * @example {"id":"c8fed203ed3043cba015a93ad1616f1f","name":"Zone Read"}
+ * @example {"id":"82e64a83756745bbbb1c9c2701bf816b","name":"DNS Read"}
+ */
+export type PermissionGroups = PermissionGroup[];
+
+/**
+ * @example {"analytics":{"read":true,"write":false},"zones":{"read":true,"write":true}}
+ */
+export type Permissions = {
+  analytics?: Grants;
+  billing?: Grants;
+  cache_purge?: Grants;
+  dns?: Grants;
+  dns_records?: Grants;
+  lb?: Grants;
+  logs?: Grants;
+  organization?: Grants;
+  ssl?: Grants;
+  waf?: Grants;
+  zone_settings?: Grants;
+  zones?: Grants;
+};
+
+/**
+ * The phase of the ruleset.
+ *
+ * @example http_request_firewall_managed
+ * @pattern ^[a-z_]+$
+ */
+export type Phase = string;
+
+export type PhishingUrlInfo = {
+  /**
+   * List of categorizations applied to this submission.
+   */
+  categorizations?: {
+    /**
+     * Name of the category applied.
+     *
+     * @example PHISHING
+     */
+    category?: string;
+    /**
+     * Result of human review for this categorization.
+     *
+     * @example confirmed
+     */
+    verification_status?: string;
+  }[];
+  /**
+   * List of model results for completed scans.
+   */
+  model_results?: {
+    /**
+     * Name of the model.
+     *
+     * @example MACHINE_LEARNING_v2
+     */
+    model_name?: string;
+    /**
+     * Score output by the model for this submission.
+     *
+     * @example 0.024
+     */
+    model_score?: number;
+  }[];
+  /**
+   * List of signatures that matched against site content found when crawling the URL.
+   */
+  rule_matches?: {
+    /**
+     * For internal use.
+     */
+    banning?: boolean;
+    /**
+     * For internal use.
+     */
+    blocking?: boolean;
+    /**
+     * Description of the signature that matched.
+     *
+     * @example Match frequently used social followers phishing kit
+     */
+    description?: string;
+    /**
+     * Name of the signature that matched.
+     *
+     * @example phishkit.social_followers
+     */
+    name?: string;
+  }[];
+  /**
+   * Status of the most recent scan found.
+   */
+  scan_status?: {
+    /**
+     * Timestamp of when the submission was processed.
+     *
+     * @example Wed, 26 Oct 2022 16:04:51 GMT
+     */
+    last_processed?: string;
+    /**
+     * For internal use.
+     */
+    scan_complete?: boolean;
+    /**
+     * Status code that the crawler received when loading the submitted URL.
+     */
+    status_code?: number;
+    /**
+     * ID of the most recent submission.
+     */
+    submission_id?: number;
+  };
+  /**
+   * For internal use.
+   */
+  screenshot_download_signature?: string;
+  /**
+   * For internal use.
+   */
+  screenshot_path?: string;
+  /**
+   * URL that was submitted.
+   *
+   * @example https://www.cloudflare.com
+   */
+  url?: string;
+};
+
+export type PhishingUrlInfoComponentsSchemasSingleResponse = ApiResponseSingleLarS7owG & {
+  result?: PhishingUrlInfo;
+};
+
+export type PhishingUrlSubmit = {
+  /**
+   * URLs that were excluded from scanning because their domain is in our no-scan list.
+   */
+  excluded_urls?: {
+    /**
+     * URL that was excluded.
+     *
+     * @example https://developers.cloudflare.com
+     */
+    url?: string;
+  }[];
+  /**
+   * URLs that were skipped because the same URL is currently being scanned
+   */
+  skipped_urls?: {
+    /**
+     * URL that was skipped.
+     *
+     * @example https://www.cloudflare.com/developer-week/
+     */
+    url?: string;
+    /**
+     * ID of the submission of that URL that is currently scanning.
+     *
+     * @example 2
+     */
+    url_id?: number;
+  }[];
+  /**
+   * URLs that were successfully submitted for scanning.
+   */
+  submitted_urls?: {
+    /**
+     * URL that was submitted.
+     *
+     * @example https://www.cloudflare.com
+     */
+    url?: string;
+    /**
+     * ID assigned to this URL submission. Used to retrieve scanning results.
+     *
+     * @example 1
+     */
+    url_id?: number;
+  }[];
+};
+
+export type PhishingUrlSubmitComponentsSchemasSingleResponse = ApiResponseSingleLarS7owG & {
+  result?: PhishingUrlSubmit;
+};
+
+export type Pingone = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: GenericOauthConfig & {
+    /**
+     * Your PingOne environment identifier
+     *
+     * @example 342b5660-0c32-4936-a5a4-ce21fae57b0a
+     */
+    ping_env_id?: string;
+  };
+  id?: Uuid;
+  name: SchemasNameIXVfNmuB;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
+     */
+    group_member_deprovision?: boolean;
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type: string;
+};
+
+export type PlanResponseCollection = ApiResponseCollection & {
+  result?: SchemasRatePlan[];
+};
+
+/**
+ * @example windows
+ */
+export type Platform = 'windows' | 'mac' | 'linux' | 'android' | 'ios';
+
+export type Playback = {
+  /**
+   * DASH Media Presentation Description for the video.
+   *
+   * @example https://customer-m033z5x00ks6nunl.cloudflarestream.com/ea95132c15732412d22c1476fa83f27a/manifest/video.mpd
+   */
+  dash?: string;
+  /**
+   * The HLS manifest for the video.
+   *
+   * @example https://customer-m033z5x00ks6nunl.cloudflarestream.com/ea95132c15732412d22c1476fa83f27a/manifest/video.m3u8
+   */
+  hls?: string;
+};
+
+/**
+ * Details for playback from an live input using RTMPS.
+ */
+export type PlaybackRtmps = {
+  streamKey?: PlaybackRtmpsStreamKey;
+  url?: PlaybackRtmpsUrl;
+};
+
+/**
+ * The secret key to use for playback via RTMPS.
+ *
+ * @example 2fb3cb9f17e68a2568d6ebed8d5505eak3ceaf8c9b1f395e1b76b79332497cada
+ */
+export type PlaybackRtmpsStreamKey = string;
+
+/**
+ * The URL used to play live video over RTMPS.
+ *
+ * @example rtmps://live.cloudflare.com:443/live/
+ */
+export type PlaybackRtmpsUrl = string;
+
+/**
+ * Details for playback from an live input using SRT.
+ */
+export type PlaybackSrt = {
+  passphrase?: PlaybackSrtStreamPassphrase;
+  streamId?: PlaybackSrtStreamId;
+  url?: PlaybackSrtUrl;
+};
+
+/**
+ * The identifier of the live input to use for playback via SRT.
+ *
+ * @example f256e6ea9341d51eea64c9454659e576
+ */
+export type PlaybackSrtStreamId = string;
+
+/**
+ * The secret key to use for playback via SRT.
+ *
+ * @example 2fb3cb9f17e68a2568d6ebed8d5505eak3ceaf8c9b1f395e1b76b79332497cada
+ */
+export type PlaybackSrtStreamPassphrase = string;
+
+/**
+ * The URL used to play live video over SRT.
+ *
+ * @example rtmps://live.cloudflare.com:443/live/
+ */
+export type PlaybackSrtUrl = string;
+
+/**
+ * Details for playback from a live input using WebRTC.
+ */
+export type PlaybackWebrtc = {
+  url?: PlaybackWebrtcUrl;
+};
+
+/**
+ * The URL used to play live video over WebRTC.
+ *
+ * @example https://customer-m033z5x00ks6nunl.cloudflarestream.com/b236bde30eb07b9d01318940e5fc3edake34a3efb3896e18f2dc277ce6cc993ad/webRTC/play
+ */
+export type PlaybackWebrtcUrl = string;
+
+export type Policies = {
+  approval_groups?: ApprovalGroups;
+  approval_required?: ApprovalRequired;
+  created_at?: Timestamp;
+  decision?: Decision;
+  exclude?: SchemasExclude;
+  id?: ComponentsSchemasUuid;
+  include?: Include;
+  isolation_required?: IsolationRequired;
+  name?: PoliciesComponentsSchemasName;
+  precedence?: Precedence;
+  purpose_justification_prompt?: PurposeJustificationPrompt;
+  purpose_justification_required?: PurposeJustificationRequired;
+  require?: SchemasRequire;
+  updated_at?: Timestamp;
+};
+
+/**
+ * List of access policies assigned to the token.
+ */
+export type PoliciesJfEKIGCD = AccessPolicy[];
+
+/**
+ * Optional description for the Notification policy.
+ *
+ * @example Something describing the policy.
+ */
+export type PoliciesComponentsSchemasDescription = string;
+
+/**
+ * Whether or not the Notification policy is enabled.
+ *
+ * @default true
+ * @example true
+ */
+export type PoliciesComponentsSchemasEnabled = boolean;
+
+export type PoliciesComponentsSchemasIdResponse = ApiResponseSingleKLIlNaxV & {
+  result?: {
+    id?: ComponentsSchemasUuid;
+  };
+};
+
+export type PoliciesComponentsSchemasIdResponse2 = ApiResponseSingleLarS7owG & {
+  result?: {
+    id?: Uuid;
+  };
+};
+
+export type PoliciesComponentsSchemasIdResponseD2Y8aAWj = ApiResponseSingleLarS7owG & {
+  result?: {
+    id?: ComponentsSchemasUuid;
+  };
+};
+
+/**
+ * The name of the Access policy.
+ *
+ * @example Allow devs
+ */
+export type PoliciesComponentsSchemasName = string;
+
+/**
+ * Name of the policy.
+ *
+ * @example SSL Notification Event Policy
+ */
+export type PoliciesComponentsSchemasName2 = string;
+
+export type PoliciesComponentsSchemasResponseCollection = ApiResponseCollection & {
+  result?: Policies[];
+};
+
+export type PoliciesComponentsSchemasResponseCollection2 = ApiResponseCollection & {
+  result?: ComponentsSchemasPolicies[];
+};
+
+export type PoliciesComponentsSchemasResponseCollectionJuXSbNTB = ApiResponseCollection & {
+  result?: SchemasPolicies[];
+};
+
+export type PoliciesComponentsSchemasSingleResponse = ApiResponseSingleKLIlNaxV & {
+  result?: Policies;
+};
+
+export type PoliciesComponentsSchemasSingleResponse2 = ApiResponseSingleLarS7owG & {
+  result?: ComponentsSchemasPolicies;
+};
+
+export type PoliciesComponentsSchemasSingleResponse549KxnWt = ApiResponseSingleLarS7owG & {
+  result?: SchemasPolicies;
+};
+
+/**
+ * Specify the policy that determines the region where your private key will be held locally. HTTPS connections to any excluded data center will still be fully encrypted, but will incur some latency while Keyless SSL is used to complete the handshake with the nearest allowed data center. Any combination of countries, specified by their two letter country code (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) can be chosen, such as 'country: IN', as well as 'region: EU' which refers to the EU region. If there are too few data centers satisfying the policy, it will be rejected.
+ *
+ * @example (country: US) or (region: EU)
+ */
+export type Policy = string;
+
+export type PolicyCheckResponse = ApiResponseSingleKLIlNaxV & {
+  result?: {
+    app_state?: {
+      app_uid?: Uuid;
+      /**
+       * @example 737646a56ab1df6ec9bddc7e5ca84eaf3b0768850f3ffb5d74f1534911fe389
+       */
+      aud?: string;
+      /**
+       * @example test.com
+       */
+      hostname?: string;
+      /**
+       * @example Test App
+       */
+      name?: string;
+      /**
+       * @example {"decision":"allow","exclude":[],"include":[{"_type":"email","email":"testuser@gmail.com"}],"precedence":0,"require":[],"status":"Success"}
+       */
+      policies?: any[];
+      /**
+       * @example Success
+       */
+      status?: string;
+    };
+    user_identity?: {
+      /**
+       * @example 41ecfbb341f033e52b46742756aabb8b
+       */
+      account_id?: string;
+      /**
+       * @example {}
+       */
+      device_sessions?: Record<string, any>;
+      /**
+       * @example testuser@gmail.com
+       */
+      email?: string;
+      geo?: {
+        /**
+         * @example US
+         */
+        country?: string;
+      };
+      iat?: number;
+      /**
+       * @example 1164449231815010287495
+       */
+      id?: string;
+      /**
+       * @example false
+       */
+      is_gateway?: boolean;
+      /**
+       * @example false
+       */
+      is_warp?: boolean;
+      /**
+       * @example Test User
+       */
+      name?: string;
+      user_uuid?: Uuid;
+      version?: number;
+    };
+  };
+};
+
+export type PolicyCheckResponseCmGkYgva = ApiResponseSingleLarS7owG & {
+  result?: {
+    app_state?: {
+      app_uid?: Uuid;
+      /**
+       * @example 737646a56ab1df6ec9bddc7e5ca84eaf3b0768850f3ffb5d74f1534911fe389
+       */
+      aud?: string;
+      /**
+       * @example test.com
+       */
+      hostname?: string;
+      /**
+       * @example Test App
+       */
+      name?: string;
+      /**
+       * @example {"decision":"allow","exclude":[],"include":[{"_type":"email","email":"testuser@gmail.com"}],"precedence":0,"require":[],"status":"Success"}
+       */
+      policies?: any[];
+      /**
+       * @example Success
+       */
+      status?: string;
+    };
+    user_identity?: {
+      /**
+       * @example 41ecfbb341f033e52b46742756aabb8b
+       */
+      account_id?: string;
+      /**
+       * @example {}
+       */
+      device_sessions?: Record<string, any>;
+      /**
+       * @example testuser@gmail.com
+       */
+      email?: string;
+      geo?: {
+        /**
+         * @example US
+         */
+        country?: string;
+      };
+      iat?: number;
+      /**
+       * @example 1164449231815010287495
+       */
+      id?: string;
+      /**
+       * @example false
+       */
+      is_gateway?: boolean;
+      /**
+       * @example false
+       */
+      is_warp?: boolean;
+      /**
+       * @example Test User
+       */
+      name?: string;
+      user_uuid?: Uuid;
+      version?: number;
+    };
+  };
+};
+
+/**
+ * The ID of the policy.
+ *
+ * @example c9ef84a6bf5e47138c75d95e2f933e8f
+ * @maxLength 32
+ * @minLength 32
+ */
+export type PolicyId = string;
+
+export type PolicyWithPermissionGroups = {
+  effect: Effect;
+  id: IdentifierEhp5XJwv;
+  permission_groups: PermissionGroups;
+  resources: Resources;
+};
+
+/**
+ * Removes metadata and compresses your images for faster page load times. Basic (Lossless): Reduce the size of PNG, JPEG, and GIF files - no impact on visual quality. Basic + JPEG (Lossy): Further reduce the size of JPEG files for faster image loading. Larger JPEGs are converted to progressive images, loading a lower-resolution image first and ending in a higher-resolution version. Not recommended for hi-res photography sites.
+ */
+export type Polish = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example polish
+   */
+  id: 'polish';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: PolishValue;
+};
+
+/**
+ * Value of the zone setting.
+ *
+ * @default off
+ */
+export type PolishValue = 'off' | 'lossless' | 'lossy';
+
+export type Pool = {
+  check_regions?: CheckRegionsPQxNXzsr;
+  created_on?: Timestamp;
+  description?: SchemasDescriptionZxAuqPgI;
+  disabled_at?: SchemasDisabledAt;
+  enabled?: EnabledMECT4zDK;
+  id?: SchemasIdentifierVx9UGvBM;
+  latitude?: Latitude;
+  load_shedding?: LoadShedding;
+  longitude?: Longitude;
+  minimum_origins?: MinimumOrigins;
+  modified_on?: Timestamp;
+  monitor?: SchemasMonitor;
+  name?: NameILH8OrHN;
+  notification_email?: NotificationEmail;
+  notification_filter?: NotificationFilter;
+  origin_steering?: OriginSteering;
+  origins?: Origins;
+};
+
+export type Pool86qV21Xs = {
+  check_regions?: CheckRegionsM0UYyZsj;
+  created_on?: Timestamp;
+  description?: PoolComponentsSchemasDescription;
+  disabled_at?: SchemasDisabledAt;
+  enabled?: PoolComponentsSchemasEnabled;
+  id?: PoolComponentsSchemasIdentifier;
+  latitude?: Latitude;
+  load_shedding?: LoadShedding;
+  longitude?: Longitude;
+  minimum_origins?: MinimumOrigins;
+  modified_on?: Timestamp;
+  monitor?: SchemasMonitor;
+  name?: PoolComponentsSchemasName;
+  notification_email?: NotificationEmailRSyVUYWe;
+  notification_filter?: NotificationFilter;
+  origin_steering?: OriginSteering;
+  origins?: OriginsSJsVZfMb;
+};
+
+/**
+ * A human-readable description of the pool.
+ *
+ * @example Primary data center - Provider XYZ
+ */
+export type PoolComponentsSchemasDescription = string;
+
+/**
+ * Whether to enable (the default) or disable this pool. Disabled pools will not receive traffic and are excluded from health checks. Disabling a pool will cause any load balancers using it to failover to the next pool (if any).
+ *
+ * @default true
+ * @example false
+ */
+export type PoolComponentsSchemasEnabled = boolean;
+
+/**
+ * @example 17b5962d775c646f3f9725cbc7a53df4
+ */
+export type PoolComponentsSchemasIdentifier = void;
+
+/**
+ * A short name (tag) for the pool. Only alphanumeric characters, hyphens, and underscores are allowed.
+ *
+ * @example primary-dc-1
+ */
+export type PoolComponentsSchemasName = string;
+
+export type PoolComponentsSchemasResponseCollection = ApiResponseCollection & {
+  result?: Pool86qV21Xs[];
+};
+
+export type PoolComponentsSchemasSingleResponse = ApiResponseSingleLarS7owG & {
+  result?: Pool86qV21Xs;
+};
+
+/**
+ * The name for the pool to filter.
+ *
+ * @example primary-dc
+ */
+export type PoolName = string;
+
+/**
+ * (Enterprise only): A mapping of Cloudflare PoP identifiers to a list of pool IDs (ordered by their failover priority) for the PoP (datacenter). Any PoPs not explicitly defined will fall back to using the corresponding country_pool, then region_pool mapping if it exists else to default_pools.
+ *
+ * @example {"LAX":["de90f38ced07c2e2f4df50b1f61d4194","9290f38c5d07c2e2f4df57b1f61d4196"],"LHR":["abd90f38ced07c2e2f4df50b1f61d4194","f9138c5d07c2e2f4df57b1f61d4196"],"SJC":["00920f38ce07c2e2f4df50b1f61d4194"]}
+ */
+export type PopPools = Record<string, any>;
+
+/**
+ * Global Cloudflare 100k ranking for the last 30 days, if available for the hostname. The top ranked domain is 1, the lowest ranked domain is 100,000.
+ */
+export type PopularityRank = number;
+
+/**
+ * The keyless SSL port used to communicate between Cloudflare and the client's Keyless SSL server.
+ *
+ * @default 24008
+ * @example 24008
+ * @maxLength 65535
+ */
+export type Port = number;
+
+/**
+ * Port number to connect to for the health check. Required for TCP, UDP, and SMTP checks. HTTP and HTTPS checks should only define the port when using a non-standard port (HTTP: default 80, HTTPS: default 443).
+ *
+ * @default 0
+ */
+export type PortFtc1VWvE = number;
+
+/**
+ * The keyless SSL port used to commmunicate between Cloudflare and the client's Keyless SSL server.
+ *
+ * @default 24008
+ * @example 24008
+ * @maxLength 65535
+ */
+export type PortImSN1BQg = number;
+
+/**
+ * DNS port of primary or secondary nameserver, depending on what zone this peer is linked to.
+ *
+ * @example 53
+ */
+export type PortXQsQDzbx = number;
+
+/**
+ * The location of the image. Valid positions are: `upperRight`, `upperLeft`, `lowerLeft`, `lowerRight`, and `center`. Note that `center` ignores the `padding` parameter.
+ *
+ * @default upperRight
+ * @example center
+ */
+export type Position = string;
+
+/**
+ * The order of execution for this policy. Must be unique for each policy.
+ */
+export type Precedence = number;
+
+/**
+ * The precedence of the policy. Lower values indicate higher precedence. Policies will be evaluated in ascending order of this field.
+ *
+ * @example 100
+ */
+export type PrecedenceBOmzKeZm = number;
+
+/**
+ * Precedence sets the ordering of the rules. Lower values indicate higher precedence. At each processing phase, applicable rules are evaluated in ascending order of this value.
+ */
+export type PrecedenceEPoGsEKD = number;
+
+/**
+ * A predefined entry that matches a profile
+ */
+export type PredefinedEntry = {
+  /**
+   * Whether the entry is enabled or not.
+   *
+   * @example true
+   */
+  enabled?: boolean;
+  id?: EntryId;
+  /**
+   * The name of the entry.
+   *
+   * @example Credit card (Visa)
+   */
+  name?: string;
+  /**
+   * ID of the parent profile
+   */
+  profile_id?: void;
+};
+
+export type PredefinedProfile = {
+  allowed_match_count?: AllowedMatchCount;
+  /**
+   * The entries for this profile.
+   */
+  entries?: PredefinedEntry[];
+  id?: ProfileId;
+  /**
+   * The name of the profile.
+   *
+   * @example Generic CVV Card Number
+   */
+  name?: string;
+  /**
+   * The type of the profile.
+   *
+   * @example predefined
+   */
+  type?: 'predefined';
+};
+
+export type PredefinedProfileResponse = ApiResponseSingleUypB4bgI & {
+  result?: PredefinedProfile;
+};
+
+export type PredefinedProfileResponse6Euc3s68 = ApiResponseSingleLarS7owG & {
+  result?: PredefinedProfile;
+};
+
+/**
+ * Cloudflare will prefetch any URLs that are included in the response headers. This is limited to Enterprise Zones.
+ *
+ * @default off
+ */
+export type PrefetchPreload = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example prefetch_preload
+   */
+  id: 'prefetch_preload';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: PrefetchPreloadValue;
+};
+
+/**
+ * Value of the zone setting.
+ *
+ * @default off
+ */
+export type PrefetchPreloadValue = 'on' | 'off';
+
+/**
+ * IP Prefix in Classless Inter-Domain Routing format.
+ *
+ * @example 192.0.2.0/24
+ */
+export type Prefix = string;
+
+/**
+ * The video's preview page URI. This field is omitted until encoding is complete.
+ *
+ * @example https://customer-m033z5x00ks6nunl.cloudflarestream.com/ea95132c15732412d22c1476fa83f27a/watch
+ * @format uri
+ */
+export type Preview = string;
+
+/**
+ * @example f1aba936b94213e5b8dca0c0dbf1f9cc
+ */
+export type PreviewId = void;
+
+export type PreviewResponse = ApiResponseSingleUl1k90Mw & {
+  result?: {
+    /**
+     * Monitored pool IDs mapped to their respective names.
+     *
+     * @example {"abwlnp5jbqn45ecgxd03erbgtxtqai0d":"WNAM Datacenter","ve8h9lrcip5n5bbga9yqmdws28ay5d0l":"EEU Datacenter"}
+     */
+    pools?: {
+      [key: string]: string;
+    };
+    preview_id?: IdentifierYmSdxGUH;
+  };
+};
+
+export type PreviewResponseETd0IjUP = ApiResponseSingleLarS7owG & {
+  result?: {
+    /**
+     * @example {"abwlnp5jbqn45ecgxd03erbgtxtqai0d":"WNAM Datacenter","ve8h9lrcip5n5bbga9yqmdws28ay5d0l":"EEU Datacenter"}
+     */
+    pools?: {
+      [key: string]: any;
+    };
+    preview_id?: MonitorComponentsSchemasIdentifier;
+  };
+};
+
+export type PreviewResponseHBJY2UOs = ApiResponseSinglePn9rJJNX & {
+  result?: {
+    preview_url?: PreviewUrl;
+  };
+};
+
+/**
+ * Resulting health data from a preview operation.
+ *
+ * @example {"abwlnp5jbqn45ecgxd03erbgtxtqai0d":{"healthy":true,"origins":[{"originone.example.com.":{"failure_reason":"No failures","healthy":true,"response_code":200,"rtt":"66ms"}}]}}
+ */
+export type PreviewResult = {
+  [key: string]: {
+    healthy?: boolean;
+    origins?: {
+      [key: string]: OriginHealthData;
+    }[];
+  };
+};
+
+/**
+ * Resulting health data from a preview operation.
+ *
+ * @example {"abwlnp5jbqn45ecgxd03erbgtxtqai0d":{"healthy":true,"origins":[{"originone.example.com.":{"$ref":"#/components/schemas/origin_health_data/example"}}]}}
+ */
+export type PreviewResultT4uBMpzm = {
+  [key: string]: any;
+};
+
+export type PreviewResultResponse = ApiResponseSingleUl1k90Mw & {
+  result?: PreviewResult;
+};
+
+/**
+ * Resulting health data from a preview operation.
+ *
+ * @example {"abwlnp5jbqn45ecgxd03erbgtxtqai0d":{"healthy":true,"origins":[{"originone.example.com.":{"$ref":"#/components/schemas/origin_health_data/example"}}]}}
+ */
+export type PreviewResultResponseLuMgL00Q = ApiResponseSingleLarS7owG & PreviewResultT4uBMpzm;
+
+/**
+ * URL where the custom waiting room page can temporarily be previewed.
+ *
+ * @example http://waitingrooms.dev/preview/35af8c12-6d68-4608-babb-b53435a5ddfb
+ */
+export type PreviewUrl = string;
+
+/**
+ * The price of the subscription that will be billed, in US dollars.
+ *
+ * @example 20
+ */
+export type Price = number;
+
+/**
+ * Priority of the static route.
+ */
+export type Priority = number;
+
+/**
+ * The order/priority in which the certificate will be used in a request. The higher priority will break ties across overlapping 'legacy_custom' certificates, but 'legacy_custom' certificates will always supercede 'sni_custom' certificates.
+ *
+ * @default 20
+ * @example 1
+ */
+export type PriorityFZPZtZRb = number;
+
+/**
+ * Required for MX, SRV and URI records; unused by other record types. Records with lower priorities are preferred.
+ *
+ * @example 10
+ * @maximum 65535
+ * @minimum 0
+ */
+export type PriorityVEsVispp = number;
+
+/**
+ * The priority of the rule, used to define which Page Rule is processed over another. A higher number indicates a higher priority. For example, if you have a catch-all Page Rule (rule A: `/images/*`) but want a more specific Page Rule to take precedence (rule B: `/images/special/*`), specify a higher priority for rule B so it overrides rule A.
+ *
+ * @default 1
+ */
+export type PriorityCHRoVVCg = number;
+
+/**
+ * The order/priority in which the certificate will be used in a request. The higher priority will break ties across overlapping 'legacy_custom' certificates, but 'legacy_custom' certificates will always supercede 'sni_custom' certificates.
+ *
+ * @default 20
+ * @example 1
+ */
+export type PriorityOBYCnVp3 = number;
+
+/**
+ * Privacy option controls redacting WHOIS information.
+ *
+ * @example true
+ */
+export type Privacy = boolean;
+
+/**
+ * Privacy Pass is a browser extension developed by the Privacy Pass Team to improve the browsing experience for your visitors. Enabling Privacy Pass will reduce the number of CAPTCHAs shown to your visitors. (https://support.cloudflare.com/hc/en-us/articles/115001992652-Privacy-Pass).
+ */
+export type PrivacyPass = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example privacy_pass
+   */
+  id: 'privacy_pass';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: PrivacyPassValue;
+};
+
+/**
+ * Value of the zone setting.
+ *
+ * @default on
+ */
+export type PrivacyPassValue = 'on' | 'off';
+
+/**
+ * The zone's private key.
+ * 
+ * @example -----BEGIN RSA PRIVATE KEY-----
+MIIEowIBAAKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmG
+dtcGbg/1CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKn
+abIRuGvBKwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpid
+tnKX/a+50GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+py
+FxIXjbEIdZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pE
+ewooaeO2izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABAoIBACbhTYXBZYKmYPCb
+HBR1IBlCQA2nLGf0qRuJNJZg5iEzXows/6tc8YymZkQE7nolapWsQ+upk2y5Xdp/
+axiuprIs9JzkYK8Ox0r+dlwCG1kSW+UAbX0bQ/qUqlsTvU6muVuMP8vZYHxJ3wmb
++ufRBKztPTQ/rYWaYQcgC0RWI20HTFBMxlTAyNxYNWzX7RKFkGVVyB9RsAtmcc8g
++j4OdosbfNoJPS0HeIfNpAznDfHKdxDk2Yc1tV6RHBrC1ynyLE9+TaflIAdo2MVv
+KLMLq51GqYKtgJFIlBRPQqKoyXdz3fGvXrTkf/WY9QNq0J1Vk5ERePZ54mN8iZB7
+9lwy/AkCgYEA6FXzosxswaJ2wQLeoYc7ceaweX/SwTvxHgXzRyJIIT0eJWgx13Wo
+/WA3Iziimsjf6qE+SI/8laxPp2A86VMaIt3Z3mJN/CqSVGw8LK2AQst+OwdPyDMu
+iacE8lj/IFGC8mwNUAb9CzGU3JpU4PxxGFjS/eMtGeRXCWkK4NE+G08CgYEA1Kp9
+N2JrVlqUz+gAX+LPmE9OEMAS9WQSQsfCHGogIFDGGcNf7+uwBM7GAaSJIP01zcoe
+VAgWdzXCv3FLhsaZoJ6RyLOLay5phbu1iaTr4UNYm5WtYTzMzqh8l1+MFFDl9xDB
+vULuCIIrglM5MeS/qnSg1uMoH2oVPj9TVst/ir8CgYEAxrI7Ws9Zc4Bt70N1As+U
+lySjaEVZCMkqvHJ6TCuVZFfQoE0r0whdLdRLU2PsLFP+q7qaeZQqgBaNSKeVcDYR
+9B+nY/jOmQoPewPVsp/vQTCnE/R81spu0mp0YI6cIheT1Z9zAy322svcc43JaWB7
+mEbeqyLOP4Z4qSOcmghZBSECgYACvR9Xs0DGn+wCsW4vze/2ei77MD4OQvepPIFX
+dFZtlBy5ADcgE9z0cuVB6CiL8DbdK5kwY9pGNr8HUCI03iHkW6Zs+0L0YmihfEVe
+PG19PSzK9CaDdhD9KFZSbLyVFmWfxOt50H7YRTTiPMgjyFpfi5j2q348yVT0tEQS
+fhRqaQKBgAcWPokmJ7EbYQGeMbS7HC8eWO/RyamlnSffdCdSc7ue3zdVJxpAkQ8W
+qu80pEIF6raIQfAf8MXiiZ7auFOSnHQTXUbhCpvDLKi0Mwq3G8Pl07l+2s6dQG6T
+lv6XTQaMyf6n1yjzL+fzDrH3qXMxHMO/b13EePXpDMpY7HQpoLDi
+-----END RSA PRIVATE KEY-----
+ */
+export type PrivateKey = string;
+
+/**
+ * Assign this monitor to emulate the specified zone while probing. This parameter is only valid for HTTP and HTTPS monitors.
+ *
+ * @example example.com
+ */
+export type ProbeZone = string;
+
+export type Products = ('zoneLockdown' | 'uaBlock' | 'bic' | 'hot' | 'securityLevel' | 'rateLimit' | 'waf')[];
+
+/**
+ * UUID
+ *
+ * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
+ * @maxLength 36
+ */
+export type ProfileId = Uuid;
+
+export type Profiles = PredefinedProfile | CustomProfile | IntegrationProfile;
+
+export type ProfilesFWhiUuM4 = PredefinedProfile | CustomProfile;
+
+export type ProfilesComponentsSchemasResponseCollection = ApiResponseCollection & {
+  result?: ProfilesFWhiUuM4[];
+};
+
+/**
+ * @example {"deployment_configs":{"production":{"compatibility_date":"2022-01-01","compatibility_flags":["url_standard"],"env_vars":{"BUILD_VERSION":{"value":"3.3"},"delete_this_env_var":null,"secret_var":{"type":"secret_text","value":"A_CMS_API_TOKEN"}}}}}
+ */
+export type ProjectPatch = void;
+
+export type ProjectResponse = {
+  errors: Messages;
+  messages: Messages;
+  result: Projects;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+/**
+ * Name of the project.
+ *
+ * @example this-is-my-project-01
+ * @pattern ^[a-z0-9][a-z0-9-]*$
+ */
+export type ProjectName = string;
+
+export type Projects = {
+  build_config?: BuildConfig;
+  /**
+   * Most recent deployment to the repo.
+   */
+  canonical_deployment?: (void | null) | Deployments;
+  /**
+   * When the project was created.
+   *
+   * @example 2017-01-01T00:00:00Z
+   * @format date-time
+   */
+  created_on?: string;
+  deployment_configs?: DeploymentConfigs;
+  /**
+   * A list of associated custom domains for the project.
+   *
+   * @example customdomain.com
+   * @example customdomain.org
+   */
+  domains?: any[];
+  /**
+   * Id of the project.
+   *
+   * @example 7b162ea7-7367-4d67-bcde-1160995d5
+   */
+  id?: string;
+  /**
+   * Most recent deployment to the repo.
+   */
+  latest_deployment?: (void | null) | Deployments;
+  /**
+   * Name of the project.
+   *
+   * @example NextJS Blog
+   */
+  name?: string;
+  /**
+   * Production branch of the project. Used to identify production deployments.
+   *
+   * @example main
+   */
+  production_branch?: string;
+  source?: void;
+  /**
+   * The Cloudflare subdomain associated with the project.
+   *
+   * @example helloworld.pages.dev
+   */
+  subdomain?: string;
+};
+
+export type ProjectsResponse = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+  result_info?: {
+    /**
+     * @example 1
+     */
+    count?: void;
+    /**
+     * @example 1
+     */
+    page?: void;
+    /**
+     * @example 100
+     */
+    per_page?: void;
+    /**
+     * @example 1
+     */
+    total_count?: void;
+  };
+};
+
+/**
+ * Requests information about certain properties.
+ *
+ * @example auth_id_characteristics
+ * @uniqueItems true
+ */
+export type Properties = 'auth_id_characteristics'[];
+
+/**
+ * Account name
+ *
+ * @example Demo Account
+ * @maxLength 100
+ */
+export type PropertiesName = string;
+
+/**
+ * The port configuration at Cloudflare’s edge. May specify a single port, for example `"tcp/1000"`, or a range of ports, for example `"tcp/1000-2000"`.
+ *
+ * @example tcp/22
+ */
+export type Protocol = string;
+
+/**
+ * The name of provider. Usually cloudflare.
+ *
+ * @example Cloudflare
+ */
+export type ProviderName = string;
+
+/**
+ * Whether the hostname should be gray clouded (false) or orange clouded (true).
+ *
+ * @default false
+ * @example true
+ */
+export type Proxied = boolean;
+
+/**
+ * Whether the record is receiving the performance and security benefits of Cloudflare.
+ *
+ * @example false
+ */
+export type ProxiedDwzKQw8a = boolean;
+
+export type ProxyEndpoints = {
+  created_at?: Timestamp;
+  id?: SchemasUuidHmO1cTZ9;
+  ips?: IpsFDl19jsa;
+  name?: ProxyEndpointsComponentsSchemasName;
+  subdomain?: SchemasSubdomain;
+  updated_at?: Timestamp;
+};
+
+/**
+ * The name of the Proxy Endpoint.
+ *
+ * @example Devops team
+ */
+export type ProxyEndpointsComponentsSchemasName = string;
+
+export type ProxyEndpointsComponentsSchemasResponseCollection = ApiResponseCollection & {
+  result?: ProxyEndpoints[];
+};
+
+export type ProxyEndpointsComponentsSchemasSingleResponse = ApiResponseSingleVxjnpV7r & {
+  result?: ProxyEndpoints;
+};
+
+/**
+ * Enables Proxy Protocol to the origin. Refer to [Enable Proxy protocol](https://developers.cloudflare.com/spectrum/getting-started/proxy-protocol/) for implementation details on PROXY Protocol V1, PROXY Protocol V2, and Simple Proxy Protocol.
+ *
+ * @default off
+ * @example off
+ */
+export type ProxyProtocol = 'off' | 'v1' | 'v2' | 'simple';
+
+/**
+ * Maximum time between two read operations from origin.
+ */
+export type ProxyReadTimeout = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example proxy_read_timeout
+   */
+  id: 'proxy_read_timeout';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: ProxyReadTimeoutValue;
+};
+
+/**
+ * Value of the zone setting.
+ * Notes: Value must be between 1 and 6000
+ *
+ * @default 100
+ */
+export type ProxyReadTimeoutValue = number;
+
+/**
+ * The value set for the Pseudo IPv4 setting.
+ */
+export type PseudoIpv4 = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * Value of the Pseudo IPv4 setting.
+   *
+   * @example development_mode
+   * @default pseudo_ipv4
+   */
+  id: 'pseudo_ipv4';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: PseudoIpv4Value;
+};
+
+/**
+ * Value of the Pseudo IPv4 setting.
+ *
+ * @default off
+ */
+export type PseudoIpv4Value = 'off' | 'add_header' | 'overwrite_header';
+
+/**
+ * A randomly generated or provided string for use in the IPsec tunnel.
+ *
+ * @example O3bwKSjnaoCxDoUxjcq4Rk8ZKkezQUiy
+ */
+export type Psk = string;
+
+export type PskGenerationResponse = ApiResponseSingleRxxEmdsv & {
+  result?: {
+    ipsec_tunnel_id?: Identifier;
+    psk?: Psk;
+    psk_metadata?: PskMetadata;
+  };
+};
+
+/**
+ * The PSK metadata that includes when the PSK was generated.
+ */
+export type PskMetadata = {
+  last_generated_on?: SchemasModifiedOn;
+};
+
+/**
+ * The public key to add to your SSH server configuration.
+ *
+ * @example ecdsa-sha2-nistp256 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= open-ssh-ca@cloudflareaccess.org
+ */
+export type PublicKey = string;
+
+/**
+ * Public key for DS record.
+ *
+ * @example oXiGYrSTO+LSCJ3mohc8EP+CzF9KxBj8/ydXJ22pKuZP3VAC3/Md/k7xZfz470CoRyZJ6gV6vml07IC3d8xqhA==
+ */
+export type PublicKeyAH0a9AtA = string | null;
+
+/**
+ * A custom message that will appear on the purpose justification screen.
+ *
+ * @example Please enter a justification for entering this protected domain.
+ */
+export type PurposeJustificationPrompt = string;
+
+/**
+ * Require users to enter a justification when they log in to the application.
+ *
+ * @default false
+ * @example true
+ */
+export type PurposeJustificationRequired = boolean;
+
+export type Query = {
+  /**
+   * Array of dimension names.
+   *
+   * @example responseCode
+   * @example queryName
+   */
+  dimensions: string[];
+  filters?: Filters;
+  limit: Limit;
+  /**
+   * Array of metric names.
+   *
+   * @example queryCount
+   * @example responseTimeAvg
+   */
+  metrics: string[];
+  since: Since;
+  /**
+   * Array of dimensions to sort by, where each dimension may be prefixed by - (descending) or + (ascending).
+   *
+   * @example +responseCode
+   * @example -queryName
+   */
+  sort?: string[];
+  until: Until;
+};
+
+/**
+ * For specifying result metrics.
+ */
+export type QueryLWVM8wx5 = {
+  /**
+   * Can be used to break down the data by given attributes.
+   *
+   * @default []
+   */
+  dimensions?: string[];
+  /**
+   * Used to filter rows by one or more dimensions. Filters can be combined using OR and AND boolean logic. AND takes precedence over OR in all the expressions. The OR operator is defined using a comma (,) or OR keyword surrounded by whitespace. The AND operator is defined using a semicolon (;) or AND keyword surrounded by whitespace. Note that the semicolon is a reserved character in URLs (rfc1738) and needs to be percent-encoded as %3B. Comparison options are:
+   *
+   * Operator                  | Name                            | URL Encoded
+   * --------------------------|---------------------------------|--------------------------
+   * ==                        | Equals                          | %3D%3D
+   * !=                        | Does not equals                 | !%3D
+   * >                        | Greater Than                    | %3E
+   * <                         | Less Than                       | %3C
+   * >=                       | Greater than or equal to        | %3E%3D
+   * <=                        | Less than or equal to           | %3C%3D     .
+   *
+   * @default ""
+   */
+  filters?: string;
+  /**
+   * Limit number of returned metrics.
+   *
+   * @default 10000
+   */
+  limit?: number;
+  /**
+   * One or more metrics to compute.
+   */
+  metrics?: string[];
+  /**
+   * Start of time interval to query, defaults to 6 hours before request received.
+   *
+   * @default <6 hours ago>
+   * @example 2019-01-02T02:20:00Z
+   * @format date-time
+   */
+  since?: string;
+  /**
+   * Array of dimensions or metrics to sort by, each dimension/metric may be prefixed by - (descending) or + (ascending).
+   *
+   * @default []
+   */
+  sort?: any[];
+  /**
+   * End of time interval to query, defaults to current time.
+   *
+   * @default <now>
+   * @example 2019-01-02T03:20:00Z
+   * @format date-time
+   */
+  until?: string;
+};
+
+export type QueryEvent = {
+  custom_page_html?: EventCustomPageHtml;
+  description?: EventDescription;
+  disable_session_renewal?: EventDisableSessionRenewal;
+  event_end_time: EventEndTime;
+  event_start_time: EventStartTime;
+  name: EventName;
+  new_users_per_minute?: EventNewUsersPerMinute;
+  prequeue_start_time?: EventPrequeueStartTime;
+  queueing_method?: EventQueueingMethod;
+  session_duration?: EventSessionDuration;
+  shuffle_at_event_start?: EventShuffleAtEventStart;
+  suspended?: EventSuspended;
+  total_active_users?: EventTotalActiveUsers;
+};
+
+export type QueryHealthcheck = {
+  address: Address;
+  check_regions?: CheckRegions;
+  consecutive_fails?: ConsecutiveFails;
+  consecutive_successes?: ConsecutiveSuccesses;
+  description?: DescriptionNNNUBbC7;
+  http_config?: HttpConfig;
+  interval?: Interval;
+  name: Name8NztOXJ3;
+  retries?: RetriesZPd5bYtZ;
+  suspended?: Suspended;
+  tcp_config?: TcpConfig;
+  timeout?: Timeout;
+  type?: Type;
+};
+
+export type QueryPreview = {
+  custom_html: CustomPageHtml;
+};
+
+/**
+ * The exact parameters/timestamps the analytics service used to return data.
+ */
+export type QueryResponse = {
+  since?: SinceO1OWzWkU;
+  /**
+   * The amount of time (in minutes) that each data point in the timeseries represents. The granularity of the time-series returned (e.g. each bucket in the time series representing 1-minute vs 1-day) is calculated by the API based on the time-range provided to the API.
+   */
+  time_delta?: number;
+  until?: UntilOh0IDugA;
+};
+
+export type QueryWaitingroom = {
+  cookie_attributes?: CookieAttributes;
+  custom_page_html?: CustomPageHtml;
+  default_template_language?: DefaultTemplateLanguage;
+  description?: DescriptionJIh6Lv2u;
+  disable_session_renewal?: DisableSessionRenewal;
+  host: HostB3JrS1Yy;
+  json_response_enabled?: JsonResponseEnabled;
+  name: NameGu3WWDHz;
+  new_users_per_minute: NewUsersPerMinute;
+  path?: PathIVkcNWHz;
+  queue_all?: QueueAll;
+  queueing_method?: QueueingMethod;
+  session_duration?: SessionDurationDWa1S8Ip;
+  suspended?: SuspendedW815GHPM;
+  total_active_users: TotalActiveUsers;
+};
+
+export type Queue = {
+  consumers?: void;
+  consumers_total_count?: void;
+  created_on?: void;
+  modified_on?: void;
+  producers?: void;
+  producers_total_count?: void;
+  queue_id?: void;
+  queue_name?: QueuesComponentsSchemasName;
+};
+
+/**
+ * If queue_all is `true`, all the traffic that is coming to a route will be sent to the waiting room. No new traffic can get to the route once this field is set and estimated time will become unavailable.
+ *
+ * @default false
+ * @example true
+ */
+export type QueueAll = boolean;
+
+export type QueueCreated = {
+  created_on?: void;
+  modified_on?: void;
+  queue_id?: void;
+  queue_name?: QueuesComponentsSchemasName;
+};
+
+export type QueueUpdated = {
+  created_on?: void;
+  modified_on?: void;
+  queue_id?: void;
+  queue_name?: RenamedName;
+};
+
+/**
+ * Sets the queueing method used by the waiting room. Changing this parameter from the **default** queueing method is only available for the Waiting Room Advanced subscription. Regardless of the queueing method, if `queue_all` is enabled or an event is prequeueing, users in the waiting room will not be accepted to the origin. These users will always see a waiting room page that refreshes automatically. The valid queueing methods are:
+ * 1. `fifo` **(default)**: First-In-First-Out queue where customers gain access in the order they arrived.
+ * 2. `random`: Random queue where customers gain access randomly, regardless of arrival time.
+ * 3. `passthrough`: Users will pass directly through the waiting room and into the origin website. As a result, any configured limits will not be respected while this is enabled. This method can be used as an alternative to disabling a waiting room (with `suspended`) so that analytics are still reported. This can be used if you wish to allow all traffic normally, but want to restrict traffic during a waiting room event, or vice versa.
+ * 4. `reject`: Users will be immediately rejected from the waiting room. As a result, no users will reach the origin website while this is enabled. This can be used if you wish to reject all traffic while performing maintenance, block traffic during a specified period of time (an event), or block traffic while events are not occurring. Consider a waiting room used for vaccine distribution that only allows traffic during sign-up events, and otherwise blocks all traffic. For this case, the waiting room uses `reject`, and its events override this with `fifo`, `random`, or `passthrough`. When this queueing method is enabled and neither `queueAll` is enabled nor an event is prequeueing, the waiting room page **will not refresh automatically**.
+ *
+ * @default fifo
+ * @example fifo
+ */
+export type QueueingMethod = 'fifo' | 'random' | 'passthrough' | 'reject';
+
+/**
+ * @example example-queue
+ */
+export type QueuesComponentsSchemasName = string;
+
+export type Quota = {
+  /**
+   * Quantity Allocated.
+   */
+  allocated?: number;
+  /**
+   * Quantity Used.
+   */
+  used?: number;
+};
+
+export type R2SingleBucketOperationResponse = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type Railgun = {
+  activated_on: ActivatedOn;
+  activation_key: ActivationKey;
+  build: Build;
+  created_on: ComponentsSchemasCreatedOn;
+  enabled: RailgunComponentsSchemasEnabled;
+  id: RailgunComponentsSchemasIdentifier;
+  modified_on: RailgunComponentsSchemasModifiedOn;
+  name: RailgunComponentsSchemasName;
+  revision: Revision;
+  status: RailgunComponentsSchemasStatus;
+  upgrade_info?: UpgradeInfo;
+  version: ComponentsSchemasVersion;
+  zones_connected: ZonesConnected;
+};
+
+/**
+ * Flag to determine if the Railgun is accepting connections.
+ *
+ * @default false
+ * @example true
+ */
+export type RailgunComponentsSchemasEnabled = boolean;
+
+/**
+ * Railgun identifier tag.
+ *
+ * @example e928d310693a83094309acf9ead50448
+ * @maxLength 32
+ */
+export type RailgunComponentsSchemasIdentifier = string;
+
+/**
+ * Railgun connection identifier tag.
+ *
+ * @example e928d310693a83094309acf9ead50448
+ * @maxLength 32
+ */
+export type RailgunComponentsSchemasIdentifier2 = string;
+
+/**
+ * When the Railgun was last modified.
+ *
+ * @example 2014-01-01T05:20:00Z
+ * @format date-time
+ */
+export type RailgunComponentsSchemasModifiedOn = string;
+
+/**
+ * Readable identifier of the Railgun.
+ *
+ * @example My Railgun.
+ * @maxLength 160
+ */
+export type RailgunComponentsSchemasName = string;
+
+/**
+ * Status of the Railgun.
+ *
+ * @example active
+ */
+export type RailgunComponentsSchemasStatus = 'initializing' | 'active';
+
+export type RailgunResponseCollection = ApiResponseCollection & {
+  result?: Railgun[];
+};
+
+export type RailgunResponseSingle = ApiResponseSingleLarS7owG & {
+  result?: Record<string, any>;
+};
+
+export type RailgunResponseSingleId = RailgunResponseSingle & {
+  result?: {
+    id?: RailgunComponentsSchemasIdentifier;
+  };
+};
+
+/**
+ * Configures pool weights for random steering. When steering_policy is 'random', a random pool is selected with probability proportional to these pool weights.
+ */
+export type RandomSteering = {
+  /**
+   * The default weight for pools in the load balancer that are not specified in the pool_weights map.
+   *
+   * @default 1
+   * @example 0.2
+   * @maximum 1
+   * @minimum 0
+   * @multipleOf 0.1
+   */
+  default_weight?: number;
+  /**
+   * A mapping of pool IDs to custom weights. The weight is relative to other pools in the load balancer.
+   *
+   * @example {"9290f38c5d07c2e2f4df57b1f61d4196":0.5,"de90f38ced07c2e2f4df50b1f61d4194":0.3}
+   */
+  pool_weights?: Record<string, any>;
+};
+
+export type RateLimits = RatelimitHlSXOBhh;
+
+/**
+ * The unique identifier of the rate limit.
+ *
+ * @example 372e67954025e0ba6aaa6d586b9e0b59
+ * @maxLength 32
+ */
+export type RateLimitsComponentsSchemasId = string;
+
+export type RatePlan = {
+  components?: SchemasComponentValues;
+  currency?: Currency;
+  duration?: DurationUvPDdO2C;
+  frequency?: SchemasFrequency;
+  id?: RatePlanComponentsSchemasIdentifier;
+  name?: RatePlanComponentsSchemasName;
+};
+
+/**
+ * Plan identifier tag.
+ *
+ * @example free
+ */
+export type RatePlanComponentsSchemasIdentifier = string;
+
+/**
+ * The plan name.
+ *
+ * @example Free Plan
+ * @maxLength 80
+ */
+export type RatePlanComponentsSchemasName = string;
+
+/**
+ * The rate plan applied to the subscription.
+ */
+export type RatePlan = {
+  /**
+   * The currency applied to the rate plan subscription.
+   *
+   * @example USD
+   */
+  currency?: string;
+  /**
+   * Whether this rate plan is managed externally from Cloudflare.
+   *
+   * @example false
+   */
+  externally_managed?: boolean;
+  /**
+   * The ID of the rate plan.
+   *
+   * @example free
+   */
+  id?: void;
+  /**
+   * Whether a rate plan is enterprise-based (or newly adopted term contract).
+   *
+   * @example false
+   */
+  is_contract?: boolean;
+  /**
+   * The full name of the rate plan.
+   *
+   * @example Business Plan
+   */
+  public_name?: string;
+  /**
+   * The scope that this rate plan applies to.
+   *
+   * @example zone
+   */
+  scope?: string;
+  /**
+   * The list of sets this rate plan applies to.
+   */
+  sets?: string[];
+};
+
+/**
+ * Ratelimit in queries per second per datacenter (applies to DNS queries sent to the upstream nameservers configured on the cluster).
+ *
+ * @example 600
+ * @maximum 1000000000
+ * @minimum 100
+ */
+export type Ratelimit = number | null;
+
+export type RatelimitHlSXOBhh = {
+  action?: SchemasAction;
+  bypass?: Bypass;
+  description?: ComponentsSchemasDescriptionShl7dZHd;
+  disabled?: Disabled;
+  id?: RateLimitsComponentsSchemasId;
+  match?: MatchVa0wXlcX;
+  period?: Period;
+  threshold?: Threshold;
+};
+
+export type RatelimitResponseCollection = ApiResponseCollection & {
+  result?: RateLimits[];
+};
+
+export type RatelimitResponseSingle = ApiResponseSingleLarS7owG & {
+  result?: Record<string, any>;
+};
+
+/**
+ * The unique identifier for the request to Cloudflare.
+ *
+ * @example 187d944c61940c77
+ * @maxLength 16
+ */
+export type RayId = string;
+
+/**
+ * Ray identifier.
+ *
+ * @example 41ddf1740f67442d
+ * @maxLength 16
+ */
+export type RayIdentifier = string;
+
+/**
+ * Beta flag. Users can create a policy with a mechanism that is not ready, but we cannot guarantee successful delivery of notifications.
+ *
+ * @example true
+ */
+export type Ready = boolean;
+
+/**
+ * Indicates whether the video is ready for viewing.
+ *
+ * @example true
+ */
+export type ReadyToStream = boolean;
+
+/**
+ * A short reference tag. Allows you to select related firewall rules.
+ *
+ * @example MIR-31
+ * @maxLength 50
+ */
+export type Ref = string;
+
+export type ReferencesResponse = ApiResponseCollection & {
+  /**
+   * List of resources that reference a given monitor.
+   *
+   * @example {"reference_type":"referrer","resource_id":"17b5962d775c646f3f9725cbc7a53df4","resource_name":"primary-dc-1","resource_type":"pool"}
+   */
+  result?: {
+    reference_type?: '*' | 'referral' | 'referrer';
+    resource_id?: string;
+    resource_name?: string;
+    resource_type?: string;
+  }[];
+};
+
+/**
+ * A list of Cloudflare regions. WNAM: Western North America, ENAM: Eastern North America, WEU: Western Europe, EEU: Eastern Europe, NSAM: Northern South America, SSAM: Southern South America, OC: Oceania, ME: Middle East, NAF: North Africa, SAF: South Africa, SAS: Southern Asia, SEAS: South East Asia, NEAS: North East Asia).
+ *
+ * @example WNAM
+ */
+export type RegionCode =
+  | 'WNAM'
+  | 'ENAM'
+  | 'WEU'
+  | 'EEU'
+  | 'NSAM'
+  | 'SSAM'
+  | 'OC'
+  | 'ME'
+  | 'NAF'
+  | 'SAF'
+  | 'SAS'
+  | 'SEAS'
+  | 'NEAS';
+
+export type RegionComponentsSchemasResponseCollection = ApiResponseSingleUl1k90Mw & {
+  result?: Record<string, any>;
+};
+
+export type RegionComponentsSchemasResponseCollectionKhxOrgA8 = ApiResponseSingleLarS7owG & {
+  result?: Record<string, any>;
+};
+
+export type RegionComponentsSchemasSingleResponse = ApiResponseSingleLarS7owG & {
+  /**
+   * A list of countries and subdivisions mapped to a region.
+   *
+   * @example {"iso_standard":"Country and subdivision codes follow ISO 3166-1 alpha-2 and ISO 3166-2","regions":[{"countries":[{"country_code_a2":"CA","country_name":"Canada","country_subdivisions":[{"subdivision_code_a2":"AB","subdivision_name":"Alberta"},{"subdivision_code_a2":"BC","subdivision_name":"British Columbia"}]},{"country_code_a2":"HT","country_name":"Haiti"},{"country_code_a2":"MX","country_name":"Mexico"},{"country_code_a2":"US","country_name":"United States","country_subdivisions":[{"subdivision_code_a2":"AZ","subdivision_name":"Arizona"},{"subdivision_code_a2":"CA","subdivision_name":"California"},{"subdivision_code_a2":"CO","subdivision_name":"Colorado"},{"subdivision_code_a2":"HI","subdivision_name":"Hawaii"},{"subdivision_code_a2":"MN","subdivision_name":"Minnesota"},{"subdivision_code_a2":"MO","subdivision_name":"Missouri"},{"subdivision_code_a2":"NV","subdivision_name":"Nevada"},{"subdivision_code_a2":"OR","subdivision_name":"Oregon"},{"subdivision_code_a2":"TX","subdivision_name":"Texas"},{"subdivision_code_a2":"UT","subdivision_name":"Utah"},{"subdivision_code_a2":"WA","subdivision_name":"Washington"}]}],"region_code":"WNAM"}]}
+   */
+  result?: Record<string, any>;
+};
+
+/**
+ * A mapping of region codes to a list of pool IDs (ordered by their failover priority) for the given region. Any regions not explicitly defined will fall back to using default_pools.
+ *
+ * @example {"ENAM":["00920f38ce07c2e2f4df50b1f61d4194"],"WNAM":["de90f38ced07c2e2f4df50b1f61d4194","9290f38c5d07c2e2f4df57b1f61d4196"]}
+ */
+export type RegionPools = Record<string, any>;
+
+/**
+ * Comma-separated list of regions.
+ *
+ * @example eu
+ * @maxLength 256
+ * @pattern ^[a-z,]*$
+ */
+export type Regions = string;
+
+/**
+ * Shows contact information for domain registrant.
+ */
+export type RegistrantContact = Contacts;
+
+/**
+ * A comma-separated list of registry status codes. A full list of status codes can be found at [EPP Status Codes](https://www.icann.org/resources/pages/epp-status-codes-2014-06-16-en).
+ *
+ * @example ok,serverTransferProhibited
+ */
+export type RegistryStatuses = string;
+
+/**
+ * If `true`, the tunnel can be configured remotely from the Zero Trust dashboard. If `false`, the tunnel must be configured locally on the origin machine.
+ *
+ * @example true
+ */
+export type RemoteConfig = boolean;
+
+/**
+ * @example renamed-example-queue
+ */
+export type RenamedName = string;
+
+export type Report = {
+  data: Data;
+  /**
+   * Number of seconds between current time and last processed event, in another words how many seconds of data could be missing.
+   *
+   * @example 60
+   * @minimum 0
+   */
+  data_lag: number;
+  /**
+   * Maximum results for each metric (object mapping metric names to values). Currently always an empty object.
+   */
+  max: Record<string, any>;
+  /**
+   * Minimum results for each metric (object mapping metric names to values). Currently always an empty object.
+   */
+  min: Record<string, any>;
+  query: Query;
+  /**
+   * Total number of rows in the result.
+   *
+   * @example 100
+   * @minimum 0
+   */
+  rows?: number;
+  /**
+   * Total results for metrics across all data (object mapping metric names to values).
+   */
+  totals: Record<string, any>;
+};
+
+export type ReportBytime = {
+  data: Data;
+  /**
+   * Number of seconds between current time and last processed event, in another words how many seconds of data could be missing.
+   *
+   * @example 60
+   * @minimum 0
+   */
+  data_lag: number;
+  /**
+   * Maximum results for each metric (object mapping metric names to values). Currently always an empty object.
+   */
+  max: Record<string, any>;
+  /**
+   * Minimum results for each metric (object mapping metric names to values). Currently always an empty object.
+   */
+  min?: Record<string, any>;
+  query: Query;
+  /**
+   * Total number of rows in the result.
+   *
+   * @example 100
+   * @minimum 0
+   */
+  rows?: number;
+  /**
+   * Total results for metrics across all data (object mapping metric names to values).
+   */
+  totals?: Record<string, any>;
+  /**
+   * Array of time intervals in the response data. Each interval is represented as an array containing two values: the start time, and the end time.
+   */
+  time_intervals: string[][];
+};
+
+export type RequestTracer = Record<string, any>;
+
+/**
+ * Client IP restrictions.
+ *
+ * @example {"in":["123.123.123.0/24","2606:4700::/32"],"not_in":["123.123.123.100/24","2606:4700:4700::/48"]}
+ */
+export type RequestIp = {
+  ['in']?: CidrList;
+  not_in?: CidrList;
+};
+
+export type RequestList = RequestModel[];
+
+export type RequestModel = {
+  enabled?: ManagedHeadersComponentsSchemasEnabled;
+  id?: ManagedHeadersComponentsSchemasId;
+};
+
+/**
+ * Signature type desired on certificate ("origin-rsa" (rsa), "origin-ecc" (ecdsa), or "keyless-certificate" (for Keyless SSL servers).
+ *
+ * @example origin-rsa
+ */
+export type RequestType = 'origin-rsa' | 'origin-ecc' | 'keyless-certificate';
+
+/**
+ * The number of days for which the certificate should be valid.
+ *
+ * @default 5475
+ * @example 5475
+ */
+export type RequestedValidity = 7 | 30 | 90 | 365 | 730 | 1095 | 5475;
+
+/**
+ * The estimated number of requests covered by these calculations.
+ */
+export type Requests = number;
+
+/**
+ * Breakdown of totals for requests.
+ */
+export type RequestsByColo = {
+  /**
+   * Total number of requests served.
+   */
+  all?: number;
+  /**
+   * Total number of cached requests served.
+   */
+  cached?: number;
+  /**
+   * Key/value pairs where the key is a two-digit country code and the value is the number of requests served to that country.
+   *
+   * @example {"AG":37298,"GI":293846,"US":4181364}
+   */
+  country?: {
+    [key: string]: any;
+  };
+  /**
+   * A variable list of key/value pairs where the key is a HTTP status code and the value is the number of requests with that code served.
+   *
+   * @example {"200":13496983,"301":283,"400":187936,"402":1828,"404":1293}
+   */
+  http_status?: Record<string, any>;
+  /**
+   * Total number of requests served from the origin.
+   */
+  uncached?: number;
+};
+
+/**
+ * Rules evaluated with an AND logical operator. To match a policy, a user must meet all of the Require rules.
+ */
+export type Require = Rule[];
+
+/**
+ * Rules evaluated with an AND logical operator. To match a policy, a user must meet all of the Require rules.
+ */
+export type RequireBZzd5gGi = RuleComponentsSchemasRule[];
+
+/**
+ * Whether to check all disks for encryption.
+ *
+ * @example true
+ */
+export type RequireAll = boolean;
+
+/**
+ * Indicates whether the video can be a accessed using the UID. When set to `true`, a signed token must be generated with a signing key to view the video.
+ *
+ * @default false
+ * @example true
+ */
+export type RequireSignedURLs = boolean;
+
+/**
+ * Indicates whether the image can be a accessed only using it's UID. If set to true, a signed token needs to be generated with a signing key to view the image.
+ *
+ * @default false
+ * @example true
+ */
+export type RequireSignedURLsT5ww2QVG = boolean;
+
+export type ResolvesToRef = {
+  id?: StixIdentifier;
+  /**
+   * IP address or domain name.
+   *
+   * @example 192.0.2.0
+   */
+  value?: string;
+};
+
+/**
+ * Specifies a list of references to one or more IP addresses or domain names that the domain name currently resolves to.
+ */
+export type ResolvesToRefs = ResolvesToRef[];
+
+/**
+ * The ID of the resource.
+ *
+ * @example c9ef84a6bf5e47138c75d95e2f933e8f
+ * @maxLength 32
+ * @minLength 32
+ */
+export type ResourceId = string;
+
+/**
+ * A reference to a load balancer resource.
+ */
+export type ResourceReference = {
+  /**
+   * When listed as a reference, the type (direction) of the reference.
+   */
+  reference_type?: 'referral' | 'referrer';
+  /**
+   * A list of references to (referrer) or from (referral) this resource.
+   *
+   * @example {"reference_type":"referrer","resource_id":"699d98642c564d2e855e9661899b7252","resource_name":"www.example.com","resource_type":"load_balancer"}
+   * @example {"reference_type":"referral","resource_id":"f1aba936b94213e5b8dca0c0dbf1f9cc","resource_name":"Login page monitor","resource_type":"monitor"}
+   */
+  references?: Record<string, any>[];
+  /**
+   * @example 17b5962d775c646f3f9725cbc7a53df4
+   */
+  resource_id?: void;
+  /**
+   * The human-identifiable name of the resource.
+   *
+   * @example primary-dc-1
+   */
+  resource_name?: string;
+  /**
+   * The type of the resource.
+   *
+   * @example pool
+   */
+  resource_type?: 'load_balancer' | 'monitor' | 'pool';
+};
+
+/**
+ * A list of resource names that the policy applies to.
+ *
+ * @example {"com.cloudflare.api.account.zone.22b1de5f1c0e4b3ea97bb1e963b06a43":"*","com.cloudflare.api.account.zone.eb78d65290b24279ba6f44721b3ea3c4":"*"}
+ */
+export type Resources = Record<string, any>;
+
+export type Response = ApiResponseCollection & {
+  result?: DomainHistory[];
+};
+
+/**
+ * Enables or disables buffering of responses from the proxied server. Cloudflare may buffer the whole payload to deliver it at once to the client versus allowing it to be delivered in chunks. By default, the proxied server streams directly and is not buffered by Cloudflare. This is limited to Enterprise Zones.
+ *
+ * @default off
+ */
+export type ResponseBuffering = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example response_buffering
+   */
+  id: 'response_buffering';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: ResponseBufferingValue;
+};
+
+/**
+ * Value of the zone setting.
+ *
+ * @default off
+ */
+export type ResponseBufferingValue = 'on' | 'off';
+
+export type ResponseCollection = ApiResponseCollection & {
+  result?: IpamPrefixes[];
+};
+
+export type ResponseCollectionBphhbD1T = ApiResponseCollection & {
+  result?: Record<string, any>[];
+};
+
+export type ResponseCollectionDPc6cOos = ApiResponseCollection & {
+  result?: Lists[];
+};
+
+export type ResponseCollectionDwMe3PpI = ApiResponseCollection & {
+  result?: Waitingroom[];
+};
+
+export type ResponseCollectionJMgvhGPC = ApiResponseCollection & {
+  result?: DevicePostureRules[];
+};
+
+export type ResponseCollectionNVqCaNmu = ApiResponseCollection & {
+  result?: (
+    | AzureAD
+    | Centrify
+    | Facebook
+    | Github
+    | Google
+    | GoogleApps
+    | Linkedin
+    | Oidc
+    | Okta
+    | Onelogin
+    | Pingone
+    | Saml
+    | Yandex
+  )[];
+};
+
+export type ResponseCollectionRq1AXflT = ApiResponseCollection & {
+  result?: Monitor[];
+};
+
+export type ResponseCollectionBS6MoLFe = ApiResponseCollection & {
+  result?: Tsig[];
+};
+
+export type ResponseCollectionE23aFYyQ = ApiResponseCollection & {
+  result?: Healthchecks[];
+};
+
+export type ResponseCollectionF9zlxqDg = ApiResponseCollection & {
+  result?: Profiles[];
+};
+
+export type ResponseCollectionHostnames = ApiResponseCollection & {
+  result?: Settings[];
+};
+
+export type ResponseCreate = ApiResponseSingleLarS7owG & {
+  result?: {
+    value?: ValueOY5wJPpX;
+  };
+};
+
+export type ResponseList = ResponseModel[];
+
+export type ResponseModel = {
+  available?: Available;
+  enabled?: ManagedHeadersComponentsSchemasEnabled;
+  id?: ManagedHeadersComponentsSchemasId;
+};
+
+export type ResponseSingle = ApiResponseSingleIRWHLn6I & {
+  result?: Record<string, any>;
+};
+
+export type ResponseSingleCIi951yd = ApiResponseSingleLarS7owG & {
+  result?: Record<string, any>;
+};
+
+export type ResponseSingleOriginDns = ApiResponseSingleLarS7owG & {
+  result?: {
+    argo_smart_routing?: ArgoSmartRouting;
+    created_on?: CreatedJTk3Ehp3;
+    dns?: Dns;
+    edge_ips?: EdgeIps;
+    id?: AppIdK0AoyPAB;
+    ip_firewall?: IpFirewall;
+    modified_on?: ModifiedXJlHjzHE;
+    origin_dns?: OriginDns;
+    origin_port?: OriginPort;
+    protocol?: Protocol;
+    proxy_protocol?: ProxyProtocol;
+    tls?: Tls;
+    traffic_type?: TrafficType;
+  };
+};
+
+export type ResponseSingleSegment = ApiResponseSingleLarS7owG & {
+  result?: {
+    expires_on?: ExpiresOnZ3utPxP0;
+    id: ComponentsSchemasIdentifierUpjmfntS;
+    not_before?: NotBefore;
+    status: Status0icsKVdQ;
+  };
+};
+
+export type ResponseSingleValue = ApiResponseSingleLarS7owG & {
+  result?: ValueOY5wJPpX;
+};
+
+export type Result = {
+  data: Data;
+  /**
+   * Number of seconds between current time and last processed event, in another words how many seconds of data could be missing.
+   *
+   * @example 60
+   * @minimum 0
+   */
+  data_lag: number;
+  /**
+   * Maximum results for each metric (object mapping metric names to values). Currently always an empty object.
+   */
+  max: Record<string, any>;
+  /**
+   * Minimum results for each metric (object mapping metric names to values). Currently always an empty object.
+   */
+  min: Record<string, any>;
+  query: Query;
+  /**
+   * Total number of rows in the result.
+   *
+   * @example 100
+   * @minimum 0
+   */
+  rows: number;
+  /**
+   * Total results for metrics across all data (object mapping metric names to values).
+   */
+  totals: Record<string, any>;
+};
+
+/**
+ * Metrics on Workers KV requests.
+ */
+export type Result0iSKYUfO = {
+  data:
+    | {
+        /**
+         * List of metrics returned by the query.
+         */
+        metrics: any[];
+      }[]
+    | null;
+  /**
+   * Number of seconds between current time and last processed event, i.e. how many seconds of data could be missing.
+   *
+   * @example 0
+   * @minimum 0
+   */
+  data_lag: number;
+  /**
+   * Maximum results for each metric.
+   */
+  max: void;
+  /**
+   * Minimum results for each metric.
+   */
+  min: void;
+  query: QueryLWVM8wx5;
+  /**
+   * Total number of rows in the result.
+   *
+   * @example 2
+   * @minimum 0
+   */
+  rows: number;
+  /**
+   * Total results for metrics across all data.
+   */
+  totals: void;
+};
+
+export type ResultInfo = {
+  /**
+   * Total number of results for the requested service
+   *
+   * @example 1
+   */
+  count?: number;
+  /**
+   * Current page within paginated list of results
+   *
+   * @example 1
+   */
+  page?: number;
+  /**
+   * Number of results per page of results
+   *
+   * @example 20
+   */
+  per_page?: number;
+  /**
+   * Total results available without any search parameters
+   *
+   * @example 2000
+   */
+  total_count?: number;
+};
+
+/**
+ * Number of retries for fetching DNS responses from upstream nameservers (not counting the initial attempt).
+ *
+ * @default 2
+ * @example 2
+ * @maximum 2
+ * @minimum 0
+ */
+export type Retries = number;
+
+/**
+ * The number of retries to attempt in case of a timeout before marking the origin as unhealthy. Retries are attempted immediately.
+ *
+ * @default 2
+ */
+export type Retries7RuyOW7F = number;
+
+/**
+ * The number of retries to attempt in case of a timeout before marking the origin as unhealthy. Retries are attempted immediately.
+ *
+ * @default 2
+ */
+export type RetriesGl6521CK = number;
+
+/**
+ * The number of retries to attempt in case of a timeout before marking the origin as unhealthy. Retries are attempted immediately.
+ *
+ * @default 2
+ */
+export type RetriesZPd5bYtZ = number;
+
+/**
+ * The revision of the Railgun receiver.
+ *
+ * @example 123
+ */
+export type Revision = string;
+
+/**
+ * A list of device ids to revoke.
+ *
+ * @maxLength 200
+ */
+export type RevokeDevicesRequest = SchemasUuid4P4vJwxm[];
+
+/**
+ * A list of device ids to revoke.
+ *
+ * @maxLength 200
+ */
+export type RevokeDevicesRequestXUKeM0p2 = Uuid[];
+
+/**
+ * When the device was revoked.
+ *
+ * @example 2017-06-14T00:00:00Z
+ * @format date-time
+ */
+export type RevokedAt = string;
+
+/**
+ * Specifies that, when a WAF rule matches, its configured action will be replaced by the action configured in this object.
+ */
+export type RewriteAction = {
+  block?: WafRewriteAction;
+  /**
+   * @example block
+   */
+  challenge?: void;
+  /**
+   * @example block
+   */
+  ['default']?: void;
+  disable?: WafRewriteAction;
+  /**
+   * @example disable
+   */
+  simulate?: void;
+};
+
+/**
+ * Hostname risk score, which is a value between 0 (lowest risk) to 1 (highest risk).
+ */
+export type RiskScore = number;
+
+export type RiskTypes = void;
+
+/**
+ * Rocket Loader is a general-purpose asynchronous JavaScript optimisation that prioritises rendering your content while loading your site's Javascript asynchronously. Turning on Rocket Loader will immediately improve a web page's rendering time sometimes measured as Time to First Paint (TTFP), and also the `window.onload` time (assuming there is JavaScript on the page). This can have a positive impact on your Google search ranking. When turned on, Rocket Loader will automatically defer the loading of all Javascript referenced in your HTML, with no configuration required. Refer to [Understanding Rocket Loader](https://support.cloudflare.com/hc/articles/200168056) for more information.
+ */
+export type RocketLoader = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example rocket_loader
+   */
+  id: 'rocket_loader';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: RocketLoaderValue;
+};
+
+/**
+ * Value of the zone setting.
+ *
+ * @default off
+ */
+export type RocketLoaderValue = 'on' | 'off';
+
+export type Role = {
+  /**
+   * Description of role's permissions.
+   *
+   * @example Administrative access to the entire Account
+   */
+  description: string;
+  id: RoleComponentsSchemasIdentifier;
+  /**
+   * Role name.
+   *
+   * @example Account Administrator
+   * @maxLength 120
+   */
+  name: string;
+  permissions: Permissions;
+};
+
+/**
+ * Role identifier tag.
+ *
+ * @example 3536bcfad5faccb999b47003c79917fb
+ * @maxLength 32
+ */
+export type RoleComponentsSchemasIdentifier = string;
+
+/**
+ * List of role names for the user at the account.
+ */
+export type Roles = string[];
+
+export type Route = {
+  created_on?: CreatedOn;
+  description?: DescriptionPhEFvENx;
+  id?: Identifier;
+  modified_on?: ModifiedOnMQy5ittP;
+  nexthop: Nexthop;
+  prefix: Prefix;
+  priority: Priority;
+  scope?: Scope;
+  weight?: Weight;
+};
+
+export type RouteNoId = {
+  pattern: Pattern2dXyN8SA;
+  script?: SchemasScriptName;
+};
+
+export type RouteResponseCollection = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type RouteResponseSingle = ApiResponseSingleLarS7owG & {
+  result?: Routes;
+};
+
+export type RouteVdCUMuBC = {
+  /**
+   * The timestamp of when the override was last modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string;
+  /**
+   * The type of route.
+   *
+   * @example forward_url
+   */
+  name?: 'forward_url';
+  value?: {
+    /**
+     * The response type for the URL redirect.
+     *
+     * @example temporary
+     */
+    type?: 'temporary' | 'permanent';
+    /**
+     * The URL to redirect the request to.
+     * Notes: ${num} refers to the position of '*' in the constraint value.
+     *
+     * @example http://www.example.com/somewhere/$1/astring/$2/anotherstring/$3
+     */
+    url?: string;
+  };
+};
+
+export type RouteAddSingleRequest = {
+  description?: DescriptionPhEFvENx;
+  nexthop: Nexthop;
+  prefix: Prefix;
+  priority: Priority;
+  scope?: Scope;
+  weight?: Weight;
+};
+
+export type RouteDeleteId = {
+  id: Identifier;
+};
+
+export type RouteDeleteManyRequest = {
+  routes: RouteDeleteId[];
+};
+
+export type RouteDeletedResponse = ApiResponseSingleRxxEmdsv & {
+  result?: {
+    /**
+     * @example true
+     */
+    deleted?: boolean;
+    deleted_route?: Record<string, any>;
+  };
+};
+
+export type RouteModifiedResponse = ApiResponseSingleRxxEmdsv & {
+  result?: {
+    /**
+     * @example true
+     */
+    modified?: boolean;
+    modified_route?: Record<string, any>;
+  };
+};
+
+export type RouteResponseCollection = ApiResponseCollection & {
+  result?: Teamnet[];
+};
+
+export type RouteResponseSingle = ApiResponseSingleLarS7owG & {
+  result?: Record<string, any>;
+};
+
+export type RouteSingleResponse = ApiResponseSingleRxxEmdsv & {
+  result?: {
+    route?: Record<string, any>;
+  };
+};
+
+export type RouteUpdateManyRequest = {
+  routes: RouteUpdateSingleRequest[];
+};
+
+export type RouteUpdateRequest = RouteAddSingleRequest;
+
+export type RouteUpdateSingleRequest = {
+  id: Identifier;
+} & RouteAddSingleRequest;
+
+export type Routes = {
+  id: CommonComponentsSchemasIdentifier;
+  pattern: Pattern2dXyN8SA;
+  script: SchemasScriptName;
+};
+
+export type RoutesCollectionResponse = ApiResponseSingleRxxEmdsv & {
+  result?: {
+    routes?: Route[];
+  };
+};
+
+export type Rule =
+  | EmailRule
+  | DomainRule
+  | EveryoneRule
+  | IpRule
+  | IpListRule
+  | CertificateRule
+  | AccessGroupRule
+  | AzureGroupRule
+  | GithubOrganizationRule
+  | GsuiteGroupRule
+  | OktaGroupRule
+  | SamlGroupRule;
+
+export type RuleBzMd43YS = {
+  /**
+   * The available actions that a rule can apply to a matched request.
+   *
+   * @example whitelist
+   * @example block
+   * @example challenge
+   * @example js_challenge
+   * @example managed_challenge
+   */
+  allowed_modes: SchemasMode[];
+  configuration: SchemasConfiguration;
+  /**
+   * The timestamp of when the rule was created.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  created_on?: string;
+  id: RuleComponentsSchemasIdentifier;
+  mode: SchemasMode;
+  /**
+   * The timestamp of when the rule was last modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string;
+  notes?: Notes;
+};
+
+/**
+ * Additional settings that modify the rule's action.
+ */
+export type RuleSettings = {
+  /**
+   * Add custom headers to allowed requests, in the form of key-value pairs. Keys are header names, pointing to an array with its header value(s).
+   *
+   * @example {"My-Next-Header":["foo","bar"],"X-Custom-Header-Name":["somecustomvalue"]}
+   */
+  add_headers?: Record<string, any>;
+  /**
+   * Set by parent MSP accounts to enable their children to bypass this rule.
+   *
+   * @example false
+   */
+  allow_child_bypass?: boolean;
+  /**
+   * Audit ssh action settings
+   */
+  audit_ssh?: {
+    /**
+     * Turn on SSH command logging.
+     *
+     * @example false
+     */
+    command_logging?: boolean;
+  };
+  /**
+   * Configure how browser isolation behaves.
+   */
+  biso_admin_controls?: {
+    /**
+     * Disable copy-paste.
+     *
+     * @example false
+     */
+    dcp?: boolean;
+    /**
+     * Disable download.
+     *
+     * @example false
+     */
+    dd?: boolean;
+    /**
+     * Disable keyboard usage.
+     *
+     * @example false
+     */
+    dk?: boolean;
+    /**
+     * Disable printing.
+     *
+     * @example false
+     */
+    dp?: boolean;
+    /**
+     * Disable upload.
+     *
+     * @example false
+     */
+    du?: boolean;
+  };
+  /**
+   * Enable the custom block page.
+   *
+   * @example true
+   */
+  block_page_enabled?: boolean;
+  /**
+   * The text describing why this block occurred that will be displayed on the custom block page (if enabled).
+   *
+   * @example This website is a security risk
+   */
+  block_reason?: string;
+  /**
+   * Set by children MSP accounts to bypass their parent's rules.
+   *
+   * @example false
+   */
+  bypass_parent_rule?: boolean;
+  /**
+   * Configure how session check behaves.
+   */
+  check_session?: {
+    /**
+     * Configure how fresh the session needs to be to be considered valid.
+     *
+     * @example 300s
+     */
+    duration?: string;
+    /**
+     * Enable session enforcement for this fule.
+     *
+     * @example true
+     */
+    enforce?: boolean;
+  };
+  /**
+   * Configure how Proxy traffic egresses. Can be set for rules with Egress action and Egress filter. Can be omitted to indicate local egress via Warp IPs
+   */
+  egress?: {
+    /**
+     * The IPv4 address to be used for egress.
+     *
+     * @example 192.0.2.2
+     */
+    ipv4?: string;
+    /**
+     * The IPv4 address to be used for egress in the event of an error egressing with the primary IPv4. Can be '0.0.0.0' to indicate local egreass via Warp IPs.
+     *
+     * @example 192.0.2.3
+     */
+    ipv4_fallback?: string;
+    /**
+     * The IPv6 range to be used for egress.
+     *
+     * @example 2001:DB8::/64
+     */
+    ipv6?: string;
+  };
+  /**
+   * INSECURE - disable DNSSEC validation (for allow actions).
+   *
+   * @example false
+   */
+  insecure_disable_dnssec_validation?: boolean;
+  /**
+   * Include IPs in DNS resolver category blocks. By default categories only block on domain names.
+   *
+   * @example true
+   */
+  ip_categories?: boolean;
+  /**
+   * Send matching traffic to the supplied destination IP address and port.
+   */
+  l4override?: {
+    /**
+     * IPv4 or IPv6 address.
+     *
+     * @example 1.1.1.1
+     */
+    ip?: string;
+    /**
+     * A port number to use for TCP/UDP overrides.
+     */
+    port?: number;
+  };
+  /**
+   * Override matching DNS queries with this.
+   *
+   * @example example.com
+   */
+  override_host?: string;
+  /**
+   * Override matching DNS queries with this.
+   *
+   * @example 1.1.1.1
+   * @example 2.2.2.2
+   */
+  override_ips?: string[];
+  /**
+   * Configure DLP payload logging.
+   */
+  payload_log?: {
+    /**
+     * Enable DLP payload logging for this rule.
+     *
+     * @example true
+     */
+    enabled?: boolean;
+  };
+  /**
+   * Configure behavior when an upstream cert is invalid / an SSL error occurs.
+   */
+  untrusted_cert?: {
+    /**
+     * The action to perform upon seeing an untrusted certificate. Default action is error with HTTP code 526.
+     *
+     * @example error
+     */
+    action?: 'pass_through' | 'block' | 'error';
+  };
+};
+
+/**
+ * The action to take when the expression matches.
+ *
+ * @example bypass_waiting_room
+ */
+export type RuleAction = 'bypass_waiting_room';
+
+/**
+ * Actions pattern.
+ */
+export type RuleActionKGdPufYw = {
+  /**
+   * Type of supported action.
+   *
+   * @example forward
+   */
+  type: 'forward' | 'worker';
+  value: string[];
+};
+
+/**
+ * List actions patterns.
+ */
+export type RuleActions = RuleActionKGdPufYw[];
+
+/**
+ * Action for the catch-all routing rule.
+ */
+export type RuleCatchallAction = {
+  /**
+   * Type of action for catch-all rule.
+   *
+   * @example forward
+   */
+  type: 'drop' | 'forward' | 'worker';
+  value?: string[];
+};
+
+/**
+ * List actions for the catch-all routing rule.
+ */
+export type RuleCatchallActions = RuleCatchallAction[];
+
+/**
+ * Matcher for catch-all routing rule.
+ */
+export type RuleCatchallMatcher = {
+  /**
+   * Type of matcher. Default is 'all'.
+   *
+   * @example all
+   */
+  type: 'all';
+};
+
+/**
+ * List of matchers for the catch-all routing rule.
+ */
+export type RuleCatchallMatchers = RuleCatchallMatcher[];
+
+export type RuleCollectionResponse = ApiResponseCollection & {
+  result?: RuleBzMd43YS[];
+};
+
+export type RuleComponentsSchemasBase = {
+  description?: RuleComponentsSchemasDescription;
+  /**
+   * The rule group to which the current WAF rule belongs.
+   */
+  group?: {
+    id?: GroupComponentsSchemasIdentifier;
+    name?: GroupComponentsSchemasName;
+  };
+  id?: RuleComponentsSchemasIdentifier2;
+  package_id?: PackageComponentsSchemasIdentifier;
+  priority?: SchemasPriority;
+};
+
+export type RuleComponentsSchemasBase2 = RuleComponentsSchemasBase;
+
+/**
+ * The public description of the WAF rule.
+ *
+ * @example SQL injection prevention for SELECT statements
+ */
+export type RuleComponentsSchemasDescription = string;
+
+/**
+ * The unique identifier of the IP Access rule.
+ *
+ * @example 92f17202ed8bd63d69a66b86a49a8f6b
+ * @maxLength 32
+ */
+export type RuleComponentsSchemasIdentifier = string;
+
+/**
+ * The unique identifier of the WAF rule.
+ *
+ * @example f939de3be84e66e757adcdcb87908023
+ * @maxLength 32
+ */
+export type RuleComponentsSchemasIdentifier2 = string;
+
+export type RuleComponentsSchemasRule =
+  | EmailRule
+  | DomainRule
+  | EveryoneRule
+  | IpRule
+  | IpListRule
+  | CertificateRule
+  | AccessGroupRule
+  | AzureGroupRule
+  | GithubOrganizationRule
+  | GsuiteGroupRule
+  | OktaGroupRule
+  | SamlGroupRule;
+
+/**
+ * The description of the rule.
+ *
+ * @default
+ * @example allow all traffic from 10.20.30.40
+ */
+export type RuleDescription = string;
+
+/**
+ * When set to true, the rule is enabled.
+ *
+ * @default true
+ * @example true
+ */
+export type RuleEnabled = boolean;
+
+/**
+ * Routing rule status.
+ *
+ * @default true
+ * @example true
+ */
+export type RuleEnabledXvrbaudJ = true | false;
+
+/**
+ * Criteria defining when there is a match for the current rule.
+ *
+ * @example ip.src in {10.20.30.40}
+ */
+export type RuleExpression = string;
+
+export type RuleGroupResponseCollection = ApiResponseCollection & {
+  result?: SchemasGroup[];
+};
+
+export type RuleGroupResponseSingle = ApiResponseSingleLarS7owG & {
+  result?: Record<string, any>;
+};
+
+/**
+ * The ID of the rule.
+ *
+ * @example 25756b2dfe6e378a06b033b670413757
+ */
+export type RuleId = string;
+
+/**
+ * @example 2890e6fa406311ed9b5a23f70f6fb8cf
+ */
+export type RuleIdentifier = void;
+
+/**
+ * Routing rule identifier.
+ *
+ * @example a7e6fb77503c41d8a7f3113c6918f10c
+ * @maxLength 32
+ */
+export type RuleIdentifier2K5KLBLf = string;
+
+/**
+ * Matching pattern to forward your actions.
+ */
+export type RuleMatcher = {
+  /**
+   * Field for type matcher.
+   *
+   * @example to
+   */
+  field: 'to';
+  /**
+   * Type of matcher.
+   *
+   * @example literal
+   */
+  type: 'literal';
+  /**
+   * Value for matcher.
+   *
+   * @example test@example.com
+   * @maxLength 90
+   */
+  value: string;
+};
+
+/**
+ * Matching patterns to forward to your actions.
+ */
+export type RuleMatchers = RuleMatcher[];
+
+/**
+ * Routing rule name.
+ *
+ * @example Send to user@example.net rule.
+ * @maxLength 256
+ */
+export type RuleName = string;
+
+/**
+ * Reorder the position of a rule
+ */
+export type RulePosition =
+  | {
+      /**
+       * Places the rule in the exact position specified by the integer number <POSITION_NUMBER>. Position numbers start with 1. Existing rules in the ruleset from the specified position number onward are shifted one position (no rule is overwritten).
+       */
+      index?: number;
+    }
+  | {
+      /**
+       * Places the rule before rule <RULE_ID>. Use this argument with an empty rule ID value ("") to set the rule as the first rule in the ruleset.
+       *
+       * @example <RULE_ID>
+       */
+      before?: string;
+    }
+  | {
+      /**
+       * Places the rule after rule <RULE_ID>. Use this argument with an empty rule ID value ("") to set the rule as the last rule in the ruleset.
+       *
+       * @example <RULE_ID>
+       */
+      after?: string;
+    };
+
+/**
+ * Priority of the routing rule.
+ *
+ * @default 0
+ * @minimum 0
+ */
+export type RulePriority = number;
+
+export type RuleProperties = {
+  actions?: RuleActions;
+  enabled?: RuleEnabledXvrbaudJ;
+  matchers?: RuleMatchers;
+  name?: RuleName;
+  priority?: RulePriority;
+  tag?: RuleIdentifier2K5KLBLf;
+};
+
+export type RuleResponseCollection = ApiResponseCollection & {
+  result?: ComponentsSchemasRule[];
+};
+
+export type RuleResponseSingle = ApiResponseSingleLarS7owG & {
+  result?: Record<string, any>;
+};
+
+export type RuleResponseSingle0HO9Xvuc = ApiResponseSingleSiIqFfOd & {
+  result?: RulesFaVxDtoM;
+};
+
+export type RuleResult = {
+  action?: RuleAction;
+  description?: RuleDescription;
+  enabled?: RuleEnabled;
+  expression?: RuleExpression;
+  id?: RuleId;
+  last_updated?: Timestamp;
+  version?: RuleVersion;
+};
+
+export type RuleSingleIdResponse = ApiResponseSingleLarS7owG & {
+  result?: {
+    id?: RuleComponentsSchemasIdentifier;
+  };
+};
+
+export type RuleSingleResponse = ApiResponseSingleLarS7owG & {
+  result?: RuleBzMd43YS;
+};
+
+/**
+ * The version of the rule.
+ *
+ * @example 1
+ */
+export type RuleVersion = string;
+
+/**
+ * BETA Field Not General Access: A list of rules for this load balancer to execute.
+ */
+export type Rules = {
+  /**
+   * The condition expressions to evaluate. If the condition evaluates to true, the overrides or fixed_response in this rule will be applied. An empty condition is always true. For more details on condition expressions, please see https://developers.cloudflare.com/load-balancing/understand-basics/load-balancing-rules/expressions.
+   *
+   * @example http.request.uri.path contains "/testing"
+   */
+  condition?: string;
+  /**
+   * Disable this specific rule. It will no longer be evaluated by this load balancer.
+   *
+   * @default false
+   */
+  disabled?: boolean;
+  /**
+   * A collection of fields used to directly respond to the eyeball instead of routing to a pool. If a fixed_response is supplied the rule will be marked as terminates.
+   */
+  fixed_response?: {
+    /**
+     * The http 'Content-Type' header to include in the response.
+     *
+     * @example application/json
+     * @maxLength 32
+     */
+    content_type?: string;
+    /**
+     * The http 'Location' header to include in the response.
+     *
+     * @example www.example.com
+     * @maxLength 2048
+     */
+    location?: string;
+    /**
+     * Text to include as the http body.
+     *
+     * @example Testing Hello
+     * @maxLength 1024
+     */
+    message_body?: string;
+    /**
+     * The http status code to respond with.
+     */
+    status_code?: number;
+  };
+  /**
+   * Name of this rule. Only used for human readability.
+   *
+   * @example route the path /testing to testing datacenter.
+   * @maxLength 200
+   */
+  name?: string;
+  /**
+   * A collection of overrides to apply to the load balancer when this rule's condition is true. All fields are optional.
+   */
+  overrides?: {
+    adaptive_routing?: AdaptiveRouting;
+    country_pools?: CountryPools;
+    default_pools?: DefaultPools;
+    fallback_pool?: FallbackPool;
+    location_strategy?: LocationStrategy;
+    pop_pools?: PopPools;
+    random_steering?: RandomSteering;
+    region_pools?: RegionPools;
+    session_affinity?: SessionAffinity;
+    session_affinity_attributes?: SessionAffinityAttributes;
+    session_affinity_ttl?: SessionAffinityTtl;
+    steering_policy?: SteeringPolicy;
+    ttl?: TtlHaRIhRKD;
+  };
+  /**
+   * The order in which rules should be executed in relation to each other. Lower values are executed first. Values do not need to be sequential. If no value is provided for any rule the array order of the rules field will be used to assign a priority.
+   *
+   * @default 0
+   */
+  priority?: number;
+  /**
+   * If this rule's condition is true, this causes rule evaluation to stop after processing this rule.
+   *
+   * @default false
+   */
+  terminates?: boolean;
+}[];
+
+/**
+ * An object that allows you to override the action of specific WAF rules. Each key of this object must be the ID of a WAF rule, and each value must be a valid WAF action. Unless you are disabling a rule, ensure that you also enable the rule group that this WAF rule belongs to. When creating a new URI-based WAF override, you must provide a `groups` object or a `rules` object.
+ *
+ * @example {"100015":"disable"}
+ */
+export type Rules8wmBD69l = {
+  [key: string]: WafAction;
+};
+
+export type RulesFaVxDtoM = RuleProperties;
+
+export type RulesLzz0wOUq = {
+  action?: ActionCzIx4RfS;
+  created_at?: Timestamp;
+  deleted_at?: DeletedAt;
+  description?: SchemasDescriptionLlKmoyYd;
+  device_posture?: DevicePosture;
+  enabled?: EnabledQcoBB5YJ;
+  filters?: FiltersUTAknCFs;
+  id?: Uuid1mDHWugl;
+  identity?: Identity;
+  name?: ComponentsSchemasNameDiPhdb0D;
+  precedence?: PrecedenceEPoGsEKD;
+  rule_settings?: RuleSettings;
+  schedule?: Schedule;
+  traffic?: Traffic;
+  updated_at?: Timestamp;
+};
+
+/**
+ * @example 6f91088a406011ed95aed352566e8d4c
+ */
+export type RulesComponentsSchemasAccountIdentifier = void;
+
+/**
+ * The action to perform when the rule matches.
+ *
+ * @example execute
+ * @pattern ^[a-z_]+$
+ */
+export type RulesComponentsSchemasAction = string;
+
+/**
+ * An informative description of the rule.
+ *
+ * @default
+ * @example Execute the OWASP ruleset when the IP address is not 1.1.1.1
+ */
+export type RulesComponentsSchemasDescription = string;
+
+/**
+ * Whether the rule should be executed.
+ *
+ * @default true
+ * @example true
+ */
+export type RulesComponentsSchemasEnabled = boolean;
+
+/**
+ * The unique ID of the rule.
+ *
+ * @example 3a03d665bac047339bb530ecb439a90d
+ */
+export type RulesComponentsSchemasId = string;
+
+/**
+ * A rule object.
+ */
+export type RulesComponentsSchemasRule = {
+  action?: RulesComponentsSchemasAction;
+  action_parameters?: ActionParameters;
+  categories?: CategoriesGr0NL98E;
+  description?: RulesComponentsSchemasDescription;
+  enabled?: RulesComponentsSchemasEnabled;
+  expression?: SchemasExpression;
+  id?: RulesComponentsSchemasId;
+  last_updated?: SchemasLastUpdated;
+  logging?: Logging;
+  ref?: ComponentsSchemasRef;
+  version?: SchemasVersion;
+};
+
+/**
+ * The number of rules in the current rule group.
+ *
+ * @default 0
+ * @example 10
+ */
+export type RulesCount = number;
+
+export type RulesResponseCollection = ApiResponseCollection & {
+  result?: RuleResult[];
+};
+
+export type RulesResponseCollectionQMasv9nu = ApiResponseCollection & {
+  result?: RulesFaVxDtoM[];
+  result_info?: {
+    /**
+     * @example 1
+     */
+    count?: void;
+    /**
+     * @example 1
+     */
+    page?: void;
+    /**
+     * @example 20
+     */
+    per_page?: void;
+    /**
+     * @example 1
+     */
+    total_count?: void;
+  };
+};
+
+/**
+ * A ruleset object.
+ */
+export type Ruleset = {
+  description?: RulesetsComponentsSchemasDescription;
+  id?: RulesetsComponentsSchemasId;
+  kind?: SchemasKind;
+  last_updated?: LastUpdated;
+  name?: RulesetsComponentsSchemasName;
+  phase?: Phase;
+  rules?: SchemasRules;
+  version?: VersionF60UUqsl;
+};
+
+export type RulesetResponse = {
+  errors: Messages;
+  messages: Messages;
+  result: Ruleset;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+/**
+ * A ruleset object.
+ */
+export type RulesetWithoutRules = {
+  description?: RulesetsComponentsSchemasDescription;
+  id?: RulesetsComponentsSchemasId;
+  kind?: SchemasKind;
+  last_updated?: LastUpdated;
+  name?: RulesetsComponentsSchemasName;
+  phase?: Phase;
+  version?: VersionF60UUqsl;
+};
+
+/**
+ * An informative description of the ruleset.
+ *
+ * @default
+ * @example My ruleset to execute managed rulesets
+ */
+export type RulesetsComponentsSchemasDescription = string;
+
+/**
+ * The unique ID of the ruleset.
+ *
+ * @example 2f2feab2026849078ba485f918791bdc
+ * @pattern ^[0-9a-f]{32}$
+ */
+export type RulesetsComponentsSchemasId = string;
+
+/**
+ * The human-readable name of the ruleset.
+ *
+ * @example My ruleset
+ */
+export type RulesetsComponentsSchemasName = string;
+
+export type RulesetsResponse = {
+  errors: Messages;
+  messages: Messages;
+  /**
+   * A list of rulesets. The returned information will not include the rules in each ruleset.
+   */
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+/**
+ * Timestamp of when the tunnel connection was started.
+ *
+ * @example 2009-11-10T23:00:00Z
+ * @format date-time
+ */
+export type RunAt = string;
+
+export type SaasApp = {
+  /**
+   * The service provider's endpoint that is responsible for receiving and parsing a SAML assertion.
+   *
+   * @example https://example.com
+   */
+  consumer_service_url?: string;
+  created_at?: Timestamp;
+  custom_attributes?: {
+    /**
+     * The name of the attribute.
+     *
+     * @example family_name
+     */
+    name?: string;
+    /**
+     * A globally unique name for an identity or service provider.
+     *
+     * @example urn:oasis:names:tc:SAML:2.0:attrname-format:basic
+     */
+    name_format?:
+      | 'urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified'
+      | 'urn:oasis:names:tc:SAML:2.0:attrname-format:basic'
+      | 'urn:oasis:names:tc:SAML:2.0:attrname-format:uri';
+    source?: {
+      /**
+       * The name of the IdP attribute.
+       *
+       * @example last_name
+       */
+      name?: string;
+    };
+  };
+  /**
+   * The unique identifier for your SaaS application.
+   *
+   * @example https://example.cloudflareaccess.com
+   */
+  idp_entity_id?: string;
+  /**
+   * The format of the name identifier sent to the SaaS application.
+   *
+   * @example id
+   */
+  name_id_format?: 'id' | 'email';
+  /**
+   * The Access public certificate that will be used to verify your identity.
+   *
+   * @example example unique name
+   */
+  public_key?: string;
+  /**
+   * A globally unique name for an identity or service provider.
+   *
+   * @example example unique name
+   */
+  sp_entity_id?: string;
+  /**
+   * The endpoint where your SaaS application will send login requests.
+   *
+   * @example https://example.cloudflareaccess.com/cdn-cgi/access/sso/saml/b3f58a2b414e0b51d45c8c2af26fccca0e27c63763c426fa52f98dcf0b3b3bfd
+   */
+  sso_endpoint?: string;
+  updated_at?: Timestamp;
+};
+
+export type SaasProps = {
+  allowed_idps?: AllowedIdps;
+  app_launcher_visible?: AppLauncherVisible;
+  auto_redirect_to_identity?: SchemasAutoRedirectToIdentity;
+  logo_url?: LogoUrl;
+  name?: AppsComponentsSchemasName;
+  saas_app?: SaasApp;
+  /**
+   * The application type.
+   *
+   * @example saas
+   */
+  type?: string;
+};
+
+export type SaasProps5uhJMdOI = {
+  allowed_idps?: AllowedIdps;
+  app_launcher_visible?: AppLauncherVisible;
+  auto_redirect_to_identity?: AutoRedirectToIdentityB0IhfGBw;
+  logo_url?: LogoUrl;
+  name?: AppsComponentsSchemasName;
+  saas_app?: SaasApp;
+  /**
+   * The application type.
+   *
+   * @example saas
+   */
+  type?: string;
+};
+
+/**
+ * Sets the SameSite cookie setting, which provides increased security against CSRF attacks.
+ *
+ * @example strict
+ */
+export type SameSiteCookieAttribute = string;
+
+export type Saml = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: {
+    /**
+     * A list of SAML attribute names that will be added to your signed JWT token and can be used in SAML policy rules.
+     *
+     * @example group
+     * @example department_code
+     * @example divison
+     */
+    attributes?: string[];
+    /**
+     * The attribute name for email in the SAML response.
+     *
+     * @example Email
+     */
+    email_attribute_name?: string;
+    /**
+     * Add a list of attribute names that will be returned in the response header from the Access callback.
+     */
+    header_attributes?: {
+      /**
+       * attribute name from the IDP
+       */
+      attribute_name?: string;
+      /**
+       * header that will be added on the request to the origin
+       */
+      header_name?: string;
+    }[];
+    /**
+     * X509 certificate to verify the signature in the SAML authentication response
+     */
+    idp_public_certs?: string[];
+    /**
+     * IdP Entity ID or Issuer URL
+     *
+     * @example https://whoami.com
+     */
+    issuer_url?: string;
+    /**
+     * Sign the SAML authentication request with Access credentials. To verify the signature, use the public key from the Access certs endpoints.
+     */
+    sign_request?: boolean;
+    /**
+     * URL to send the SAML authentication requests to
+     *
+     * @example https://edgeaccess.org/idp/saml/login
+     */
+    sso_target_url?: string;
+  };
+  id?: Uuid;
+  name: SchemasNameIXVfNmuB;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
+     */
+    group_member_deprovision?: boolean;
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type: string;
+};
+
+/**
+ * Matches a SAML group.
+ * Requires a SAML identity provider.
+ */
+export type SamlGroupRule = {
+  saml: {
+    /**
+     * The name of the SAML attribute.
+     *
+     * @example group
+     */
+    attribute_name: string;
+    /**
+     * The SAML attribute value to look for.
+     *
+     * @example devs@cloudflare.com
+     */
+    attribute_value: string;
+  };
+};
+
+/**
+ * The sample parameter is the sample rate of the records set by the client: "sample": 1 is 100% of records "sample": 10 is 10% and so on.
+ *
+ * @example 1
+ */
+export type Sample = number;
+
+/**
+ * When `?sample=` is provided, a sample of matching records is returned. If `sample=0.1` then 10% of records will be returned. Sampling is random: repeated calls will not only return different records, but likely will also vary slightly in number of returned records. When `?count=` is also specified, `count` is applied to the number of returned records, not the sampled records. So, with `sample=0.05` and `count=7`, when there is a total of 100 records available, approximately five will be returned. When there are 1000 records, seven will be returned. When there are 10,000 records, seven will be returned.
+ *
+ * @example 0.1
+ * @maximum 1
+ * @minimum 0
+ */
+export type SampleDCLw1eAf = number;
+
+/**
+ * The size of the image relative to the overall size of the video. This parameter will adapt to horizontal and vertical videos automatically. `0.0` indicates no scaling (use the size of the image as-is), and `1.0 `fills the entire video.
+ *
+ * @default 0.15
+ * @example 0.1
+ * @maximum 1
+ * @minimum 0
+ */
+export type Scale = number;
+
+/**
+ * Schedule for activating DNS policies. Does not apply to HTTP or network policies.
+ */
+export type Schedule = {
+  /**
+   * The time intervals when the rule will be active on Fridays, in increasing order from 00:00-24:00.  If this parameter is omitted, the rule will be deactivated on Fridays.
+   *
+   * @example 08:00-12:30,13:30-17:00
+   */
+  fri?: string;
+  /**
+   * The time intervals when the rule will be active on Mondays, in increasing order from 00:00-24:00. If this parameter is omitted, the rule will be deactivated on Mondays.
+   *
+   * @example 08:00-12:30,13:30-17:00
+   */
+  mon?: string;
+  /**
+   * The time intervals when the rule will be active on Saturdays, in increasing order from 00:00-24:00.  If this parameter is omitted, the rule will be deactivated on Saturdays.
+   *
+   * @example 08:00-12:30,13:30-17:00
+   */
+  sat?: string;
+  /**
+   * The time intervals when the rule will be active on Sundays, in increasing order from 00:00-24:00. If this parameter is omitted, the rule will be deactivated on Sundays.
+   *
+   * @example 08:00-12:30,13:30-17:00
+   */
+  sun?: string;
+  /**
+   * The time intervals when the rule will be active on Thursdays, in increasing order from 00:00-24:00. If this parameter is omitted, the rule will be deactivated on Thursdays.
+   *
+   * @example 08:00-12:30,13:30-17:00
+   */
+  thu?: string;
+  /**
+   * The time zone the rule will be evaluated against. If a [valid time zone city name](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List) is provided, Gateway will always use the current time at that time zone. If this parameter is omitted, then the time zone inferred from the user's source IP is used to evaluate the rule. If Gateway cannot determine the time zone from the IP, we will fall back to the time zone of the user's connected data center.
+   *
+   * @example America/New York
+   */
+  time_zone?: string;
+  /**
+   * The time intervals when the rule will be active on Tuesdays, in increasing order from 00:00-24:00. If this parameter is omitted, the rule will be deactivated on Tuesdays.
+   *
+   * @example 08:00-12:30,13:30-17:00
+   */
+  tue?: string;
+  /**
+   * The time intervals when the rule will be active on Wednesdays, in increasing order from 00:00-24:00. If this parameter is omitted, the rule will be deactivated on Wednesdays.
+   *
+   * @example 08:00-12:30,13:30-17:00
+   */
+  wed?: string;
+};
+
+/**
+ * Polling frequency for the WARP client posture check. Default: `5m` (poll every five minutes). Minimum: `1m`.
+ *
+ * @example 1h
+ */
+export type ScheduleVkuQMHl2 = string;
+
+/**
+ * Polling frequency for the WARP client posture check. Default: `5m` (poll every five minutes). Minimum: `1m`.
+ *
+ * @example 1h
+ */
+export type ScheduleXq5rkQsP = string;
+
+export type SchemaResponseDiscovery = DefaultResponse & {
+  result?: {
+    schemas?: Openapi[];
+    timestamp?: string;
+  };
+};
+
+export type SchemaResponseWithThresholds = DefaultResponse & {
+  result?: {
+    schemas?: Openapiwiththresholds[];
+    timestamp?: string;
+  };
+};
+
+/**
+ * True if the user has authenticated with Cloudflare Access.
+ *
+ * @example false
+ */
+export type SchemasAccessSeat = boolean;
+
+export type SchemasAccount = Account;
+
+/**
+ * Account identifier tag.
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type SchemasAccountIdentifier = string;
+
+/**
+ * The action to perform when the threshold of matched traffic within the configured period is exceeded.
+ */
+export type SchemasAction = {
+  mode?: Mode;
+  response?: CustomResponse;
+  timeout?: TimeoutHaHBovKX;
+};
+
+/**
+ * The parameters configuring the action.
+ */
+export type SchemasActionParameters = ActionParametersRoute;
+
+/**
+ * Address.
+ *
+ * @example 123 Sesame St.
+ */
+export type SchemasAddress = string;
+
+/**
+ * Enablement of prefix advertisement to the Internet.
+ *
+ * @example true
+ */
+export type SchemasAdvertised = boolean;
+
+/**
+ * Type of notification that has been dispatched.
+ *
+ * @example universal_ssl_event_type
+ */
+export type SchemasAlertType = string;
+
+/**
+ * The result of the authentication event.
+ *
+ * @default false
+ */
+export type SchemasAllowed = boolean;
+
+export type SchemasApiResponseCommon = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type SchemasApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: Messages;
+  messages: Messages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type SchemasApiResponseSingleId = {
+  errors: Messages;
+  messages: Messages;
+  result:
+    | {
+        id: SchemasIdentifier;
+      }
+    | any[]
+    | string
+    | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+/**
+ * Displays the application in the App Launcher.
+ *
+ * @example true
+ */
+export type SchemasAppLauncherVisible = boolean;
+
+export type SchemasApps =
+  | (BasicAppResponseProps & SchemasSelfHostedProps)
+  | (BasicAppResponseProps & SaasProps)
+  | (BasicAppResponseProps & SchemasSshProps)
+  | (BasicAppResponseProps & SchemasVncProps)
+  | (BasicAppResponseProps & AppLauncherProps)
+  | (BasicAppResponseProps & WarpProps)
+  | (BasicAppResponseProps & BisoProps)
+  | (BasicAppResponseProps & SchemasBookmarkProps);
+
+export type SchemasAppsJxIYBSY3 =
+  | (BasicAppResponseProps & SelfHostedPropsUAlJDzGr)
+  | (BasicAppResponseProps & SaasProps5uhJMdOI)
+  | (BasicAppResponseProps & SshProps)
+  | (BasicAppResponseProps & VncProps)
+  | (BasicAppResponseProps & AppLauncherProps)
+  | (BasicAppResponseProps & WarpProps)
+  | (BasicAppResponseProps & BisoProps)
+  | (BasicAppResponseProps & SchemasBookmarkPropsIeg438mR);
+
+/**
+ * AS number associated with the node object.
+ */
+export type SchemasAsn = string;
+
+/**
+ * Audience tag.
+ *
+ * @example 737646a56ab1df6ec9bddc7e5ca84eaf3b0768850f3ffb5d74f1534911fe3893
+ * @maxLength 64
+ */
+export type SchemasAud = string;
+
+/**
+ * When set to `true`, users skip the identity provider selection step during login. You must specify only one identity provider in allowed_idps.
+ *
+ * @default false
+ */
+export type SchemasAutoRedirectToIdentity = boolean;
+
+/**
+ * [Automatic Platform Optimization for WordPress](https://developers.cloudflare.com/automatic-platform-optimization/) serves your WordPress site from Cloudflare's edge network and caches third-party fonts.
+ */
+export type SchemasAutomaticPlatformOptimization = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example automatic_platform_optimization
+   */
+  id: 'automatic_platform_optimization';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: AutomaticPlatformOptimization;
+};
+
+/**
+ * Shows if a domain is available for transferring into Cloudflare Registrar.
+ *
+ * @example false
+ */
+export type SchemasAvailable = boolean;
+
+export type SchemasAzureAD = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: GenericOauthConfig & {
+    /**
+     * Your Azure directory uuid
+     *
+     * @example <your azure directory uuid>
+     */
+    directory_id?: string;
+    /**
+     * Should Cloudflare try to load groups from your account
+     */
+    support_groups?: boolean;
+  };
+  id?: Uuid;
+  name: SchemasNameIXVfNmuB;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
+     */
+    group_member_deprovision?: boolean;
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type: string;
+};
+
+export type SchemasBase = {
+  /**
+   * Identifier of the zone setting.
+   *
+   * @example development_mode
+   */
+  id: string;
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on: string | null;
+};
+
+export type SchemasBookmarkProps = {
+  /**
+   * @default true
+   */
+  app_launcher_visible?: void;
+  /**
+   * The URL or domain of the bookmark.
+   *
+   * @example https://mybookmark.com
+   */
+  domain: void;
+  logo_url?: LogoUrl;
+  name?: AppsComponentsSchemasName;
+  /**
+   * The application type.
+   *
+   * @example bookmark
+   */
+  type: string;
+};
+
+export type SchemasBookmarkPropsIeg438mR = {
+  /**
+   * @default true
+   */
+  app_launcher_visible?: void;
+  /**
+   * The URL or domain of the bookmark.
+   *
+   * @example https://mybookmark.com
+   */
+  domain?: void;
+  logo_url?: LogoUrl;
+  name?: AppsComponentsSchemasName;
+  /**
+   * The application type.
+   *
+   * @example bookmark
+   */
+  type?: string;
+};
+
+export type SchemasCa = {
+  aud?: Aud;
+  id?: CaComponentsSchemasId;
+  public_key?: PublicKey;
+};
+
+/**
+ * Controls whether the membership can be deleted via the API or not.
+ *
+ * @example true
+ */
+export type SchemasCanDelete = boolean;
+
+export type SchemasCentrify = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: GenericOauthConfig & {
+    /**
+     * Your centrify account url
+     *
+     * @example https://abc123.my.centrify.com/
+     */
+    centrify_account?: string;
+    /**
+     * Your centrify app id
+     *
+     * @example exampleapp
+     */
+    centrify_app_id?: string;
+  };
+  id?: Uuid;
+  name: SchemasNameIXVfNmuB;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
+     */
+    group_member_deprovision?: boolean;
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type: string;
+};
+
+/**
+ * The zone's SSL certificate or SSL certificate and intermediate(s).
+ *
+ * @example -----BEGIN CERTIFICATE----- MIIDtTCCAp2gAwIBAgIJAM15n7fdxhRtMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV BAYTAlVTMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX aWRnaXRzIFB0eSBMdGQwHhcNMTQwMzExMTkyMTU5WhcNMTQwNDEwMTkyMTU5WjBF MQswCQYDVQQGEwJVUzETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50 ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB CgKCAQEAvq3sKsHpeduJHimOK+fvQdKsI8z8A05MZyyLp2/R/GE8FjNv+hkVY1WQ LIyTNNQH7CJecE1nbTfo8Y56S7x/rhxC6/DJ8MIulapFPnorq46KU6yRxiM0MQ3N nTJHlHA2ozZta6YBBfVfhHWl1F0IfNbXCLKvGwWWMbCx43OfW6KTkbRnE6gFWKuO fSO5h2u5TaWVuSIzBvYs7Vza6m+gtYAvKAJV2nSZ+eSEFPDo29corOy8+huEOUL8 5FAw4BFPsr1TlrlGPFitduQUHGrSL7skk1ESGza0to3bOtrodKei2s9bk5MXm7lZ qI+WZJX4Zu9+mzZhc9pCVi8r/qlXuQIDAQABo4GnMIGkMB0GA1UdDgQWBBRvavf+ sWM4IwKiH9X9w1vl6nUVRDB1BgNVHSMEbjBsgBRvavf+sWM4IwKiH9X9w1vl6nUV RKFJpEcwRTELMAkGA1UEBhMCVVMxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNV BAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZIIJAM15n7fdxhRtMAwGA1UdEwQF MAMBAf8wDQYJKoZIhvcNAQEFBQADggEBABY2ZzBaW0dMsAAT7tPJzrVWVzQx6KU4 UEBLudIlWPlkAwTnINCWR/8eNjCCmGA4heUdHmazdpPa8RzwOmc0NT1NQqzSyktt vTqb4iHD7+8f9MqJ9/FssCfTtqr/Qst/hGH4Wmdf1EJ/6FqYAAb5iRlPgshFZxU8 uXtA8hWn6fK6eISD9HBdcAFToUvKNZ1BIDPvh9f95Ine8ar6yGd56TUNrHR8eHBs ESxz5ddVR/oWRysNJ+aGAyYqHS8S/ttmC7r4XCAHqXptkHPCGRqkAhsterYhd4I8 /cBzejUobNCjjHFbtkAL/SjxZOLW+pNkZwfeYdM8iPkD54Uua1v2tdw= -----END CERTIFICATE-----
+ */
+export type SchemasCertificate = string;
+
+export type SchemasCertificateObject = {
+  certificate?: HostnameAuthenticatedOriginPullComponentsSchemasCertificate;
+  expires_on?: HostnameAuthenticatedOriginPullComponentsSchemasExpiresOn;
+  id?: Identifier;
+  issuer?: Issuer;
+  serial_number?: SerialNumber;
+  signature?: Signature;
+  status?: HostnameAuthenticatedOriginPullComponentsSchemasStatus;
+  uploaded_on?: ComponentsSchemasUploadedOn;
+};
+
+export type SchemasCertificateObjectAlDI2xY5 = {
+  certificate?: HostnameAuthenticatedOriginPullComponentsSchemasCertificate;
+  expires_on?: HostnameAuthenticatedOriginPullComponentsSchemasExpiresOn;
+  id?: HostnameAuthenticatedOriginPullComponentsSchemasIdentifier;
+  issuer?: Issuer;
+  serial_number?: SerialNumber;
+  signature?: Signature;
+  status?: HostnameAuthenticatedOriginPullComponentsSchemasStatus;
+  uploaded_on?: ComponentsSchemasUploadedOn;
+};
+
+/**
+ * Certificate Authority selected for the order.  Selecting Let's Encrypt will reduce customization of other fields: validation_method must be 'txt', validity_days must be 90, cloudflare_branding must be omitted, and hosts must contain only 2 entries, one for the zone name and one for the subdomain wildcard of the zone name (e.g. example.com, *.example.com).
+ *
+ * @example digicert
+ */
+export type SchemasCertificateAuthority = 'digicert' | 'google' | 'lets_encrypt';
+
+/**
+ * The Certificate Authority that Total TLS certificates will be issued through.
+ *
+ * @example google
+ */
+export type SchemasCertificateAuthorityNfQsLnVr = 'google' | 'lets_encrypt';
+
+export type SchemasCertificateResponseCollection = ApiResponseCollection & {
+  result?: CertificatesJ6E1yuF3[];
+};
+
+export type SchemasCertificateResponseSingle = ApiResponseSingleZZHeSkIR & {
+  result?: Record<string, any>;
+};
+
+export type SchemasCertificateResponseSingleI8qAM9fN = ApiResponseSingleLarS7owG & {
+  result?: Record<string, any>;
+};
+
+/**
+ * The uploaded root CA certificate.
+ * 
+ * @example -----BEGIN CERTIFICATE-----
+MIIDmDCCAoCgAwIBAgIUKTOAZNjcXVZRj4oQt0SHsl1c1vMwDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVVMxFjAUBgNVBAgMDVNhbiBGcmFuY2lzY28xEzARBgNVBAcMCkNhbGlmb3JuaWExFTATBgNVBAoMDEV4YW1wbGUgSW5jLjAgFw0yMjExMjIxNjU5NDdaGA8yMTIyMTAyOTE2NTk0N1owUTELMAkGA1UEBhMCVVMxFjAUBgNVBAgMDVNhbiBGcmFuY2lzY28xEzARBgNVBAcMCkNhbGlmb3JuaWExFTATBgNVBAoMDEV4YW1wbGUgSW5jLjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMRcORwgJFTdcG/2GKI+cFYiOBNDKjCZUXEOvXWY42BkH9wxiMT869CO+enA1w5pIrXow6kCM1sQspHHaVmJUlotEMJxyoLFfA/8Kt1EKFyobOjuZs2SwyVyJ2sStvQuUQEosULZCNGZEqoH5g6zhMPxaxm7ZLrrsDZ9maNGVqo7EWLWHrZ57Q/5MtTrbxQL+eXjUmJ9K3kS+3uEwMdqR6Z3BluU1ivanpPc1CN2GNhdO0/hSY4YkGEnuLsqJyDd3cIiB1MxuCBJ4ZaqOd2viV1WcP3oU3dxVPm4MWyfYIldMWB14FahScxLhWdRnM9YZ/i9IFcLypXsuz7DjrJPtPUCAwEAAaNmMGQwHQYDVR0OBBYEFP5JzLUawNF+c3AXsYTEWHh7z2czMB8GA1UdIwQYMBaAFP5JzLUawNF+c3AXsYTEWHh7z2czMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAGAQH/AgEBMA0GCSqGSIb3DQEBCwUAA4IBAQBc+Be7NDhpE09y7hLPZGRPl1cSKBw4RI0XIv6rlbSTFs5EebpTGjhx/whNxwEZhB9HZ7111Oa1YlT8xkI9DshB78mjAHCKBAJ76moK8tkG0aqdYpJ4ZcJTVBB7l98Rvgc7zfTii7WemTy72deBbSeiEtXavm4EF0mWjHhQ5Nxpnp00Bqn5g1x8CyTDypgmugnep+xG+iFzNmTdsz7WI9T/7kDMXqB7M/FPWBORyS98OJqNDswCLF8bIZYwUBEe+bRHFomoShMzaC3tvim7WCb16noDkSTMlfKO4pnvKhpcVdSgwcruATV7y+W+Lvmz2OT/Gui4JhqeoTewsxndhDDE
+-----END CERTIFICATE-----
+ */
+export type SchemasCertificates = string;
+
+export type SchemasCidrConfiguration = {
+  /**
+   * The configuration target. You must set the target to `ip_range` when specifying an IP address range in the Zone Lockdown rule.
+   *
+   * @example ip_range
+   */
+  target?: 'ip_range';
+  /**
+   * The IP address range to match. You can only use prefix lengths `/16` and `/24`.
+   *
+   * @example 198.51.100.4/16
+   */
+  value?: string;
+};
+
+export type SchemasCollectionInviteResponse = ApiResponseCollection & {
+  result?: SchemasInvite[];
+};
+
+export type SchemasCollectionResponse = ApiResponseCollection & {
+  result?: {
+    additional_information?: AdditionalInformation;
+    application?: ApplicationIDJD2oSO;
+    content_categories?: ContentCategories;
+    domain?: SchemasDomainName;
+    popularity_rank?: PopularityRank;
+    risk_score?: RiskScore;
+    risk_types?: RiskTypes;
+  }[];
+};
+
+/**
+ * The Cloudflare data center used for this connection.
+ *
+ * @example DFW
+ */
+export type SchemasColoName = string;
+
+/**
+ * Optional remark describing the virtual network.
+ *
+ * @example Staging VPC for data science
+ */
+export type SchemasComment = string;
+
+/**
+ * Array of available components values for the plan.
+ */
+export type SchemasComponentValues = ComponentValue[];
+
+/**
+ * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+ */
+export type SchemasConfig = Record<string, any>;
+
+/**
+ * The configuration object containing information for the WARP client to detect the managed network.
+ *
+ * @example {"sha256":"b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c","tls_sockaddr":"foo.bar:1234"}
+ */
+export type SchemasConfigRequest = TlsConfigRequest;
+
+/**
+ * The configuration object containing information for the WARP client to detect the managed network.
+ *
+ * @example {"sha256":"b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c","tls_sockaddr":"foo.bar:1234"}
+ */
+export type SchemasConfigResponse = TlsConfigResponse;
+
+/**
+ * The rule configuration.
+ */
+export type SchemasConfiguration =
+  | IpConfiguration
+  | Ipv6Configuration
+  | CidrConfiguration
+  | AsnConfiguration
+  | CountryConfiguration;
+
+/**
+ * The IdP used to authenticate.
+ *
+ * @example saml
+ */
+export type SchemasConnection = string;
+
+/**
+ * When the device was created.
+ *
+ * @example 2017-06-14T00:00:00Z
+ * @format date-time
+ */
+export type SchemasCreated = string;
+
+/**
+ * The time when the certificate was created.
+ *
+ * @example 2100-01-01T05:20:00Z
+ * @format date-time
+ */
+export type SchemasCreatedAt = string;
+
+/**
+ * The date and time the tunnel was created.
+ *
+ * @example 2017-06-14T00:00:00Z
+ * @format date-time
+ */
+export type SchemasCreatedOn = string;
+
+/**
+ * The RFC 3339 timestamp of when the list was created.
+ *
+ * @example 2020-01-01T08:00:00Z
+ */
+export type SchemasCreatedOnNgcP5F83 = string;
+
+/**
+ * The Certificate Signing Request (CSR). Must be newline-encoded.
+ *
+ * @example -----BEGIN CERTIFICATE REQUEST-----\nMIICY....\n-----END CERTIFICATE REQUEST-----\n
+ */
+export type SchemasCsr = string;
+
+/**
+ * Opaque token indicating the position from which to continue when requesting the next set of records. A valid value for the cursor can be obtained from the cursors object in the result_info structure.
+ *
+ * @example AAAAANuhDN7SjacTnSVsDu3WW1Lvst6dxJGTjRY5BhxPXdf6L6uTcpd_NVtjhn11OUYRsVEykxoUwF-JQU4dn6QylZSKTOJuG0indrdn_MlHpMRtsxgXjs-RPdHYIVm3odE_uvEQ_dTQGFm8oikZMohns34DLBgrQpc
+ */
+export type SchemasCursor = string;
+
+/**
+ * Whether the policy is the default policy for an account.
+ *
+ * @example false
+ */
+export type SchemasDefault = boolean;
+
+/**
+ * True if the device was deleted.
+ *
+ * @example true
+ */
+export type SchemasDeleted = boolean;
+
+/**
+ * An optional description field which may be used to describe the types of IPs or zones on the map.
+ *
+ * @example My Ecommerce zones
+ */
+export type SchemasDescription = string | null;
+
+/**
+ * A human-readable description of the pool.
+ *
+ * @example Primary data center - Provider XYZ
+ */
+export type SchemasDescriptionZxAuqPgI = string;
+
+/**
+ * The billing item description.
+ *
+ * @example The billing item description
+ * @maxLength 255
+ */
+export type SchemasDescriptionAeOWNvGr = string;
+
+/**
+ * The description of the Rule.
+ *
+ * @example Block the bad websites based on host name
+ */
+export type SchemasDescriptionLlKmoyYd = string;
+
+/**
+ * A description of the policy.
+ *
+ * @example Policy for test teams.
+ * @maxLength 500
+ */
+export type SchemasDescriptionTQ4Ivhfo = string;
+
+/**
+ * An optional description of the GRE tunnel.
+ *
+ * @example Tunnel for ISP X
+ */
+export type SchemasDescriptionVR40R5E7 = string;
+
+/**
+ * A string to search for in the description of existing rules.
+ *
+ * @example endpoints
+ */
+export type SchemasDescriptionSearch = string;
+
+/**
+ * Unique WebSocket address that will receive messages from Cloudflare’s edge.
+ *
+ * @example wss://logs.cloudflare.com/instant-logs/ws/sessions/99d471b1ca3c23cc8e30b6acec5db987
+ * @format uri
+ * @maxLength 4096
+ */
+export type SchemasDestinationConf = string;
+
+/**
+ * This field shows up only if the pool is disabled. This field is set with the time the pool was disabled at.
+ *
+ * @format date-time
+ */
+export type SchemasDisabledAt = string;
+
+export type SchemasDnsFirewall = DnsFirewall;
+
+/**
+ * The domain of the Bookmark application.
+ *
+ * @example example.com
+ */
+export type SchemasDomain = string;
+
+/**
+ * The domain and path that Access will secure.
+ *
+ * @example test.example.com/admin
+ */
+export type SchemasDomainA7q0ZzCX = string;
+
+/**
+ * Domain identifier.
+ *
+ * @example ea95132c15732412d22c1476fa83f27a
+ * @maxLength 32
+ */
+export type SchemasDomainIdentifier = string;
+
+/**
+ * @example cloudflare.com
+ */
+export type SchemasDomainName = string;
+
+/**
+ * The email of the user.
+ *
+ * @example jdoe@example.com
+ * @format email
+ */
+export type SchemasEmail = string;
+
+/**
+ * The email address of the authenticating user.
+ *
+ * @example user@example.com
+ * @format email
+ */
+export type SchemasEmailJb7fdlGM = string;
+
+export type SchemasEmptyResponse = {
+  result?: Record<string, any> | null;
+  /**
+   * @example true
+   */
+  success?: true | false;
+};
+
+export type SchemasEmptyResponseVoKOxgxB = {
+  result?: void | null;
+  /**
+   * @example true
+   */
+  success?: true | false;
+};
+
+/**
+ * Disabling Universal SSL removes any currently active Universal SSL certificates for your zone from the edge and prevents any future Universal SSL certificates from being ordered. If there are no advanced certificates or custom certificates uploaded for the domain, visitors will be unable to access the domain over HTTPS.
+ *
+ * By disabling Universal SSL, you understand that the following Cloudflare settings and preferences will result in visitors being unable to visit your domain unless you have uploaded a custom certificate or purchased an advanced certificate.
+ *
+ * * HSTS
+ * * Always Use HTTPS
+ * * Opportunistic Encryption
+ * * Onion Routing
+ * * Any Page Rules redirecting traffic to HTTPS
+ *
+ * Similarly, any HTTP redirect to HTTPS at the origin while the Cloudflare proxy is enabled will result in users being unable to visit your site without a valid certificate at Cloudflare's edge.
+ *
+ * If you do not have a valid custom or advanced certificate at Cloudflare's edge and are unsure if any of the above Cloudflare settings are enabled, or if any HTTP redirects exist at your origin, we advise leaving Universal SSL enabled for your domain.
+ *
+ * @example true
+ */
+export type SchemasEnabled = boolean;
+
+/**
+ * Whether to enable (the default) this origin within the pool. Disabled origins will not receive traffic and are excluded from health checks. The origin will only be disabled for the current pool.
+ *
+ * @default true
+ * @example true
+ */
+export type SchemasEnabledFbTTZgfc = boolean;
+
+/**
+ * Rules evaluated with a NOT logical operator. To match the policy, a user cannot meet any of the Exclude rules.
+ */
+export type SchemasExclude = Rule[];
+
+/**
+ * Rules evaluated with a NOT logical operator. To match the policy, a user cannot meet any of the Exclude rules.
+ */
+export type SchemasExcludeTDuKARb5 = RuleComponentsSchemasRule[];
+
+/**
+ * The expected HTTP response codes or code ranges of the health check, comma-separated. This parameter is only valid for HTTP and HTTPS monitors.
+ *
+ * @default 200
+ * @example 2xx
+ */
+export type SchemasExpectedCodes = string;
+
+/**
+ * Sets the expiration time for a posture check result. If empty, the result remains valid until it is overwritten by new data from the WARP client.
+ *
+ * @example 1h
+ */
+export type SchemasExpiration = string;
+
+/**
+ * When the certificate will expire.
+ *
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
+ */
+export type SchemasExpiresOn = string;
+
+/**
+ * When the invite is no longer active.
+ *
+ * @example 2014-01-01T05:20:00Z
+ * @format date-time
+ */
+export type SchemasExpiresOnL7MyoHWU = string;
+
+/**
+ * The expression defining which traffic will match the rule.
+ *
+ * @example ip.src ne 1.1.1.1
+ */
+export type SchemasExpression = string;
+
+export type SchemasFacebook = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: GenericOauthConfig;
+  id?: Uuid;
+  name: SchemasNameIXVfNmuB;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
+     */
+    group_member_deprovision?: boolean;
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type: string;
+};
+
+/**
+ * Features enabled for the Cloudflare Tunnel.
+ */
+export type SchemasFeatures = string[];
+
+export type SchemasFilterResponseCollection = ApiResponseCollection & {
+  result?: {
+    description?: FiltersComponentsSchemasDescription;
+    expression: Expression;
+    id: FiltersComponentsSchemasId;
+    paused: FiltersComponentsSchemasPaused;
+    ref?: SchemasRef;
+  }[];
+};
+
+export type SchemasFilterResponseSingle = ApiResponseSingleLarS7owG & {
+  result:
+    | {
+        description?: FiltersComponentsSchemasDescription;
+        expression: Expression;
+        id: FiltersComponentsSchemasId;
+        paused: FiltersComponentsSchemasPaused;
+        ref?: SchemasRef;
+      }
+    | (void | null);
+};
+
+/**
+ * Format of additional configuration options (filters) for the alert type. Data type of filters during policy creation: Array of strings.
+ *
+ * @example {"ComparisonOperator":"==","Key":"zones","Optional":false}
+ * @example {"ComparisonOperator":">=","Key":"slo","Optional":true}
+ */
+export type SchemasFilterOptions = any[];
+
+export type SchemasFilters = {
+  /**
+   * The target to search in existing rules.
+   *
+   * @example ip
+   */
+  ['configuration.target']?: 'ip' | 'ip_range' | 'asn' | 'country';
+  /**
+   * The target value to search for in existing rules: an IP address, an IP address range, or a country code, depending on the provided `configuration.target`.
+   * Notes: You can search for a single IPv4 address, an IP address range with a subnet of '/16' or '/24', or a two-letter ISO-3166-1 alpha-2 country code.
+   *
+   * @example 198.51.100.4
+   */
+  ['configuration.value']?: string;
+  /**
+   * When set to `all`, all the search requirements must match. When set to `any`, only one of the search requirements has to match.
+   *
+   * @default all
+   */
+  match?: 'any' | 'all';
+  mode?: SchemasMode;
+  /**
+   * The string to search for in the notes of existing IP Access rules.
+   * Notes: For example, the string 'attack' would match IP Access rules with notes 'Attack 26/02' and 'Attack 27/02'. The search is case insensitive.
+   *
+   * @example my note
+   */
+  notes?: string;
+};
+
+export type SchemasForceResponse = ApiResponseSingleWkFwqHKI & {
+  result?: SchemasForceResult;
+};
+
+/**
+ * When force_notify query parameter is set to true, the response is a simple string
+ *
+ * @example OK
+ */
+export type SchemasForceResult = string;
+
+/**
+ * The frequency at which you will be billed for this plan.
+ *
+ * @example monthly
+ */
+export type SchemasFrequency = 'weekly' | 'monthly' | 'quarterly' | 'yearly';
+
+/**
+ * True if the user has logged into the WARP client.
+ *
+ * @example false
+ */
+export type SchemasGatewaySeat = boolean;
+
+export type SchemasGithub = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: GenericOauthConfig;
+  id?: Uuid;
+  name: SchemasNameIXVfNmuB;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
+     */
+    group_member_deprovision?: boolean;
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type: string;
+};
+
+export type SchemasGoogle = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: GenericOauthConfig;
+  id?: Uuid;
+  name: SchemasNameIXVfNmuB;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
+     */
+    group_member_deprovision?: boolean;
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type: string;
+};
+
+export type SchemasGoogleApps = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: GenericOauthConfig & {
+    /**
+     * Your companies TLD
+     *
+     * @example mycompany.com
+     */
+    apps_domain?: string;
+  };
+  id?: Uuid;
+  name: SchemasNameIXVfNmuB;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
+     */
+    group_member_deprovision?: boolean;
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type: string;
+};
+
+export type SchemasGroup = Group & {
+  allowed_modes?: AllowedModes;
+  mode?: ComponentsSchemasMode;
+};
+
+export type SchemasGroups = {
+  created_at?: Timestamp;
+  exclude?: ExcludeW6GORlYf;
+  id?: SchemasUuid;
+  include?: IncludeRuTbCgSD;
+  name?: GroupsComponentsSchemasName;
+  require?: RequireBZzd5gGi;
+  updated_at?: Timestamp;
+};
+
+/**
+ * The request header is used to pass additional information with an HTTP request. Currently supported header is 'Host'.
+ */
+export type SchemasHeader = {
+  Host?: Host;
+};
+
+export type SchemasHealthCheck = {
+  /**
+   * Determines whether to run healthchecks for a tunnel.
+   *
+   * @default true
+   * @example true
+   */
+  enabled?: boolean;
+  /**
+   * How frequent the health check is run. The default value is `mid`.
+   *
+   * @default mid
+   * @example low
+   */
+  rate?: 'low' | 'mid' | 'high';
+  /**
+   * The destination address in a request type health check. After the healthcheck is decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded to this address. This field defaults to `customer_gre_endpoint address`.
+   *
+   * @example 203.0.113.1
+   */
+  target?: string;
+  /**
+   * The type of healthcheck to run, reply or request. The default value is `reply`.
+   *
+   * @default reply
+   * @example request
+   */
+  type?: 'reply' | 'request';
+};
+
+/**
+ * The keyless SSL name.
+ *
+ * @example example.com
+ * @format hostname
+ * @maxLength 253
+ */
+export type SchemasHost = string;
+
+/**
+ * The hostname on the origin for which the client certificate uploaded will be used.
+ *
+ * @example app.example.com
+ * @maxLength 255
+ */
+export type SchemasHostname = string;
+
+/**
+ * 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.
+ *
+ * @example example.com
+ * @example *.example.com
+ * @example www.example.com
+ */
+export type SchemasHosts = string[];
+
+/**
+ * The ID of the user.
+ *
+ * @example f3b12456-80dd-4e89-9f5f-ba3dfff12365
+ */
+export type SchemasId = void;
+
+/**
+ * Identifier for the tail.
+ *
+ * @example 03dc9f77817b488fb26c5861ec18f791
+ */
+export type SchemasIdSivlyEAs = string;
+
+export type SchemasIdResponse = ApiResponseSingleKLIlNaxV & {
+  result?: {
+    id?: Id4G7SFJfZ;
+  };
+};
+
+export type SchemasIdResponse3xp0iyUS = ApiResponseSingleI8cJ1fX8 & {
+  result?: void | null;
+};
+
+export type SchemasIdResponseJN8dJaI9 = ApiResponseSingleLarS7owG & {
+  result?: {
+    id?: PoolComponentsSchemasIdentifier;
+  };
+};
+
+export type SchemasIdResponseO4zIs7MB = ApiResponseSingleWkFwqHKI & {
+  result?: {
+    id?: SchemasIdentifier0HsWUjPr;
+  };
+};
+
+export type SchemasIdResponseS4kskEwS = ApiResponseSingleUl1k90Mw & {
+  result?: {
+    id?: SchemasIdentifierVx9UGvBM;
+  };
+};
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type SchemasIdentifier = string;
+
+/**
+ * @example 69cd1e104af3e6ed3cb344f263fd0d5a
+ */
+export type SchemasIdentifier0HsWUjPr = void;
+
+export type SchemasIdentifierIAZAtI9f = void;
+
+/**
+ * @example 17b5962d775c646f3f9725cbc7a53df4
+ */
+export type SchemasIdentifierVx9UGvBM = void;
+
+/**
+ * Keyless certificate identifier tag.
+ *
+ * @example 4d2844d2ce78891c34d0b6c0535a291e
+ * @maxLength 32
+ */
+export type SchemasIdentifierEWv7yjg2 = string;
+
+/**
+ * Tunnel identifier tag.
+ *
+ * @example c4a7362d577a6c3019a474fd6f485821
+ * @maxLength 32
+ */
+export type SchemasIdentifierRYBwrxr7 = string;
+
+export type SchemasIdentityProvider = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: Record<string, any>;
+  id?: Uuid;
+  name: SchemasNameIXVfNmuB;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
+     */
+    group_member_deprovision?: boolean;
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type: string;
+};
+
+export type SchemasIdentityProviders =
+  | SchemasAzureAD
+  | SchemasCentrify
+  | SchemasFacebook
+  | SchemasGithub
+  | SchemasGoogle
+  | SchemasGoogleApps
+  | SchemasLinkedin
+  | SchemasOidc
+  | SchemasOkta
+  | SchemasOnelogin
+  | SchemasPingone
+  | SchemasSaml
+  | SchemasYandex;
+
+export type SchemasInclude = SplitTunnelInclude[];
+
+/**
+ * The interval between each posture check with the third party API. Use "m" for minutes (e.g. "5m") and "h" for hours (e.g. "12h").
+ *
+ * @example 10m
+ */
+export type SchemasInterval = string;
+
+export type SchemasInvite = UserInvite;
+
+/**
+ * The IP address of the authenticating user.
+ *
+ * @example 198.41.129.166
+ */
+export type SchemasIp = string;
+
+export type SchemasIpConfiguration = {
+  /**
+   * The configuration target. You must set the target to `ip` when specifying an IP address in the Zone Lockdown rule.
+   *
+   * @example ip
+   */
+  target?: 'ip';
+  /**
+   * The IP address to match. This address will be compared to the IP address of incoming requests.
+   *
+   * @example 198.51.100.4
+   */
+  value?: string;
+};
+
+/**
+ * The set of IPs on the Address Map.
+ */
+export type SchemasIps = AddressMapsIp[];
+
+/**
+ * The certificate authority that issued the certificate.
+ *
+ * @example O=Example Inc.,L=California,ST=San Francisco,C=US
+ */
+export type SchemasIssuer = string;
+
+/**
+ * The device's public key.
+ *
+ * @example yek0SUYoOQ10vMGsIYAevozXUQpQtNFJFfFGqER/BGc=
+ */
+export type SchemasKey = string;
+
+/**
+ * The kind of the ruleset.
+ *
+ * @example root
+ */
+export type SchemasKind = 'custom' | 'root' | 'zone';
+
+/**
+ * The timestamp of when the rule was last modified.
+ *
+ * @example 2000-01-01T00:00:00.000000Z
+ */
+export type SchemasLastUpdated = string;
+
+export type SchemasLinkedin = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: GenericOauthConfig;
+  id?: Uuid;
+  name: SchemasNameIXVfNmuB;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
+     */
+    group_member_deprovision?: boolean;
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type: string;
+};
+
+/**
+ * The wirefilter expression to match devices.
+ *
+ * @example user.identity == "test@cloudflare.com"
+ * @maxLength 500
+ */
+export type SchemasMatch = string;
+
+/**
+ * The conditions that the client must match to run the rule.
+ */
+export type SchemasMatchPKnBbWyP = MatchItem[];
+
+export type SchemasMember = Member;
+
+/**
+ * What EXIF data should be preserved in the output image.
+ *
+ * @example none
+ */
+export type SchemasMetadata = 'keep' | 'copyright' | 'none';
+
+/**
+ * The method to use for the health check. This defaults to 'GET' for HTTP/HTTPS based checks and 'connection_established' for TCP based health checks.
+ *
+ * @default GET
+ * @example GET
+ */
+export type SchemasMethod = string;
+
+/**
+ * The action to apply to a matched request.
+ *
+ * @example challenge
+ */
+export type SchemasMode = 'block' | 'challenge' | 'whitelist' | 'js_challenge' | 'managed_challenge';
+
+/**
+ * The date and time the tunnel was last modified.
+ *
+ * @example 2017-06-14T05:20:00Z
+ * @format date-time
+ */
+export type SchemasModifiedOn = string;
+
+/**
+ * The timestamp of when the Page Rule was last modified.
+ *
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
+ */
+export type SchemasModifiedOnPkJiYI69 = string;
+
+/**
+ * When the certificate was last modified.
+ *
+ * @example 2014-01-01T05:20:00Z
+ * @format date-time
+ */
+export type SchemasModifiedOnRHJWTByl = string;
+
+export type SchemasModifiedTunnelsCollectionResponse = ApiResponseSingleRxxEmdsv & {
+  result?: {
+    /**
+     * @example true
+     */
+    modified?: boolean;
+    modified_ipsec_tunnels?: IpsecTunnel[];
+  };
+};
+
+/**
+ * The ID of the Monitor to use for checking the health of origins within this pool.
+ */
+export type SchemasMonitor = void;
+
+/**
+ * The Maximum Transmission Unit (MTU) in bytes for the interconnect. The minimum value is 576.
+ *
+ * @default 1476
+ */
+export type SchemasMtu = number;
+
+/**
+ * The name of the IPsec tunnel. The name cannot share a name with other tunnels.
+ *
+ * @example IPsec_1
+ */
+export type SchemasName = string;
+
+/**
+ * The name of the Location.
+ *
+ * @example Austin Office Location
+ */
+export type SchemasName4xhKRX0o = string;
+
+/**
+ * TSIG key name.
+ *
+ * @example tsig.customer.cf.
+ */
+export type SchemasNameDv0ow20v = string;
+
+/**
+ * The device name.
+ *
+ * @example My mobile device
+ */
+export type SchemasNameLohsu7Gg = string;
+
+/**
+ * Optional unique name for the certificate. Only used for human readability.
+ *
+ * @example example_ca_cert
+ */
+export type SchemasNameUG4dW73x = string;
+
+/**
+ * The name of the identity provider, shown to users on the login page.
+ *
+ * @example Widget Corps IDP
+ */
+export type SchemasNameIXVfNmuB = string;
+
+/**
+ * Organization name.
+ *
+ * @example Cloudflare, Inc.
+ * @maxLength 100
+ */
+export type SchemasNameMUD1zc5L = string;
+
+/**
+ * A human-identifiable name for the origin.
+ *
+ * @example app-server-1
+ */
+export type SchemasNamePvgM4uwK = string;
+
+export type SchemasNamespace = {
+  ['class']?: void;
+  id?: void;
+  name?: void;
+  script?: void;
+};
+
+export type SchemasOidc = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: GenericOauthConfig & {
+    /**
+     * The authorization_endpoint URL of your IdP
+     *
+     * @example https://accounts.google.com/o/oauth2/auth
+     */
+    auth_url?: string;
+    /**
+     * The jwks_uri endpoint of your IdP to allow the IdP keys to sign the tokens
+     *
+     * @example https://www.googleapis.com/oauth2/v3/certs
+     */
+    certs_url?: string;
+    /**
+     * List of custom claims that will be pulled from your id_token and added to your signed Access JWT token.
+     *
+     * @example given_name
+     * @example locale
+     */
+    claims?: string[];
+    /**
+     * OAuth scopes
+     *
+     * @example openid
+     * @example email
+     * @example profile
+     */
+    scopes?: string[];
+    /**
+     * The token_endpoint URL of your IdP
+     *
+     * @example https://accounts.google.com/o/oauth2/token
+     */
+    token_url?: string;
+  };
+  id?: Uuid;
+  name: SchemasNameIXVfNmuB;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
+     */
+    group_member_deprovision?: boolean;
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type: string;
+};
+
+export type SchemasOkta = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: GenericOauthConfig & {
+    /**
+     * Your okta account url
+     *
+     * @example https://dev-abc123.oktapreview.com
+     */
+    okta_account?: string;
+  };
+  id?: Uuid;
+  name: SchemasNameIXVfNmuB;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
+     */
+    group_member_deprovision?: boolean;
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type: string;
+};
+
+export type SchemasOnelogin = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: GenericOauthConfig & {
+    /**
+     * Your OneLogin account url
+     *
+     * @example https://mycompany.onelogin.com
+     */
+    onelogin_account?: string;
+  };
+  id?: Uuid;
+  name: SchemasNameIXVfNmuB;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
+     */
+    group_member_deprovision?: boolean;
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type: string;
+};
+
+export type SchemasOperation = {
+  /**
+   * The RFC 3339 timestamp of when the operation was completed.
+   *
+   * @example 2020-01-01T08:00:00Z
+   */
+  completed?: string;
+  /**
+   * A message describing the error when the status is `failed`.
+   *
+   * @example This list is at the maximum number of items
+   */
+  error?: string;
+  id: OperationId;
+  /**
+   * The current status of the asynchronous operation.
+   *
+   * @example failed
+   */
+  status: 'pending' | 'running' | 'completed' | 'failed';
+};
+
+/**
+ * @example {"max_ttl":15,"packet_type":"icmp"}
+ */
+export type SchemasOptions = {
+  max_ttl?: MaxTtl;
+  packet_type?: PacketType;
+  packets_per_ttl?: PacketsPerTtl;
+  port?: TracerouteComponentsSchemasPort;
+  wait_time?: WaitTime;
+};
+
+/**
+ * Name of organization.
+ *
+ * @example Cloudflare, Inc.
+ */
+export type SchemasOrganization = string;
+
+export type SchemasOrganizations = {
+  auth_domain?: AuthDomain;
+  created_at?: Timestamp;
+  is_ui_read_only?: IsUiReadOnly;
+  login_design?: LoginDesign;
+  name?: NameRPn8IBAr;
+  ui_read_only_toggle_reason?: UiReadOnlyToggleReason;
+  updated_at?: Timestamp;
+  user_seat_expiration_inactive_time?: UserSeatExpirationInactiveTime;
+};
+
+export type SchemasOrigin = {
+  address?: AddressGVmFzzym;
+  disabled_at?: DisabledAt;
+  enabled?: OriginComponentsSchemasEnabled;
+  header?: SchemasHeader;
+  name?: OriginComponentsSchemasName;
+  virtual_network_id?: VirtualNetworkId;
+  weight?: WeightUxsoOG5s;
+};
+
+/**
+ * Update enablement of Smart Tiered Cache
+ */
+export type SchemasPatch = {
+  value: SchemasValue;
+};
+
+/**
+ * Update enablement of Tiered Caching
+ */
+export type SchemasPatchFvWadKai = {
+  value: ComponentsSchemasValue;
+};
+
+/**
+ * @example example.net/*
+ */
+export type SchemasPattern = string;
+
+/**
+ * When true, indicates that the rule is currently paused.
+ *
+ * @example false
+ */
+export type SchemasPaused = boolean;
+
+/**
+ * Number of results to display.
+ *
+ * @minimum 1
+ */
+export type SchemasPerPage = number;
+
+/**
+ * Access permissions for this User.
+ */
+export type SchemasPermissions = string[];
+
+/**
+ * The phase where the ruleset is executed.
+ */
+export type SchemasPhase = 'http_request_transform' | 'http_request_late_transform' | 'http_response_headers_transform';
+
+export type SchemasPingone = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: GenericOauthConfig & {
+    /**
+     * Your PingOne environment identifier
+     *
+     * @example 342b5660-0c32-4936-a5a4-ce21fae57b0a
+     */
+    ping_env_id?: string;
+  };
+  id?: Uuid;
+  name: SchemasNameIXVfNmuB;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
+     */
+    group_member_deprovision?: boolean;
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type: string;
+};
+
+export type SchemasPolicies = {
+  approval_groups?: ApprovalGroups;
+  approval_required?: ApprovalRequired;
+  created_at?: Timestamp;
+  decision?: Decision;
+  exclude?: SchemasExcludeTDuKARb5;
+  id?: ComponentsSchemasUuid;
+  include?: IncludeRuTbCgSD;
+  name?: PoliciesComponentsSchemasName;
+  precedence?: Precedence;
+  purpose_justification_prompt?: PurposeJustificationPrompt;
+  purpose_justification_required?: PurposeJustificationRequired;
+  require?: SchemasRequire3P4NgB4B;
+  updated_at?: Timestamp;
+};
+
+/**
+ * The port number to connect to for the health check. Required for TCP, UDP, and SMTP checks. HTTP and HTTPS checks should only define the port when using a non-standard port (HTTP: default 80, HTTPS: default 443).
+ *
+ * @default 0
+ */
+export type SchemasPort = number;
+
+/**
+ * Port number to connect to for the health check. Required for TCP, UDP, and SMTP checks. HTTP and HTTPS checks should only define the port when using a non-standard port (HTTP: default 80, HTTPS: default 443).
+ *
+ * @default 0
+ */
+export type SchemasPortRWJFwo9O = number;
+
+/**
+ * The precedence of the policy. Lower values indicate higher precedence. Policies will be evaluated in ascending order of this field.
+ *
+ * @example 100
+ */
+export type SchemasPrecedence = number;
+
+/**
+ * @example p1aba936b94213e5b8dca0c0dbf1f9cc
+ */
+export type SchemasPreviewId = void;
+
+/**
+ * The amount you will be billed for this plan.
+ *
+ * @example 0
+ */
+export type SchemasPrice = number;
+
+/**
+ * The order in which the individual WAF rule is executed within its rule group.
+ */
+export type SchemasPriority = string;
+
+/**
+ * The hostname certificate's private key.
+ * 
+ * @example -----BEGIN RSA PRIVATE KEY-----
+MIIEowIBAAKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmG
+dtcGbg/1CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKn
+abIRuGvBKwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpid
+tnKX/a+50GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+py
+FxIXjbEIdZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pE
+ewooaeO2izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABAoIBACbhTYXBZYKmYPCb
+HBR1IBlCQA2nLGf0qRuJNJZg5iEzXows/6tc8YymZkQE7nolapWsQ+upk2y5Xdp/
+axiuprIs9JzkYK8Ox0r+dlwCG1kSW+UAbX0bQ/qUqlsTvU6muVuMP8vZYHxJ3wmb
++ufRBKztPTQ/rYWaYQcgC0RWI20HTFBMxlTAyNxYNWzX7RKFkGVVyB9RsAtmcc8g
++j4OdosbfNoJPS0HeIfNpAznDfHKdxDk2Yc1tV6RHBrC1ynyLE9+TaflIAdo2MVv
+KLMLq51GqYKtgJFIlBRPQqKoyXdz3fGvXrTkf/WY9QNq0J1Vk5ERePZ54mN8iZB7
+9lwy/AkCgYEA6FXzosxswaJ2wQLeoYc7ceaweX/SwTvxHgXzRyJIIT0eJWgx13Wo
+/WA3Iziimsjf6qE+SI/8laxPp2A86VMaIt3Z3mJN/CqSVGw8LK2AQst+OwdPyDMu
+iacE8lj/IFGC8mwNUAb9CzGU3JpU4PxxGFjS/eMtGeRXCWkK4NE+G08CgYEA1Kp9
+N2JrVlqUz+gAX+LPmE9OEMAS9WQSQsfCHGogIFDGGcNf7+uwBM7GAaSJIP01zcoe
+VAgWdzXCv3FLhsaZoJ6RyLOLay5phbu1iaTr4UNYm5WtYTzMzqh8l1+MFFDl9xDB
+vULuCIIrglM5MeS/qnSg1uMoH2oVPj9TVst/ir8CgYEAxrI7Ws9Zc4Bt70N1As+U
+lySjaEVZCMkqvHJ6TCuVZFfQoE0r0whdLdRLU2PsLFP+q7qaeZQqgBaNSKeVcDYR
+9B+nY/jOmQoPewPVsp/vQTCnE/R81spu0mp0YI6cIheT1Z9zAy322svcc43JaWB7
+mEbeqyLOP4Z4qSOcmghZBSECgYACvR9Xs0DGn+wCsW4vze/2ei77MD4OQvepPIFX
+dFZtlBy5ADcgE9z0cuVB6CiL8DbdK5kwY9pGNr8HUCI03iHkW6Zs+0L0YmihfEVe
+PG19PSzK9CaDdhD9KFZSbLyVFmWfxOt50H7YRTTiPMgjyFpfi5j2q348yVT0tEQS
+fhRqaQKBgAcWPokmJ7EbYQGeMbS7HC8eWO/RyamlnSffdCdSc7ue3zdVJxpAkQ8W
+qu80pEIF6raIQfAf8MXiiZ7auFOSnHQTXUbhCpvDLKi0Mwq3G8Pl07l+2s6dQG6T
+lv6XTQaMyf6n1yjzL+fzDrH3qXMxHMO/b13EePXpDMpY7HQpoLDi
+-----END RSA PRIVATE KEY-----
+ */
+export type SchemasPrivateKey = string;
+
+export type SchemasRailgun = {
+  activation: Activation;
+  created_on?: ComponentsSchemasCreatedOn;
+  enabled: RailgunComponentsSchemasEnabled;
+  id: RailgunComponentsSchemasIdentifier;
+  modified_on?: RailgunComponentsSchemasModifiedOn;
+  name: RailgunComponentsSchemasName;
+  status: RailgunComponentsSchemasStatus;
+  upgrade_info?: UpgradeInfo;
+  zones_connected: ZonesConnected;
+};
+
+export type SchemasRailgunResponseCollection = ApiResponseCollection & {
+  result?: Record<string, any>[];
+};
+
+export type SchemasRatePlan = RatePlan;
+
+/**
+ * A short reference tag. Allows you to select related filters.
+ *
+ * @example FIL-100
+ * @maxLength 50
+ */
+export type SchemasRef = string;
+
+export type SchemasReferencesResponse = ApiResponseCollection & {
+  /**
+   * List of resources that reference a given pool.
+   *
+   * @example {"reference_type":"referrer","resource_id":"699d98642c564d2e855e9661899b7252","resource_name":"www.example.com","resource_type":"load_balancer"}
+   * @example {"reference_type":"referral","resource_id":"f1aba936b94213e5b8dca0c0dbf1f9cc","resource_name":"Login page monitor","resource_type":"monitor"}
+   */
+  result?: {
+    reference_type?: '*' | 'referral' | 'referrer';
+    resource_id?: string;
+    resource_name?: string;
+    resource_type?: string;
+  }[];
+};
+
+export type SchemasRequestModel = {
+  scope?: ScopeAeLzE8f9;
+  type?: UrlNormalizationComponentsSchemasType;
+};
+
+/**
+ * Breakdown of totals for requests.
+ */
+export type SchemasRequests = {
+  /**
+   * Total number of requests served.
+   */
+  all?: number;
+  /**
+   * Total number of cached requests served.
+   */
+  cached?: number;
+  /**
+   * A variable list of key/value pairs where the key represents the type of content served, and the value is the number of requests.
+   *
+   * @example {"css":15343,"gif":23178,"html":1234213,"javascript":318236,"jpeg":1982048}
+   */
+  content_type?: Record<string, any>;
+  /**
+   * A variable list of key/value pairs where the key is a two-digit country code and the value is the number of requests served to that country.
+   *
+   * @example {"AG":37298,"GI":293846,"US":4181364}
+   */
+  country?: Record<string, any>;
+  /**
+   * Key/value pairs where the key is a HTTP status code and the value is the number of requests served with that code.
+   *
+   * @example {"200":13496983,"301":283,"400":187936,"402":1828,"404":1293}
+   */
+  http_status?: {
+    [key: string]: any;
+  };
+  /**
+   * A break down of requests served over HTTPS.
+   */
+  ssl?: {
+    /**
+     * The number of requests served over HTTPS.
+     */
+    encrypted?: number;
+    /**
+     * The number of requests served over HTTP.
+     */
+    unencrypted?: number;
+  };
+  /**
+   * A breakdown of requests by their SSL protocol.
+   */
+  ssl_protocols?: {
+    /**
+     * The number of requests served over TLS v1.0.
+     */
+    TLSv1?: number;
+    /**
+     * The number of requests served over TLS v1.1.
+     */
+    ['TLSv1.1']?: number;
+    /**
+     * The number of requests served over TLS v1.2.
+     */
+    ['TLSv1.2']?: number;
+    /**
+     * The number of requests served over TLS v1.3.
+     */
+    ['TLSv1.3']?: number;
+    /**
+     * The number of requests served over HTTP.
+     */
+    none?: number;
+  };
+  /**
+   * Total number of requests served from the origin.
+   */
+  uncached?: number;
+};
+
+/**
+ * Rules evaluated with an AND logical operator. To match the policy, a user must meet all of the Require rules.
+ */
+export type SchemasRequire = Rule[];
+
+/**
+ * Rules evaluated with an AND logical operator. To match the policy, a user must meet all of the Require rules.
+ */
+export type SchemasRequire3P4NgB4B = RuleComponentsSchemasRule[];
+
+export type SchemasResponse = ApiResponseCollection & {
+  result?: IpComponentsSchemasIp[];
+};
+
+export type SchemasResponseCollection = ApiResponseCollection & {
+  result?: IpamDelegations[];
+};
+
+export type SchemasResponseCollectionFatTvRX3 = ApiResponseCollection & {
+  result?: Peer[];
+};
+
+export type SchemasResponseCollectionGAYd9fKS = ApiResponseCollection & {
+  result?: DevicePostureIntegrations[];
+};
+
+export type SchemasResponseCollectionQ5PNs9Pv = ApiResponseCollection & {
+  /**
+   * @example {"id":"7cf72faf220841aabcfdfab81c43c4f6","name":"Billing Read","scopes":["com.cloudflare.api.account"]}
+   * @example {"id":"9d24387c6e8544e2bc4024a03991339f","name":"Load Balancing: Monitors and Pools Read","scopes":["com.cloudflare.api.account"]}
+   * @example {"id":"d2a1802cc9a34e30852f8b33869b2f3c","name":"Load Balancing: Monitors and Pools Write","scopes":["com.cloudflare.api.account"]}
+   * @example {"id":"8b47d2786a534c08a1f94ee8f9f599ef","name":"Workers KV Storage Read","scopes":["com.cloudflare.api.account"]}
+   * @example {"id":"f7f0eda5697f475c90846e879bab8666","name":"Workers KV Storage Write","scopes":["com.cloudflare.api.account"]}
+   * @example {"id":"1a71c399035b4950a1bd1466bbe4f420","name":"Workers Scripts Read","scopes":["com.cloudflare.api.account"]}
+   * @example {"id":"e086da7e2179491d91ee5f35b3ca210a","name":"Workers Scripts Write","scopes":["com.cloudflare.api.account"]}
+   */
+  result?: Record<string, any>[];
+};
+
+export type SchemasResponseCollectionCi9TfJMj = ApiResponseCollection & {
+  result?: Groups[];
+};
+
+export type SchemasResponseCollectionQfLanROf = ApiResponseCollection & {
+  result?: Locations[];
+};
+
+export type SchemasResponseCollectionToy0ZwDj = ApiResponseCollection & {
+  result?: Pool[];
+};
+
+export type SchemasResponseModel = {
+  scope?: ScopeAeLzE8f9;
+  type?: UrlNormalizationComponentsSchemasType;
+};
+
+export type SchemasResponseSingle = ApiResponseSingleLarS7owG & {
+  result?: Record<string, any>;
+};
+
+/**
+ * Metrics on Workers KV requests.
+ */
+export type SchemasResult = {
+  /**
+   * @example {"metrics":[[2,4],[16,32]]}
+   */
+  data:
+    | {
+        /**
+         * List of metrics returned by the query.
+         */
+        metrics: any[];
+      }[]
+    | null;
+  /**
+   * Number of seconds between current time and last processed event, i.e. how many seconds of data could be missing.
+   *
+   * @example 0
+   * @minimum 0
+   */
+  data_lag: number;
+  /**
+   * Maximum results for each metric.
+   *
+   * @example {"readKiB":32,"requests":4}
+   */
+  max: void;
+  /**
+   * Minimum results for each metric.
+   *
+   * @example {"readKiB":16,"requests":2}
+   */
+  min: void;
+  query: QueryLWVM8wx5;
+  /**
+   * Total number of rows in the result.
+   *
+   * @example 2
+   * @minimum 0
+   */
+  rows: number;
+  /**
+   * Total results for metrics across all data.
+   *
+   * @example {"readKiB":48,"requests":6}
+   */
+  totals: void;
+};
+
+export type SchemasRole = {
+  description: DescriptionWY1HJwZu;
+  id: RoleComponentsSchemasIdentifier;
+  name: ComponentsSchemasNameWXo9HKYH;
+  permissions: SchemasPermissions;
+};
+
+export type SchemasRule = RuleBzMd43YS & {
+  /**
+   * All zones owned by the user will have the rule applied.
+   */
+  scope?: {
+    email?: EmailPuzf53IC;
+    id?: CommonComponentsSchemasIdentifier;
+    /**
+     * The scope of the rule.
+     *
+     * @example user
+     */
+    type?: 'user' | 'organization';
+  };
+};
+
+/**
+ * The list of rules in the ruleset.
+ */
+export type SchemasRules = RulesComponentsSchemasRule[];
+
+export type SchemasRuleset = {
+  /**
+   * @example
+   */
+  description?: void;
+  /**
+   * @example 2f2feab2026849078ba485f918791bdc
+   */
+  id?: void;
+  /**
+   * @example zone
+   */
+  kind?: void;
+  /**
+   * @example default
+   */
+  name?: void;
+  /**
+   * @example http_request_origin
+   */
+  phase?: void;
+  /**
+   * The rules in the ruleset.
+   */
+  rules?: OriginRulesComponentsSchemasRule[];
+};
+
+export type SchemasSaml = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: {
+    /**
+     * A list of SAML attribute names that will be added to your signed JWT token and can be used in SAML policy rules.
+     *
+     * @example group
+     * @example department_code
+     * @example divison
+     */
+    attributes?: string[];
+    /**
+     * The attribute name for email in the SAML response.
+     *
+     * @example Email
+     */
+    email_attribute_name?: string;
+    /**
+     * Add a list of attribute names that will be returned in the response header from the Access callback.
+     */
+    header_attributes?: {
+      /**
+       * attribute name from the IDP
+       */
+      attribute_name?: string;
+      /**
+       * header that will be added on the request to the origin
+       */
+      header_name?: string;
+    }[];
+    /**
+     * X509 certificate to verify the signature in the SAML authentication response
+     */
+    idp_public_certs?: string[];
+    /**
+     * IdP Entity ID or Issuer URL
+     *
+     * @example https://whoami.com
+     */
+    issuer_url?: string;
+    /**
+     * Sign the SAML authentication request with Access credentials. To verify the signature, use the public key from the Access certs endpoints.
+     */
+    sign_request?: boolean;
+    /**
+     * URL to send the SAML authentication requests to
+     *
+     * @example https://edgeaccess.org/idp/saml/login
+     */
+    sso_target_url?: string;
+  };
+  id?: Uuid;
+  name: SchemasNameIXVfNmuB;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
+     */
+    group_member_deprovision?: boolean;
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type: string;
+};
+
+/**
+ * Name of the script to apply when the route is matched. The route is skipped when this is blank/missing.
+ *
+ * @example this-is_my_script-01
+ * @pattern ^[a-z0-9_][a-z0-9-_]*$
+ */
+export type SchemasScriptName = string;
+
+export type SchemasSelfHostedProps = {
+  allowed_idps?: AllowedIdps;
+  app_launcher_visible?: AppLauncherVisible;
+  auto_redirect_to_identity?: SchemasAutoRedirectToIdentity;
+  cors_headers?: CorsHeaders;
+  custom_deny_message?: CustomDenyMessage;
+  custom_deny_url?: CustomDenyUrl;
+  domain: Domain;
+  enable_binding_cookie?: EnableBindingCookie;
+  http_only_cookie_attribute?: HttpOnlyCookieAttribute;
+  logo_url?: LogoUrl;
+  name?: AppsComponentsSchemasName;
+  same_site_cookie_attribute?: SameSiteCookieAttribute;
+  service_auth_401_redirect?: ServiceAuth401Redirect;
+  session_duration?: SessionDuration;
+  skip_interstitial?: SkipInterstitial;
+  /**
+   * The application type.
+   *
+   * @example self_hosted
+   */
+  type: string;
+};
+
+/**
+ * The certificate serial number.
+ *
+ * @example 235217144297995885180570755458463043449861756659
+ */
+export type SchemasSerialNumber = string;
+
+/**
+ * Worker service associated with the zone and hostname.
+ *
+ * @example foo
+ */
+export type SchemasService = string;
+
+/**
+ * Certificate's signature algorithm.
+ */
+export type SchemasSignature = 'ECDSAWithSHA256' | 'SHA1WithRSA' | 'SHA256WithRSA';
+
+export type SchemasSingleResponse = ApiResponseSingleZ04EBmfK & {
+  result?: IpamDelegations;
+};
+
+export type SchemasSingleResponse36Q7XKcn = ApiResponseSingleLarS7owG & {
+  result?: ApiShield;
+};
+
+export type SchemasSingleResponseCC6Dlpuj = ApiResponseSingleVxjnpV7r & {
+  result?: Locations;
+};
+
+export type SchemasSingleResponseL5N1aBjf = ApiResponseSingleKLIlNaxV & {
+  result?: IdentityProviders;
+};
+
+export type SchemasSingleResponseYi1wsaX1 = ApiResponseSingleUl1k90Mw & {
+  result?: Pool;
+};
+
+export type SchemasSingleResponseL7tHFHv0 = ApiResponseSingleWkFwqHKI & {
+  result?: Peer;
+};
+
+export type SchemasSingleResponseU9ST3zLM = ApiResponseSingleI8cJ1fX8 & {
+  result?: DevicePostureIntegrations;
+};
+
+export type SchemasSshProps = {
+  allowed_idps?: AllowedIdps;
+  app_launcher_visible?: AppLauncherVisible;
+  auto_redirect_to_identity?: SchemasAutoRedirectToIdentity;
+  cors_headers?: CorsHeaders;
+  custom_deny_message?: CustomDenyMessage;
+  custom_deny_url?: CustomDenyUrl;
+  domain: Domain;
+  enable_binding_cookie?: EnableBindingCookie;
+  http_only_cookie_attribute?: HttpOnlyCookieAttribute;
+  logo_url?: LogoUrl;
+  name?: AppsComponentsSchemasName;
+  same_site_cookie_attribute?: SameSiteCookieAttribute;
+  service_auth_401_redirect?: ServiceAuth401Redirect;
+  session_duration?: SessionDuration;
+  skip_interstitial?: SkipInterstitial;
+  /**
+   * The application type.
+   *
+   * @example ssh
+   */
+  type: string;
+};
+
+/**
+ * The custom page state.
+ *
+ * @example default
+ */
+export type SchemasState = 'default' | 'customized';
+
+/**
+ * Status of the Keyless SSL.
+ *
+ * @example active
+ */
+export type SchemasStatus = 'active' | 'deleted';
+
+/**
+ * Status of this membership.
+ *
+ * @example accepted
+ */
+export type SchemasStatusJI04pNVL = 'accepted' | 'pending' | 'rejected';
+
+/**
+ * The subdomain to be used as the destination in the proxy client.
+ *
+ * @example oli3n9zkz5.proxy.cloudflare-gateway.com
+ */
+export type SchemasSubdomain = string;
+
+/**
+ * Target gateway of the hostname.
+ *
+ * @example ipfs
+ */
+export type SchemasTarget = 'ethereum' | 'ipfs' | 'ipfs_universal_path' | 'polygon';
+
+/**
+ * The timeout (in seconds) before marking the health check as failed.
+ *
+ * @default 5
+ */
+export type SchemasTimeout = number;
+
+export type SchemasToken = Token;
+
+export type SchemasTunnelAddSingleRequest = {
+  cloudflare_endpoint: CloudflareIpsecEndpoint;
+  customer_endpoint?: CustomerIpsecEndpoint;
+  description?: ComponentsSchemasDescription;
+  interface_address: InterfaceAddress;
+  name: SchemasName;
+  psk?: Psk;
+};
+
+export type SchemasTunnelDeletedResponse = ApiResponseSingleRxxEmdsv & {
+  result?: {
+    /**
+     * @example true
+     */
+    deleted?: boolean;
+    deleted_ipsec_tunnel?: Record<string, any>;
+  };
+};
+
+/**
+ * UUID of the Cloudflare Tunnel serving the route.
+ */
+export type SchemasTunnelId = void;
+
+export type SchemasTunnelModifiedResponse = ApiResponseSingleRxxEmdsv & {
+  result?: {
+    /**
+     * @example true
+     */
+    modified?: boolean;
+    modified_ipsec_tunnel?: Record<string, any>;
+  };
+};
+
+/**
+ * The user-friendly name of the Cloudflare Tunnel serving the route.
+ */
+export type SchemasTunnelName = void;
+
+export type SchemasTunnelResponseCollection = ApiResponseCollection & {
+  result?: Tunnel[];
+};
+
+export type SchemasTunnelResponseSingle = ApiResponseSingleLarS7owG & {
+  result?: Tunnel;
+};
+
+export type SchemasTunnelSingleResponse = ApiResponseSingleRxxEmdsv & {
+  result?: {
+    ipsec_tunnel?: Record<string, any>;
+  };
+};
+
+export type SchemasTunnelUpdateRequest = SchemasTunnelAddSingleRequest;
+
+export type SchemasTunnelsCollectionResponse = ApiResponseSingleRxxEmdsv & {
+  result?: {
+    ipsec_tunnels?: IpsecTunnel[];
+  };
+};
+
+/**
+ * The type of Device Posture Integration.
+ *
+ * @example workspace_one
+ */
+export type SchemasType = 'workspace_one' | 'crowdstrike_s2s' | 'uptycs' | 'intune' | 'kolide';
+
+/**
+ * The type of characteristic.
+ *
+ * @example header
+ */
+export type SchemasType73ZGJLlz = 'header' | 'cookie';
+
+/**
+ * End of time interval to query, defaults to current time. Timestamp must be in RFC3339 format and uses UTC unless otherwise specified.
+ *
+ * @example 2014-01-02T03:20:00Z
+ * @format date-time
+ */
+export type SchemasUntil = string;
+
+/**
+ * This is the time the certificate was updated.
+ *
+ * @example 2022-11-22T17:32:30.467938Z
+ * @format date-time
+ */
+export type SchemasUpdatedAt = string;
+
+/**
+ * This is the time the certificate was uploaded.
+ *
+ * @example 2019-10-28T18:11:23.37411Z
+ * @format date-time
+ */
+export type SchemasUploadedOn = string;
+
+/**
+ * The URL pattern to match, composed of a host and a path such as `example.org/path*`. Normalization is applied before the pattern is matched. `*` wildcards are expanded to match applicable traffic. Query strings are not matched. Set the value to `*` to match all traffic to your zone.
+ *
+ * @example *.example.org/path*
+ * @maxLength 1024
+ */
+export type SchemasUrl = string;
+
+/**
+ * The URLs to include in the rule definition. You can use wildcards. Each entered URL will be escaped before use, which means you can only use simple wildcard patterns.
+ */
+export type SchemasUrls = string[];
+
+/**
+ * The unique identifier for the Access group.
+ */
+export type SchemasUuid = void;
+
+/**
+ * Device ID.
+ *
+ * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
+ * @maxLength 36
+ */
+export type SchemasUuid4P4vJwxm = string;
+
+/**
+ * @example ed35569b41ce4d1facfe683550f54086
+ */
+export type SchemasUuidHmO1cTZ9 = void;
+
+/**
+ * Validation method in use for a certificate pack order.
+ *
+ * @example txt
+ */
+export type SchemasValidationMethod = 'http' | 'cname' | 'txt';
+
+/**
+ * The validity period in days for the certificates ordered via Total TLS.
+ */
+export type SchemasValidityDays = 90;
+
+/**
+ * Enables Tiered Cache.
+ *
+ * @example on
+ */
+export type SchemasValue = 'on' | 'off';
+
+/**
+ * Enables Argo Smart Routing.
+ *
+ * @example on
+ */
+export type SchemasValueGg4TAeXR = 'on' | 'off';
+
+/**
+ * Object specifying available variants for an image.
+ *
+ * @example https://imagedelivery.net/MTt4OTd0b0w5aj/107b9558-dd06-4bbd-5fef-9c2c16bb7900/thumbnail
+ * @example https://imagedelivery.net/MTt4OTd0b0w5aj/107b9558-dd06-4bbd-5fef-9c2c16bb7900/hero
+ * @example https://imagedelivery.net/MTt4OTd0b0w5aj/107b9558-dd06-4bbd-5fef-9c2c16bb7900/original
+ */
+export type SchemasVariants = (ThumbnailUrlWiwugRbe | HeroUrl | OriginalUrl)[];
+
+/**
+ * The version of the rule.
+ *
+ * @example 1
+ * @pattern ^[0-9]+$
+ */
+export type SchemasVersion = string;
+
+/**
+ * UUID of the Tunnel Virtual Network this route belongs to. If no virtual networks are configured, the route is assigned to the default virtual network of the account.
+ */
+export type SchemasVirtualNetworkId = void;
+
+export type SchemasVncProps = {
+  allowed_idps?: AllowedIdps;
+  app_launcher_visible?: AppLauncherVisible;
+  auto_redirect_to_identity?: SchemasAutoRedirectToIdentity;
+  cors_headers?: CorsHeaders;
+  custom_deny_message?: CustomDenyMessage;
+  custom_deny_url?: CustomDenyUrl;
+  domain: Domain;
+  enable_binding_cookie?: EnableBindingCookie;
+  http_only_cookie_attribute?: HttpOnlyCookieAttribute;
+  logo_url?: LogoUrl;
+  name?: AppsComponentsSchemasName;
+  same_site_cookie_attribute?: SameSiteCookieAttribute;
+  service_auth_401_redirect?: ServiceAuth401Redirect;
+  session_duration?: SessionDuration;
+  skip_interstitial?: SkipInterstitial;
+  /**
+   * The application type.
+   *
+   * @example vnc
+   */
+  type: string;
+};
+
+export type SchemasYandex = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: GenericOauthConfig;
+  id?: Uuid;
+  name: SchemasNameIXVfNmuB;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
+     */
+    group_member_deprovision?: boolean;
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type: string;
+};
+
+export type SchemasZone = {
+  name?: void;
+};
+
+/**
+ * The HTTP schemes to match. You can specify one scheme (`['HTTPS']`), both schemes (`['HTTP','HTTPS']`), or all schemes (`['_ALL_']`). This field is optional.
+ *
+ * @example HTTP
+ * @example HTTPS
+ */
+export type Schemes = string[];
+
+/**
+ * Used only for ECMP routes.
+ */
+export type Scope = {
+  colo_names?: ColoNames;
+  colo_regions?: ColoRegions;
+};
+
+/**
+ * The scope of the URL normalization.
+ *
+ * @example incoming
+ */
+export type ScopeAeLzE8f9 = string;
+
+export type Script = {
+  /**
+   * @example 2021-08-18T10:51:10.09615Z
+   */
+  added_at?: void;
+  /**
+   * @example false
+   */
+  domain_reported_malicious?: void;
+  /**
+   * @example 2021-09-02T10:17:54Z
+   */
+  fetched_at?: void;
+  /**
+   * @example blog.cloudflare.com/page
+   */
+  first_page_url?: void;
+  /**
+   * @example 2021-08-18T10:51:08Z
+   */
+  first_seen_at?: void;
+  /**
+   * @example e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+   */
+  hash?: void;
+  /**
+   * @example blog.cloudflare.com
+   */
+  host?: void;
+  /**
+   * @example c9ef84a6bf5e47138c75d95e2f933e8f
+   */
+  id?: void;
+  /**
+   * @example 10
+   */
+  js_integrity_score?: void;
+  /**
+   * @example 2021-09-02T09:57:54Z
+   */
+  last_seen_at?: void;
+  /**
+   * @example blog.cloudflare.com/page1
+   * @example blog.cloudflare.com/page2
+   */
+  page_urls?: void;
+  /**
+   * @example https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/js/bootstrap.min.js
+   */
+  url?: void;
+  /**
+   * @example false
+   */
+  url_contains_cdn_cgi_path?: void;
+};
+
+export type ScriptResponse = {
+  created_on?: CreatedOnLPNq9Pbi;
+  etag?: EtagCXrJI57j;
+  /**
+   * The id of the script in the Workers system. Usually the script name.
+   *
+   * @example my-workers-script
+   */
+  id?: string;
+  logpush?: Logpush;
+  modified_on?: ModifiedOnKlppwHF4;
+  usage_model?: UsageModel;
+};
+
+export type ScriptResponseCollection = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ScriptResponseCollectionC4kQ40kQ = {
+  errors: Messages;
+  messages: Messages;
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ScriptResponseSingle = ApiResponseSingle66BR6r1o & {
+  result?: ScriptResponse;
+};
+
+export type ScriptResponseSingle9UZV8MbP = ApiResponseSingleLarS7owG & {
+  result?: Record<string, any>;
+};
+
+/**
+ * @example 8ee82b3a2c0f42928b8f14dae4a97121
+ * @maxLength 32
+ */
+export type ScriptIdentifier = string;
+
+/**
+ * Name of the script, used in URLs and route configuration.
+ *
+ * @example this-is_my_script-01
+ * @pattern ^[a-z0-9_][a-z0-9-_]*$
+ */
+export type ScriptName = string;
+
+export type Search = {
+  /**
+   * A list of resources matching the search query.
+   */
+  resources?: ResourceReference[];
+};
+
+/**
+ * Allows searching in multiple properties of a DNS record simultaneously. This parameter is intended for human users, not automation. Its exact behavior is intentionally left unspecified and is subject to change in the future. This parameter works independently of the `match` setting. For automated searches, please use the other available parameters.
+ *
+ * @example www.cloudflare.com
+ */
+export type SearchHtkiGkPK = string;
+
+export type SearchParams = {
+  /**
+   * Search query term.
+   *
+   * @default
+   * @example primary
+   */
+  query?: string;
+  /**
+   * The type of references to include ("*" for all).
+   *
+   * @default
+   * @example *
+   */
+  references?: '' | '*' | 'referral' | 'referrer';
+};
+
+export type SearchResult = {
+  result?: Search;
+};
+
+export type Seat = {
+  access_seat: AccessSeat;
+  gateway_seat: GatewaySeat;
+  seat_uid: SeatUid;
+};
+
+/**
+ * The unique API identifier for the Zero Trust seat.
+ */
+export type SeatUid = void;
+
+export type Seats = {
+  access_seat?: AccessSeat;
+  created_at?: Timestamp;
+  gateway_seat?: GatewaySeat;
+  seat_uid?: SeatUid;
+  updated_at?: Timestamp;
+};
+
+export type SeatsComponentsSchemasResponseCollection = ApiResponseCollection & {
+  result?: Seats[];
+};
+
+export type SeatsDefinition = Seat[];
+
+/**
+ * TSIG secret.
+ *
+ * @example caf79a7804b04337c9c66ccd7bef9190a1e1679b5dd03d8aa10f7ad45e1a9dab92b417896c15d4d007c7c14194538d2a5d0feffdecc5a7f0e1c570cfa700837c
+ */
+export type Secret = string;
+
+/**
+ * Optional secret that will be passed in the `cf-webhook-auth` header when dispatching a webhook notification. Secrets are not returned in any API response body.
+ */
+export type SecretLnW39Y7R = string;
+
+/**
+ * Cloudflare security header for a zone.
+ */
+export type SecurityHeader = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone's security header.
+   *
+   * @example security_header
+   */
+  id: 'security_header';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: SecurityHeaderValue;
+};
+
+export type SecurityHeaderValue = {
+  /**
+   * Strict Transport Security.
+   */
+  strict_transport_security?: {
+    /**
+     * Whether or not strict transport security is enabled.
+     *
+     * @example true
+     */
+    enabled?: boolean;
+    /**
+     * Include all subdomains for strict transport security.
+     *
+     * @example true
+     */
+    include_subdomains?: boolean;
+    /**
+     * Max age in seconds of the strict transport security.
+     *
+     * @example 86400
+     */
+    max_age?: number;
+    /**
+     * Whether or not to include 'X-Content-Type-Options: nosniff' header.
+     *
+     * @example true
+     */
+    nosniff?: boolean;
+  };
+};
+
+/**
+ * Choose the appropriate security profile for your website, which will automatically adjust each of the security settings. If you choose to customize an individual security setting, the profile will become Custom. (https://support.cloudflare.com/hc/en-us/articles/200170056).
+ */
+export type SecurityLevel = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example security_level
+   */
+  id: 'security_level';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: SecurityLevelValue;
+};
+
+/**
+ * Value of the zone setting.
+ *
+ * @default medium
+ */
+export type SecurityLevelValue = 'off' | 'essentially_off' | 'low' | 'medium' | 'high' | 'under_attack';
+
+export type SelfHostedProps = {
+  allowed_idps?: AllowedIdps;
+  app_launcher_visible?: AppLauncherVisible;
+  auto_redirect_to_identity?: SchemasAutoRedirectToIdentity;
+  cors_headers?: CorsHeaders;
+  custom_deny_message?: CustomDenyMessage;
+  custom_deny_url?: CustomDenyUrl;
+  domain: Domain;
+  enable_binding_cookie?: EnableBindingCookie;
+  http_only_cookie_attribute?: HttpOnlyCookieAttribute;
+  logo_url?: LogoUrl;
+  name?: AppsComponentsSchemasName;
+  path_cookie_attribute?: PathCookieAttribute;
+  same_site_cookie_attribute?: SameSiteCookieAttribute;
+  service_auth_401_redirect?: ServiceAuth401Redirect;
+  session_duration?: SessionDuration;
+  skip_interstitial?: SkipInterstitial;
+  /**
+   * The application type.
+   *
+   * @example self_hosted
+   */
+  type: string;
+};
+
+export type SelfHostedPropsUAlJDzGr = {
+  allowed_idps?: AllowedIdps;
+  app_launcher_visible?: AppLauncherVisible;
+  auto_redirect_to_identity?: AutoRedirectToIdentityB0IhfGBw;
+  cors_headers?: CorsHeaders;
+  custom_deny_message?: CustomDenyMessage;
+  custom_deny_url?: CustomDenyUrl;
+  domain?: SchemasDomainA7q0ZzCX;
+  enable_binding_cookie?: EnableBindingCookie;
+  http_only_cookie_attribute?: HttpOnlyCookieAttribute;
+  logo_url?: LogoUrl;
+  name?: AppsComponentsSchemasName;
+  same_site_cookie_attribute?: SameSiteCookieAttribute;
+  service_auth_401_redirect?: ServiceAuth401Redirect;
+  session_duration?: SessionDuration;
+  skip_interstitial?: SkipInterstitial;
+  /**
+   * The application type.
+   *
+   * @example self_hosted
+   */
+  type?: string;
+};
+
+/**
+ * The sensitivity of the WAF package.
+ *
+ * @default high
+ */
+export type Sensitivity = 'high' | 'medium' | 'low' | 'off';
+
+/**
+ * Timestamp of when the notification was dispatched in ISO 8601 format.
+ *
+ * @example 2021-10-08T17:52:17.571336Z
+ * @format date-time
+ */
+export type Sent = string;
+
+/**
+ * The serial number on the uploaded certificate.
+ *
+ * @example 6743787633689793699141714808227354901
+ */
+export type SerialNumber = string;
+
+/**
+ * The device serial number.
+ *
+ * @example EXAMPLEHMD6R
+ */
+export type SerialNumberJQ6wzAYC = string;
+
+/**
+ * If there is sensitive content on your website that you want visible to real visitors, but that you want to hide from suspicious visitors, all you have to do is wrap the content with Cloudflare SSE tags. Wrap any content that you want to be excluded from suspicious visitors in the following SSE tags: <!--sse--><!--/sse-->. For example: <!--sse-->  Bad visitors won't see my phone number, 555-555-5555 <!--/sse-->. Note: SSE only will work with HTML. If you have HTML minification enabled, you won't see the SSE tags in your HTML source when it's served through Cloudflare. SSE will still function in this case, as Cloudflare's HTML minification and SSE functionality occur on-the-fly as the resource moves through our network to the visitor's computer. (https://support.cloudflare.com/hc/en-us/articles/200170036).
+ */
+export type ServerSideExclude = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example server_side_exclude
+   */
+  id: 'server_side_exclude';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: ServerSideExcludeValue;
+};
+
+/**
+ * Value of the zone setting.
+ *
+ * @default on
+ */
+export type ServerSideExcludeValue = 'on' | 'off';
+
+/**
+ * The service using the certificate.
+ *
+ * @example gateway
+ */
+export type Service = string;
+
+export type ServiceTokens = {
+  client_id?: ClientId;
+  created_at?: Timestamp;
+  /**
+   * The ID of the service token.
+   */
+  id?: void;
+  name?: ServiceTokensComponentsSchemasName;
+  updated_at?: Timestamp;
+};
+
+/**
+ * The name of the service token.
+ *
+ * @example CI/CD token
+ */
+export type ServiceTokensComponentsSchemasName = string;
+
+export type ServiceTokensComponentsSchemasResponseCollection = ApiResponseCollection & {
+  result?: ServiceTokens[];
+};
+
+export type ServiceTokensComponentsSchemasSingleResponse = ApiResponseSingleKLIlNaxV & {
+  result?: ServiceTokens;
+};
+
+export type ServiceTokensComponentsSchemasSingleResponseAyQvwAXm = ApiResponseSingleLarS7owG & {
+  result?: ServiceTokens;
+};
+
+/**
+ * Returns a 401 status code when the request is blocked by a Service Auth policy.
+ *
+ * @example true
+ */
+export type ServiceAuth401Redirect = boolean;
+
+export type ServiceModeV2 = {
+  /**
+   * The mode to run the WARP client under.
+   *
+   * @example proxy
+   */
+  mode?: string;
+  /**
+   * The port number when used with proxy mode.
+   *
+   * @example 3000
+   */
+  port?: number;
+};
+
+/**
+ * The session_affinity specifies the type of session affinity the load balancer should use unless specified as "none" or ""(default). The supported types are "cookie" and "ip_cookie". "cookie" - On the first request to a proxied load balancer, a cookie is generated, encoding information of which origin the request will be forwarded to. Subsequent requests, by the same client to the same load balancer, will be sent to the origin server the cookie encodes, for the duration of the cookie and as long as the origin server remains healthy. If the cookie has expired or the origin server is unhealthy then a new origin server is calculated and used. "ip_cookie" behaves the same as "cookie" except the initial origin selection is stable and based on the client’s ip address.
+ *
+ * @default ""
+ * @example cookie
+ */
+export type SessionAffinity = 'none' | 'cookie' | 'ip_cookie' | '""';
+
+/**
+ * Configures cookie attributes for session affinity cookie.
+ */
+export type SessionAffinityAttributes = {
+  /**
+   * Configures the drain duration in seconds. This field is only used when session affinity is enabled on the load balancer.
+   *
+   * @example 100
+   */
+  drain_duration?: number;
+  /**
+   * Configures the SameSite attribute on session affinity cookie. Value "Auto" will be translated to "Lax" or "None" depending if Always Use HTTPS is enabled. Note: when using value "None", the secure attribute can not be set to "Never".
+   *
+   * @default Auto
+   * @example Auto
+   */
+  samesite?: 'Auto' | 'Lax' | 'None' | 'Strict';
+  /**
+   * Configures the Secure attribute on session affinity cookie. Value "Always" indicates the Secure attribute will be set in the Set-Cookie header, "Never" indicates the Secure attribute will not be set, and "Auto" will set the Secure attribute depending if Always Use HTTPS is enabled.
+   *
+   * @default Auto
+   * @example Auto
+   */
+  secure?: 'Auto' | 'Always' | 'Never';
+  /**
+   * Configures the zero-downtime failover between origins within a pool when session affinity is enabled. Value "none" means no failover takes place for sessions pinned to the origin (default). Value "temporary" means traffic will be sent to another other healthy origin until the originally pinned origin is available; note that this can potentially result in heavy origin flapping. Value "sticky" means the session affinity cookie is updated and subsequent requests are sent to the new origin. This feature is currently incompatible with Argo, Tiered Cache, and Bandwidth Alliance.
+   *
+   * @default none
+   * @example sticky
+   */
+  zero_downtime_failover?: 'none' | 'temporary' | 'sticky';
+};
+
+/**
+ * Time, in seconds, until this load balancer's session affinity cookie expires after being created. This parameter is ignored unless a supported session affinity policy is set. The current default of 23 hours will be used unless session_affinity_ttl is explicitly set. The accepted range of values is between [1800, 604800]. Once the expiry time has been reached, subsequent requests may get sent to a different origin server.
+ *
+ * @example 5000
+ */
+export type SessionAffinityTtl = number;
+
+/**
+ * The amount of time that tokens issued for this application will be valid. Must be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s, m, h.
+ *
+ * @default 24h
+ * @example 24h
+ */
+export type SessionDuration = string;
+
+/**
+ * Lifetime of a cookie (in minutes) set by Cloudflare for users who get access to the route. If a user is not seen by Cloudflare again in that time period, they will be treated as a new user that visits the route.
+ *
+ * @default 5
+ * @maximum 30
+ * @minimum 1
+ */
+export type SessionDurationDWa1S8Ip = number;
+
+/**
+ * Unique session id of the job.
+ *
+ * @example 99d471b1ca3c23cc8e30b6acec5db987
+ */
+export type SessionId = string;
+
+export type Setting =
+  | Zerortt
+  | AdvancedDdos
+  | AlwaysOnline
+  | AlwaysUseHttps
+  | AutomaticHttpsRewrites
+  | Brotli
+  | BrowserCacheTtl
+  | BrowserCheck
+  | CacheLevel
+  | ChallengeTtl
+  | Ciphers
+  | CnameFlattening
+  | DevelopmentMode
+  | EarlyHints
+  | EdgeCacheTtl
+  | EmailObfuscation
+  | H2Prioritization
+  | HotlinkProtection
+  | Http2
+  | Http3
+  | ImageResizing
+  | IpGeolocation
+  | Ipv6
+  | MaxUpload
+  | MinTlsVersion
+  | Minify
+  | Mirage
+  | MobileRedirect
+  | Nel
+  | OpportunisticEncryption
+  | OpportunisticOnion
+  | OrangeToOrange
+  | OriginErrorPagePassThru
+  | OriginMaxHttpVersion
+  | Polish
+  | PrefetchPreload
+  | PrivacyPass
+  | ProxyReadTimeout
+  | PseudoIpv4
+  | ResponseBuffering
+  | RocketLoader
+  | SchemasAutomaticPlatformOptimization
+  | SecurityHeader
+  | SecurityLevel
+  | ServerSideExclude
+  | Sha1Support
+  | SortQueryStringForCache
+  | SslCvCTPIf1
+  | SslRecommender
+  | Tls12Only
+  | Tls13
+  | TlsClientAuth
+  | TrueClientIpHeader
+  | Waf
+  | Webp
+  | Websockets;
+
+export type Settings = {
+  /**
+   * Request client certificates for this hostname in China. Can only be set to true if this zone is china network enabled.
+   *
+   * @example false
+   */
+  china_network: boolean;
+  /**
+   * Client Certificate Forwarding is a feature that takes the client cert provided by the eyeball to the edge, and forwards it to the origin as a HTTP header to allow logging on the origin.
+   *
+   * @example true
+   */
+  client_certificate_forwarding: boolean;
+  /**
+   * The hostname that these settings apply to.
+   *
+   * @example admin.example.com
+   */
+  hostname: string;
+};
+
+export type SettingsPG6mq1EP = EmailSettingsProperties;
+
+/**
+ * Settings available for the zone.
+ *
+ * @example {"id":"browser_check","properties":[{"name":"value","type":"toggle"}]}
+ * @example {"id":"browser_cache_ttl","properties":[{"max":31536000,"min":1800,"name":"value","suggested_values":[1800,3600,7200,10800,14400,18000,28800,43200,57600,72000,86400,172800,259200,345600,432000,691200,1382400,2073600,2678400,5356800,16070400,31536000],"type":"range"}]}
+ * @example {"id":"browser_check","properties":[{"name":"value","type":"toggle"}]}
+ * @example {"id":"cache_key_fields","properties":[{"name":"value","properties":[{"allowEmpty":true,"choices":["include","exclude"],"multiple":false,"name":"query_string","type":"select"},{"allowEmpty":true,"choices":["include","exclude","check_presence"],"multiple":true,"name":"header","type":"select"},{"allowEmpty":false,"choices":["resolved"],"multiple":true,"name":"host","type":"select"},{"allowEmpty":true,"choices":["include","check_presence"],"multiple":true,"name":"cookie","type":"select"},{"allowEmpty":false,"choices":["device_type","geo","lang"],"multiple":true,"name":"user","type":"select"}],"type":"object"}]}
+ * @example {"id":"cache_deception_armor","properties":[{"name":"value","type":"toggle"}]}
+ * @example {"id":"cache_level","properties":[{"choices":["bypass","basic","simplified","aggressive","cache_everything"],"multiple":false,"name":"value","type":"select"}]}
+ * @example {"id":"cache_ttl_by_status","properties":[{"allowEmpty":false,"name":"value","type":"object"}]}
+ * @example {"id":"disable_apps","properties":[]}
+ * @example {"id":"disable_performance","properties":[]}
+ * @example {"id":"disable_security","properties":[]}
+ * @example {"id":"edge_cache_ttl","properties":[{"max":2419200,"min":7200,"name":"value","suggested_values":[7200,10800,14400,18000,28800,43200,57600,72000,86400,172800,259200,345600,432000,518400,604800,1209600,2419200],"type":"range"}]}
+ * @example {"id":"email_obfuscation","properties":[{"name":"value","type":"toggle"}]}
+ * @example {"id":"forwarding_url","properties":[{"choices":[301,302],"multiple":false,"name":"status_code","type":"choice"},{"name":"url","type":"forwardingUrl"}]}
+ * @example {"id":"ip_geolocation","properties":[{"name":"value","type":"toggle"}]}
+ * @example {"id":"minify","properties":[{"allowEmpty":true,"choices":["html","css","js"],"multiple":true,"name":"value","type":"select"}]}
+ * @example {"id":"explicit_cache_control","properties":[{"name":"value","type":"toggle"}]}
+ * @example {"id":"rocket_loader","properties":[{"name":"value","type":"toggle"}]}
+ * @example {"id":"security_level","properties":[{"choices":["essentially_off","low","medium","high","under_attack"],"multiple":false,"name":"value","type":"select"}]}
+ * @example {"id":"server_side_exclude","properties":[{"name":"value","type":"toggle"}]}
+ * @example {"id":"ssl","properties":[{"choices":["off","flexible","full","strict"],"multiple":false,"name":"value","type":"choice"}]}
+ */
+export type SettingsWG7ImyVP = Record<string, any>[];
+
+/**
+ * Allow SHA1 support.
+ */
+export type Sha1Support = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * Zone setting identifier.
+   *
+   * @example sha1_support
+   */
+  id: 'sha1_support';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: Sha1SupportValue;
+};
+
+/**
+ * Value of the zone setting.
+ *
+ * @default off
+ */
+export type Sha1SupportValue = 'off' | 'on';
+
+/**
+ * Properties of an integration entry in a custom profile
+ */
+export type SharedEntryUpdateIntegration = {
+  /**
+   * Whether the entry is enabled or not.
+   */
+  enabled?: boolean;
+  entry_id?: EntryId;
+};
+
+/**
+ * Properties of a predefined entry in a custom profile
+ */
+export type SharedEntryUpdatePredefined = {
+  /**
+   * Whether the entry is enabled or not.
+   *
+   * @example true
+   */
+  enabled?: boolean;
+  entry_id?: EntryId;
+};
+
+/**
+ * The type of hash used for the certificate.
+ *
+ * @example SHA256WithRSA
+ */
+export type Signature = string;
+
+export type SignedTokenRequest = {
+  /**
+   * The optional list of access rule constraints on the token. Access can be blocked or allowed based on an IP, IP range, or by country. Access rules are evaluated from first to last. If a rule matches, the associated action is applied and no further rules are evaluated.
+   *
+   * @example {"action":"block","country":["US","MX"],"type":"ip.geoip.country"}
+   * @example {"action":"allow","ip":["93.184.216.0/24","2400:cb00::/32"],"type":"ip.src"}
+   * @example {"action":"block","type":"any"}
+   */
+  accessRules?: AccessRules[];
+  /**
+   * The optional boolean value that enables using signed tokens to access MP4 download links for a video.
+   *
+   * @default false
+   */
+  downloadable?: boolean;
+  /**
+   * The optional unix epoch timestamp that specficies the time after a token is not accepted. The maximum time specification is 24 hours from issuing time. If this field is not set, the default is one hour after issuing.
+   */
+  exp?: number;
+  /**
+   * The optional ID of a Stream signing key. If present, the `pem` field is also required.
+   *
+   * @example ab0d4ef71g4425f8dcba9041231813000
+   */
+  id?: string;
+  /**
+   * The optional unix epoch timestamp that specifies the time before a the token is not accepted. If this field is not set, the default is one hour before issuing.
+   */
+  nbf?: number;
+  /**
+   * The optional base64 encoded private key in PEM format associated with a Stream signing key. If present, the `id` field is also required.
+   *
+   * @example LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBc284dnBvOFpEWXRkOUgzbWlPaW1qYXAzVXlVM0oyZ3kwTUYvN1R4blJuRnkwRHpDCkxqUk9naFZsQ0hPQmxsd3NVaE9GU0lyYnN4K05tUTdBeS90TFpXSGxuVGF3UWJ5WGZGOStJeDhVSnNlSHBGV1oKNVF5Z1JYd2liSjh1MVVsZ2xlcmZHMkpueldjVXpZTzEySktZN3doSkw1ajROMWgxZFJNUXQ5Q1pkZFlCQWRzOQpCdk02cjRFMDcxQkhQekhWeDMrUTI1VWtubGdUNXIwS3FiM1E1Y0dlTlBXY1JreW1ybkJEWWR0OXR4eFFMb1dPCllzNXdsMnVYWFVYL0VGcDMwajU0Nmp6czllWExLYlNDbjJjTDZFVE96Y2x3aG9DRGx2a2VQT05rUE9LMDVKNUMKTm1TdFdhMG9hV1VGRzM0MFl3cVVrWGt4OU9tNndXd1JldU1uU1FJREFRQUJBb0lCQUFJOHo1ck5kOEdtOGJBMgo1S3pxQjI1R2lOVENwbUNJeW53NXRJWHZTQmNHcEdydUcvdlN2WG9kVlFVSVY0TWdHQkVXUEFrVzdsNWVBcHI4CnA1ZFd5SkRXYTNkdklFSE9vSEpYU3dBYksxZzZEMTNVa2NkZ1EyRGpoNVhuWDhHZCtBY2c2SmRTQWgxOWtYSHEKMk54RUtBVDB6Ri83a1g2MkRkREFBcWxmQkpGSXJodVIvZUdEVWh4L2piTTRhQ2JCcFdiM0pnRE9OYm5tS1ZoMwpxS2ZwZmRZZENZU1lzWUxrNTlxRDF2VFNwUVFUQ0VadW9VKzNzRVNhdkJzaUs1bU0vTzY5ZkRMRXNURG1MeTVQCmhEK3BMQXI0SlhNNjFwRGVBS0l3cUVqWWJybXlDRHRXTUdJNnZzZ0E1eXQzUUJaME9vV2w5QUkwdWxoZ3p4dXQKZ2ZFNTRRRUNnWUVBN0F3a0lhVEEzYmQ4Nk9jSVZnNFlrWGk1cm5aNDdsM1k4V24zcjIzUmVISXhLdkllRUtSbgp5bUlFNDFtRVBBSmlGWFpLK1VPTXdkeS9EcnFJUithT1JiT2NiV01jWUg2QzgvbG1wdVJFaXE3SW1Ub3VWcnA4CnlnUkprMWprVDA4cTIvNmg4eTBEdjJqMitsaHFXNzRNOUt0cmwxcTRlWmZRUFREL01tR1NnTWtDZ1lFQXdhY04KaSttN1p6dnJtL3NuekF2VlZ5SEtwZHVUUjNERk1naC9maC9tZ0ZHZ1RwZWtUOVV5b3FleGNYQXdwMVlhL01iQQoyNTVJVDZRbXZZTm5yNXp6Wmxic2tMV0hsYllvbWhmWnVXTHhXR3hRaEFORWdaMFVVdUVTRGMvbWx2UXZHbEtSCkZoaGhBUWlVSmdDamhPaHk1SlBiNGFldGRKd0UxK09lVWRFaE1vRUNnWUVBNG8yZ25CM1o4ck5xa3NzemlBek4KYmNuMlJVbDJOaW9pejBwS3JMaDFaT29NNE5BekpQdjJsaHRQMzdtS0htS1hLMHczRjFqTEgwSTBxZmxFVmVZbQpSU1huakdHazJjUnpBYUVzOGgrQzNheDE0Z01pZUtGU3BqNUpNOEFNbVVZOXQ1cUVhN2FYc3o0V1ZoOUlMYmVTCkRiNzlhKzVwd21LQVBrcnBsTHhyZFdrQ2dZQlNNSHVBWVdBbmJYZ1BDS2FZWklGVWJNUWNacmY0ZnpWQ2lmYksKYWZHampvRlNPZXdEOGdGK3BWdWJRTGwxbkFieU44ek1xVDRaaHhybUhpcFlqMjJDaHV2NmN3RXJtbGRiSnpwQwpBMnRaVXdkTk1ESFlMUG5lUHlZeGRJWnlsUXFVeW14SGkydElUQUxNcWtLOGV3ZWdXZHpkeGhQSlJScU5JazhrCmZIVHhnUUtCZ1FEUFc2UXIxY3F3QjNUdnVWdWR4WGRqUTdIcDFodXhrNEVWaEFJZllKNFhSTW1NUE5YS28wdHUKdUt6LzE0QW14R0dvSWJxYVc1bDMzeFNteUxhem84clNUN0tSTjVKME9JSHcrZkR5SFgxdHpVSjZCTldDcEFTcwpjbWdNK0htSzVON0w2bkNaZFJQY2IwU1hGaVRQUGhCUG1PVWFDUnpER0ZMK2JYM1VwajJKbWc9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
+   */
+  pem?: string;
+};
+
+export type SignedTokenResponse = ApiResponseSingleYdRGfgTy & {
+  result?: {
+    /**
+     * The signed token used with the signed URLs feature.
+     *
+     * @example eyJhbGciOiJSUzI1NiIsImtpZCI6ImU5ZGI5OTBhODI2NjZkZDU3MWM3N2Y5NDRhNWM1YzhkIn0.eyJzdWIiOiJlYTk1MTMyYzE1NzMyNDEyZDIyYzE0NzZmYTgzZjI3YSIsImtpZCI6ImU5ZGI5OTBhODI2NjZkZDU3MWM3N2Y5NDRhNWM1YzhkIiwiZXhwIjoiMTUzNzQ2MDM2NSIsIm5iZiI6IjE1Mzc0NTMxNjUifQ.OZhqOARADn1iubK6GKcn25hN3nU-hCFF5q9w2C4yup0C4diG7aMIowiRpP-eDod8dbAJubsiFuTKrqPcmyCKWYsiv0TQueukqbQlF7HCO1TV-oF6El5-7ldJ46eD-ZQ0XgcIYEKrQOYFF8iDQbqPm3REWd6BnjKZdeVrLzuRaiSnZ9qqFpGu5dfxIY9-nZKDubJHqCr3Imtb211VIG_b9MdtO92JjvkDS-rxT_pkEfTZSafl1OU-98A7KBGtPSJHz2dHORIrUiTA6on4eIXTj9aFhGiir4rSn-rn0OjPRTtJMWIDMoQyE_fwrSYzB7MPuzL2t82BWaEbHZTfixBm5A
+     */
+    token?: string;
+  };
+};
+
+/**
+ * The date and time a signing key was created.
+ *
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
+ */
+export type SigningKeyCreated = string;
+
+/**
+ * Start date and time of requesting data period in ISO 8601 format.
+ *
+ * @example 2023-11-11T12:00:00Z
+ * @format date-time
+ */
+export type Since = string;
+
+/**
+ * The (inclusive) beginning of the requested time frame. This value can be a negative integer representing the number of minutes in the past relative to time the request is made, or can be an absolute timestamp that conforms to RFC 3339. At this point in time, it cannot exceed a time in the past greater than one year.
+ *
+ * Ranges that the Cloudflare web application provides will provide the following period length for each point:
+ * - Last 60 minutes (from -59 to -1): 1 minute resolution
+ * - Last 7 hours (from -419 to -60): 15 minutes resolution
+ * - Last 15 hours (from -899 to -420): 30 minutes resolution
+ * - Last 72 hours (from -4320 to -900): 1 hour resolution
+ * - Older than 3 days (-525600 to -4320): 1 day resolution.
+ *
+ * @default -10080
+ * @example 2015-01-01T12:23:00Z
+ */
+export type SinceO1OWzWkU = string | number;
+
+export type SingleInviteResponse = ApiResponseSingleLarS7owG & {
+  result?: Record<string, any>;
+};
+
+export type SingleMemberResponse = ApiResponseSingleLarS7owG & {
+  result?: Record<string, any>;
+};
+
+export type SingleMembershipResponse = ApiResponseSingleLarS7owG & {
+  result?: Record<string, any>;
+};
+
+export type SingleOrganizationResponse = ApiResponseSingleLarS7owG & {
+  result?: Record<string, any>;
+};
+
+export type SingleRequestOutgoing = {
+  id: Identifier6txek3jw;
+  name: NameSjz7boGi;
+  peers: Peers;
+};
+
+export type SingleResponse = ApiResponseSingleZ04EBmfK & {
+  result?: IpamPrefixes;
+};
+
+export type SingleResponse9WvPBIoi = ApiResponseSingleVxjnpV7r & {
+  result?: Lists;
+};
+
+export type SingleResponseGuXwMQTl = ApiResponseSingleWkFwqHKI & {
+  result?: Tsig;
+};
+
+export type SingleResponseHInSCAYE = ApiResponseSingleI8cJ1fX8 & {
+  result?: DevicePostureRules;
+};
+
+export type SingleResponseL9G76tiZ = ApiResponseSinglePn9rJJNX & {
+  result?: Waitingroom;
+};
+
+export type SingleResponseMWfbtc4A = ApiResponseSingleKLIlNaxV & {
+  result?: Organizations;
+};
+
+export type SingleResponseMt0dL1Zb = ApiResponseSingleUl1k90Mw & {
+  result?: Monitor;
+};
+
+export type SingleResponseSdWXUg59 = ApiResponseSingleO4T7cMiV & {
+  result?: Healthchecks;
+};
+
+export type SingleResponseH60I6kRL = ApiResponseSingleLarS7owG & {
+  result?: Configuration;
+};
+
+export type SingleResponseHostnames = ApiResponseSingleKLIlNaxV & {
+  result?: Settings;
+};
+
+export type SingleResponseIncoming = ApiResponseSingleWkFwqHKI & {
+  result?: {
+    auto_refresh_seconds?: AutoRefreshSeconds;
+    checked_time?: Time;
+    created_time?: Time;
+    id?: Identifier6txek3jw;
+    modified_time?: Time;
+    name?: NameSjz7boGi;
+    peers?: Peers;
+    soa_serial?: SoaSerial;
+  };
+};
+
+export type SingleResponseOutgoing = ApiResponseSingleWkFwqHKI & {
+  result?: {
+    checked_time?: Time;
+    created_time?: Time;
+    id?: Identifier6txek3jw;
+    last_transferred_time?: Time;
+    name?: NameSjz7boGi;
+    peers?: Peers;
+    soa_serial?: SoaSerial;
+  };
+};
+
+export type SingleResponseWithListItems = ApiResponseSingleVxjnpV7r & {
+  result?: {
+    created_at?: Timestamp;
+    description?: DescriptionX9wAFqIk;
+    id?: Uuid1mDHWugl;
+    items?: Items;
+    name?: NameCf4EglAb;
+    type?: TypeKFroakje;
+    updated_at?: Timestamp;
+  };
+};
+
+export type SingleRoleResponse = ApiResponseSingleLarS7owG & {
+  result?: Record<string, any>;
+};
+
+export type SingleUserResponse = ApiResponseSingleLarS7owG & {
+  result?: Record<string, any>;
+};
+
+/**
+ * The size of the media item in bytes.
+ *
+ * @example 4190963
+ */
+export type Size = number;
+
+/**
+ * Subject Key Identifier
+ *
+ * @example 8e375af1389a069a0f921f8cc8e1eb12d784b949
+ */
+export type Ski = string;
+
+/**
+ * Enables automatic authentication through cloudflared.
+ *
+ * @example true
+ */
+export type SkipInterstitial = boolean;
+
+/**
+ * The serial number of the SOA for the given zone.
+ *
+ * @example 2019102400
+ */
+export type SoaSerial = number;
+
+/**
+ * A comma-separated list of dimensions to sort by, where each dimension may be prefixed by - (descending) or + (ascending).
+ *
+ * @example +responseCode,-queryName
+ */
+export type Sort = string;
+
+/**
+ * The sort order for the result set; sort fields must be included in `metrics` or `dimensions`.
+ *
+ * @example +count
+ * @example -bytesIngress
+ */
+export type SortTaWT8hAQ = any[];
+
+/**
+ * Cloudflare will treat files with the same query strings as the same file in cache, regardless of the order of the query strings. This is limited to Enterprise Zones.
+ *
+ * @default off
+ */
+export type SortQueryStringForCache = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example sort_query_string_for_cache
+   */
+  id: 'sort_query_string_for_cache';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: SortQueryStringForCacheValue;
+};
+
+/**
+ * Value of the zone setting.
+ *
+ * @default off
+ */
+export type SortQueryStringForCacheValue = 'on' | 'off';
+
+export type SplitTunnel = {
+  /**
+   * The address in CIDR format to exclude from the tunnel. If address is present, host must not be present.
+   *
+   * @example 192.0.2.0/24
+   */
+  address: string;
+  /**
+   * A description of the split tunnel item, displayed in the client UI.
+   *
+   * @example Exclude testing domains from the tunnel
+   * @maxLength 100
+   */
+  description: string;
+  /**
+   * The domain name to exclude from the tunnel. If host is present, address must not be present.
+   *
+   * @example *.example.com
+   */
+  host?: string;
+};
+
+export type SplitTunnelInclude = {
+  /**
+   * The address in CIDR format to include in the tunnel. If address is present, host must not be present.
+   *
+   * @example 192.0.2.0/24
+   */
+  address: string;
+  /**
+   * A description of the split tunnel item, displayed in the client UI.
+   *
+   * @example Include testing domains from the tunnel
+   * @maxLength 100
+   */
+  description: string;
+  /**
+   * The domain name to include in the tunnel. If host is present, address must not be present.
+   *
+   * @example *.example.com
+   */
+  host?: string;
+};
+
+export type SplitTunnelIncludeResponseCollection = ApiResponseCollection & {
+  result?: SplitTunnelInclude[];
+};
+
+export type SplitTunnelResponseCollection = ApiResponseCollection & {
+  result?: SplitTunnel[];
+};
+
+export type SshProps = {
+  allowed_idps?: AllowedIdps;
+  app_launcher_visible?: AppLauncherVisible;
+  auto_redirect_to_identity?: AutoRedirectToIdentityB0IhfGBw;
+  cors_headers?: CorsHeaders;
+  custom_deny_message?: CustomDenyMessage;
+  custom_deny_url?: CustomDenyUrl;
+  domain?: SchemasDomainA7q0ZzCX;
+  enable_binding_cookie?: EnableBindingCookie;
+  http_only_cookie_attribute?: HttpOnlyCookieAttribute;
+  logo_url?: LogoUrl;
+  name?: AppsComponentsSchemasName;
+  same_site_cookie_attribute?: SameSiteCookieAttribute;
+  service_auth_401_redirect?: ServiceAuth401Redirect;
+  session_duration?: SessionDuration;
+  skip_interstitial?: SkipInterstitial;
+  /**
+   * The application type.
+   *
+   * @example ssh
+   */
+  type?: string;
+};
+
+/**
+ * SSL properties for the custom hostname.
+ */
+export type Ssl = {
+  /**
+   * A ubiquitous bundle has the highest probability of being verified everywhere, even by clients using outdated or unusual trust stores. An optimal bundle uses the shortest chain and newest intermediates. And the force bundle verifies the chain, but does not otherwise modify it.
+   *
+   * @default ubiquitous
+   * @example ubiquitous
+   */
+  bundle_method?: 'ubiquitous' | 'optimal' | 'force';
+  certificate_authority?: CertificateAuthority;
+  /**
+   * If a custom uploaded certificate is used.
+   *
+   * @example -----BEGIN CERTIFICATE-----\nMIIFJDCCBAygAwIBAgIQD0ifmj/Yi5NP/2gdUySbfzANBgkqhkiG9w0BAQsFADBN\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMScwJQYDVQQDEx5E...SzSHfXp5lnu/3V08I72q1QNzOCgY1XeL4GKVcj4or6cT6tX6oJH7ePPmfrBfqI/O\nOeH8gMJ+FuwtXYEPa4hBf38M5eU5xWG7\n-----END CERTIFICATE-----\n
+   */
+  custom_certificate?: string;
+  /**
+   * The identifier for the Custom CSR that was used.
+   *
+   * @example 7b163417-1d2b-4c84-a38a-2fb7a0cd7752
+   */
+  custom_csr_id?: string;
+  /**
+     * The key for a custom uploaded certificate.
+     *
+     * @example -----BEGIN RSA PRIVATE KEY-----
+    MIIEowIBAAKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmG
+    dtcGbg/1CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKn
+    abIRuGvBKwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpid
+    tnKX/a+50GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+py
+    FxIXjbEIdZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pE
+    ewooaeO2izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABAoIBACbhTYXBZYKmYPCb
+    HBR1IBlCQA2nLGf0qRuJNJZg5iEzXows/6tc8YymZkQE7nolapWsQ+upk2y5Xdp/
+    axiuprIs9JzkYK8Ox0r+dlwCG1kSW+UAbX0bQ/qUqlsTvU6muVuMP8vZYHxJ3wmb
+    +ufRBKztPTQ/rYWaYQcgC0RWI20HTFBMxlTAyNxYNWzX7RKFkGVVyB9RsAtmcc8g
+    +j4OdosbfNoJPS0HeIfNpAznDfHKdxDk2Yc1tV6RHBrC1ynyLE9+TaflIAdo2MVv
+    KLMLq51GqYKtgJFIlBRPQqKoyXdz3fGvXrTkf/WY9QNq0J1Vk5ERePZ54mN8iZB7
+    9lwy/AkCgYEA6FXzosxswaJ2wQLeoYc7ceaweX/SwTvxHgXzRyJIIT0eJWgx13Wo
+    /WA3Iziimsjf6qE+SI/8laxPp2A86VMaIt3Z3mJN/CqSVGw8LK2AQst+OwdPyDMu
+    iacE8lj/IFGC8mwNUAb9CzGU3JpU4PxxGFjS/eMtGeRXCWkK4NE+G08CgYEA1Kp9
+    N2JrVlqUz+gAX+LPmE9OEMAS9WQSQsfCHGogIFDGGcNf7+uwBM7GAaSJIP01zcoe
+    VAgWdzXCv3FLhsaZoJ6RyLOLay5phbu1iaTr4UNYm5WtYTzMzqh8l1+MFFDl9xDB
+    vULuCIIrglM5MeS/qnSg1uMoH2oVPj9TVst/ir8CgYEAxrI7Ws9Zc4Bt70N1As+U
+    lySjaEVZCMkqvHJ6TCuVZFfQoE0r0whdLdRLU2PsLFP+q7qaeZQqgBaNSKeVcDYR
+    9B+nY/jOmQoPewPVsp/vQTCnE/R81spu0mp0YI6cIheT1Z9zAy322svcc43JaWB7
+    mEbeqyLOP4Z4qSOcmghZBSECgYACvR9Xs0DGn+wCsW4vze/2ei77MD4OQvepPIFX
+    dFZtlBy5ADcgE9z0cuVB6CiL8DbdK5kwY9pGNr8HUCI03iHkW6Zs+0L0YmihfEVe
+    PG19PSzK9CaDdhD9KFZSbLyVFmWfxOt50H7YRTTiPMgjyFpfi5j2q348yVT0tEQS
+    fhRqaQKBgAcWPokmJ7EbYQGeMbS7HC8eWO/RyamlnSffdCdSc7ue3zdVJxpAkQ8W
+    qu80pEIF6raIQfAf8MXiiZ7auFOSnHQTXUbhCpvDLKi0Mwq3G8Pl07l+2s6dQG6T
+    lv6XTQaMyf6n1yjzL+fzDrH3qXMxHMO/b13EePXpDMpY7HQpoLDi
+    -----END RSA PRIVATE KEY-----
+     */
+  custom_key?: string;
+  /**
+   * The time the custom certificate expires on.
+   *
+   * @example 2021-02-06T18:11:23.531995Z
+   * @format date-time
+   */
+  expires_on?: string;
+  /**
+   * A list of Hostnames on a custom uploaded certificate.
+   *
+   * @example app.example.com
+   * @example *.app.example.com
+   */
+  hosts?: any[];
+  /**
+   * Custom hostname SSL identifier tag.
+   *
+   * @example 0d89c70d-ad9f-4843-b99f-6cc0252067e9
+   * @maxLength 36
+   * @minLength 36
+   */
+  id?: string;
+  /**
+   * The issuer on a custom uploaded certificate.
+   *
+   * @example DigiCertInc
+   */
+  issuer?: string;
+  /**
+   * Domain control validation (DCV) method used for this hostname.
+   *
+   * @example txt
+   */
+  method?: 'http' | 'txt' | 'email';
+  /**
+   * The serial number on a custom uploaded certificate.
+   *
+   * @example 6743787633689793699141714808227354901
+   */
+  serial_number?: string;
+  settings?: Sslsettings;
+  /**
+   * The signature on a custom uploaded certificate.
+   *
+   * @example SHA256WithRSA
+   */
+  signature?: string;
+  /**
+   * Status of the hostname's SSL certificates.
+   *
+   * @example pending_validation
+   */
+  status?:
+    | 'initializing'
+    | 'pending_validation'
+    | 'deleted'
+    | 'pending_issuance'
+    | 'pending_deployment'
+    | 'pending_deletion'
+    | 'pending_expiration'
+    | 'expired'
+    | 'active'
+    | 'initializing_timed_out'
+    | 'validation_timed_out'
+    | 'issuance_timed_out'
+    | 'deployment_timed_out'
+    | 'deletion_timed_out'
+    | 'pending_cleanup'
+    | 'staging_deployment'
+    | 'staging_active'
+    | 'deactivating'
+    | 'inactive'
+    | 'backup_issued'
+    | 'holding_deployment';
+  /**
+   * Level of validation to be used for this hostname. Domain validation (dv) must be used.
+   *
+   * @example dv
+   */
+  type?: 'dv';
+  /**
+   * The time the custom certificate was uploaded.
+   *
+   * @example 2020-02-06T18:11:23.531995Z
+   * @format date-time
+   */
+  uploaded_on?: string;
+  /**
+   * Domain validation errors that have been received by the certificate authority (CA).
+   */
+  validation_errors?: {
+    /**
+     * A domain validation error.
+     *
+     * @example SERVFAIL looking up CAA for app.example.com
+     */
+    message?: string;
+  }[];
+  validation_records?: ValidationRecord[];
+  /**
+   * Indicates whether the certificate covers a wildcard.
+   *
+   * @example false
+   */
+  wildcard?: boolean;
+};
+
+/**
+ * SSL encrypts your visitor's connection and safeguards credit card numbers and other personal data to and from your website. SSL can take up to 5 minutes to fully activate. Requires Cloudflare active on your root domain or www domain. Off: no SSL between the visitor and Cloudflare, and no SSL between Cloudflare and your web server  (all HTTP traffic). Flexible: SSL between the visitor and Cloudflare -- visitor sees HTTPS on your site, but no SSL between Cloudflare and your web server. You don't need to have an SSL cert on your web server, but your vistors will still see the site as being HTTPS enabled. Full:  SSL between the visitor and Cloudflare -- visitor sees HTTPS on your site, and SSL between Cloudflare and your web server. You'll need to have your own SSL cert or self-signed cert at the very least. Full (Strict): SSL between the visitor and Cloudflare -- visitor sees HTTPS on your site, and SSL between Cloudflare and your web server. You'll need to have a valid SSL certificate installed on your web server. This certificate must be signed by a certificate authority, have an expiration date in the future, and respond for the request domain name (hostname). (https://support.cloudflare.com/hc/en-us/articles/200170416).
+ */
+export type SslCvCTPIf1 = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example ssl
+   */
+  id: 'ssl';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: SslValue;
+};
+
+/**
+ * SSL properties for the custom hostname.
+ */
+export type SslReUR6bMS = {
+  /**
+   * A ubiquitous bundle has the highest probability of being verified everywhere, even by clients using outdated or unusual trust stores. An optimal bundle uses the shortest chain and newest intermediates. And the force bundle verifies the chain, but does not otherwise modify it.
+   *
+   * @default ubiquitous
+   * @example ubiquitous
+   */
+  bundle_method?: 'ubiquitous' | 'optimal' | 'force';
+  /**
+   * The Certificate Authority that has issued this certificate.
+   *
+   * @example digicert
+   */
+  certificate_authority?: 'digicert' | 'google' | 'lets_encrypt';
+  /**
+   * If a custom uploaded certificate is used.
+   *
+   * @example -----BEGIN CERTIFICATE-----\nMIIFJDCCBAygAwIBAgIQD0ifmj/Yi5NP/2gdUySbfzANBgkqhkiG9w0BAQsFADBN\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMScwJQYDVQQDEx5E...SzSHfXp5lnu/3V08I72q1QNzOCgY1XeL4GKVcj4or6cT6tX6oJH7ePPmfrBfqI/O\nOeH8gMJ+FuwtXYEPa4hBf38M5eU5xWG7\n-----END CERTIFICATE-----\n
+   */
+  custom_certificate?: string;
+  /**
+   * The identifier for the Custom CSR that was used.
+   *
+   * @example 7b163417-1d2b-4c84-a38a-2fb7a0cd7752
+   */
+  custom_csr_id?: string;
+  /**
+     * The key for a custom uploaded certificate.
+     *
+     * @example -----BEGIN RSA PRIVATE KEY-----
+    MIIEowIBAAKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmG
+    dtcGbg/1CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKn
+    abIRuGvBKwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpid
+    tnKX/a+50GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+py
+    FxIXjbEIdZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pE
+    ewooaeO2izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABAoIBACbhTYXBZYKmYPCb
+    HBR1IBlCQA2nLGf0qRuJNJZg5iEzXows/6tc8YymZkQE7nolapWsQ+upk2y5Xdp/
+    axiuprIs9JzkYK8Ox0r+dlwCG1kSW+UAbX0bQ/qUqlsTvU6muVuMP8vZYHxJ3wmb
+    +ufRBKztPTQ/rYWaYQcgC0RWI20HTFBMxlTAyNxYNWzX7RKFkGVVyB9RsAtmcc8g
+    +j4OdosbfNoJPS0HeIfNpAznDfHKdxDk2Yc1tV6RHBrC1ynyLE9+TaflIAdo2MVv
+    KLMLq51GqYKtgJFIlBRPQqKoyXdz3fGvXrTkf/WY9QNq0J1Vk5ERePZ54mN8iZB7
+    9lwy/AkCgYEA6FXzosxswaJ2wQLeoYc7ceaweX/SwTvxHgXzRyJIIT0eJWgx13Wo
+    /WA3Iziimsjf6qE+SI/8laxPp2A86VMaIt3Z3mJN/CqSVGw8LK2AQst+OwdPyDMu
+    iacE8lj/IFGC8mwNUAb9CzGU3JpU4PxxGFjS/eMtGeRXCWkK4NE+G08CgYEA1Kp9
+    N2JrVlqUz+gAX+LPmE9OEMAS9WQSQsfCHGogIFDGGcNf7+uwBM7GAaSJIP01zcoe
+    VAgWdzXCv3FLhsaZoJ6RyLOLay5phbu1iaTr4UNYm5WtYTzMzqh8l1+MFFDl9xDB
+    vULuCIIrglM5MeS/qnSg1uMoH2oVPj9TVst/ir8CgYEAxrI7Ws9Zc4Bt70N1As+U
+    lySjaEVZCMkqvHJ6TCuVZFfQoE0r0whdLdRLU2PsLFP+q7qaeZQqgBaNSKeVcDYR
+    9B+nY/jOmQoPewPVsp/vQTCnE/R81spu0mp0YI6cIheT1Z9zAy322svcc43JaWB7
+    mEbeqyLOP4Z4qSOcmghZBSECgYACvR9Xs0DGn+wCsW4vze/2ei77MD4OQvepPIFX
+    dFZtlBy5ADcgE9z0cuVB6CiL8DbdK5kwY9pGNr8HUCI03iHkW6Zs+0L0YmihfEVe
+    PG19PSzK9CaDdhD9KFZSbLyVFmWfxOt50H7YRTTiPMgjyFpfi5j2q348yVT0tEQS
+    fhRqaQKBgAcWPokmJ7EbYQGeMbS7HC8eWO/RyamlnSffdCdSc7ue3zdVJxpAkQ8W
+    qu80pEIF6raIQfAf8MXiiZ7auFOSnHQTXUbhCpvDLKi0Mwq3G8Pl07l+2s6dQG6T
+    lv6XTQaMyf6n1yjzL+fzDrH3qXMxHMO/b13EePXpDMpY7HQpoLDi
+    -----END RSA PRIVATE KEY-----
+     */
+  custom_key?: string;
+  /**
+   * The time the custom certificate expires on.
+   *
+   * @example 2021-02-06T18:11:23.531995Z
+   * @format date-time
+   */
+  expires_on?: string;
+  /**
+   * A list of Hostnames on a custom uploaded certificate.
+   *
+   * @example app.example.com
+   * @example *.app.example.com
+   */
+  hosts?: any[];
+  /**
+   * Custom hostname SSL identifier tag.
+   *
+   * @example 0d89c70d-ad9f-4843-b99f-6cc0252067e9
+   * @maxLength 36
+   * @minLength 36
+   */
+  id?: string;
+  /**
+   * The issuer on a custom uploaded certificate.
+   *
+   * @example DigiCertInc
+   */
+  issuer?: string;
+  /**
+   * Domain control validation (DCV) method used for this hostname.
+   *
+   * @example txt
+   */
+  method?: 'http' | 'txt' | 'email';
+  /**
+   * The serial number on a custom uploaded certificate.
+   *
+   * @example 6743787633689793699141714808227354901
+   */
+  serial_number?: string;
+  settings?: Sslsettings;
+  /**
+   * The signature on a custom uploaded certificate.
+   *
+   * @example SHA256WithRSA
+   */
+  signature?: string;
+  /**
+   * Status of the hostname's SSL certificates.
+   *
+   * @example pending_validation
+   */
+  status?:
+    | 'initializing'
+    | 'pending_validation'
+    | 'deleted'
+    | 'pending_issuance'
+    | 'pending_deployment'
+    | 'pending_deletion'
+    | 'pending_expiration'
+    | 'expired'
+    | 'active'
+    | 'initializing_timed_out'
+    | 'validation_timed_out'
+    | 'issuance_timed_out'
+    | 'deployment_timed_out'
+    | 'deletion_timed_out'
+    | 'pending_cleanup'
+    | 'staging_deployment'
+    | 'staging_active'
+    | 'deactivating'
+    | 'inactive'
+    | 'backup_issued'
+    | 'holding_deployment';
+  /**
+   * Level of validation to be used for this hostname. Domain validation (dv) must be used.
+   *
+   * @example dv
+   */
+  type?: 'dv';
+  /**
+   * The time the custom certificate was uploaded.
+   *
+   * @example 2020-02-06T18:11:23.531995Z
+   * @format date-time
+   */
+  uploaded_on?: string;
+  /**
+   * Domain validation errors that have been received by the certificate authority (CA).
+   */
+  validation_errors?: {
+    /**
+     * A domain validation error.
+     *
+     * @example SERVFAIL looking up CAA for app.example.com
+     */
+    message?: string;
+  }[];
+  validation_records?: ValidationRecord[];
+  /**
+   * Indicates whether the certificate covers a wildcard.
+   *
+   * @example false
+   */
+  wildcard?: boolean;
+};
+
+/**
+ * @example strict
+ */
+export type SslRecommenderComponentsSchemasValue = 'flexible' | 'full' | 'strict';
+
+/**
+ * Enrollment in the SSL/TLS Recommender service which tries to detect and recommend (by sending periodic emails) the most secure SSL/TLS setting your origin servers support.
+ */
+export type SslRecommender = {
+  enabled?: SslRecommenderEnabled;
+  /**
+   * Enrollment value for SSL/TLS Recommender.
+   *
+   * @example ssl_recommender
+   */
+  id?: 'ssl_recommender';
+  editable?: Editable;
+  modified_on?: ModifiedOnDrYUvDnK;
+};
+
+/**
+ * ssl-recommender enrollment setting.
+ *
+ * @default false
+ */
+export type SslRecommenderEnabled = boolean;
+
+export type SslUniversalSettingsResponse = ApiResponseSingleZZHeSkIR & {
+  result?: Universal;
+};
+
+export type SslUniversalSettingsResponseIrXB89fE = ApiResponseSingleLarS7owG & {
+  result?: Universal;
+};
+
+export type SslValidationMethodResponseCollection = ApiResponseSingleZZHeSkIR & {
+  result?: {
+    status?: ValidationMethodComponentsSchemasStatus;
+    validation_method?: ValidationMethodDefinition;
+  };
+};
+
+export type SslValidationMethodResponseCollectionRqiHfQar = ApiResponseSingleLarS7owG & {
+  result?: {
+    status?: ValidationMethodComponentsSchemasStatus;
+    validation_method?: ValidationMethodDefinition;
+  };
+};
+
+/**
+ * Value of the zone setting.
+ * Notes: Depends on the zone's plan level
+ *
+ * @default off
+ */
+export type SslValue = 'off' | 'flexible' | 'full' | 'strict';
+
+export type SslVerificationResponseCollection = {
+  result?: Verification[];
+};
+
+/**
+ * SSL properties used when creating the custom hostname.
+ */
+export type Sslpost = {
+  /**
+   * A ubiquitous bundle has the highest probability of being verified everywhere, even by clients using outdated or unusual trust stores. An optimal bundle uses the shortest chain and newest intermediates. And the force bundle verifies the chain, but does not otherwise modify it.
+   *
+   * @default ubiquitous
+   * @example ubiquitous
+   */
+  bundle_method?: 'ubiquitous' | 'optimal' | 'force';
+  certificate_authority?: CertificateAuthority;
+  /**
+   * If a custom uploaded certificate is used.
+   *
+   * @example -----BEGIN CERTIFICATE-----\nMIIFJDCCBAygAwIBAgIQD0ifmj/Yi5NP/2gdUySbfzANBgkqhkiG9w0BAQsFADBN\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMScwJQYDVQQDEx5E...SzSHfXp5lnu/3V08I72q1QNzOCgY1XeL4GKVcj4or6cT6tX6oJH7ePPmfrBfqI/O\nOeH8gMJ+FuwtXYEPa4hBf38M5eU5xWG7\n-----END CERTIFICATE-----\n
+   */
+  custom_certificate?: string;
+  /**
+     * The key for a custom uploaded certificate.
+     *
+     * @example -----BEGIN RSA PRIVATE KEY-----
+    MIIEowIBAAKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmG
+    dtcGbg/1CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKn
+    abIRuGvBKwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpid
+    tnKX/a+50GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+py
+    FxIXjbEIdZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pE
+    ewooaeO2izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABAoIBACbhTYXBZYKmYPCb
+    HBR1IBlCQA2nLGf0qRuJNJZg5iEzXows/6tc8YymZkQE7nolapWsQ+upk2y5Xdp/
+    axiuprIs9JzkYK8Ox0r+dlwCG1kSW+UAbX0bQ/qUqlsTvU6muVuMP8vZYHxJ3wmb
+    +ufRBKztPTQ/rYWaYQcgC0RWI20HTFBMxlTAyNxYNWzX7RKFkGVVyB9RsAtmcc8g
+    +j4OdosbfNoJPS0HeIfNpAznDfHKdxDk2Yc1tV6RHBrC1ynyLE9+TaflIAdo2MVv
+    KLMLq51GqYKtgJFIlBRPQqKoyXdz3fGvXrTkf/WY9QNq0J1Vk5ERePZ54mN8iZB7
+    9lwy/AkCgYEA6FXzosxswaJ2wQLeoYc7ceaweX/SwTvxHgXzRyJIIT0eJWgx13Wo
+    /WA3Iziimsjf6qE+SI/8laxPp2A86VMaIt3Z3mJN/CqSVGw8LK2AQst+OwdPyDMu
+    iacE8lj/IFGC8mwNUAb9CzGU3JpU4PxxGFjS/eMtGeRXCWkK4NE+G08CgYEA1Kp9
+    N2JrVlqUz+gAX+LPmE9OEMAS9WQSQsfCHGogIFDGGcNf7+uwBM7GAaSJIP01zcoe
+    VAgWdzXCv3FLhsaZoJ6RyLOLay5phbu1iaTr4UNYm5WtYTzMzqh8l1+MFFDl9xDB
+    vULuCIIrglM5MeS/qnSg1uMoH2oVPj9TVst/ir8CgYEAxrI7Ws9Zc4Bt70N1As+U
+    lySjaEVZCMkqvHJ6TCuVZFfQoE0r0whdLdRLU2PsLFP+q7qaeZQqgBaNSKeVcDYR
+    9B+nY/jOmQoPewPVsp/vQTCnE/R81spu0mp0YI6cIheT1Z9zAy322svcc43JaWB7
+    mEbeqyLOP4Z4qSOcmghZBSECgYACvR9Xs0DGn+wCsW4vze/2ei77MD4OQvepPIFX
+    dFZtlBy5ADcgE9z0cuVB6CiL8DbdK5kwY9pGNr8HUCI03iHkW6Zs+0L0YmihfEVe
+    PG19PSzK9CaDdhD9KFZSbLyVFmWfxOt50H7YRTTiPMgjyFpfi5j2q348yVT0tEQS
+    fhRqaQKBgAcWPokmJ7EbYQGeMbS7HC8eWO/RyamlnSffdCdSc7ue3zdVJxpAkQ8W
+    qu80pEIF6raIQfAf8MXiiZ7auFOSnHQTXUbhCpvDLKi0Mwq3G8Pl07l+2s6dQG6T
+    lv6XTQaMyf6n1yjzL+fzDrH3qXMxHMO/b13EePXpDMpY7HQpoLDi
+    -----END RSA PRIVATE KEY-----
+     */
+  custom_key?: string;
+  /**
+   * Domain control validation (DCV) method used for this hostname.
+   *
+   * @example http
+   */
+  method?: 'http' | 'txt' | 'email';
+  settings?: Sslsettings;
+  /**
+   * Level of validation to be used for this hostname. Domain validation (dv) must be used.
+   *
+   * @example dv
+   */
+  type?: 'dv';
+  /**
+   * Indicates whether the certificate covers a wildcard.
+   *
+   * @example false
+   */
+  wildcard?: boolean;
+};
+
+/**
+ * SSL properties used when creating the custom hostname.
+ */
+export type Sslpost65QZWRdf = {
+  /**
+   * A ubiquitous bundle has the highest probability of being verified everywhere, even by clients using outdated or unusual trust stores. An optimal bundle uses the shortest chain and newest intermediates. And the force bundle verifies the chain, but does not otherwise modify it.
+   *
+   * @default ubiquitous
+   * @example ubiquitous
+   */
+  bundle_method?: 'ubiquitous' | 'optimal' | 'force';
+  /**
+   * If a custom uploaded certificate is used.
+   *
+   * @example -----BEGIN CERTIFICATE-----\nMIIFJDCCBAygAwIBAgIQD0ifmj/Yi5NP/2gdUySbfzANBgkqhkiG9w0BAQsFADBN\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMScwJQYDVQQDEx5E...SzSHfXp5lnu/3V08I72q1QNzOCgY1XeL4GKVcj4or6cT6tX6oJH7ePPmfrBfqI/O\nOeH8gMJ+FuwtXYEPa4hBf38M5eU5xWG7\n-----END CERTIFICATE-----\n
+   */
+  custom_certificate?: string;
+  /**
+     * The key for a custom uploaded certificate.
+     *
+     * @example -----BEGIN RSA PRIVATE KEY-----
+    MIIEowIBAAKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmG
+    dtcGbg/1CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKn
+    abIRuGvBKwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpid
+    tnKX/a+50GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+py
+    FxIXjbEIdZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pE
+    ewooaeO2izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABAoIBACbhTYXBZYKmYPCb
+    HBR1IBlCQA2nLGf0qRuJNJZg5iEzXows/6tc8YymZkQE7nolapWsQ+upk2y5Xdp/
+    axiuprIs9JzkYK8Ox0r+dlwCG1kSW+UAbX0bQ/qUqlsTvU6muVuMP8vZYHxJ3wmb
+    +ufRBKztPTQ/rYWaYQcgC0RWI20HTFBMxlTAyNxYNWzX7RKFkGVVyB9RsAtmcc8g
+    +j4OdosbfNoJPS0HeIfNpAznDfHKdxDk2Yc1tV6RHBrC1ynyLE9+TaflIAdo2MVv
+    KLMLq51GqYKtgJFIlBRPQqKoyXdz3fGvXrTkf/WY9QNq0J1Vk5ERePZ54mN8iZB7
+    9lwy/AkCgYEA6FXzosxswaJ2wQLeoYc7ceaweX/SwTvxHgXzRyJIIT0eJWgx13Wo
+    /WA3Iziimsjf6qE+SI/8laxPp2A86VMaIt3Z3mJN/CqSVGw8LK2AQst+OwdPyDMu
+    iacE8lj/IFGC8mwNUAb9CzGU3JpU4PxxGFjS/eMtGeRXCWkK4NE+G08CgYEA1Kp9
+    N2JrVlqUz+gAX+LPmE9OEMAS9WQSQsfCHGogIFDGGcNf7+uwBM7GAaSJIP01zcoe
+    VAgWdzXCv3FLhsaZoJ6RyLOLay5phbu1iaTr4UNYm5WtYTzMzqh8l1+MFFDl9xDB
+    vULuCIIrglM5MeS/qnSg1uMoH2oVPj9TVst/ir8CgYEAxrI7Ws9Zc4Bt70N1As+U
+    lySjaEVZCMkqvHJ6TCuVZFfQoE0r0whdLdRLU2PsLFP+q7qaeZQqgBaNSKeVcDYR
+    9B+nY/jOmQoPewPVsp/vQTCnE/R81spu0mp0YI6cIheT1Z9zAy322svcc43JaWB7
+    mEbeqyLOP4Z4qSOcmghZBSECgYACvR9Xs0DGn+wCsW4vze/2ei77MD4OQvepPIFX
+    dFZtlBy5ADcgE9z0cuVB6CiL8DbdK5kwY9pGNr8HUCI03iHkW6Zs+0L0YmihfEVe
+    PG19PSzK9CaDdhD9KFZSbLyVFmWfxOt50H7YRTTiPMgjyFpfi5j2q348yVT0tEQS
+    fhRqaQKBgAcWPokmJ7EbYQGeMbS7HC8eWO/RyamlnSffdCdSc7ue3zdVJxpAkQ8W
+    qu80pEIF6raIQfAf8MXiiZ7auFOSnHQTXUbhCpvDLKi0Mwq3G8Pl07l+2s6dQG6T
+    lv6XTQaMyf6n1yjzL+fzDrH3qXMxHMO/b13EePXpDMpY7HQpoLDi
+    -----END RSA PRIVATE KEY-----
+     */
+  custom_key?: string;
+  /**
+   * Domain control validation (DCV) method used for this hostname.
+   *
+   * @example http
+   */
+  method?: 'http' | 'txt' | 'email';
+  settings?: Sslsettings;
+  /**
+   * Level of validation to be used for this hostname. Domain validation (dv) must be used.
+   *
+   * @example dv
+   */
+  type?: 'dv';
+  /**
+   * Indicates whether the certificate covers a wildcard.
+   *
+   * @example false
+   */
+  wildcard?: boolean;
+};
+
+/**
+ * SSL specific settings.
+ */
+export type Sslsettings = {
+  /**
+   * An allowlist of ciphers for TLS termination. These ciphers must be in the BoringSSL format.
+   *
+   * @example ECDHE-RSA-AES128-GCM-SHA256
+   * @example AES128-SHA
+   * @uniqueItems true
+   */
+  ciphers?: string[];
+  /**
+   * Whether or not Early Hints is enabled.
+   *
+   * @example on
+   */
+  early_hints?: 'on' | 'off';
+  /**
+   * Whether or not HTTP2 is enabled.
+   *
+   * @example on
+   */
+  http2?: 'on' | 'off';
+  /**
+   * The minimum TLS version supported.
+   *
+   * @example 1.2
+   */
+  min_tls_version?: '1.0' | '1.1' | '1.2' | '1.3';
+  /**
+   * Whether or not TLS 1.3 is enabled.
+   *
+   * @example on
+   */
+  tls_1_3?: 'on' | 'off';
+};
+
+/**
+ * The status of the deployment.
+ */
+export type Stage = {
+  /**
+   * When the stage ended.
+   *
+   * @example 2021-03-09T00:58:59.045655
+   * @format date-time
+   */
+  ended_on?: string | null;
+  /**
+   * The current build stage.
+   *
+   * @example deploy
+   * @pattern queued|initialize|clone_repo|build|deploy
+   */
+  name?: string;
+  /**
+   * When the stage started.
+   *
+   * @example 2021-03-09T00:55:03.923456Z
+   * @format date-time
+   */
+  started_on?: string | null;
+  /**
+   * State of the current stage.
+   *
+   * @example success
+   * @pattern success|idle|active|failure|canceled
+   */
+  status?: string;
+};
+
+export type StartEndParams = {
+  /**
+   * Defaults to the current date.
+   *
+   * @example 2021-04-30
+   * @format date
+   */
+  end?: string;
+  /**
+   * Defaults to 30 days before the end parameter value.
+   *
+   * @example 2021-04-01
+   * @format date
+   */
+  start?: string;
+};
+
+/**
+ * Specifies the start time for the video clip in seconds.
+ */
+export type StartTimeSeconds = number;
+
+/**
+ * State, provided by the CSR
+ *
+ * @example CA
+ */
+export type State = string;
+
+/**
+ * The state that the subscription is in.
+ *
+ * @example Paid
+ */
+export type State1Ns5GX0q = 'Trial' | 'Provisioned' | 'Paid' | 'AwaitingPayment' | 'Cancelled' | 'Failed' | 'Expired';
+
+/**
+ * The current status of the origin server according to the health check.
+ *
+ * @example healthy
+ */
+export type Status = 'unknown' | 'healthy' | 'unhealthy' | 'suspended';
+
+/**
+ * Status of the token.
+ *
+ * @example active
+ */
+export type Status0icsKVdQ = 'active' | 'disabled' | 'expired';
+
+/**
+ * Status of the zone's custom SSL.
+ *
+ * @example active
+ */
+export type Status6huN0ErS = 'active' | 'expired' | 'deleted' | 'pending' | 'initializing';
+
+/**
+ * Status of DNSSEC, based on user-desired state and presence of necessary records.
+ *
+ * @example active
+ */
+export type Status7l7v1BCo = 'active' | 'pending' | 'disabled' | 'pending-disabled' | 'error';
+
+/**
+ * @example queueing
+ */
+export type StatusCIis1Eze = 'event_prequeueing' | 'not_queueing' | 'queueing';
+
+/**
+ * The status of the Page Rule.
+ *
+ * @default disabled
+ * @example active
+ */
+export type StatusLJNunJhf = 'active' | 'disabled';
+
+/**
+ * @example 25756b2dfe6e378a06b033b670413757
+ */
+export type StatusEventId = string;
+
+export type StatusResponse = ApiResponseSinglePn9rJJNX & {
+  result?: {
+    estimated_queued_users?: EstimatedQueuedUsers;
+    estimated_total_active_users?: EstimatedTotalActiveUsers;
+    event_id?: StatusEventId;
+    max_estimated_time_minutes?: MaxEstimatedTimeMinutes;
+    status?: StatusCIis1Eze;
+  };
+};
+
+/**
+ * Standard deviation of the RTTs in ms.
+ */
+export type StdDevRttMs = number;
+
+/**
+ * Steering Policy for this load balancer.
+ * - `"off"`: Use `default_pools`.
+ * - `"geo"`: Use `region_pools`/`country_pools`/`pop_pools`. For non-proxied requests, the country for `country_pools` is determined by `location_strategy`.
+ * - `"random"`: Select a pool randomly.
+ * - `"dynamic_latency"`: Use round trip time to select the closest pool in default_pools (requires pool health checks).
+ * - `"proximity"`: Use the pools' latitude and longitude to select the closest pool using the Cloudflare PoP location for proxied requests or the location determined by `location_strategy` for non-proxied requests.
+ * - `""`: Will map to `"geo"` if you use `region_pools`/`country_pools`/`pop_pools` otherwise `"off"`.
+ *
+ * @default ""
+ * @example dynamic_latency
+ */
+export type SteeringPolicy = 'off' | 'geo' | 'random' | 'dynamic_latency' | 'proximity' | '""';
+
+/**
+ * STIX 2.1 identifier: https://docs.oasis-open.org/cti/stix/v2.1/cs02/stix-v2.1-cs02.html#_64yvzeku5a5c
+ *
+ * @example ipv4-addr--baa568ec-6efe-5902-be55-0663833db537
+ */
+export type StixIdentifier = string;
+
+/**
+ * String constraint.
+ */
+export type StringConstraint = {
+  /**
+   * The matches operator can use asterisks and pipes as wildcard and 'or' operators.
+   *
+   * @default contains
+   */
+  operator: 'matches' | 'contains' | 'equals' | 'not_equal' | 'not_contain';
+  /**
+   * The value to apply the operator to.
+   */
+  value: string;
+};
+
+export type Subcategory = {
+  beta?: Beta;
+  ['class']?: Class;
+  description?: ComponentsSchemasDescriptionDHTB25HG;
+  id?: IdWr4kBzDa;
+  name?: CategoriesComponentsSchemasName;
+};
+
+/**
+ * Two-letter subdivision code followed in ISO 3166-2.
+ *
+ * @example CA
+ */
+export type SubdivisionCodeA2 = string;
+
+/**
+ * The DNS Over HTTPS domain to send DNS requests to. (auto-generated).
+ *
+ * @example oli3n9zkz5
+ */
+export type Subdomain = string;
+
+export type SubdomainResponse = {
+  errors: Messages;
+  messages: Messages;
+  result:
+    | {
+        name?: void;
+      }
+    | any[]
+    | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type Subscription = SubscriptionV2;
+
+export type SubscriptionV2 = {
+  app?: {
+    install_id?: InstallId;
+  };
+  component_values?: ComponentValues;
+  currency?: Currency;
+  current_period_end?: CurrentPeriodEnd;
+  current_period_start?: CurrentPeriodStart;
+  frequency?: FrequencyATMhv5XI;
+  id?: SubscriptionV2ComponentsSchemasIdentifier;
+  price?: Price;
+  rate_plan?: RatePlan;
+  state?: State1Ns5GX0q;
+  zone?: ZoneEBDuGM7t;
+};
+
+/**
+ * Subscription identifier tag.
+ *
+ * @example 506e3185e9c882d175a2d0cb0093d9f2
+ * @maxLength 32
+ */
+export type SubscriptionV2ComponentsSchemasIdentifier = string;
+
+/**
+ * The suggested threshold in requests done by the same auth_id or period_seconds.
+ */
+export type SuggestedThreshold = number;
+
+/**
+ * The URL to launch when the Send Feedback button is clicked.
+ *
+ * @example https://1.1.1.1/help
+ */
+export type SupportUrl = string;
+
+/**
+ * Whether a particular TLD is currently supported by Cloudflare Registrar. Refer to [TLD Policies](https://www.cloudflare.com/tld-policies/) for a list of supported TLDs.
+ *
+ * @example true
+ */
+export type SupportedTld = boolean;
+
+/**
+ * If suspended, no health checks are sent to the origin.
+ *
+ * @default false
+ */
+export type Suspended = boolean;
+
+/**
+ * Suspends or allows traffic going to the waiting room. If set to `true`, the traffic will not go to the waiting room.
+ *
+ * @default false
+ */
+export type SuspendedW815GHPM = boolean;
+
+/**
+ * Whether to allow the user to turn off the WARP switch and disconnect the client.
+ *
+ * @example true
+ */
+export type SwitchLocked = boolean;
+
+/**
+ * Whether to match all tag search requirements or at least one (any). If set to `all`, acts like a logical AND between tag filters. If set to `any`, acts like a logical OR instead. Note that the regular `match` parameter is still used to combine the resulting condition with other filters that aren't related to tags.
+ *
+ * @default all
+ * @example any
+ */
+export type TagMatch = 'any' | 'all';
+
+/**
+ * Custom tags for the DNS record. This field has no effect on DNS responses.
+ */
+export type Tags = string[];
+
+export type TailResponse = {
+  errors: Messages;
+  messages: Messages;
+  result:
+    | {
+        expires_at?: void;
+        id?: void;
+        url?: void;
+      }
+    | any[]
+    | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+/**
+ * A request condition target.
+ */
+export type Target = UrlTarget;
+
+/**
+ * The target hostname, IPv6, or IPv6 address.
+ *
+ * @example 1.1.1.1
+ */
+export type TargetZsQmEMN8 = string;
+
+export type TargetResult = {
+  colos?: ColoResult[];
+  target?: TargetZsQmEMN8;
+};
+
+/**
+ * Aggregated statistics from all hops about the target.
+ *
+ * @example {"asn":"","ip":"1.1.1.1","max_latency_ms":0.034,"mean_latency_ms":0.021,"min_latency_ms":0.014,"name":"1.1.1.1","packet_count":3,"std_dev_latency_ms":0.011269427669584647}
+ */
+export type TargetSummary = Record<string, any>;
+
+/**
+ * The rule targets to evaluate on each request.
+ *
+ * @example {"constraint":{"operator":"matches","value":"*example.com/images/*"},"target":"url"}
+ */
+export type Targets = Target[];
+
+/**
+ * @example 203.0.113.1
+ * @example cloudflare.com
+ * @maxLength 10
+ */
+export type TargetsGoMQUMPo = string[];
+
+/**
+ * Parameters specific to TCP health check.
+ */
+export type TcpConfig = {
+  /**
+   * The TCP connection method to use for the health check.
+   *
+   * @default connection_established
+   */
+  method?: 'connection_established';
+  /**
+   * Port number to connect to for the health check. Defaults to 80.
+   *
+   * @default 80
+   */
+  port?: number;
+} | null;
+
+export type Teamnet = {
+  comment: CommentCrz1ciLB;
+  /**
+   * Timestamp of when the route was created.
+   */
+  created_at: void;
+  /**
+   * Timestamp of when the route was deleted. If `null`, the route has not been deleted.
+   *
+   * @example 2021-01-25T18:22:34.317854Z
+   * @format date-time
+   */
+  deleted_at?: string | null;
+  network: IpNetwork;
+  tunnel_id: SchemasTunnelId;
+  tunnel_name?: SchemasTunnelName;
+  virtual_network_id?: SchemasVirtualNetworkId;
+};
+
+/**
+ * @example 10.1.0.137
+ */
+export type TeamnetComponentsSchemasIp = string;
+
+/**
+ * User's telephone number
+ *
+ * @example +1 123-123-1234
+ * @maxLength 20
+ */
+export type Telephone = string | null;
+
+export type TestConnectionProperties = {
+  /**
+   * Hash version of body.
+   *
+   * @example be27f2429421e12f200cab1da43ba301bdc70e1d
+   */
+  body_hash?: string;
+  /**
+   * Size of the body in bytes.
+   *
+   * @example 63910 bytes
+   */
+  body_size?: string;
+  /**
+   * Lists any `cf-cache-status` present.
+   */
+  ['cf-cache-status']?: string;
+  /**
+   * Lists any `cf-ray` present.
+   *
+   * @example 1ddd7570575207d9-LAX
+   */
+  ['cf-ray']?: string;
+  /**
+   * Lists any `cf-wan-error` present.
+   */
+  ['cf-wan-error']?: string;
+  /**
+   * Whether Cloudflare is enabled on the host.
+   *
+   * @example on
+   */
+  cloudflare?: string;
+  /**
+   * Connection closed or open.
+   *
+   * @default true
+   * @example false
+   */
+  connection_close?: boolean;
+  /**
+   * Amount of seconds that the test lasted.
+   *
+   * @example 0.239013s
+   */
+  elapsed_time?: string;
+  /**
+   * The hostname queried.
+   *
+   * @example www.example.com
+   */
+  host_name?: string;
+  /**
+   * The HTTP status response code.
+   *
+   * @example 200
+   */
+  http_status?: number;
+  /**
+   * HTTP Method used to test the connection.
+   *
+   * @example GET
+   */
+  method?: 'GET' | 'POST';
+  /**
+   * What headers are missing.
+   *
+   * @example No Content-Length or Transfer-Encoding.
+   */
+  missing_headers?: string;
+  /**
+   * Protocol used to test the connection.
+   *
+   * @example HTTP/1.1
+   */
+  protocol?: string;
+  /**
+   * Indicates if Railgun is enabled on the queried hostname.
+   *
+   * @example on
+   */
+  railgun?: string;
+  /**
+   * HTTP Status code.
+   *
+   * @example 200 OK
+   */
+  response_status?: string;
+  /**
+   * Url of the domain you can compare the connection to.
+   *
+   * @example https://www.cloudflare.com
+   */
+  url?: string;
+};
+
+export type TestConnectionResponse = ApiResponseSingleLarS7owG & {
+  result?: TestConnectionProperties;
+};
+
+/**
+ * Breakdown of totals for threats.
+ */
+export type Threats = {
+  /**
+   * The total number of identifiable threats received over the time frame.
+   */
+  all?: number;
+  /**
+   * A list of key/value pairs where the key is a two-digit country code and the value is the number of malicious requests received from that country.
+   *
+   * @example {"AU":91,"CN":523423,"US":123}
+   */
+  country?: Record<string, any>;
+  /**
+   * The list of key/value pairs where the key is a threat category and the value is the number of requests.
+   *
+   * @example {"hot.ban.unknown":5324,"macro.chl.captchaErr":1341,"macro.chl.jschlErr":5323,"user.ban.ip":123}
+   */
+  type?: Record<string, any>;
+};
+
+/**
+ * The threshold that will trigger the configured mitigation action. Configure this value along with the `period` property to establish a threshold per period.
+ *
+ * @example 60
+ * @minimum 1
+ */
+export type Threshold = number;
+
+export type Thresholds = {
+  thresholds?: {
+    auth_id_tokens?: AuthIdTokens;
+    data_points?: DataPoints;
+    last_updated?: Timestamp;
+    p50?: P50;
+    p90?: P90;
+    p99?: P99;
+    period_seconds?: PeriodSeconds;
+    requests?: Requests;
+    suggested_threshold?: SuggestedThreshold;
+  };
+};
+
+/**
+ * The timestamp for a thumbnail image calculated as a percentage value of the video's duration. To convert from a second-wise timestamp to a percentage, divide the desired timestamp by the total duration of the video.  If this value is not set, the default thumbnail image is taken from 0s of the video.
+ *
+ * @default 0
+ * @example 0.529241
+ * @maximum 1
+ * @minimum 0
+ */
+export type ThumbnailTimestampPct = number;
+
+/**
+ * The media item's thumbnail URI. This field is omitted until encoding is complete.
+ *
+ * @example https://customer-m033z5x00ks6nunl.cloudflarestream.com/ea95132c15732412d22c1476fa83f27a/thumbnails/thumbnail.jpg
+ * @format uri
+ */
+export type ThumbnailUrl = string;
+
+/**
+ * URI to thumbnail variant for an image.
+ *
+ * @example https://imagedelivery.net/MTt4OTd0b0w5aj/107b9558-dd06-4bbd-5fef-9c2c16bb7900/thumbnail
+ * @format uri
+ */
+export type ThumbnailUrlWiwugRbe = string;
+
+/**
+ * Enables Tiered Cache.
+ *
+ * @example on
+ */
+export type TieredCacheSmartTopologyApiComponentsSchemasValue = 'on' | 'off';
+
+/**
+ * The time for a specific event.
+ *
+ * @example 2019-10-24T17:09:42.883908+01:00
+ */
+export type Time = string;
+
+/**
+ * Unit of time to group data by.
+ *
+ * @example hour
+ */
+export type TimeDelta =
+  | 'all'
+  | 'auto'
+  | 'year'
+  | 'quarter'
+  | 'month'
+  | 'week'
+  | 'day'
+  | 'hour'
+  | 'dekaminute'
+  | 'minute';
+
+/**
+ * The timeout (in seconds) before marking the health check as failed.
+ *
+ * @default 5
+ */
+export type Timeout = number;
+
+/**
+ * The time in seconds during which Cloudflare will perform the mitigation action. Must be an integer value greater than or equal to the period.
+ * Notes: If "mode" is "challenge", "managed_challenge", or "js_challenge", Cloudflare will use the zone's Challenge Passage time and you should not provide this value.
+ *
+ * @example 86400
+ * @maximum 86400
+ * @minimum 1
+ */
+export type TimeoutHaHBovKX = number;
+
+/**
+ * Time deltas containing metadata about each bucket of time. The number of buckets (resolution) is determined by the amount of time between the since and until parameters.
+ */
+export type Timeseries = {
+  bandwidth?: Bandwidth;
+  pageviews?: Pageviews;
+  requests?: SchemasRequests;
+  since?: SinceO1OWzWkU;
+  threats?: Threats;
+  uniques?: Uniques;
+  until?: UntilOh0IDugA;
+}[];
+
+/**
+ * Time deltas containing metadata about each bucket of time. The number of buckets (resolution) is determined by the amount of time between the since and until parameters.
+ */
+export type TimeseriesByColo = {
+  bandwidth?: BandwidthByColo;
+  requests?: RequestsByColo;
+  since?: SinceO1OWzWkU;
+  threats?: Threats;
+  until?: UntilOh0IDugA;
+}[];
+
+/**
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
+ */
+export type Timestamp = string;
+
+/**
+ * By default, timestamps in responses are returned as Unix nanosecond integers. The `?timestamps=` argument can be set to change the format in which response timestamps are returned. Possible values are: `unix`, `unixnano`, `rfc3339`. Note that `unix` and `unixnano` return timestamps as integers; `rfc3339` returns timestamps as strings.
+ *
+ * @default unixnano
+ * @example unixnano
+ */
+export type Timestamps = 'unix' | 'unixnano' | 'rfc3339';
+
+/**
+ * The type of TLS termination associated with the application.
+ *
+ * @example full
+ */
+export type Tls = 'off' | 'flexible' | 'full' | 'strict';
+
+/**
+ * TLS interception settings.
+ */
+export type TlsSettings = {
+  /**
+   * Enable inspecting encrypted HTTP traffic.
+   *
+   * @example true
+   */
+  enabled?: boolean;
+};
+
+/**
+ * Only allows TLS1.2.
+ */
+export type Tls12Only = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * Zone setting identifier.
+   *
+   * @example tls_1_2_only
+   */
+  id: 'tls_1_2_only';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: Tls12OnlyValue;
+};
+
+/**
+ * Value of the zone setting.
+ *
+ * @default off
+ */
+export type Tls12OnlyValue = 'off' | 'on';
+
+/**
+ * Enables Crypto TLS 1.3 feature for a zone.
+ *
+ * @default off
+ */
+export type Tls13 = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example tls_1_3
+   */
+  id: 'tls_1_3';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: Tls13Value;
+};
+
+/**
+ * Value of the zone setting.
+ * Notes: Default value depends on the zone's plan level.
+ *
+ * @default off
+ */
+export type Tls13Value = 'on' | 'off' | 'zrt';
+
+/**
+ * TLS Client Auth requires Cloudflare to connect to your origin server using a client certificate (Enterprise Only).
+ */
+export type TlsClientAuth = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example tls_client_auth
+   */
+  id: 'tls_client_auth';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: TlsClientAuthValue;
+};
+
+/**
+ * value of the zone setting.
+ *
+ * @default on
+ */
+export type TlsClientAuthValue = 'on' | 'off';
+
+export type TlsConfigRequest = {
+  /**
+   * The SHA-256 hash of the TLS certificate presented by the host found at tls_sockaddr. If absent, regular certificate verification (trusted roots, valid timestamp, etc) will be used to validate the certificate.
+   *
+   * @example b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c
+   */
+  sha256?: string;
+  /**
+   * A network address of the form "host:port" that the WARP client will use to detect the presence of a TLS host.
+   *
+   * @example foobar:1234
+   */
+  tls_sockaddr: string;
+};
+
+/**
+ * The Managed Network TLS Config Response.
+ */
+export type TlsConfigResponse = {
+  /**
+   * The SHA-256 hash of the TLS certificate presented by the host found at tls_sockaddr. If absent, regular certificate verification (trusted roots, valid timestamp, etc) will be used to validate the certificate.
+   *
+   * @example b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c
+   */
+  sha256?: string;
+  /**
+   * A network address of the form "host:port" that the WARP client will use to detect the presence of a TLS host.
+   *
+   * @example foobar:1234
+   */
+  tls_sockaddr: string;
+};
+
+export type Token = {
+  condition?: Condition;
+  expires_on?: ExpiresOnZ3utPxP0;
+  id: ComponentsSchemasIdentifierUpjmfntS;
+  issued_on?: IssuedOnHmshAtfd;
+  modified_on?: ModifiedOnSimuKuKK;
+  name: NameZZnqpiZc;
+  not_before?: NotBefore;
+  policies: PoliciesJfEKIGCD;
+  status: Status0icsKVdQ;
+};
+
+/**
+ * Sets the total number of active user sessions on the route at a point in time. A route is a combination of host and path on which a waiting room is available. This value is used as a baseline for the total number of active user sessions on the route. It is possible to have a situation where there are more or less active users sessions on the route based on the traffic patterns at that time around the world.
+ *
+ * @maximum 2147483647
+ * @minimum 200
+ */
+export type TotalActiveUsers = number;
+
+export type TotalTlsSettingsResponse = ApiResponseSingleZZHeSkIR & {
+  result?: {
+    certificate_authority?: ComponentsSchemasCertificateAuthority;
+    enabled?: ComponentsSchemasEnabled;
+    validity_days?: SchemasValidityDays;
+  };
+};
+
+export type TotalTlsSettingsResponseKBGe6kc6 = ApiResponseSingleLarS7owG & {
+  result?: {
+    certificate_authority?: SchemasCertificateAuthorityNfQsLnVr;
+    enabled?: ComponentsSchemasEnabled;
+    validity_days?: SchemasValidityDays;
+  };
+};
+
+/**
+ * Breakdown of totals by data type.
+ */
+export type Totals = {
+  bandwidth?: Bandwidth;
+  pageviews?: Pageviews;
+  requests?: SchemasRequests;
+  since?: SinceO1OWzWkU;
+  threats?: Threats;
+  uniques?: Uniques;
+  until?: UntilOh0IDugA;
+};
+
+/**
+ * Breakdown of totals by data type.
+ */
+export type TotalsByColo = {
+  bandwidth?: BandwidthByColo;
+  requests?: RequestsByColo;
+  since?: SinceO1OWzWkU;
+  threats?: Threats;
+  until?: UntilOh0IDugA;
+};
+
+export type Trace = {
+  /**
+   * If step type is rule, then action performed by this rule
+   *
+   * @example execute
+   * @pattern ^[a-z_]+$
+   */
+  action?: string;
+  /**
+   * If step type is rule, then action parameters of this rule as JSON
+   *
+   * @example {"id":"4814384a9e5d4991b9815dcfc25d2f1f"}
+   */
+  action_parameters?: Record<string, any>;
+  /**
+   * If step type is rule or ruleset, the description of this entity
+   *
+   * @example some rule
+   */
+  description?: string;
+  /**
+   * If step type is rule, then expression used to match for this rule
+   *
+   * @example ip.src ne 1.1.1.1
+   */
+  expression?: string;
+  /**
+   * If step type is ruleset, then kind of this ruleset
+   *
+   * @example zone
+   */
+  kind?: string;
+  /**
+   * Whether tracing step affected tracing request/response
+   *
+   * @example true
+   */
+  matched?: boolean;
+  /**
+   * If step type is ruleset, then name of this ruleset
+   *
+   * @example some ruleset name
+   */
+  name?: string;
+  /**
+   * Tracing step identifying name
+   *
+   * @example rule_id01
+   */
+  step_name?: string;
+  trace?: Trace;
+  /**
+   * Tracing step type
+   *
+   * @example rule
+   */
+  type?: string;
+}[];
+
+/**
+ * IP address of the node.
+ */
+export type TracerouteComponentsSchemasIp = string;
+
+/**
+ * Host name of the address, this may be the same as the IP address.
+ */
+export type TracerouteComponentsSchemasName = string;
+
+/**
+ * For UDP and TCP, specifies the destination port. For ICMP, specifies the initial ICMP sequence value. Default value 0 will choose the best value to use for each protocol.
+ *
+ * @default 0
+ * @maximum 65535
+ * @minimum 0
+ */
+export type TracerouteComponentsSchemasPort = number;
+
+export type TracerouteResponseCollection = ApiResponseCollection & {
+  result?: TargetResult[];
+};
+
+/**
+ * Total time of traceroute in ms.
+ */
+export type TracerouteTimeMs = number;
+
+/**
+ * When triggered, traditional WAF rules cause the firewall to immediately act on the request based on the rule configuration. An 'allow' rule will immediately allow the request and no other rules will be processed.
+ */
+export type TraditionalAllowRule = RuleComponentsSchemasBase2 & {
+  allowed_modes?: AllowedModesAllowTraditional;
+  mode?: ModeAllowTraditional;
+};
+
+/**
+ * When triggered, traditional WAF rules cause the firewall to immediately act upon the request based on the configuration of the rule. A 'deny' rule will immediately respond to the request based on the configured rule action/mode (for example, 'block') and no other rules will be processed.
+ */
+export type TraditionalDenyRule = RuleComponentsSchemasBase2 & {
+  allowed_modes?: AllowedModesDenyTraditional;
+  default_mode?: DefaultMode;
+  mode?: ModeDenyTraditional;
+};
+
+/**
+ * The wirefilter expression to be used for traffic matching.
+ *
+ * @example http.request.uri matches ".*a/partial/uri.*" and http.request.host in $01302951-49f9-47c9-a400-0297e60b6a10
+ */
+export type Traffic = string;
+
+/**
+ * Determines how data travels from the edge to your origin. When set to "direct", Spectrum will send traffic directly to your origin, and the application's type is derived from the `protocol`. When set to "http" or "https", Spectrum will apply Cloudflare's HTTP/HTTPS features as it sends traffic to your origin, and the application type matches this property exactly.
+ *
+ * @default direct
+ * @example direct
+ */
+export type TrafficType = 'direct' | 'http' | 'https';
+
+/**
+ * Statuses for domain transfers into Cloudflare Registrar.
+ */
+export type TransferIn = {
+  /**
+   * Form of authorization has been accepted by the registrant.
+   *
+   * @example needed
+   */
+  accept_foa?: void;
+  /**
+   * Shows transfer status with the registry.
+   *
+   * @example unknown
+   */
+  approve_transfer?: void;
+  /**
+   * Indicates if cancellation is still possible.
+   *
+   * @example true
+   */
+  can_cancel_transfer?: boolean;
+  /**
+   * Privacy guards are disabled at the foreign registrar.
+   */
+  disable_privacy?: void;
+  /**
+   * Auth code has been entered and verified.
+   *
+   * @example needed
+   */
+  enter_auth_code?: void;
+  /**
+   * Domain is unlocked at the foreign registrar.
+   */
+  unlock_domain?: void;
+};
+
+/**
+ * The parameters configuring the action.
+ */
+export type TransformRulesComponentsSchemasActionParameters = ActionParametersRewrite;
+
+export type TransformRulesComponentsSchemasRule = {
+  /**
+   * @example rewrite
+   */
+  action?: void;
+  action_parameters?: TransformRulesComponentsSchemasActionParameters;
+  /**
+   * @example change request based on ip location
+   */
+  description?: void;
+  /**
+   * @example ip.geoip.country eq "AL"
+   */
+  expression?: void;
+  /**
+   * @example 3a03d665bac047339bb530ecb439a90d
+   */
+  id?: void;
+  /**
+   * @example 1
+   */
+  version?: void;
+};
+
+export type TransformRulesComponentsSchemasRuleset = {
+  /**
+   * @example
+   */
+  description?: void;
+  /**
+   * @example 2f2feab2026849078ba485f918791bdc
+   */
+  id?: void;
+  /**
+   * @example zone
+   */
+  kind?: void;
+  /**
+   * @example default
+   */
+  name?: void;
+  /**
+   * @example http_request_transform
+   */
+  phase?: void;
+  /**
+   * The rules in the ruleset.
+   */
+  rules?: TransformRulesComponentsSchemasRule[];
+};
+
+/**
+ * Allows customer to continue to use True Client IP (Akamai feature) in the headers we send to the origin. This is limited to Enterprise Zones.
+ *
+ * @default off
+ */
+export type TrueClientIpHeader = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example true_client_ip_header
+   */
+  id: 'true_client_ip_header';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: TrueClientIpHeaderValue;
+};
+
+/**
+ * Value of the zone setting.
+ *
+ * @default off
+ */
+export type TrueClientIpHeaderValue = 'on' | 'off';
+
+export type Tsig = {
+  algo: Algo;
+  id: SchemasIdentifier0HsWUjPr;
+  name: SchemasNameDv0ow20v;
+  secret: Secret;
+};
+
+/**
+ * TSIG authentication will be used for zone transfer if configured.
+ *
+ * @example 69cd1e104af3e6ed3cb344f263fd0d5a
+ */
+export type TsigId = string;
+
+/**
+ * Time To Live (TTL) in number of hops of the GRE tunnel.
+ *
+ * @default 64
+ */
+export type Ttl = number;
+
+/**
+ * Time to live (TTL) of the DNS entry for the IP address returned by this load balancer. This only applies to gray-clouded (unproxied) load balancers.
+ *
+ * @example 30
+ */
+export type TtlHaRIhRKD = number;
+
+/**
+ * Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones.
+ *
+ * @default 1
+ * @example 3600
+ */
+export type TtlSfCV2rs6 = number | 1;
+
+/**
+ * Time to live (TTL) of the DNS entry for the IP address returned by this load balancer. This only applies to gray-clouded (unproxied) load balancers.
+ *
+ * @example 30
+ */
+export type TtlXvgb35JN = number;
+
+/**
+ * A Cloudflare Tunnel that connects your origin to Cloudflare's edge.
+ */
+export type Tunnel = {
+  account_tag?: CfAccountId;
+  connections?: Connections;
+  conns_active_at?: ConnsActiveAt;
+  conns_inactive_at?: ConnsInactiveAt;
+  created_at?: CloudflareTunnelComponentsSchemasCreatedAt;
+  deleted_at?: DeletedAtYdpycuPv;
+  id?: TunnelId;
+  metadata?: CloudflareTunnelComponentsSchemasMetadata;
+  name?: TunnelName;
+  remote_config?: RemoteConfig;
+  status?: CloudflareTunnelComponentsSchemasStatus;
+  tun_type?: TunnelType;
+};
+
+export type TunnelAddSingleRequest = {
+  cloudflare_gre_endpoint: CloudflareGreEndpoint;
+  customer_gre_endpoint: CustomerGreEndpoint;
+  description?: SchemasDescriptionVR40R5E7;
+  health_check?: HealthCheck;
+  interface_address: InterfaceAddress;
+  mtu?: Mtu;
+  name: NameBTvYm8cQ;
+  ttl?: Ttl;
+};
+
+/**
+ * A connection between cloudflared and a Cloudflare data center.
+ */
+export type TunnelConnection = {
+  arch?: Arch;
+  config_version?: ConfigVersion;
+  conns?: Connections;
+  features?: SchemasFeatures;
+  id?: ConnectionId;
+  run_at?: RunAt;
+  version?: CloudflareTunnelComponentsSchemasVersion;
+};
+
+export type TunnelConnectionsResponse = ApiResponseCollection & {
+  result?: TunnelConnection[];
+};
+
+export type TunnelDeletedResponse = ApiResponseSingleRxxEmdsv & {
+  result?: {
+    /**
+     * @example true
+     */
+    deleted?: boolean;
+    deleted_gre_tunnel?: Record<string, any>;
+  };
+};
+
+export type TunnelHealthCheck = {
+  /**
+   * Determines whether to run healthchecks for a tunnel.
+   *
+   * @default true
+   * @example true
+   */
+  enabled?: boolean;
+  /**
+   * How frequent the health check is run. The default value is `mid`.
+   *
+   * @default mid
+   * @example low
+   */
+  rate?: 'low' | 'mid' | 'high';
+  /**
+   * The destination address in a request type health check. After the healthcheck is decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded to this address. This field defaults to `customer_gre_endpoint address`.
+   *
+   * @example 203.0.113.1
+   */
+  target?: string;
+  /**
+   * The type of healthcheck to run, reply or request. The default value is `reply`.
+   *
+   * @default reply
+   * @example request
+   */
+  type?: 'reply' | 'request';
+};
+
+/**
+ * UUID of the tunnel.
+ *
+ * @example f70ff985-a4ef-4643-bbbc-4a0ed4fc8415
+ * @maxLength 36
+ */
+export type TunnelId = string;
+
+export type TunnelModifiedResponse = ApiResponseSingleRxxEmdsv & {
+  result?: {
+    /**
+     * @example true
+     */
+    modified?: boolean;
+    modified_gre_tunnel?: Record<string, any>;
+  };
+};
+
+/**
+ * A user-friendly name for the tunnel.
+ *
+ * @example blog
+ */
+export type TunnelName = string;
+
+export type TunnelResponseCollection = ApiResponseCollection & {
+  result?: ArgoTunnel[];
+};
+
+export type TunnelResponseSingle = ApiResponseSingleLarS7owG & {
+  result?: Record<string, any>;
+};
+
+export type TunnelResponseToken = ApiResponseSingleLarS7owG & {
+  result?: string;
+};
+
+/**
+ * Sets the password required to run a locally-managed tunnel. Must be at least 32 bytes and encoded as a base64 string.
+ *
+ * @example AQIDBAUGBwgBAgMEBQYHCAECAwQFBgcIAQIDBAUGBwg=
+ */
+export type TunnelSecret = string;
+
+export type TunnelSingleResponse = ApiResponseSingleRxxEmdsv & {
+  result?: {
+    gre_tunnel?: Record<string, any>;
+  };
+};
+
+/**
+ * The type of tunnel.
+ *
+ * @example cfd_tunnel
+ */
+export type TunnelType = 'cfd_tunnel';
+
+export type TunnelUpdateRequest = TunnelAddSingleRequest;
+
+export type TunnelsCollectionResponse = ApiResponseSingleRxxEmdsv & {
+  result?: {
+    gre_tunnels?: GreTunnel[];
+  };
+};
+
+/**
+ * Specifies the TUS protocol version. This value must be included in every upload request.
+ * Notes: The only supported version of TUS protocol is 1.0.0.
+ *
+ * @example 1.0.0
+ */
+export type TusResumable = '1.0.0';
+
+/**
+ * Indicates whether two-factor authentication is enabled for the user account. Does not apply to API authentication.
+ *
+ * @default false
+ */
+export type TwoFactorAuthenticationEnabled = boolean;
+
+/**
+ * The protocol to use for the health check. Currently supported protocols are 'HTTP', 'HTTPS' and 'TCP'.
+ *
+ * @default HTTP
+ * @example HTTPS
+ */
+export type Type = string;
+
+/**
+ * The protocol to use for the health check. Currently supported protocols are 'HTTP','HTTPS', 'TCP', 'ICMP-PING', 'UDP-ICMP', and 'SMTP'.
+ *
+ * @default http
+ * @example https
+ */
+export type TypeB9S5DdJI = 'http' | 'https' | 'tcp' | 'udp_icmp' | 'icmp_ping' | 'smtp';
+
+/**
+ * The application type.
+ *
+ * @example self_hosted
+ */
+export type TypeOK1aJkK3 =
+  | 'self_hosted'
+  | 'saas'
+  | 'ssh'
+  | 'vnc'
+  | 'app_launcher'
+  | 'warp'
+  | 'biso'
+  | 'bookmark'
+  | 'dash_sso';
+
+/**
+ * The type of Device Posture Rule.
+ *
+ * @example file
+ */
+export type TypeS34NxojT = 'file' | 'application' | 'serial_number' | 'tanium' | 'gateway' | 'warp' | 'disk_encryption';
+
+/**
+ * The type 'legacy_custom' enables support for legacy clients which do not include SNI in the TLS handshake.
+ *
+ * @default legacy_custom
+ * @example sni_custom
+ */
+export type TypeS5kHws3S = 'legacy_custom' | 'sni_custom';
+
+/**
+ * Record type.
+ *
+ * @example A
+ */
+export type TypeCbxL4EpK =
+  | 'A'
+  | 'AAAA'
+  | 'CAA'
+  | 'CERT'
+  | 'CNAME'
+  | 'DNSKEY'
+  | 'DS'
+  | 'HTTPS'
+  | 'LOC'
+  | 'MX'
+  | 'NAPTR'
+  | 'NS'
+  | 'PTR'
+  | 'SMIMEA'
+  | 'SRV'
+  | 'SSHFP'
+  | 'SVCB'
+  | 'TLSA'
+  | 'TXT'
+  | 'URI';
+
+/**
+ * The billing item type.
+ *
+ * @example charge
+ * @maxLength 30
+ */
+export type TypeJfoU8Rqn = string;
+
+/**
+ * The type of List.
+ *
+ * @example SERIAL
+ */
+export type TypeKFroakje = 'SERIAL' | 'URL' | 'DOMAIN' | 'EMAIL' | 'IP';
+
+/**
+ * A full zone implies that DNS is hosted with Cloudflare. A partial zone is typically a partner-hosted zone or a CNAME setup.
+ *
+ * @example full
+ */
+export type TypeUEHXSvjy = 'full' | 'partial';
+
+export type UaRules = Firewalluablock;
+
+/**
+ * An informative summary of the rule.
+ *
+ * @example Prevent access from abusive clients identified by this User Agent to mitigate a DDoS attack
+ * @maxLength 1024
+ */
+export type UaRulesComponentsSchemasDescription = string;
+
+/**
+ * The unique identifier of the User Agent Blocking rule.
+ *
+ * @example 372e67954025e0ba6aaa6d586b9e0b59
+ * @maxLength 32
+ */
+export type UaRulesComponentsSchemasId = string;
+
+/**
+ * The action to apply to a matched request.
+ *
+ * @example js_challenge
+ * @maxLength 12
+ */
+export type UaRulesComponentsSchemasMode = 'block' | 'challenge' | 'js_challenge' | 'managed_challenge';
+
+/**
+ * A description of the reason why the UI read only field is being toggled.
+ *
+ * @example Temporarily turn off the UI read only lock to make a change via the UI
+ */
+export type UiReadOnlyToggleReason = string;
+
+/**
+ * The unique API identifier for the user.
+ */
+export type Uid = void;
+
+export type Uniques = {
+  /**
+   * Total number of unique IP addresses within the time range.
+   */
+  all?: number;
+};
+
+/**
+ * The unit price of the addon.
+ *
+ * @example 1
+ */
+export type UnitPrice = number;
+
+export type Universal = {
+  enabled?: SchemasEnabled;
+};
+
+/**
+ * A list of device ids to unrevoke.
+ *
+ * @maxLength 200
+ */
+export type UnrevokeDevicesRequest = SchemasUuid4P4vJwxm[];
+
+/**
+ * A list of device ids to unrevoke.
+ *
+ * @maxLength 200
+ */
+export type UnrevokeDevicesRequestZqpiEPkF = Uuid[];
+
+/**
+ * End date and time of requesting data period in ISO 8601 format.
+ *
+ * @example 2023-11-11T13:00:00Z
+ * @format date-time
+ */
+export type Until = string;
+
+/**
+ * The (exclusive) end of the requested time frame. This value can be a negative integer representing the number of minutes in the past relative to time the request is made, or can be an absolute timestamp that conforms to RFC 3339. If omitted, the time of the request is used.
+ *
+ * @default 0
+ * @example 2015-01-02T12:23:00Z
+ */
+export type UntilOh0IDugA = string | number;
+
+/**
+ * End date and time of requesting data period in the ISO8601 format.
+ *
+ * @example 2016-11-11T13:00:00Z
+ * @format date-time
+ */
+export type UntilYoheyxzn = string;
+
+export type UpdateZoneSettingsResponse = {
+  enabled?: Enabled;
+  updated_at?: UpdatedAt;
+  use_cloudflare_reporting_endpoint?: UseCloudflareReportingEndpoint;
+  use_connection_url_path?: UseConnectionUrlPath;
+};
+
+export type UpdateCatchAllRuleProperties = {
+  actions: RuleCatchallActions;
+  enabled?: RuleEnabledXvrbaudJ;
+  matchers: RuleCatchallMatchers;
+  name?: RuleName;
+};
+
+export type UpdateCustomProfile = {
+  allowed_match_count?: AllowedMatchCount;
+  /**
+   * The description of the profile.
+   *
+   * @example A standard CVV card number
+   */
+  description?: string;
+  /**
+   * The custom entries for this profile. Array elements with IDs are modifying the existing entry with that ID. Elements without ID will create new entries. Any entry not in the list will be deleted.
+   */
+  entries?: CustomEntry[];
+  /**
+   * The name of the profile.
+   *
+   * @example Generic CVV Card Number
+   */
+  name?: string;
+  /**
+   * Entries from other profiles (e.g. pre-defined Cloudflare profiles, or your Microsoft Information Protection profiles).
+   */
+  shared_entries?: (SharedEntryUpdatePredefined | SharedEntryUpdateIntegration)[];
+};
+
+export type UpdateCustomProfileQMnB1nrg = {
+  allowed_match_count?: AllowedMatchCount;
+  /**
+   * The description of the profile.
+   *
+   * @example A standard CVV card number
+   */
+  description?: string;
+  /**
+   * The entries for this profile. Array elements with IDs are modifying the existing entry with that ID. Elements without ID will create new entries. Any entry not in the list will be deleted.
+   */
+  entries?: CustomEntryMPO16jNs[];
+  /**
+   * The name of the profile.
+   *
+   * @example Generic CVV Card Number
+   */
+  name?: string;
+};
+
+export type UpdateInputRequest = {
+  defaultCreator?: LiveInputDefaultCreator;
+  meta?: LiveInputMetadata;
+  recording?: LiveInputRecordingSettings;
+};
+
+export type UpdateOutputRequest = {
+  enabled: OutputEnabled;
+};
+
+export type UpdatePredefinedProfile = {
+  allowed_match_count?: AllowedMatchCount;
+  /**
+   * The entries for this profile.
+   */
+  entries?: {
+    /**
+     * Wheter the entry is enabled or not.
+     *
+     * @example true
+     */
+    enabled?: boolean;
+    id?: EntryId;
+  }[];
+};
+
+export type UpdateRuleProperties = {
+  actions: RuleActions;
+  enabled?: RuleEnabledXvrbaudJ;
+  matchers: RuleMatchers;
+  name?: RuleName;
+  priority?: RulePriority;
+};
+
+export type UpdateRules = CreateRule[];
+
+/**
+ * A ruleset object.
+ */
+export type UpdateRuleset = {
+  description?: RulesetsComponentsSchemasDescription;
+  rules: CreateUpdateRules;
+};
+
+/**
+ * Payload log settings
+ */
+export type UpdateSettings = {
+  /**
+   * The public key to use when encrypting extracted payloads, as a base64 string
+   *
+   * @example EmpOvSXw8BfbrGCi0fhGiD/3yXk2SiV1Nzg2lru3oj0=
+   */
+  public_key: string | null;
+};
+
+export type UpdateSettingsResponse = ApiResponseSingleUypB4bgI & {
+  result?: {
+    /**
+     * @example EmpOvSXw8BfbrGCi0fhGiD/3yXk2SiV1Nzg2lru3oj0=
+     */
+    public_key: string | null;
+  };
+};
+
+export type UpdateSettingsResponseTGrCu4w7 = ApiResponseSingleLarS7owG & {
+  result?: {
+    /**
+     * @example EmpOvSXw8BfbrGCi0fhGiD/3yXk2SiV1Nzg2lru3oj0=
+     */
+    public_key: string | null;
+  };
+};
+
+/**
+ * When the device was updated.
+ *
+ * @example 2017-06-14T00:00:00Z
+ * @format date-time
+ */
+export type Updated = string;
+
+/**
+ * The timestamp of when Page Shield was last updated.
+ *
+ * @example 2022-10-12T17:56:52.083582+01:00
+ */
+export type UpdatedAt = string;
+
+/**
+ * The time when the certificate was updated.
+ *
+ * @example 2100-01-01T05:20:00Z
+ * @format date-time
+ */
+export type UpdatedAt2oKeN2sz = string;
+
+/**
+ * The time when the certificate was updated.
+ *
+ * @example 2100-01-01T05:20:00Z
+ * @format date-time
+ */
+export type UpdatedAtOvRg3NFi = string;
+
+/**
+ * Defined when the Railgun version is out of date from the latest release from Cloudflare.
+ */
+export type UpgradeInfo = {
+  /**
+   * An HTTP link to download the latest Railgun binary.
+   *
+   * @example https://www.cloudflare.com/downloads/railgun
+   */
+  download_link?: string;
+  /**
+   * Latest version of the Railgun receiver available to install.
+   *
+   * @example 1.0.0
+   */
+  latest_version?: string;
+};
+
+/**
+ * Indicates the size of the entire upload in bytes. The value must be a non-negative integer.
+ *
+ * @minimum 0
+ */
+export type UploadLength = number;
+
+/**
+ * The date and time the media item was uploaded.
+ *
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
+ */
+export type Uploaded = string;
+
+/**
+ * When the media item was uploaded.
+ *
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
+ */
+export type UploadedYGkLPeev = string;
+
+/**
+ * When the certificate was uploaded to Cloudflare.
+ *
+ * @example 2014-01-01T05:20:00Z
+ * @format date-time
+ */
+export type UploadedOn = string;
+
+/**
+ * @example 192.0.2.1
+ * @example 198.51.100.1
+ * @example 2001:DB8:100::CF
+ */
+export type UpstreamIps = (string | string)[];
+
+export type UptycsConfigRequest = {
+  /**
+   * The Uptycs client secret.
+   *
+   * @example example client key
+   */
+  client_key: string;
+  /**
+   * The Uptycs client secret.
+   *
+   * @example example client secret
+   */
+  client_secret: string;
+  /**
+   * The Uptycs customer ID.
+   *
+   * @example example customer id
+   */
+  customer_id: string;
+};
+
+/**
+ * A single URI to search for in the list of URLs of existing rules.
+ *
+ * @example /some/path
+ */
+export type UriSearch = string;
+
+/**
+ * The URL associated with the custom page.
+ *
+ * @default
+ * @example http://www.example.com
+ * @format uri
+ */
+export type Url = string;
+
+/**
+ * Submission ID(s) to filter submission results by.
+ */
+export type UrlId = number;
+
+export type UrlIdParam = {
+  url_id?: UrlId;
+};
+
+/**
+ * The type of URL normalization performed by Cloudflare.
+ *
+ * @example cloudflare
+ */
+export type UrlNormalizationComponentsSchemasType = string;
+
+export type UrlParam = {
+  url?: ComponentsSchemasUrl;
+};
+
+/**
+ * URL target.
+ */
+export type UrlTarget = {
+  /**
+   * String constraint.
+   */
+  constraint?: {
+    /**
+     * The matches operator can use asterisks and pipes as wildcard and 'or' operators.
+     *
+     * @default contains
+     */
+    operator: 'matches' | 'contains' | 'equals' | 'not_equal' | 'not_contain';
+    /**
+     * The URL pattern to match against the current request. The pattern may contain up to four asterisks ('*') as placeholders.
+     *
+     * @example *example.com/images/*
+     * @pattern ^(https?://)?(([-a-zA-Z0-9*]*\.)+[-a-zA-Z0-9]{2,20})(:(8080|8443|443|80))?(/[\S]+)?$
+     */
+    value: string;
+  };
+  /**
+   * A target based on the URL of the request.
+   *
+   * @example url
+   */
+  target?: 'url';
+};
+
+/**
+ * The URLs to include in the current WAF override. You can use wildcards. Each entered URL will be escaped before use, which means you can only use simple wildcard patterns.
+ */
+export type Urls = string[];
+
+export type UsageModelResponse = {
+  errors: Messages;
+  messages: Messages;
+  result:
+    | {
+        usage_model?: void;
+      }
+    | any[]
+    | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+/**
+ * Specifies the usage model for the Worker (e.g. 'bundled' or 'unbound').
+ *
+ * @example unbound
+ * @pattern ^(bundled|unbound)$
+ */
+export type UsageModel = string;
+
+/**
+ * When true, CSP reports will be sent to https://csp-reporting.cloudflare.com/cdn-cgi/script_monitor/report
+ *
+ * @example true
+ */
+export type UseCloudflareReportingEndpoint = boolean;
+
+/**
+ * When true, the paths associated with connections URLs will also be analyzed.
+ *
+ * @example true
+ */
+export type UseConnectionUrlPath = boolean;
+
+export type User = {
+  email?: EmailHj6ruiEO;
+  id?: ComponentsSchemasUuid2bGv7FH2;
+  /**
+   * The enrolled device user's name.
+   *
+   * @example John Appleseed
+   */
+  name?: string;
+};
+
+export type UserTCLIy2E3 = {
+  email?: EmailPuzf53IC;
+  id?: Uuid;
+  /**
+   * The enrolled device user's name.
+   *
+   * @example John Appleseed
+   */
+  name?: string;
+};
+
+export type UserInvite = BaseMktMcgEk & {
+  /**
+   * Current status of the invitation.
+   *
+   * @example accepted
+   */
+  status?: 'pending' | 'accepted' | 'rejected' | 'expired';
+};
+
+/**
+ * The amount of time a user seat is inactive before it expires. When the user seat exceeds the set time of inactivity, the user is removed as an active seat and no longer counts against your Teams seat count. Must be in the format `300ms` or `2h45m`. Valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`.
+ *
+ * @example 720h
+ */
+export type UserSeatExpirationInactiveTime = string;
+
+export type UserSubscriptionResponseCollection = ApiResponseCollection & {
+  result?: Subscription[];
+};
+
+export type UserSubscriptionResponseSingle = ApiResponseSingleLarS7owG & {
+  result?: Record<string, any>;
+};
+
+export type Users = {
+  access_seat?: SchemasAccessSeat;
+  active_device_count?: ActiveDeviceCount;
+  created_at?: Timestamp;
+  email?: SchemasEmail;
+  gateway_seat?: SchemasGatewaySeat;
+  id?: SchemasId;
+  last_successful_login?: LastSuccessfulLogin;
+  name?: UsersComponentsSchemasName;
+  seat_uid?: SeatUid;
+  uid?: Uid;
+  updated_at?: Timestamp;
+};
+
+export type UsersMEJ7mXt5 = {
+  access_seat?: SchemasAccessSeat;
+  active_device_count?: ActiveDeviceCount;
+  created_at?: Timestamp;
+  email?: ComponentsSchemasEmail;
+  gateway_seat?: SchemasGatewaySeat;
+  id?: UsersComponentsSchemasId;
+  last_successful_login?: LastSuccessfulLogin;
+  name?: UsersComponentsSchemasName;
+  seat_uid?: SeatUid;
+  uid?: Uid;
+  updated_at?: Timestamp;
+};
+
+/**
+ * The ID of the user.
+ *
+ * @example f3b12456-80dd-4e89-9f5f-ba3dfff12365
+ */
+export type UsersComponentsSchemasId = void;
+
+/**
+ * The name of the user.
+ *
+ * @example Jane Doe
+ */
+export type UsersComponentsSchemasName = string;
+
+export type UsersComponentsSchemasResponseCollection = ApiResponseCollection & {
+  result_info?: {
+    /**
+     * @example 1
+     */
+    count?: void;
+    /**
+     * @example 1
+     */
+    page?: void;
+    /**
+     * @example 100
+     */
+    per_page?: void;
+    /**
+     * @example 1
+     */
+    total_count?: void;
+  };
+} & {
+  result?: UsersMEJ7mXt5[];
+};
+
+/**
+ * UUID
+ *
+ * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
+ * @maxLength 36
+ */
+export type Uuid = string;
+
+/**
+ * API Resource UUID tag.
+ *
+ * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
+ * @maxLength 36
+ */
+export type Uuid1mDHWugl = string;
+
+/**
+ * API uuid tag.
+ *
+ * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
+ * @maxLength 36
+ */
+export type UuidUoyzrwvx = string;
+
+export type ValidateOwnershipResponse = {
+  errors: Messages;
+  messages: Messages;
+  result:
+    | {
+        /**
+         * @example true
+         */
+        valid?: boolean;
+      }
+    | any[]
+    | string
+    | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+/**
+ * A request to validate a pattern
+ */
+export type ValidatePattern = {
+  /**
+   * The regex pattern.
+   *
+   * @example ^4[0-9]{6,}$
+   */
+  regex: string;
+};
+
+export type ValidateResponse = {
+  errors: Messages;
+  messages: Messages;
+  result:
+    | {
+        /**
+         * @example
+         */
+        message?: string;
+        /**
+         * @example true
+         */
+        valid?: boolean;
+      }
+    | any[]
+    | string
+    | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ValidateResponseW2HGWyNF = ApiResponseSingleLarS7owG & {
+  result?: {
+    /**
+     * @example true
+     */
+    valid?: boolean;
+  };
+};
+
+export type ValidateResponseWQcn5Sbe = ApiResponseSingleUypB4bgI & {
+  result?: {
+    /**
+     * @example true
+     */
+    valid?: boolean;
+  };
+};
+
+/**
+ * Validation Method selected for the order.
+ *
+ * @example txt
+ */
+export type ValidationMethod = 'txt' | 'http' | 'email';
+
+/**
+ * Result status.
+ *
+ * @example pending_validation
+ */
+export type ValidationMethodComponentsSchemasStatus = string;
+
+/**
+ * Desired validation method.
+ *
+ * @example txt
+ */
+export type ValidationMethodDefinition = 'http' | 'cname' | 'txt' | 'email';
+
+/**
+ * Certificate's required validation record.
+ */
+export type ValidationRecord = {
+  /**
+   * The set of email addresses that the certificate authority (CA) will use to complete domain validation.
+   *
+   * @example administrator@example.com
+   * @example webmaster@example.com
+   */
+  emails?: any[];
+  /**
+   * The content that the certificate authority (CA) will expect to find at the http_url during the domain validation.
+   *
+   * @example ca3-574923932a82475cb8592200f1a2a23d
+   */
+  http_body?: string;
+  /**
+   * The url that will be checked during domain validation.
+   *
+   * @example http://app.example.com/.well-known/pki-validation/ca3-da12a1c25e7b48cf80408c6c1763b8a2.txt
+   */
+  http_url?: string;
+  /**
+   * The hostname that the certificate authority (CA) will check for a TXT record during domain validation .
+   *
+   * @example _acme-challenge.app.example.com
+   */
+  txt_name?: string;
+  /**
+   * The TXT record that the certificate authority (CA) will check during domain validation.
+   *
+   * @example 810b7d5f01154524b961ba0cd578acc2
+   */
+  txt_value?: string;
+};
+
+/**
+ * Validity Days selected for the order.
+ */
+export type ValidityDays = 14 | 30 | 90 | 365;
+
+/**
+ * Enables Tiered Caching.
+ *
+ * @example on
+ */
+export type Value = 'on' | 'off';
+
+/**
+ * The token value.
+ *
+ * @example 8M7wS6hCpXVc-DoRnPPY_UCWPgy8aea4Wy6kCe5T
+ * @maxLength 80
+ * @minLength 40
+ */
+export type ValueOY5wJPpX = string;
+
+/**
+ * The value of the item in a List.
+ *
+ * @example 8GE8721REF
+ */
+export type ValueBmHGW0nn = string;
+
+/**
+ * An array of domains used for custom name servers. This is only
+ * available for Business and Enterprise plans.
+ *
+ * @example ns1.example.com
+ * @example ns2.example.com
+ */
+export type VanityNameServers = string[];
+
+export type VariantGenerationRequest = {
+  id: VariantsComponentsSchemasIdentifier;
+  neverRequireSignedURLs?: NeverRequireSignedURLs;
+  options: Options;
+};
+
+export type VariantListResponse = ApiResponseCollection & {
+  result?: VariantsResponse;
+};
+
+export type VariantPatchRequest = {
+  neverRequireSignedURLs?: NeverRequireSignedURLs;
+  options: Options;
+};
+
+export type VariantPublicRequest = {
+  hero?: Record<string, any>;
+};
+
+export type VariantResponse = {
+  variant?: Record<string, any>;
+};
+
+export type VariantSimpleResponse = ApiResponseSingleLarS7owG & {
+  result?: VariantResponse;
+};
+
+/**
+ * Variant support enables caching variants of images with certain file extensions in addition to the original. This only applies when the origin server sends the 'Vary: Accept' response header. If the origin server sends 'Vary: Accept' but does not serve the variant requested, the response will not be cached. This will be indicated with BYPASS cache status in the response headers.
+ */
+export type Variants = {
+  /**
+   * ID of the zone setting.
+   *
+   * @example variants
+   */
+  id: 'variants';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on: string | null;
+};
+
+/**
+ * Variant support enables caching variants of images with certain file extensions in addition to the original. This only applies when the origin server sends the 'Vary: Accept' response header. If the origin server sends 'Vary: Accept' but does not serve the variant requested, the response will not be cached. This will be indicated with BYPASS cache status in the response headers.
+ */
+export type VariantsIp3MlQD2 = {
+  /**
+   * ID of the zone setting.
+   *
+   * @example variants
+   */
+  id: 'variants';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on: string | null;
+};
+
+/**
+ * @example hero
+ * @maxLength 99
+ * @pattern ^[a-zA-Z0-9]$
+ */
+export type VariantsComponentsSchemasIdentifier = void;
+
+export type VariantsResponse = {
+  variants?: VariantPublicRequest;
+};
+
+export type VariantsResponseValue = {
+  /**
+   * Variant support enables caching variants of images with certain file extensions in addition to the original. This only applies when the origin server sends the 'Vary: Accept' response header. If the origin server sends 'Vary: Accept' but does not serve the variant requested, the response will not be cached. This will be indicated with BYPASS cache status in the response headers.
+   */
+  result?: VariantsIp3MlQD2 & {
+    value: VariantsValue;
+  };
+};
+
+/**
+ * Value of the zone setting.
+ */
+export type VariantsValue = {
+  /**
+   * List of strings with the MIME types of all the variants that should be served for avif.
+   *
+   * @example image/webp
+   * @example image/jpeg
+   * @uniqueItems true
+   */
+  avif?: any[];
+  /**
+   * List of strings with the MIME types of all the variants that should be served for bmp.
+   *
+   * @example image/webp
+   * @example image/jpeg
+   * @uniqueItems true
+   */
+  bmp?: any[];
+  /**
+   * List of strings with the MIME types of all the variants that should be served for gif.
+   *
+   * @example image/webp
+   * @example image/jpeg
+   * @uniqueItems true
+   */
+  gif?: any[];
+  /**
+   * List of strings with the MIME types of all the variants that should be served for jp2.
+   *
+   * @example image/webp
+   * @example image/avif
+   * @uniqueItems true
+   */
+  jp2?: any[];
+  /**
+   * List of strings with the MIME types of all the variants that should be served for jpeg.
+   *
+   * @example image/webp
+   * @example image/avif
+   * @uniqueItems true
+   */
+  jpeg?: any[];
+  /**
+   * List of strings with the MIME types of all the variants that should be served for jpg.
+   *
+   * @example image/webp
+   * @example image/avif
+   * @uniqueItems true
+   */
+  jpg?: any[];
+  /**
+   * List of strings with the MIME types of all the variants that should be served for jpg2.
+   *
+   * @example image/webp
+   * @example image/avif
+   * @uniqueItems true
+   */
+  jpg2?: any[];
+  /**
+   * List of strings with the MIME types of all the variants that should be served for png.
+   *
+   * @example image/webp
+   * @example image/avif
+   * @uniqueItems true
+   */
+  png?: any[];
+  /**
+   * List of strings with the MIME types of all the variants that should be served for tif.
+   *
+   * @example image/webp
+   * @example image/avif
+   * @uniqueItems true
+   */
+  tif?: any[];
+  /**
+   * List of strings with the MIME types of all the variants that should be served for tiff.
+   *
+   * @example image/webp
+   * @example image/avif
+   * @uniqueItems true
+   */
+  tiff?: any[];
+  /**
+   * List of strings with the MIME types of all the variants that should be served for webp.
+   *
+   * @example image/jpeg
+   * @example image/avif
+   * @uniqueItems true
+   */
+  webp?: any[];
+};
+
+export type Verification = {
+  brand_check?: BrandCheck;
+  cert_pack_uuid?: CertPackUuid;
+  certificate_status: CertificateStatus;
+  signature?: SchemasSignature;
+  validation_method?: SchemasValidationMethod;
+  verification_info?: VerificationInfo;
+  verification_status?: VerificationStatus;
+  verification_type?: VerificationType;
+};
+
+/**
+ * These are errors that were encountered while trying to activate a hostname.
+ *
+ * @example None of the A or AAAA records are owned by this account and the pre-generated ownership verification token was not found.
+ */
+export type VerificationErrors = any[];
+
+/**
+ * Certificate's required verification information.
+ */
+export type VerificationInfo =
+  | 'record_name'
+  | 'record_value'
+  | 'http_url'
+  | 'http_body'
+  | 'cname'
+  | 'cname_target'
+  | 'txt_name'
+  | 'txt_value';
+
+/**
+ * Status of the required verification information, omitted if verification status is unknown.
+ *
+ * @example true
+ */
+export type VerificationStatus = boolean;
+
+/**
+ * Method of verification.
+ *
+ * @example cname
+ */
+export type VerificationType = 'cname' | 'meta tag';
+
+/**
+ * The date and time the destination address has been verified. Null means not verified yet.
+ *
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
+ */
+export type Verified = string;
+
+/**
+ * The version of the analyzed script.
+ */
+export type Version = {
+  fetched_at?: FetchedAt;
+  hash?: Hash;
+  js_integrity_score?: JsIntegrityScore;
+};
+
+/**
+ * The version of the ruleset.
+ *
+ * @example 1
+ * @pattern ^[0-9]+$
+ */
+export type VersionF60UUqsl = string;
+
+/**
+ * The WARP client version.
+ *
+ * @example 1.0.0
+ */
+export type VersionLix2KSZT = string;
+
+export type VideoClipStandard = {
+  allowedOrigins?: AllowedOrigins;
+  clippedFromVideoUID: ClippedFromVideoUid;
+  creator?: Creator;
+  endTimeSeconds: EndTimeSeconds;
+  maxDurationSeconds?: MaxDurationSeconds;
+  requireSignedURLs?: RequireSignedURLs;
+  startTimeSeconds: StartTimeSeconds;
+  thumbnailTimestampPct?: ThumbnailTimestampPct;
+  watermark?: WatermarkAtUpload;
+};
+
+export type VideoCopyRequest = {
+  allowedOrigins?: AllowedOrigins;
+  creator?: Creator;
+  requireSignedURLs?: RequireSignedURLs;
+  thumbnailTimestampPct?: ThumbnailTimestampPct;
+  /**
+   * A video's URL. The server must be publicly routable and support `HTTP HEAD` requests and `HTTP GET` range requests. The server should respond to `HTTP HEAD` requests with a `content-range` header that includes the size of the file.
+   *
+   * @example https://example.com/myvideo.mp4
+   * @format uri
+   */
+  url: string;
+  watermark?: WatermarkAtUpload;
+};
+
+export type VideoResponseCollection = ApiResponseCollection & {
+  result?: Videos[];
+} & {
+  /**
+   * The total number of remaining videos based on cursor position.
+   *
+   * @example 1000
+   */
+  range?: number;
+  /**
+   * The total number of videos that match the provided filters.
+   *
+   * @example 35586
+   */
+  total?: number;
+};
+
+export type VideoResponseSingle = ApiResponseSingleYdRGfgTy & {
+  result?: Videos;
+};
+
+export type VideoUpdate = {
+  allowedOrigins?: AllowedOrigins;
+  creator?: Creator;
+  maxDurationSeconds?: MaxDurationSeconds;
+  meta?: MediaMetadata;
+  requireSignedURLs?: RequireSignedURLs;
+  thumbnailTimestampPct?: ThumbnailTimestampPct;
+  uploadExpiry?: OneTimeUploadExpiry;
+};
+
+export type Videos = {
+  allowedOrigins?: AllowedOrigins;
+  created?: CreatedVKORkNvl;
+  creator?: Creator;
+  duration?: Duration;
+  input?: InputOZLZZB6G;
+  liveInput?: LiveInput;
+  maxDurationSeconds?: MaxDurationSeconds;
+  meta?: MediaMetadata;
+  modified?: Modified;
+  playback?: Playback;
+  preview?: Preview;
+  readyToStream?: ReadyToStream;
+  requireSignedURLs?: RequireSignedURLs;
+  size?: Size;
+  status?: MediaStatus;
+  thumbnail?: ThumbnailUrl;
+  thumbnailTimestampPct?: ThumbnailTimestampPct;
+  uid?: IdentifierKW7g5KGL;
+  uploadExpiry?: OneTimeUploadExpiry;
+  uploaded?: Uploaded;
+  watermark?: Watermarks;
+};
+
+export type VirtualNetwork = {
+  comment: SchemasComment;
+  /**
+   * Timestamp of when the virtual network was created.
+   */
+  created_at: void;
+  /**
+   * Timestamp of when the virtual network was deleted. If `null`, the virtual network has not been deleted.
+   */
+  deleted_at?: void;
+  id: VnetId;
+  is_default_network: IsDefaultNetwork;
+  name: VnetName;
+};
+
+/**
+ * The virtual network subnet ID the origin belongs in. Virtual network must also belong to the account.
+ *
+ * @example a5624d4e-044a-4ff0-b3e1-e2465353d4b4
+ */
+export type VirtualNetworkId = string;
+
+export type VncProps = {
+  allowed_idps?: AllowedIdps;
+  app_launcher_visible?: AppLauncherVisible;
+  auto_redirect_to_identity?: AutoRedirectToIdentityB0IhfGBw;
+  cors_headers?: CorsHeaders;
+  custom_deny_message?: CustomDenyMessage;
+  custom_deny_url?: CustomDenyUrl;
+  domain?: SchemasDomainA7q0ZzCX;
+  enable_binding_cookie?: EnableBindingCookie;
+  http_only_cookie_attribute?: HttpOnlyCookieAttribute;
+  logo_url?: LogoUrl;
+  name?: AppsComponentsSchemasName;
+  same_site_cookie_attribute?: SameSiteCookieAttribute;
+  service_auth_401_redirect?: ServiceAuth401Redirect;
+  session_duration?: SessionDuration;
+  skip_interstitial?: SkipInterstitial;
+  /**
+   * The application type.
+   *
+   * @example vnc
+   */
+  type?: string;
+};
+
+/**
+ * UUID of the virtual network.
+ *
+ * @example f70ff985-a4ef-4643-bbbc-4a0ed4fc8415
+ * @maxLength 36
+ */
+export type VnetId = string;
+
+/**
+ * A user-friendly name for the virtual network.
+ *
+ * @example us-east-1-vpc
+ */
+export type VnetName = string;
+
+export type VnetResponseCollection = ApiResponseCollection & {
+  result?: VirtualNetwork[];
+};
+
+export type VnetResponseSingle = ApiResponseSingleLarS7owG & {
+  result?: Record<string, any>;
+};
+
+/**
+ * The WAF examines HTTP requests to your website.  It inspects both GET and POST requests and applies rules to help filter out illegitimate traffic from legitimate website visitors. The Cloudflare WAF inspects website addresses or URLs to detect anything out of the ordinary. If the Cloudflare WAF determines suspicious user behavior, then the WAF will 'challenge' the web visitor with a page that asks them to submit a CAPTCHA successfully  to continue their action. If the challenge is failed, the action will be stopped. What this means is that Cloudflare's WAF will block any traffic identified as illegitimate before it reaches your origin web server. (https://support.cloudflare.com/hc/en-us/articles/200172016).
+ */
+export type Waf = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example waf
+   */
+  id: 'waf';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: WafValue;
+};
+
+/**
+ * The WAF rule action to apply.
+ */
+export type WafAction = 'challenge' | 'block' | 'simulate' | 'disable' | 'default';
+
+/**
+ * The WAF rule action to apply.
+ */
+export type WafRewriteAction = 'challenge' | 'block' | 'simulate' | 'disable' | 'default';
+
+/**
+ * Value of the zone setting.
+ *
+ * @default off
+ */
+export type WafValue = 'on' | 'off';
+
+/**
+ * Set the time (in seconds) to wait for a response to a probe.
+ *
+ * @default 1
+ * @maximum 5
+ * @minimum 1
+ */
+export type WaitTime = number;
+
+/**
+ * @example 699d98642c564d2e855e9661899b7252
+ */
+export type WaitingRoomId = void;
+
+export type WaitingRoomIdResponse = ApiResponseSinglePn9rJJNX & {
+  result?: {
+    id?: WaitingRoomId;
+  };
+};
+
+export type Waitingroom = {
+  cookie_attributes?: CookieAttributes;
+  created_on?: Timestamp;
+  custom_page_html?: CustomPageHtml;
+  default_template_language?: DefaultTemplateLanguage;
+  description?: DescriptionJIh6Lv2u;
+  disable_session_renewal?: DisableSessionRenewal;
+  host?: HostB3JrS1Yy;
+  id?: WaitingRoomId;
+  json_response_enabled?: JsonResponseEnabled;
+  modified_on?: Timestamp;
+  name?: NameGu3WWDHz;
+  new_users_per_minute?: NewUsersPerMinute;
+  next_event_prequeue_start_time?: NextEventPrequeueStartTime;
+  next_event_start_time?: NextEventStartTime;
+  path?: PathIVkcNWHz;
+  queue_all?: QueueAll;
+  queueing_method?: QueueingMethod;
+  session_duration?: SessionDurationDWa1S8Ip;
+  suspended?: SuspendedW815GHPM;
+  total_active_users?: TotalActiveUsers;
+};
+
+export type WarpProps = {
+  allowed_idps?: AllowedIdps;
+  auto_redirect_to_identity?: AutoRedirectToIdentityB0IhfGBw;
+  /**
+   * @example authdomain.cloudflareaccess.com/warp
+   */
+  domain?: SchemasDomainA7q0ZzCX;
+  /**
+   * @default Warp Login App
+   * @example Warp Login App
+   */
+  name?: AppsComponentsSchemasName;
+  session_duration?: SessionDuration;
+  /**
+   * The application type.
+   *
+   * @example warp
+   */
+  type?: AppsComponentsSchemasType;
+};
+
+export type WasmModuleBinding = {
+  name: BindingName;
+  /**
+   * The class of resource that the binding provides.
+   *
+   * @example wasm_module
+   */
+  type: 'wasm_module';
+};
+
+export type WatermarkAtUpload = {
+  /**
+   * The unique identifier for the watermark profile.
+   *
+   * @example ea95132c15732412d22c1476fa83f27a
+   * @maxLength 32
+   */
+  uid?: string;
+};
+
+export type WatermarkAtUpload = {
+  /**
+   * The unique identifier for the watermark profile.
+   *
+   * @example ea95132c15732412d22c1476fa83f27a
+   * @maxLength 32
+   */
+  uid?: string;
+};
+
+export type WatermarkBasicUpload = {
+  /**
+   * The image file to upload.
+   *
+   * @example @/Users/rchen/Downloads/watermark.png
+   */
+  file: string;
+  name?: NameWjx50o7Y;
+  opacity?: Opacity;
+  padding?: Padding;
+  position?: Position;
+  scale?: Scale;
+};
+
+/**
+ * The date and a time a watermark profile was created.
+ *
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
+ */
+export type WatermarkCreated = string;
+
+/**
+ * The unique identifier for a watermark profile.
+ *
+ * @example ea95132c15732412d22c1476fa83f27a
+ * @maxLength 32
+ */
+export type WatermarkIdentifier = string;
+
+export type WatermarkResponseCollection = ApiResponseCollection & {
+  result?: Watermarks[];
+};
+
+export type WatermarkResponseSingle = ApiResponseSingleYdRGfgTy & {
+  result?: Record<string, any>;
+};
+
+/**
+ * The size of the image in bytes.
+ *
+ * @example 29472
+ */
+export type WatermarkSize = number;
+
+export type Watermarks = {
+  created?: WatermarkCreated;
+  downloadedFrom?: DownloadedFrom;
+  height?: Height;
+  name?: NameWjx50o7Y;
+  opacity?: Opacity;
+  padding?: Padding;
+  position?: Position;
+  scale?: Scale;
+  size?: WatermarkSize;
+  uid?: WatermarkIdentifier;
+  width?: Width;
+};
+
+export type Web3Hostname = {
+  created_on?: Timestamp;
+  description?: Web3HostnameComponentsSchemasDescription;
+  dnslink?: Dnslink;
+  id?: CommonComponentsSchemasIdentifier;
+  modified_on?: Timestamp;
+  name?: Web3HostnameComponentsSchemasName;
+  status?: Web3HostnameComponentsSchemasStatus;
+  target?: SchemasTarget;
+};
+
+/**
+ * An optional description of the hostname.
+ *
+ * @example This is my IPFS gateway.
+ * @maxLength 500
+ */
+export type Web3HostnameComponentsSchemasDescription = string;
+
+/**
+ * The hostname that will point to the target gateway via CNAME.
+ *
+ * @example gateway.example.com
+ * @maxLength 255
+ */
+export type Web3HostnameComponentsSchemasName = string;
+
+export type Web3HostnameComponentsSchemasSingleResponse = ApiResponseSingleLarS7owG & {
+  result?: Web3Hostname;
+};
+
+/**
+ * Status of the hostname's activation.
+ *
+ * @example active
+ */
+export type Web3HostnameComponentsSchemasStatus = 'active' | 'pending' | 'deleting' | 'error';
+
+export type WebhookRequest = {
+  notificationUrl: NotificationUrl;
+};
+
+export type WebhookResponseSingle = ApiResponseSingleYdRGfgTy & {
+  result?: Record<string, any>;
+};
+
+export type Webhooks = {
+  created_at?: WebhooksComponentsSchemasCreatedAt;
+  id?: Uuid;
+  last_failure?: LastFailure;
+  last_success?: LastSuccess;
+  name?: WebhooksComponentsSchemasName;
+  secret?: SecretLnW39Y7R;
+  type?: WebhooksComponentsSchemasType;
+  url?: WebhooksComponentsSchemasUrl;
+};
+
+/**
+ * Timestamp of when the webhook destination was created.
+ *
+ * @example 2020-10-26T18:25:04.532316Z
+ * @format date-time
+ */
+export type WebhooksComponentsSchemasCreatedAt = string;
+
+export type WebhooksComponentsSchemasIdResponse = ApiResponseSingleLarS7owG & {
+  result?: {
+    id?: Uuid;
+  };
+};
+
+/**
+ * The name of the webhook destination. This will be included in the request body when you receive a webhook notification.
+ *
+ * @example Slack Webhook
+ */
+export type WebhooksComponentsSchemasName = string;
+
+export type WebhooksComponentsSchemasResponseCollection = ApiResponseCollection & {
+  result?: Webhooks[];
+};
+
+export type WebhooksComponentsSchemasSingleResponse = ApiResponseSingleLarS7owG & {
+  result?: Webhooks;
+};
+
+/**
+ * Type of webhook endpoint.
+ *
+ * @example slack
+ */
+export type WebhooksComponentsSchemasType = 'slack' | 'generic' | 'gchat';
+
+/**
+ * The POST endpoint to call when dispatching a notification.
+ *
+ * @example https://hooks.slack.com/services/Ds3fdBFbV/456464Gdd
+ */
+export type WebhooksComponentsSchemasUrl = string;
+
+/**
+ * When the client requesting the image supports the WebP image codec, and WebP offers a performance advantage over the original image format, Cloudflare will serve a WebP version of the original image.
+ */
+export type Webp = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example webp
+   */
+  id: 'webp';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: WebpValue;
+};
+
+/**
+ * Value of the zone setting.
+ *
+ * @default off
+ */
+export type WebpValue = 'off' | 'on';
+
+/**
+ * WebSockets are open connections sustained between the client and the origin server. Inside a WebSockets connection, the client and the origin can pass data back and forth without having to reestablish sessions. This makes exchanging data within a WebSockets connection fast. WebSockets are often used for real-time applications such as live chat and gaming. For more information refer to [Can I use Cloudflare with Websockets](https://support.cloudflare.com/hc/en-us/articles/200169466-Can-I-use-Cloudflare-with-WebSockets-).
+ */
+export type Websockets = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example websockets
+   */
+  id: 'websockets';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: WebsocketsValue;
+};
+
+/**
+ * Value of the zone setting.
+ *
+ * @default off
+ */
+export type WebsocketsValue = 'off' | 'on';
+
+/**
+ * Optional weight of the ECMP scope - if provided.
+ */
+export type Weight = number;
+
+/**
+ * The weight of this origin relative to other origins in the pool. Based on the configured weight the total traffic is distributed among origins within the pool.
+ *
+ * @default 1
+ * @example 0.6
+ * @maximum 1
+ * @minimum 0
+ * @multipleOf 0.01
+ */
+export type WeightNB8okIS7 = number;
+
+/**
+ * The weight of this origin relative to other origins in the pool. Based on the configured weight the total traffic is distributed among origins within the pool.
+ *
+ * @default 1
+ * @example 0.6
+ * @maximum 1
+ * @minimum 0
+ * @multipleOf 0.01
+ */
+export type WeightUxsoOG5s = number;
+
+export type Whois = {
+  /**
+   * @example 2009-02-17
+   * @format date
+   */
+  created_date?: string;
+  domain?: SchemasDomainName;
+  /**
+   * @example ns3.cloudflare.com
+   * @example ns4.cloudflare.com
+   * @example ns5.cloudflare.com
+   * @example ns6.cloudflare.com
+   * @example ns7.cloudflare.com
+   */
+  nameservers?: string[];
+  /**
+   * @example DATA REDACTED
+   */
+  registrant?: string;
+  /**
+   * @example United States
+   */
+  registrant_country?: string;
+  /**
+   * @example https://domaincontact.cloudflareregistrar.com/cloudflare.com
+   */
+  registrant_email?: string;
+  /**
+   * @example DATA REDACTED
+   */
+  registrant_org?: string;
+  /**
+   * @example Cloudflare, Inc.
+   */
+  registrar?: string;
+  /**
+   * @example 2017-05-24
+   * @format date
+   */
+  updated_date?: string;
+};
+
+export type WhoisComponentsSchemasSingleResponse = ApiResponseSingleLarS7owG & {
+  result?: Whois;
+};
+
+/**
+ * The width of the image in pixels.
+ */
+export type Width = number;
+
+/**
+ * Maximum width in image pixels.
+ *
+ * @example 1366
+ * @minimum 1
+ */
+export type Width3qFBlIcS = number;
+
+export type WorkspaceOneConfigRequest = {
+  /**
+   * The Workspace One API URL provided in the Workspace One Admin Dashboard.
+   *
+   * @example https://as123.awmdm.com/API
+   */
+  api_url: string;
+  /**
+   * The Workspace One Authorization URL depending on your region.
+   *
+   * @example https://na.uemauth.vmwservices.com/connect/token
+   */
+  auth_url: string;
+  /**
+   * The Workspace One client ID provided in the Workspace One Admin Dashboard.
+   *
+   * @example example client id
+   */
+  client_id: string;
+  /**
+   * The Workspace One client secret provided in the Workspace One Admin Dashboard.
+   *
+   * @example example client secret
+   */
+  client_secret: string;
+};
+
+/**
+ * The Workspace One Config Response.
+ */
+export type WorkspaceOneConfigResponse = {
+  /**
+   * The Workspace One API URL provided in the Workspace One Admin Dashboard.
+   *
+   * @example https://as123.awmdm.com/API
+   */
+  api_url: string;
+  /**
+   * The Workspace One Authorization URL depending on your region.
+   *
+   * @example https://na.uemauth.vmwservices.com/connect/token
+   */
+  auth_url: string;
+  /**
+   * The Workspace One client ID provided in the Workspace One Admin Dashboard.
+   *
+   * @example example client id
+   */
+  client_id: string;
+};
+
+export type Yandex = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: GenericOauthConfig;
+  id?: Uuid;
+  name: SchemasNameIXVfNmuB;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
+     */
+    group_member_deprovision?: boolean;
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type: string;
+};
+
+/**
+ * The zipcode or postal code where the user lives.
+ *
+ * @example 12345
+ * @maxLength 20
+ */
+export type Zipcode = string | null;
+
+export type Zone = {
+  /**
+   * The last time proof of ownership was detected and the zone was made
+   * active
+   *
+   * @example 2014-01-02T00:01:00.12345Z
+   * @format date-time
+   */
+  activated_on: string | null;
+  /**
+   * When the zone was created
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  created_on: string;
+  /**
+   * The interval (in seconds) from when development mode expires
+   * (positive integer) or last expired (negative integer) for the
+   * domain. If development mode has never been enabled, this value is 0.
+   *
+   * @example 7200
+   */
+  development_mode: number;
+  id: IdentifierY35LcWMV;
+  /**
+   * When the zone was last modified
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on: string;
+  /**
+   * The domain name
+   *
+   * @example example.com
+   * @maxLength 253
+   * @pattern ^([a-zA-Z0-9][\-a-zA-Z0-9]*\.)+[\-a-zA-Z0-9]{2,20}$
+   */
+  name: string;
+  /**
+   * DNS host at the time of switching to Cloudflare
+   *
+   * @example NameCheap
+   * @maxLength 50
+   */
+  original_dnshost: string | null;
+  /**
+   * Original name servers before moving to Cloudflare
+   * Notes: Is this only available for full zones?
+   *
+   * @example ns1.originaldnshost.com
+   * @example ns2.originaldnshost.com
+   */
+  original_name_servers: string[] | null;
+  /**
+   * Registrar for the domain at the time of switching to Cloudflare
+   *
+   * @example GoDaddy
+   */
+  original_registrar: string | null;
+};
+
+export type ZoneAuthenticatedOriginPull = CertificateObject;
+
+export type ZoneAuthenticatedOriginPullHgUvk0U1 = CertificateObject25TqpbxA;
+
+/**
+ * The zone's leaf certificate.
+ * 
+ * @example -----BEGIN CERTIFICATE-----
+MIIDtTCCAp2gAwIBAgIJAMHAwfXZ5/PWMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV
+BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX
+aWRnaXRzIFB0eSBMdGQwHhcNMTYwODI0MTY0MzAxWhcNMTYxMTIyMTY0MzAxWjBF
+MQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50
+ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
+CgKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmGdtcGbg/1
+CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKnabIRuGvB
+KwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpidtnKX/a+5
+0GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+pyFxIXjbEI
+dZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pEewooaeO2
+izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABo4GnMIGkMB0GA1UdDgQWBBT/LbE4
+9rWf288N6sJA5BRb6FJIGDB1BgNVHSMEbjBsgBT/LbE49rWf288N6sJA5BRb6FJI
+GKFJpEcwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNV
+BAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZIIJAMHAwfXZ5/PWMAwGA1UdEwQF
+MAMBAf8wDQYJKoZIhvcNAQELBQADggEBAHHFwl0tH0quUYZYO0dZYt4R7SJ0pCm2
+2satiyzHl4OnXcHDpekAo7/a09c6Lz6AU83cKy/+x3/djYHXWba7HpEu0dR3ugQP
+Mlr4zrhd9xKZ0KZKiYmtJH+ak4OM4L3FbT0owUZPyjLSlhMtJVcoRp5CJsjAMBUG
+SvD8RX+T01wzox/Qb+lnnNnOlaWpqu8eoOenybxKp1a9ULzIVvN/LAcc+14vioFq
+2swRWtmocBAs8QR9n4uvbpiYvS8eYueDCWMM4fvFfBhaDZ3N9IbtySh3SpFdQDhw
+YbjM2rxXiyLGxB4Bol7QTv4zHif7Zt89FReT/NBy4rzaskDJY5L6xmY=
+-----END CERTIFICATE-----
+ */
+export type ZoneAuthenticatedOriginPullComponentsSchemasCertificate = string;
+
+/**
+ * Indicates whether zone-level authenticated origin pulls is enabled.
+ *
+ * @example true
+ */
+export type ZoneAuthenticatedOriginPullComponentsSchemasEnabled = boolean;
+
+/**
+ * When the certificate from the authority expires.
+ *
+ * @example 2100-01-01T05:20:00Z
+ * @format date-time
+ */
+export type ZoneAuthenticatedOriginPullComponentsSchemasExpiresOn = string;
+
+/**
+ * Certificate identifier tag.
+ *
+ * @example 2458ce5a-0c35-4c7f-82c7-8e9487d3ff60
+ * @maxLength 36
+ */
+export type ZoneAuthenticatedOriginPullComponentsSchemasIdentifier = string;
+
+/**
+ * Status of the certificate activation.
+ *
+ * @example active
+ */
+export type ZoneAuthenticatedOriginPullComponentsSchemasStatus =
+  | 'initializing'
+  | 'pending_deployment'
+  | 'pending_deletion'
+  | 'active'
+  | 'deleted'
+  | 'deployment_timed_out'
+  | 'deletion_timed_out';
+
+/**
+ * A simple zone object. May have null properties if not a zone subscription.
+ */
+export type ZoneEBDuGM7t = {
+  id?: CommonComponentsSchemasIdentifier;
+  name?: ZonePropertiesName;
+};
+
+/**
+ * The domain name
+ *
+ * @example example.com
+ * @maxLength 253
+ * @pattern ^([a-zA-Z0-9][\-a-zA-Z0-9]*\.)+[\-a-zA-Z0-9]{2,20}$
+ */
+export type ZonePropertiesName = string;
+
+export type ZoneCacheSettingsResponseSingle = ApiResponseSingleIRWHLn6I & {
+  result?: Record<string, any>;
+};
+
+export type ZoneCacheSettingsResponseSingle5K0MvU1F = ApiResponseSingleLarS7owG & {
+  result?: Record<string, any>;
+};
+
+/**
+ * Identifier of the zone.
+ *
+ * @example 593c9c94de529bbbfaac7c53ced0447d
+ */
+export type ZoneIdentifier = void;
+
+export type ZoneIdentifierWAYA2uXU = Identifier;
+
+export type ZoneMetadata = {
+  /**
+   * Whether zone uses account-level custom nameservers.
+   *
+   * @example true
+   */
+  enabled?: boolean;
+};
+
+/**
+ * Name of the zone.
+ *
+ * @example example.com
+ */
+export type ZoneName = string;
+
+export type ZoneSettingsResponseCollection = ApiResponseCommonU3C2lXGw & {
+  result?: (
+    | Zerortt
+    | AdvancedDdos
+    | AlwaysOnline
+    | AlwaysUseHttps
+    | AutomaticHttpsRewrites
+    | Brotli
+    | BrowserCacheTtl
+    | BrowserCheck
+    | CacheLevel
+    | ChallengeTtl
+    | Ciphers
+    | CnameFlattening
+    | DevelopmentMode
+    | EarlyHints
+    | EdgeCacheTtl
+    | EmailObfuscation
+    | H2Prioritization
+    | HotlinkProtection
+    | Http2
+    | Http3
+    | ImageResizing
+    | IpGeolocation
+    | Ipv6
+    | MaxUpload
+    | MinTlsVersion
+    | Minify
+    | Mirage
+    | MobileRedirect
+    | Nel
+    | OpportunisticEncryption
+    | OpportunisticOnion
+    | OrangeToOrange
+    | OriginErrorPagePassThru
+    | OriginMaxHttpVersion
+    | Polish
+    | PrefetchPreload
+    | PrivacyPass
+    | ProxyReadTimeout
+    | PseudoIpv4
+    | ResponseBuffering
+    | RocketLoader
+    | SchemasAutomaticPlatformOptimization
+    | SecurityHeader
+    | SecurityLevel
+    | ServerSideExclude
+    | Sha1Support
+    | SortQueryStringForCache
+    | SslCvCTPIf1
+    | SslRecommender
+    | Tls12Only
+    | Tls13
+    | TlsClientAuth
+    | TrueClientIpHeader
+    | Waf
+    | Webp
+    | Websockets
+  )[];
+};
+
+export type ZoneSettingsResponseSingle = ApiResponseSingle & {
+  result?: Record<string, any>;
+};
+
+export type ZoneSettingsResponseSingleJb3DGhx6 = ApiResponseCommonU3C2lXGw & {
+  result?: Record<string, any>;
+};
+
+export type ZoneSubscriptionResponseSingle = ApiResponseSingleLarS7owG & {
+  result?: Record<string, any>;
+};
+
+export type Zonelockdown = {
+  configurations: Configurations;
+  created_on: CreatedOnSYnNp6TW;
+  description: LockdownsComponentsSchemasDescription;
+  id: LockdownsComponentsSchemasId;
+  modified_on: ComponentsSchemasModifiedOn;
+  paused: SchemasPaused;
+  urls: SchemasUrls;
+};
+
+export type ZonelockdownResponseCollection = ApiResponseCollection & {
+  result: Zonelockdown[];
+};
+
+export type ZonelockdownResponseSingle = ApiResponseSingleLarS7owG & {
+  result: Zonelockdown;
+};
+
+/**
+ * The number of zones using this Railgun.
+ *
+ * @example 2
+ */
+export type ZonesConnected = number;
+
+/**
+ * 0-RTT session resumption enabled for this zone.
+ */
+export type Zerortt = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example 0rtt
+   */
+  id: '0rtt';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: ZerorttValue;
+};
+
+/**
+ * Value of the 0-RTT setting.
+ *
+ * @default off
+ */
+export type ZerorttValue = 'on' | 'off';
diff --git a/packages/cloudflare-api/src/api/utils.ts b/packages/cloudflare-api/src/api/utils.ts
new file mode 100644
index 00000000..431e608c
--- /dev/null
+++ b/packages/cloudflare-api/src/api/utils.ts
@@ -0,0 +1,6 @@
+type ComputeRange<N extends number, Result extends Array<unknown> = []> = Result['length'] extends N
+  ? Result
+  : ComputeRange<N, [...Result, Result['length']]>;
+
+export type ClientErrorStatus = Exclude<ComputeRange<500>[number], ComputeRange<400>[number]>;
+export type ServerErrorStatus = Exclude<ComputeRange<600>[number], ComputeRange<500>[number]>;
diff --git a/packages/cloudflare-api/src/client.ts b/packages/cloudflare-api/src/client.ts
new file mode 100644
index 00000000..bf831768
--- /dev/null
+++ b/packages/cloudflare-api/src/client.ts
@@ -0,0 +1,125 @@
+import { operationsByTag } from './api/components';
+import { operationsByPath } from './api/extra';
+import { FetcherExtraProps, baseUrl, fetch as CloudflareFetch } from './api/fetcher';
+import { FetchImpl } from './utils/fetch';
+import { RequiredKeys } from './utils/types';
+
+export interface CloudflareApiOptions {
+  token: string;
+  fetch?: FetchImpl;
+  basePath?: string;
+}
+
+type ApiProxy = {
+  [Tag in keyof typeof operationsByTag]: {
+    [Method in keyof (typeof operationsByTag)[Tag]]: (typeof operationsByTag)[Tag][Method] extends infer Operation extends (
+      ...args: any
+    ) => any
+      ? Omit<Parameters<Operation>[0], keyof FetcherExtraProps> extends infer Params
+        ? RequiredKeys<Params> extends never
+          ? (params?: Params) => ReturnType<Operation>
+          : (params: Params) => ReturnType<Operation>
+        : never
+      : never;
+  };
+};
+
+type RequestEndpointParams<T extends keyof typeof operationsByPath> = Omit<
+  Parameters<(typeof operationsByPath)[T]>[0],
+  keyof FetcherExtraProps
+>;
+
+type RequestEndpointResult<T extends keyof typeof operationsByPath> = ReturnType<(typeof operationsByPath)[T]>;
+
+export class CloudflareApi {
+  #token: string;
+  #fetch: FetchImpl;
+  #basePath: string;
+
+  constructor(options: CloudflareApiOptions) {
+    this.#token = options.token;
+    if (!options.token) throw new Error('Token is required');
+
+    this.#fetch = options.fetch || (fetch as FetchImpl);
+    if (!this.#fetch) throw new Error('Fetch is required');
+
+    this.#basePath = options.basePath || '/api/v1';
+  }
+
+  get api() {
+    const token = this.#token;
+    const fetchImpl = this.#fetch;
+    const basePath = this.#basePath;
+
+    return new Proxy(
+      {},
+      {
+        get: (_target, namespace: keyof typeof operationsByTag) => {
+          if (operationsByTag[namespace] === undefined) {
+            return undefined;
+          }
+
+          return new Proxy(
+            {},
+            {
+              get: (_target, operation: keyof (typeof operationsByTag)[keyof typeof operationsByTag]) => {
+                if (operationsByTag[namespace][operation] === undefined) {
+                  return undefined;
+                }
+
+                const method = operationsByTag[namespace][operation] as any;
+
+                return async (params: Record<string, unknown>) => {
+                  return await method({ ...params, token, fetchImpl, basePath });
+                };
+              }
+            }
+          );
+        }
+      }
+    ) as ApiProxy;
+  }
+
+  get auth() {
+    return {
+      refreshToken: async ({ refreshToken, authToken, clientId, clientSecret }: RefreshTokenOptions) => {
+        return await this.#fetch(`${baseUrl}/oauth/token`, {
+          method: 'POST',
+          headers: { 'Content-Type': 'application/json', Authorization: `Bearer ${authToken}` },
+          body: JSON.stringify({
+            grant_type: 'refresh_token',
+            refresh_token: refreshToken,
+            client_id: clientId,
+            client_secret: clientSecret
+          })
+        });
+      }
+    };
+  }
+
+  public async request<Endpoint extends keyof typeof operationsByPath>(
+    endpoint: Endpoint,
+    params: RequestEndpointParams<Endpoint>
+  ) {
+    const [method = '', url = ''] = endpoint.split(' ');
+    const extraParams = (params || {}) as Record<string, unknown>;
+
+    const result = await CloudflareFetch({
+      ...extraParams,
+      method,
+      url,
+      token: this.#token,
+      fetchImpl: this.#fetch,
+      basePath: this.#basePath
+    });
+
+    return result as RequestEndpointResult<Endpoint>;
+  }
+}
+
+type RefreshTokenOptions = {
+  refreshToken: string;
+  authToken: string;
+  clientId: string;
+  clientSecret: string;
+};
diff --git a/packages/cloudflare-api/src/index.ts b/packages/cloudflare-api/src/index.ts
new file mode 100644
index 00000000..593a2e70
--- /dev/null
+++ b/packages/cloudflare-api/src/index.ts
@@ -0,0 +1,5 @@
+export * from './client';
+
+import type * as Schemas from './api/schemas';
+import type * as Components from './api/components';
+export { Schemas, Components };
diff --git a/packages/cloudflare-api/src/utils/fetch.ts b/packages/cloudflare-api/src/utils/fetch.ts
new file mode 100644
index 00000000..59507b5b
--- /dev/null
+++ b/packages/cloudflare-api/src/utils/fetch.ts
@@ -0,0 +1,22 @@
+export type RequestInit = {
+  body?: string | FormData | undefined;
+  headers?: Record<string, string> | undefined;
+  method?: string | undefined;
+  signal?: any | undefined;
+};
+
+export type Response = {
+  ok: boolean;
+  status: number;
+  url: string;
+  json(): Promise<any>;
+  text(): Promise<string>;
+  headers?:
+    | {
+        get(name: string): string | null;
+      }
+    | undefined;
+};
+
+// Typed only the subset of the spec we actually use (to be able to build a simple mock)
+export type FetchImpl = (url: string, init?: RequestInit | undefined) => Promise<Response>;
diff --git a/packages/cloudflare-api/src/utils/types.ts b/packages/cloudflare-api/src/utils/types.ts
new file mode 100644
index 00000000..609b31c3
--- /dev/null
+++ b/packages/cloudflare-api/src/utils/types.ts
@@ -0,0 +1,3 @@
+export type RequiredKeys<T> = {
+  [K in keyof T]-?: {} extends Pick<T, K> ? never : K;
+}[keyof T];
diff --git a/packages/cloudflare-api/tsconfig.json b/packages/cloudflare-api/tsconfig.json
new file mode 100644
index 00000000..b337817f
--- /dev/null
+++ b/packages/cloudflare-api/tsconfig.json
@@ -0,0 +1,19 @@
+{
+  "compilerOptions": {
+    "target": "es2020",
+    "lib": ["dom", "dom.iterable", "esnext"],
+    "module": "esnext",
+    "moduleResolution": "node",
+    "esModuleInterop": true,
+    "forceConsistentCasingInFileNames": true,
+    "strict": true,
+    "noImplicitAny": true,
+    "strictNullChecks": true,
+    "noUnusedLocals": true,
+    "noUnusedParameters": true,
+    "exactOptionalPropertyTypes": true,
+    "noImplicitReturns": true,
+    "noFallthroughCasesInSwitch": true,
+    "noUncheckedIndexedAccess": true
+  }
+}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 2b6a910a..1c921a8a 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -44,6 +44,9 @@ importers:
       typescript: 5.0.3
       vitest: 0.29.8
 
+  packages/cloudflare-api:
+    specifiers: {}
+
   packages/dhis2-api:
     specifiers: {}
 

From 5c12ef8d0f1bfef7e1181f1b77e71356c0677834 Mon Sep 17 00:00:00 2001
From: Alexis Rico <sferadev@gmail.com>
Date: Fri, 20 Dec 2024 09:08:10 +0100
Subject: [PATCH 2/3] Fix build

Signed-off-by: Alexis Rico <sferadev@gmail.com>
---
 .../cloudflare-api/openapi-codegen.config.ts  |     78 +-
 packages/cloudflare-api/package.json          |     16 +-
 packages/cloudflare-api/rollup.config.mjs     |     26 -
 packages/cloudflare-api/src/api/components.ts | 117688 +++++++++++++++
 packages/cloudflare-api/src/api/extra.ts      |   3687 +
 packages/cloudflare-api/src/api/parameters.ts |    158 +
 .../cloudflare-api/src/api/requestBodies.ts   |    234 +
 packages/cloudflare-api/src/api/responses.ts  |    118 +
 packages/cloudflare-api/src/api/schemas.ts    |  65183 +++++---
 packages/cloudflare-api/src/client.ts         |     20 +-
 10 files changed, 165769 insertions(+), 21439 deletions(-)
 delete mode 100644 packages/cloudflare-api/rollup.config.mjs
 create mode 100644 packages/cloudflare-api/src/api/components.ts
 create mode 100644 packages/cloudflare-api/src/api/extra.ts
 create mode 100644 packages/cloudflare-api/src/api/parameters.ts
 create mode 100644 packages/cloudflare-api/src/api/requestBodies.ts
 create mode 100644 packages/cloudflare-api/src/api/responses.ts

diff --git a/packages/cloudflare-api/openapi-codegen.config.ts b/packages/cloudflare-api/openapi-codegen.config.ts
index 55fc068d..ccc09838 100644
--- a/packages/cloudflare-api/openapi-codegen.config.ts
+++ b/packages/cloudflare-api/openapi-codegen.config.ts
@@ -1,6 +1,8 @@
 import { defineConfig } from '@openapi-codegen/cli';
 import { Context } from '@openapi-codegen/cli/lib/types';
-import { generateFetchers, generateSchemaTypes, renameComponent } from '@openapi-codegen/typescript';
+import { generateFetchers, generateSchemaTypes } from '@openapi-codegen/typescript';
+import Case from "case";
+import { OperationObject, PathItemObject } from 'openapi3-ts/oas30';
 import { Project, VariableDeclarationKind } from 'ts-morph';
 import ts from 'typescript';
 
@@ -14,17 +16,46 @@ export default defineConfig({
     to: async (context) => {
       const filenamePrefix = '';
 
-      context.openAPIDocument = renameComponent({
-        openAPIDocument: context.openAPIDocument,
-        from: '#/components/schemas/0rtt',
-        to: '#/components/schemas/zerortt'
-      });
+      // Add missing operation ids and clean them
+      context.openAPIDocument = cleanOperationIds({ openAPIDocument: context.openAPIDocument });
 
-      context.openAPIDocument = renameComponent({
-        openAPIDocument: context.openAPIDocument,
-        from: '#/components/schemas/0rtt_value',
-        to: '#/components/schemas/zerortt_value'
-      });
+      // Remove duplicated schemas
+      const schemaCount: Record<string, number> = {}
+      const rewrites = new Map<string, string>();
+      for (const path of Object.keys(context.openAPIDocument.components?.schemas ?? {})) {
+        const schemaName = Case.pascal(path);
+        if (schemaCount[schemaName] === undefined) {
+          schemaCount[schemaName] = 0;
+        }
+
+        schemaCount[schemaName] += 1;
+        if (schemaCount[schemaName] > 1 && context.openAPIDocument.components?.schemas?.[path]) {
+          rewrites.set(path, `${path}-${schemaCount[schemaName]}`);
+          context.openAPIDocument.components.schemas[`${path}-${schemaCount[schemaName]}`] = context.openAPIDocument.components.schemas[path];
+          delete context.openAPIDocument.components.schemas[path];
+        }
+      }
+
+      // Rewrite all $ref in components with new schema names
+      for (const [ref, newRef] of rewrites) {
+        context.openAPIDocument = JSON.parse(JSON.stringify(context.openAPIDocument).replace(new RegExp(`"#/components/schemas/${ref}"`, 'g'), `"#/components/schemas/${newRef}"`));
+      }
+
+      // Rewrite status code in components response with XX suffix to avoid invalid identifier (4XX -> 400, 5XX -> 500)
+      for (const [_, definition] of Object.entries(context.openAPIDocument.paths ?? {})) {
+        for (const [_, operation] of Object.entries(definition as PathItemObject)) {
+          const responses = (operation as OperationObject).responses;
+          if (responses) {
+            for (const [statusCode, response] of Object.entries(responses)) {
+              if (statusCode.endsWith('XX')) {
+                const newStatusCode = statusCode.slice(0, 1) + '00';
+                responses[newStatusCode] = response;
+                delete responses[statusCode];
+              }
+            }
+          }
+        }
+      }
 
       const { schemasFiles } = await generateSchemaTypes(context, { filenamePrefix });
       await generateFetchers(context, { filenamePrefix, schemasFiles });
@@ -62,8 +93,8 @@ function buildExtraFile(context: Context) {
         name: 'operationsByPath',
         initializer: `{
             ${Object.entries(operationsByPath)
-              .map(([path, operation]) => `"${path}": ${operation}`)
-              .join(',\n')}
+            .map(([path, operation]) => `"${path}": ${operation}`)
+            .join(',\n')}
         }`
       }
     ]
@@ -71,3 +102,24 @@ function buildExtraFile(context: Context) {
 
   return sourceFile.getFullText();
 }
+
+function cleanOperationIds({
+  openAPIDocument,
+}: {
+  openAPIDocument: Context['openAPIDocument'];
+}) {
+  for (const [key, path] of Object.entries(openAPIDocument.paths as Record<string, PathItemObject>)) {
+    for (const method of ["get", "put", "post", "patch", "delete"] as const) {
+      if (path[method]) {
+        const operationId = path[method].operationId ?? `${method} ${key}`;
+        openAPIDocument.paths[key][method] = {
+          ...openAPIDocument.paths[key][method],
+          operationId: Case.camel(operationId)
+        }
+      }
+    }
+
+  }
+
+  return openAPIDocument;
+}
diff --git a/packages/cloudflare-api/package.json b/packages/cloudflare-api/package.json
index 34a35726..b1684159 100644
--- a/packages/cloudflare-api/package.json
+++ b/packages/cloudflare-api/package.json
@@ -12,12 +12,22 @@
   "module": "dist/index.mjs",
   "typings": "dist/index.d.ts",
   "exports": {
-    "import": "./dist/index.mjs",
-    "require": "./dist/index.cjs"
+    "./package.json": "./package.json",
+    ".": {
+      "import": {
+        "types": "./dist/index.d.mts",
+        "default": "./dist/index.mjs"
+      },
+      "require": {
+        "types": "./dist/index.d.cts",
+        "default": "./dist/index.cjs"
+      }
+    }
   },
   "scripts": {
     "tsc": "tsc --noEmit",
-    "build": "rimraf dist && rollup -c",
+    "build": "unbuild",
+    "prepack": "unbuild",
     "generate": "openapi-codegen cloudflare"
   },
   "repository": {
diff --git a/packages/cloudflare-api/rollup.config.mjs b/packages/cloudflare-api/rollup.config.mjs
deleted file mode 100644
index 37ac8ab5..00000000
--- a/packages/cloudflare-api/rollup.config.mjs
+++ /dev/null
@@ -1,26 +0,0 @@
-import typescript from "@rollup/plugin-typescript";
-import builtins from "builtin-modules";
-import dts from "rollup-plugin-dts";
-
-export default [
-    {
-        input: "./src/index.ts",
-        output: [
-            {
-                file: "dist/index.cjs",
-                format: "cjs",
-            },
-            {
-                file: "dist/index.mjs",
-                format: "esm",
-            },
-        ],
-        external: builtins,
-        plugins: [typescript()],
-    },
-    {
-        input: "./src/index.ts",
-        output: [{ file: "dist/index.d.ts", format: "es" }],
-        plugins: [dts()],
-    },
-];
\ No newline at end of file
diff --git a/packages/cloudflare-api/src/api/components.ts b/packages/cloudflare-api/src/api/components.ts
new file mode 100644
index 00000000..1da96401
--- /dev/null
+++ b/packages/cloudflare-api/src/api/components.ts
@@ -0,0 +1,117688 @@
+/**
+ * Generated by @openapi-codegen
+ *
+ * @version 4.0.0
+ */
+import type * as Fetcher from './fetcher';
+import { fetch, FetcherExtraProps } from './fetcher';
+import type * as Schemas from './schemas';
+import type * as RequestBodies from './requestBodies';
+import type * as Responses from './responses';
+import type { ClientErrorStatus, ServerErrorStatus } from './utils';
+
+export type AccountsListAccountsQueryParams = {
+  /**
+   * @example example.com
+   */
+  name?: string;
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default 20
+   * @maximum 50
+   * @minimum 5
+   */
+  per_page?: number;
+  /**
+   * @example desc
+   */
+  direction?: 'asc' | 'desc';
+};
+
+export type AccountsListAccountsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type AccountsListAccountsVariables = {
+  queryParams?: AccountsListAccountsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * List all accounts you have ownership or verified access to.
+ */
+export const accountsListAccounts = (variables: AccountsListAccountsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.IamResponseCollectionAccounts,
+    AccountsListAccountsError,
+    undefined,
+    {},
+    AccountsListAccountsQueryParams,
+    {}
+  >({ url: '/accounts', method: 'get', ...variables, signal });
+
+export type AccountCreationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type AccountCreationVariables = {
+  body: Schemas.IamCreateAccount;
+} & FetcherExtraProps;
+
+/**
+ * Create an account (only available for tenant admins at this time)
+ */
+export const accountCreation = (variables: AccountCreationVariables, signal?: AbortSignal) =>
+  fetch<Schemas.IamResponseSingleAccount, AccountCreationError, Schemas.IamCreateAccount, {}, {}, {}>({
+    url: '/accounts',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type UrlscannerGetResponseTextPathParams = {
+  /**
+   * Response hash.
+   */
+  responseId: string;
+  /**
+   * Account Id.
+   */
+  accountId: string;
+};
+
+export type UrlscannerGetResponseTextError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: {
+        errors: {
+          /**
+           * @example Scan ID is not a valid uuid.
+           */
+          message: string;
+        }[];
+        messages: {
+          message: string;
+        }[];
+        /**
+         * Whether request was successful or not
+         */
+        success: boolean;
+      };
+    }
+  | {
+      status: 404;
+      payload: {
+        errors: {
+          /**
+           * @example Scan not found.
+           */
+          message: string;
+        }[];
+        messages: {
+          message: string;
+        }[];
+        /**
+         * Whether request was successful or not
+         */
+        success: boolean;
+      };
+    }
+>;
+
+export type UrlscannerGetResponseTextVariables = {
+  pathParams: UrlscannerGetResponseTextPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Returns the plain response of the network request.
+ */
+export const urlscannerGetResponseText = (variables: UrlscannerGetResponseTextVariables, signal?: AbortSignal) =>
+  fetch<undefined, UrlscannerGetResponseTextError, undefined, {}, {}, UrlscannerGetResponseTextPathParams>({
+    url: '/accounts/{accountId}/urlscanner/response/{responseId}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type UrlscannerSearchScansPathParams = {
+  /**
+   * Account Id.
+   */
+  accountId: string;
+};
+
+export type UrlscannerSearchScansQueryParams = {
+  /**
+   * Scan uuid
+   *
+   * @format uuid
+   */
+  scanId?: string;
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 100
+   */
+  limit?: number;
+  /**
+   * Pagination cursor to get the next set of results.
+   */
+  next_cursor?: string;
+  /**
+   * Filter scans requested after date (inclusive).
+   *
+   * @format date-time
+   */
+  date_start?: string;
+  /**
+   * Filter scans requested before date (inclusive).
+   *
+   * @format date-time
+   */
+  date_end?: string;
+  /**
+   * Filter scans by URL of _any_ request made by the webpage
+   *
+   * @example https://example.com/?hello
+   */
+  url?: string;
+  /**
+   * Filter scans by hostname of _any_ request made by the webpage.
+   *
+   * @example example.com
+   */
+  hostname?: string;
+  /**
+   * Filter scans by url path of _any_ request made by the webpage.
+   *
+   * @example /samples/subresource-integrity/
+   */
+  path?: string;
+  /**
+   * Filter scans by IP address (IPv4 or IPv6) of _any_ request made by the webpage.
+   *
+   * @example 1.1.1.1
+   */
+  ip?: string;
+  /**
+   * Filter scans by Autonomous System Number (ASN) of _any_ request made by the webpage.
+   *
+   * @example 13335
+   */
+  asn?: string;
+  /**
+   * Filter scans by hash of any html/js/css request made by the webpage.
+   */
+  hash?: string;
+  /**
+   * Filter scans by submitted or scanned URL
+   */
+  page_url?: string;
+  /**
+   * Filter scans by main page hostname (domain of effective URL).
+   */
+  page_hostname?: string;
+  /**
+   * Filter scans by exact match of effective URL path (also supports suffix search).
+   */
+  page_path?: string;
+  /**
+   * Filter scans by main page Autonomous System Number (ASN).
+   */
+  page_asn?: string;
+  /**
+   * Filter scans by  main page IP address (IPv4 or IPv6).
+   */
+  page_ip?: string;
+  /**
+   * Return only scans created by account.
+   */
+  account_scans?: boolean;
+  /**
+   * Filter scans by malicious verdict.
+   */
+  is_malicious?: boolean;
+};
+
+export type UrlscannerSearchScansError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      /**
+       * @example Scan ID is not a valid uuid.
+       */
+      message: string;
+    }[];
+    messages: {
+      message: string;
+    }[];
+    /**
+     * Whether request was successful or not
+     */
+    success: boolean;
+  };
+}>;
+
+export type UrlscannerSearchScansResponse = {
+  errors: {
+    /**
+     * @example Error
+     */
+    message: string;
+  }[];
+  messages: {
+    /**
+     * @example OK
+     */
+    message: string;
+  }[];
+  result: {
+    tasks: {
+      /**
+       * Alpha-2 country code
+       */
+      country: string;
+      /**
+       * Whether scan was successful or not
+       */
+      success: boolean;
+      /**
+       * When scan was submitted (UTC)
+       *
+       * @format date-time
+       */
+      time: string;
+      /**
+       * Scan url (after redirects)
+       *
+       * @example https://www.example.com/
+       */
+      url: string;
+      /**
+       * Scan id
+       *
+       * @format uuid
+       */
+      uuid: string;
+      /**
+       * Visibility status.
+       *
+       * @example public
+       */
+      visibility: string;
+    }[];
+  };
+  /**
+   * Whether search request was successful or not
+   */
+  success: boolean;
+};
+
+export type UrlscannerSearchScansVariables = {
+  pathParams: UrlscannerSearchScansPathParams;
+  queryParams?: UrlscannerSearchScansQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Search scans by date and webpages' requests, including full URL (after redirects), hostname, and path. <br/> A successful scan will appear in search results a few minutes after finishing but may take much longer if the system in under load. By default, only successfully completed scans will appear in search results, unless searching by `scanId`. Please take into account that older scans may be removed from the search index at an unspecified time.
+ */
+export const urlscannerSearchScans = (variables: UrlscannerSearchScansVariables, signal?: AbortSignal) =>
+  fetch<
+    UrlscannerSearchScansResponse,
+    UrlscannerSearchScansError,
+    undefined,
+    {},
+    UrlscannerSearchScansQueryParams,
+    UrlscannerSearchScansPathParams
+  >({ url: '/accounts/{accountId}/urlscanner/scan', method: 'get', ...variables, signal });
+
+export type UrlscannerCreateScanPathParams = {
+  /**
+   * Account Id.
+   */
+  accountId: string;
+};
+
+export type UrlscannerCreateScanError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: {
+        errors: {
+          /**
+           * @example Scan ID is not a valid uuid.
+           */
+          message: string;
+        }[];
+        messages: {
+          message: string;
+        }[];
+        /**
+         * Whether request was successful or not
+         */
+        success: boolean;
+      };
+    }
+  | {
+      status: 409;
+      payload: {
+        errors: {
+          /**
+           * @example Submission unsuccessful
+           */
+          message: string;
+        }[];
+        messages: {
+          message: string;
+        }[];
+        result: {
+          tasks: {
+            /**
+             * Submitter location
+             *
+             * @example PT
+             */
+            clientLocation: string;
+            clientType: 'Site' | 'Automatic' | 'Api';
+            /**
+             * URL of the primary request, after all HTTP redirects
+             *
+             * @example http://example.com/
+             */
+            effectiveUrl: string;
+            errors: {
+              message: string;
+            }[];
+            scannedFrom: {
+              /**
+               * IATA code of Cloudflare datacenter
+               *
+               * @example MAD
+               */
+              colo: string;
+            };
+            status: 'Queued' | 'InProgress' | 'InPostProcessing' | 'Finished';
+            /**
+             * @example true
+             */
+            success: boolean;
+            /**
+             * @example 2023-05-03T17:05:04.843Z
+             */
+            time: string;
+            /**
+             * @example 2023-05-03T17:05:19.374Z
+             */
+            timeEnd: string;
+            /**
+             * Submitted URL
+             *
+             * @example http://example.com
+             */
+            url: string;
+            /**
+             * Scan ID
+             *
+             * @example 2ee568d0-bf70-4827-b922-b7088c0f056f
+             */
+            uuid: string;
+            visibility: 'Public' | 'Unlisted';
+          }[];
+        };
+        /**
+         * @example true
+         */
+        success: boolean;
+      };
+    }
+  | {
+      status: 429;
+      payload: {
+        errors: {
+          /**
+           * @example Submission unsuccessful
+           */
+          message: string;
+        }[];
+        messages: {
+          message: string;
+        }[];
+        /**
+         * @example true
+         */
+        success: boolean;
+      };
+    }
+>;
+
+export type UrlscannerCreateScanResponse = {
+  errors: {
+    /**
+     * @example Submission unsuccessful
+     */
+    message: string;
+  }[];
+  messages: {
+    /**
+     * @example Submission successful
+     */
+    message: string;
+  }[];
+  result: {
+    /**
+     * Time when url was submitted for scanning.
+     *
+     * @format date-time
+     */
+    time: string;
+    /**
+     * Canonical form of submitted URL. Use this if you want to later search by URL.
+     */
+    url: string;
+    /**
+     * Scan ID.
+     *
+     * @format uuid
+     */
+    uuid: string;
+    /**
+     * Submitted visibility status.
+     *
+     * @example Public
+     */
+    visibility: string;
+  };
+  success: boolean;
+};
+
+export type UrlscannerCreateScanRequestBody = {
+  /**
+   * Set custom headers.
+   */
+  customHeaders?: {
+    [key: string]: string;
+  };
+  /**
+   * Take multiple screenshots targeting different device types.
+   *
+   * @default desktop
+   */
+  screenshotsResolutions?: ('desktop' | 'mobile' | 'tablet')[];
+  /**
+   * @example https://www.example.com
+   */
+  url: string;
+  /**
+   * The option `Public` means it will be included in listings like recent scans and search results. `Unlisted` means it will not be included in the aforementioned listings, users will need to have the scan's ID to access it. A a scan will be automatically marked as unlisted if it fails, if it contains potential PII or other sensitive material.
+   *
+   * @default Public
+   */
+  visibility?: 'Public' | 'Unlisted';
+};
+
+export type UrlscannerCreateScanVariables = {
+  body: UrlscannerCreateScanRequestBody;
+  pathParams: UrlscannerCreateScanPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Submit a URL to scan. You can also set some options, like the visibility level and custom headers. Check limits at https://developers.cloudflare.com/security-center/investigate/scan-limits/.
+ */
+export const urlscannerCreateScan = (variables: UrlscannerCreateScanVariables, signal?: AbortSignal) =>
+  fetch<
+    UrlscannerCreateScanResponse,
+    UrlscannerCreateScanError,
+    UrlscannerCreateScanRequestBody,
+    {},
+    {},
+    UrlscannerCreateScanPathParams
+  >({ url: '/accounts/{accountId}/urlscanner/scan', method: 'post', ...variables, signal });
+
+export type UrlscannerGetScanPathParams = {
+  /**
+   * Scan uuid.
+   *
+   * @format uuid
+   */
+  scanId: string;
+  /**
+   * Account Id.
+   */
+  accountId: string;
+};
+
+export type UrlscannerGetScanQueryParams = {
+  /**
+   * Whether to return full report (scan summary and network log).
+   */
+  full?: boolean;
+};
+
+export type UrlscannerGetScanError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: {
+        errors: {
+          /**
+           * @example Scan ID is not a valid uuid.
+           */
+          message: string;
+        }[];
+        messages: {
+          message: string;
+        }[];
+        /**
+         * Whether request was successful or not
+         */
+        success: boolean;
+      };
+    }
+  | {
+      status: 404;
+      payload: {
+        errors: {
+          /**
+           * @example Scan not found.
+           */
+          message: string;
+        }[];
+        messages: {
+          message: string;
+        }[];
+        /**
+         * Whether request was successful or not
+         */
+        success: boolean;
+      };
+    }
+>;
+
+export type UrlscannerGetScanVariables = {
+  pathParams: UrlscannerGetScanPathParams;
+  queryParams?: UrlscannerGetScanQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get URL scan by uuid
+ */
+export const urlscannerGetScan = (variables: UrlscannerGetScanVariables, signal?: AbortSignal) =>
+  fetch<
+    | {
+        errors: {
+          /**
+           * @example Error
+           */
+          message: string;
+        }[];
+        messages: {
+          /**
+           * @example OK
+           */
+          message: string;
+        }[];
+        result: {
+          scan: {
+            /**
+             * Dictionary of Autonomous System Numbers where ASN's are the keys
+             */
+            asns?: {
+              /**
+               * ASN's contacted
+               */
+              asn?: {
+                /**
+                 * @example 15133
+                 */
+                asn: string;
+                /**
+                 * @example EDGECAST
+                 */
+                description: string;
+                /**
+                 * @example US
+                 */
+                location_alpha2: string;
+                /**
+                 * @example EDGECAST
+                 */
+                name: string;
+                /**
+                 * @example Edgecast Inc.
+                 */
+                org_name: string;
+              };
+            };
+            certificates: {
+              issuer: string;
+              /**
+               * @example rkmod.somee.com
+               */
+              subjectName: string;
+              /**
+               * @example 1682684400
+               */
+              validFrom: number;
+              /**
+               * @example 1696698000
+               */
+              validTo: number;
+            }[];
+            domains?: {
+              ['example.com']?: {
+                categories: {
+                  content?: {
+                    id: number;
+                    /**
+                     * @example Technology
+                     */
+                    name: string;
+                    super_category_id?: number;
+                  }[];
+                  inherited: {
+                    content?: {
+                      id: number;
+                      /**
+                       * @example Technology
+                       */
+                      name: string;
+                      super_category_id?: number;
+                    }[];
+                    /**
+                     * @example example.com
+                     */
+                    from?: string;
+                    risks?: {
+                      id: number;
+                      /**
+                       * @example Technology
+                       */
+                      name: string;
+                      super_category_id?: number;
+                    }[];
+                  };
+                  risks?: {
+                    id: number;
+                    /**
+                     * @example Technology
+                     */
+                    name: string;
+                    super_category_id?: number;
+                  }[];
+                };
+                dns: {
+                  /**
+                   * @example 93.184.216.34
+                   */
+                  address: string;
+                  dnssec_valid: boolean;
+                  /**
+                   * @example example.com
+                   */
+                  name: string;
+                  /**
+                   * @example A
+                   */
+                  type: string;
+                }[];
+                /**
+                 * @example example.com
+                 */
+                name: string;
+                rank: {
+                  /**
+                   * @example 500
+                   */
+                  bucket: string;
+                  /**
+                   * @example example.com
+                   */
+                  name: string;
+                  /**
+                   * Rank in the Global Radar Rank, if set. See more at https://blog.cloudflare.com/radar-domain-rankings/
+                   */
+                  rank?: number;
+                };
+                /**
+                 * @example Apex domain
+                 */
+                type: string;
+              };
+            };
+            geo: {
+              /**
+               * GeoIP continent location
+               */
+              continents: string[];
+              /**
+               * GeoIP country location
+               */
+              locations: string[];
+            };
+            ips?: {
+              ip?: {
+                /**
+                 * @example 15133
+                 */
+                asn: string;
+                /**
+                 * @example EDGECAST
+                 */
+                asnDescription: string;
+                /**
+                 * @example US
+                 */
+                asnLocationAlpha2: string;
+                /**
+                 * @example EDGECAST
+                 */
+                asnName: string;
+                /**
+                 * @example Edgecast Inc.
+                 */
+                asnOrgName: string;
+                /**
+                 * @example North America
+                 */
+                continent: string;
+                /**
+                 * @example 6252001
+                 */
+                geonameId: string;
+                /**
+                 * @example 2606:2800:220:1:248:1893:25c8:1946
+                 */
+                ip: string;
+                /**
+                 * @example IPv6
+                 */
+                ipVersion: string;
+                /**
+                 * @example 39.76
+                 */
+                latitude: string;
+                /**
+                 * @example US
+                 */
+                locationAlpha2: string;
+                /**
+                 * @example United States
+                 */
+                locationName: string;
+                /**
+                 * @example -98.5
+                 */
+                longitude: string;
+                subdivision1Name: string;
+                subdivision2Name: string;
+              };
+            };
+            links?: {
+              link?: {
+                /**
+                 * Outgoing link detected in the DOM
+                 *
+                 * @example https://www.iana.org/domains/example
+                 */
+                href: string;
+                /**
+                 * @example More information...
+                 */
+                text: string;
+              };
+            };
+            meta: {
+              processors: {
+                categories: {
+                  content: {
+                    /**
+                     * @example 155
+                     */
+                    id: number;
+                    /**
+                     * @example Technology
+                     */
+                    name: string;
+                    super_category_id?: number;
+                  }[];
+                  risks: {
+                    /**
+                     * @example 17
+                     */
+                    id: number;
+                    /**
+                     * @example Newly Seen Domains
+                     */
+                    name: string;
+                    /**
+                     * @example 32
+                     */
+                    super_category_id: number;
+                  }[];
+                };
+                phishing: string[];
+                rank: {
+                  /**
+                   * @example 500
+                   */
+                  bucket: string;
+                  /**
+                   * @example example.com
+                   */
+                  name: string;
+                  /**
+                   * Rank in the Global Radar Rank, if set. See more at https://blog.cloudflare.com/radar-domain-rankings/
+                   */
+                  rank?: number;
+                };
+                tech: {
+                  categories: {
+                    groups: number[];
+                    /**
+                     * @example 63
+                     */
+                    id: number;
+                    /**
+                     * @example IAAS
+                     */
+                    name: string;
+                    /**
+                     * @example 8
+                     */
+                    priority: number;
+                    /**
+                     * @example iaas
+                     */
+                    slug: string;
+                  }[];
+                  /**
+                   * @example 100
+                   */
+                  confidence: number;
+                  description?: string;
+                  evidence: {
+                    impliedBy: string[];
+                    patterns: {
+                      /**
+                       * @example 100
+                       */
+                      confidence: number;
+                      excludes: string[];
+                      implies: string[];
+                      /**
+                       * @example ECS
+                       */
+                      match: string;
+                      /**
+                       * Header or Cookie name when set
+                       *
+                       * @example server
+                       */
+                      name: string;
+                      /**
+                       * @example ^ECS
+                       */
+                      regex: string;
+                      /**
+                       * @example headers
+                       */
+                      type: string;
+                      /**
+                       * @example ECS (dcb/7EEE)
+                       */
+                      value: string;
+                      version: string;
+                    }[];
+                  };
+                  /**
+                   * @example Amazon ECS.svg
+                   */
+                  icon: string;
+                  /**
+                   * @example Amazon ECS
+                   */
+                  name: string;
+                  /**
+                   * @example amazon-ecs
+                   */
+                  slug: string;
+                  /**
+                   * @example https://aws.amazon.com/ecs/
+                   */
+                  website: string;
+                }[];
+              };
+            };
+            page: {
+              /**
+               * @example 15133
+               */
+              asn: string;
+              /**
+               * @example US
+               */
+              asnLocationAlpha2: string;
+              /**
+               * @example EDGECAST
+               */
+              asnname: string;
+              console: {
+                /**
+                 * @example network
+                 */
+                category: string;
+                /**
+                 * @example Failed to load resource: the server responded with a status of 404 (Not Found)
+                 */
+                text: string;
+                /**
+                 * @example error
+                 */
+                type: string;
+                /**
+                 * @example http://example.com/favicon.ico
+                 */
+                url?: string;
+              }[];
+              cookies: {
+                /**
+                 * @example rkmod.somee.com
+                 */
+                domain: string;
+                /**
+                 * @example -1
+                 */
+                expires: number;
+                httpOnly: boolean;
+                /**
+                 * @example b
+                 */
+                name: string;
+                /**
+                 * @example /
+                 */
+                path: string;
+                /**
+                 * @example Medium
+                 */
+                priority?: string;
+                sameParty: boolean;
+                secure: boolean;
+                /**
+                 * @example true
+                 */
+                session: boolean;
+                /**
+                 * @example 2
+                 */
+                size: number;
+                /**
+                 * @example 443
+                 */
+                sourcePort: number;
+                /**
+                 * @example Secure
+                 */
+                sourceScheme: string;
+                /**
+                 * @example b
+                 */
+                value: string;
+              }[];
+              /**
+               * @example United States
+               */
+              country: string;
+              /**
+               * @example US
+               */
+              countryLocationAlpha2: string;
+              /**
+               * @example example.com
+               */
+              domain: string;
+              headers: {
+                /**
+                 * @example Content-Length
+                 */
+                name: string;
+                /**
+                 * @example 648
+                 */
+                value: string;
+              }[];
+              /**
+               * @example 2606:2800:220:1:248:1893:25c8:1946
+               */
+              ip: string;
+              js: {
+                variables: {
+                  /**
+                   * @example checkFrame
+                   */
+                  name: string;
+                  /**
+                   * @example string
+                   */
+                  type: string;
+                }[];
+              };
+              securityViolations: {
+                /**
+                 * @example csp
+                 */
+                category: string;
+                /**
+                 * @example [Report Only] Refused to load the stylesheet 'https://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css' because it violates the following Content Security Policy directive: ...
+                 */
+                text: string;
+                /**
+                 * @example http://example.com/
+                 */
+                url: string;
+              }[];
+              /**
+               * @example 200
+               */
+              status: number;
+              subdivision1Name: string;
+              subdivision2name: string;
+              /**
+               * @example http://example.com/
+               */
+              url: string;
+            };
+            performance: {
+              /**
+               * @example 82.59999999403954
+               */
+              connectEnd: number;
+              /**
+               * @example 72.79999999701977
+               */
+              connectStart: number;
+              /**
+               * @example 1256
+               */
+              decodedBodySize: number;
+              /**
+               * @example 306
+               */
+              domComplete: number;
+              /**
+               * @example 305.8999999910593
+               */
+              domContentLoadedEventEnd: number;
+              /**
+               * @example 305.8999999910593
+               */
+              domContentLoadedEventStart: number;
+              /**
+               * @example 305.8999999910593
+               */
+              domInteractive: number;
+              /**
+               * @example 72.79999999701977
+               */
+              domainLookupEnd: number;
+              /**
+               * @example 2.199999988079071
+               */
+              domainLookupStart: number;
+              /**
+               * @example 306
+               */
+              duration: number;
+              /**
+               * @example 648
+               */
+              encodedBodySize: number;
+              /**
+               * @example navigation
+               */
+              entryType: string;
+              /**
+               * @example 0.8999999910593033
+               */
+              fetchStart: number;
+              /**
+               * @example navigation
+               */
+              initiatorType: string;
+              /**
+               * @example 306
+               */
+              loadEventEnd: number;
+              /**
+               * @example 306
+               */
+              loadEventStart: number;
+              /**
+               * @example http://example.com/
+               */
+              name: string;
+              /**
+               * @example http/1.1
+               */
+              nextHopProtocol: string;
+              redirectCount: number;
+              redirectEnd: number;
+              redirectStart: number;
+              /**
+               * @example 82.69999998807907
+               */
+              requestStart: number;
+              /**
+               * @example 270.8999999910593
+               */
+              responseEnd: number;
+              /**
+               * @example 265.69999998807907
+               */
+              responseStart: number;
+              secureConnectionStart: number;
+              startTime: number;
+              /**
+               * @example 948
+               */
+              transferSize: number;
+              /**
+               * @example navigate
+               */
+              type: string;
+              unloadEventEnd: number;
+              unloadEventStart: number;
+              workerStart: number;
+            }[];
+            task: {
+              /**
+               * Submitter location
+               *
+               * @example PT
+               */
+              clientLocation: string;
+              clientType: 'Site' | 'Automatic' | 'Api';
+              /**
+               * URL of the primary request, after all HTTP redirects
+               *
+               * @example http://example.com/
+               */
+              effectiveUrl: string;
+              errors: {
+                message: string;
+              }[];
+              scannedFrom: {
+                /**
+                 * IATA code of Cloudflare datacenter
+                 *
+                 * @example MAD
+                 */
+                colo: string;
+              };
+              status: 'Queued' | 'InProgress' | 'InPostProcessing' | 'Finished';
+              /**
+               * @example true
+               */
+              success: boolean;
+              /**
+               * @example 2023-05-03T17:05:04.843Z
+               */
+              time: string;
+              /**
+               * @example 2023-05-03T17:05:19.374Z
+               */
+              timeEnd: string;
+              /**
+               * Submitted URL
+               *
+               * @example http://example.com
+               */
+              url: string;
+              /**
+               * Scan ID
+               *
+               * @example 2ee568d0-bf70-4827-b922-b7088c0f056f
+               */
+              uuid: string;
+              visibility: 'Public' | 'Unlisted';
+            };
+            verdicts: {
+              overall: {
+                categories: {
+                  /**
+                   * @example 117
+                   */
+                  id: number;
+                  /**
+                   * @example Malware
+                   */
+                  name: string;
+                  /**
+                   * @example 32
+                   */
+                  super_category_id: number;
+                }[];
+                /**
+                 * At least one of our subsystems marked the site as potentially malicious at the time of the scan.
+                 *
+                 * @example true
+                 */
+                malicious: boolean;
+                phishing: string[];
+              };
+            };
+          };
+        };
+        /**
+         * Whether request was successful or not
+         */
+        success: boolean;
+      }
+    | {
+        errors: {
+          message: string;
+        }[];
+        messages: {
+          /**
+           * @example In Progress
+           */
+          message: string;
+        }[];
+        result: {
+          scan: {
+            task: {
+              /**
+               * @example http://example.com/
+               */
+              effectiveUrl: string;
+              errors: {
+                message: string;
+              }[];
+              /**
+               * @example PT
+               */
+              location: string;
+              /**
+               * @example enam
+               */
+              region: string;
+              /**
+               * @example InProgress
+               */
+              status: string;
+              /**
+               * @example true
+               */
+              success: boolean;
+              /**
+               * @example 2023-05-03T17:05:04.843Z
+               */
+              time: string;
+              /**
+               * @example http://example.com
+               */
+              url: string;
+              /**
+               * @example 2ee568d0-bf70-4827-b922-b7088c0f056f
+               */
+              uuid: string;
+              /**
+               * @example Public
+               */
+              visibility: string;
+            };
+          };
+        };
+        /**
+         * Whether request was successful or not
+         */
+        success: boolean;
+      },
+    UrlscannerGetScanError,
+    undefined,
+    {},
+    UrlscannerGetScanQueryParams,
+    UrlscannerGetScanPathParams
+  >({ url: '/accounts/{accountId}/urlscanner/scan/{scanId}', method: 'get', ...variables, signal });
+
+export type UrlscannerGetScanHarPathParams = {
+  /**
+   * Scan uuid.
+   *
+   * @format uuid
+   */
+  scanId: string;
+  /**
+   * Account Id.
+   */
+  accountId: string;
+};
+
+export type UrlscannerGetScanHarError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: {
+        errors: {
+          /**
+           * @example Scan ID is not a valid uuid.
+           */
+          message: string;
+        }[];
+        messages: {
+          message: string;
+        }[];
+        /**
+         * Whether request was successful or not
+         */
+        success: boolean;
+      };
+    }
+  | {
+      status: 404;
+      payload: {
+        errors: {
+          /**
+           * @example Scan not found.
+           */
+          message: string;
+        }[];
+        messages: {
+          message: string;
+        }[];
+        /**
+         * Whether request was successful or not
+         */
+        success: boolean;
+      };
+    }
+>;
+
+export type UrlscannerGetScanHarVariables = {
+  pathParams: UrlscannerGetScanHarPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a URL scan's HAR file. See HAR spec at http://www.softwareishard.com/blog/har-12-spec/.
+ */
+export const urlscannerGetScanHar = (variables: UrlscannerGetScanHarVariables, signal?: AbortSignal) =>
+  fetch<
+    | {
+        errors: {
+          /**
+           * @example Error
+           */
+          message: string;
+        }[];
+        messages: {
+          /**
+           * @example OK
+           */
+          message: string;
+        }[];
+        result: {
+          har: {
+            log: {
+              creator: {
+                /**
+                 * @example https://github.com/sitespeedio/chrome-har
+                 */
+                comment: string;
+                /**
+                 * @example chrome-har
+                 */
+                name: string;
+                /**
+                 * @example 0.13.1
+                 */
+                version: string;
+              };
+              entries: {
+                /**
+                 * @example VeryHigh
+                 */
+                _initialPriority: string;
+                /**
+                 * @example other
+                 */
+                _initiator_type: string;
+                /**
+                 * @example VeryHigh
+                 */
+                _priority: string;
+                /**
+                 * @example DDC779F0CB3746BAF283EC1A51B0F2F8
+                 */
+                _requestId: string;
+                /**
+                 * @example 114135.331081
+                 */
+                _requestTime: number;
+                /**
+                 * @example document
+                 */
+                _resourceType: string;
+                cache: Record<string, any>;
+                /**
+                 * @example 33
+                 */
+                connection: string;
+                /**
+                 * @example page_1
+                 */
+                pageref: string;
+                request: {
+                  bodySize: number;
+                  headers: {
+                    /**
+                     * @example Upgrade-Insecure-Requests
+                     */
+                    name: string;
+                    /**
+                     * @example 1
+                     */
+                    value: string;
+                  }[];
+                  /**
+                   * @example 197
+                   */
+                  headersSize: number;
+                  /**
+                   * @example http/1.1
+                   */
+                  httpVersion: string;
+                  /**
+                   * @example GET
+                   */
+                  method: string;
+                  /**
+                   * @example http://example.com/
+                   */
+                  url: string;
+                };
+                response: {
+                  /**
+                   * @example 1071
+                   */
+                  _transferSize: number;
+                  /**
+                   * @example 648
+                   */
+                  bodySize: number;
+                  content: {
+                    /**
+                     * @example 608
+                     */
+                    compression?: number;
+                    /**
+                     * @example text/html
+                     */
+                    mimeType: string;
+                    /**
+                     * @example 1256
+                     */
+                    size: number;
+                  };
+                  headers: {
+                    /**
+                     * @example Content-Encoding
+                     */
+                    name: string;
+                    /**
+                     * @example gzip
+                     */
+                    value: string;
+                  }[];
+                  /**
+                   * @example 423
+                   */
+                  headersSize: number;
+                  /**
+                   * @example http/1.1
+                   */
+                  httpVersion: string;
+                  redirectURL: string;
+                  /**
+                   * @example 200
+                   */
+                  status: number;
+                  /**
+                   * @example OK
+                   */
+                  statusText: string;
+                };
+                /**
+                 * @example 2606:2800:220:1:248:1893:25c8:1946
+                 */
+                serverIPAddress: string;
+                /**
+                 * @example 2023-05-03T17:05:13.196Z
+                 */
+                startedDateTime: string;
+                /**
+                 * @example 268.64
+                 */
+                time: number;
+              }[];
+              pages: {
+                /**
+                 * @example page_1
+                 */
+                id: string;
+                pageTimings: {
+                  /**
+                   * @example 305.408
+                   */
+                  onContentLoad: number;
+                  /**
+                   * @example 305.169
+                   */
+                  onLoad: number;
+                };
+                /**
+                 * @example 2023-05-03T17:05:13.195Z
+                 */
+                startedDateTime: string;
+                /**
+                 * @example http://example.com/
+                 */
+                title: string;
+              }[];
+              /**
+               * @example 1.2
+               */
+              version: string;
+            };
+          };
+        };
+        /**
+         * Whether search request was successful or not
+         */
+        success: boolean;
+      }
+    | {
+        errors: {
+          message: string;
+        }[];
+        messages: {
+          /**
+           * @example In Progress
+           */
+          message: string;
+        }[];
+        result: {
+          scan: {
+            task: {
+              /**
+               * @example http://example.com/
+               */
+              effectiveUrl: string;
+              errors: {
+                message: string;
+              }[];
+              /**
+               * @example PT
+               */
+              location: string;
+              /**
+               * @example enam
+               */
+              region: string;
+              /**
+               * @example InProgress
+               */
+              status: string;
+              /**
+               * @example true
+               */
+              success: boolean;
+              /**
+               * @example 2023-05-03T17:05:04.843Z
+               */
+              time: string;
+              /**
+               * @example http://example.com
+               */
+              url: string;
+              /**
+               * @example 2ee568d0-bf70-4827-b922-b7088c0f056f
+               */
+              uuid: string;
+              /**
+               * @example Public
+               */
+              visibility: string;
+            };
+          };
+        };
+        /**
+         * Whether request was successful or not
+         */
+        success: boolean;
+      },
+    UrlscannerGetScanHarError,
+    undefined,
+    {},
+    {},
+    UrlscannerGetScanHarPathParams
+  >({ url: '/accounts/{accountId}/urlscanner/scan/{scanId}/har', method: 'get', ...variables, signal });
+
+export type UrlscannerGetScanScreenshotPathParams = {
+  /**
+   * Scan uuid.
+   *
+   * @format uuid
+   */
+  scanId: string;
+  /**
+   * Account Id.
+   */
+  accountId: string;
+};
+
+export type UrlscannerGetScanScreenshotQueryParams = {
+  /**
+   * Target device type.
+   *
+   * @default desktop
+   */
+  resolution?: 'desktop' | 'mobile' | 'tablet';
+};
+
+export type UrlscannerGetScanScreenshotError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: {
+        errors: {
+          /**
+           * @example Scan ID is not a valid uuid.
+           */
+          message: string;
+        }[];
+        messages: {
+          message: string;
+        }[];
+        /**
+         * Whether request was successful or not
+         */
+        success: boolean;
+      };
+    }
+  | {
+      status: 404;
+      payload: {
+        errors: {
+          /**
+           * @example Scan not found.
+           */
+          message: string;
+        }[];
+        messages: {
+          message: string;
+        }[];
+        /**
+         * Whether request was successful or not
+         */
+        success: boolean;
+      };
+    }
+>;
+
+export type UrlscannerGetScanScreenshotResponse = {
+  errors: {
+    message: string;
+  }[];
+  messages: {
+    /**
+     * @example In Progress
+     */
+    message: string;
+  }[];
+  result: {
+    scan: {
+      task: {
+        /**
+         * @example http://example.com/
+         */
+        effectiveUrl: string;
+        errors: {
+          message: string;
+        }[];
+        /**
+         * @example PT
+         */
+        location: string;
+        /**
+         * @example enam
+         */
+        region: string;
+        /**
+         * @example InProgress
+         */
+        status: string;
+        /**
+         * @example true
+         */
+        success: boolean;
+        /**
+         * @example 2023-05-03T17:05:04.843Z
+         */
+        time: string;
+        /**
+         * @example http://example.com
+         */
+        url: string;
+        /**
+         * @example 2ee568d0-bf70-4827-b922-b7088c0f056f
+         */
+        uuid: string;
+        /**
+         * @example Public
+         */
+        visibility: string;
+      };
+    };
+  };
+  /**
+   * Whether request was successful or not
+   */
+  success: boolean;
+};
+
+export type UrlscannerGetScanScreenshotVariables = {
+  pathParams: UrlscannerGetScanScreenshotPathParams;
+  queryParams?: UrlscannerGetScanScreenshotQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get scan's screenshot by resolution (desktop/mobile/tablet).
+ */
+export const urlscannerGetScanScreenshot = (variables: UrlscannerGetScanScreenshotVariables, signal?: AbortSignal) =>
+  fetch<
+    UrlscannerGetScanScreenshotResponse,
+    UrlscannerGetScanScreenshotError,
+    undefined,
+    {},
+    UrlscannerGetScanScreenshotQueryParams,
+    UrlscannerGetScanScreenshotPathParams
+  >({ url: '/accounts/{accountId}/urlscanner/scan/{scanId}/screenshot', method: 'get', ...variables, signal });
+
+export type UrlscannerCreateScanBulkV2PathParams = {
+  /**
+   * Account Id.
+   */
+  accountId: string;
+};
+
+export type UrlscannerCreateScanBulkV2Error = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: {
+        errors: {
+          detail: string;
+          /**
+           * Status code.
+           *
+           * @example 400
+           */
+          status: number;
+          /**
+           * @example Invalid url
+           */
+          title: string;
+        }[];
+        message: string;
+        /**
+         * Status code.
+         *
+         * @example 400
+         */
+        status: number;
+      };
+    }
+  | {
+      status: 429;
+      payload: {
+        description?: string;
+        errors: {
+          /**
+           * @example DNS Error - Could not resolve domain.
+           */
+          detail: string;
+          status: Record<string, any>;
+          /**
+           * @example DNS Error - Could not resolve domain.
+           */
+          title: string;
+        }[];
+        message: string;
+        status: Record<string, any>;
+      };
+    }
+>;
+
+export type UrlscannerCreateScanBulkV2Response = {
+  /**
+   * URL to api report.
+   */
+  api: string;
+  options?: {
+    useragent?: string;
+  };
+  /**
+   * URL to report.
+   */
+  result: string;
+  /**
+   * Submitted URL
+   */
+  url: string;
+  /**
+   * Scan ID.
+   *
+   * @format uuid
+   */
+  uuid: string;
+  /**
+   * Submitted visibility status.
+   *
+   * @example Public
+   */
+  visibility: string;
+}[];
+
+export type UrlscannerCreateScanBulkV2RequestBody = {
+  /**
+   * Set custom headers.
+   */
+  customHeaders?: {
+    [key: string]: string;
+  };
+  /**
+   * @maxLength 4096
+   */
+  customagent?: string;
+  /**
+   * @maxLength 4096
+   */
+  referer?: string;
+  /**
+   * Take multiple screenshots targeting different device types.
+   *
+   * @default desktop
+   */
+  screenshotsResolutions?: ('desktop' | 'mobile' | 'tablet')[];
+  /**
+   * @example https://www.example.com
+   */
+  url: string;
+  /**
+   * The option `Public` means it will be included in listings like recent scans and search results. `Unlisted` means it will not be included in the aforementioned listings, users will need to have the scan's ID to access it. A a scan will be automatically marked as unlisted if it fails, if it contains potential PII or other sensitive material.
+   *
+   * @default Public
+   */
+  visibility?: 'Public' | 'Unlisted';
+}[];
+
+export type UrlscannerCreateScanBulkV2Variables = {
+  body?: UrlscannerCreateScanBulkV2RequestBody;
+  pathParams: UrlscannerCreateScanBulkV2PathParams;
+} & FetcherExtraProps;
+
+/**
+ * Submit URLs to scan. Check limits at https://developers.cloudflare.com/security-center/investigate/scan-limits/ and take into account scans submitted in bulk have lower priority and may take longer to finish.
+ */
+export const urlscannerCreateScanBulkV2 = (variables: UrlscannerCreateScanBulkV2Variables, signal?: AbortSignal) =>
+  fetch<
+    UrlscannerCreateScanBulkV2Response,
+    UrlscannerCreateScanBulkV2Error,
+    UrlscannerCreateScanBulkV2RequestBody,
+    {},
+    {},
+    UrlscannerCreateScanBulkV2PathParams
+  >({ url: '/accounts/{accountId}/urlscanner/v2/bulk', method: 'post', ...variables, signal });
+
+export type UrlscannerGetScanDomV2PathParams = {
+  /**
+   * Scan uuid.
+   *
+   * @format uuid
+   */
+  scanId: string;
+  /**
+   * Account Id.
+   */
+  accountId: string;
+};
+
+export type UrlscannerGetScanDomV2Error = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: {
+        errors: {
+          detail: string;
+          /**
+           * Status code.
+           *
+           * @example 400
+           */
+          status: number;
+          /**
+           * @example Invalid url
+           */
+          title: string;
+        }[];
+        message: string;
+        /**
+         * Status code.
+         *
+         * @example 400
+         */
+        status: number;
+      };
+    }
+  | {
+      status: 404;
+      payload: {
+        errors: {
+          /**
+           * @example Queued
+           */
+          detail: string;
+          /**
+           * Status code.
+           *
+           * @example 404
+           */
+          status: number;
+          /**
+           * @example Scan is not finished yet.
+           */
+          title: string;
+        }[];
+        /**
+         * Scan not found or in progress.
+         *
+         * @example Scan is not finished yet.
+         */
+        message: string;
+        /**
+         * Status code.
+         *
+         * @example 404
+         */
+        status: number;
+        task: {
+          /**
+           * @example Queued
+           */
+          status: string;
+          time: string;
+          url: string;
+          uuid: string;
+          /**
+           * @example public
+           */
+          visibility: string;
+        };
+      };
+    }
+>;
+
+export type UrlscannerGetScanDomV2Variables = {
+  pathParams: UrlscannerGetScanDomV2PathParams;
+} & FetcherExtraProps;
+
+/**
+ * Returns a plain text response, with the scan's DOM content as rendered by Chrome.
+ */
+export const urlscannerGetScanDomV2 = (variables: UrlscannerGetScanDomV2Variables, signal?: AbortSignal) =>
+  fetch<undefined, UrlscannerGetScanDomV2Error, undefined, {}, {}, UrlscannerGetScanDomV2PathParams>({
+    url: '/accounts/{accountId}/urlscanner/v2/dom/{scanId}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type UrlscannerGetScanHarV2PathParams = {
+  /**
+   * Scan uuid.
+   *
+   * @format uuid
+   */
+  scanId: string;
+  /**
+   * Account Id.
+   */
+  accountId: string;
+};
+
+export type UrlscannerGetScanHarV2Error = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: {
+        errors: {
+          detail: string;
+          /**
+           * Status code.
+           *
+           * @example 400
+           */
+          status: number;
+          /**
+           * @example Invalid url
+           */
+          title: string;
+        }[];
+        message: string;
+        /**
+         * Status code.
+         *
+         * @example 400
+         */
+        status: number;
+      };
+    }
+  | {
+      status: 404;
+      payload: {
+        errors: {
+          /**
+           * @example Queued
+           */
+          detail: string;
+          /**
+           * Status code.
+           *
+           * @example 404
+           */
+          status: number;
+          /**
+           * @example Scan is not finished yet.
+           */
+          title: string;
+        }[];
+        /**
+         * Scan not found or in progress.
+         *
+         * @example Scan is not finished yet.
+         */
+        message: string;
+        /**
+         * Status code.
+         *
+         * @example 404
+         */
+        status: number;
+        task: {
+          /**
+           * @example Queued
+           */
+          status: string;
+          time: string;
+          url: string;
+          uuid: string;
+          /**
+           * @example public
+           */
+          visibility: string;
+        };
+      };
+    }
+>;
+
+export type UrlscannerGetScanHarV2Response = {
+  log: {
+    creator: {
+      /**
+       * @example https://github.com/sitespeedio/chrome-har
+       */
+      comment: string;
+      /**
+       * @example chrome-har
+       */
+      name: string;
+      /**
+       * @example 0.13.1
+       */
+      version: string;
+    };
+    entries: {
+      /**
+       * @example VeryHigh
+       */
+      _initialPriority: string;
+      /**
+       * @example other
+       */
+      _initiator_type: string;
+      /**
+       * @example VeryHigh
+       */
+      _priority: string;
+      /**
+       * @example DDC779F0CB3746BAF283EC1A51B0F2F8
+       */
+      _requestId: string;
+      /**
+       * @example 114135.331081
+       */
+      _requestTime: number;
+      /**
+       * @example document
+       */
+      _resourceType: string;
+      cache: Record<string, any>;
+      /**
+       * @example 33
+       */
+      connection: string;
+      /**
+       * @example page_1
+       */
+      pageref: string;
+      request: {
+        bodySize: number;
+        headers: {
+          /**
+           * @example Upgrade-Insecure-Requests
+           */
+          name: string;
+          /**
+           * @example 1
+           */
+          value: string;
+        }[];
+        /**
+         * @example 197
+         */
+        headersSize: number;
+        /**
+         * @example http/1.1
+         */
+        httpVersion: string;
+        /**
+         * @example GET
+         */
+        method: string;
+        /**
+         * @example http://example.com/
+         */
+        url: string;
+      };
+      response: {
+        /**
+         * @example 1071
+         */
+        _transferSize: number;
+        /**
+         * @example 648
+         */
+        bodySize: number;
+        content: {
+          /**
+           * @example 608
+           */
+          compression?: number;
+          /**
+           * @example text/html
+           */
+          mimeType: string;
+          /**
+           * @example 1256
+           */
+          size: number;
+        };
+        headers: {
+          /**
+           * @example Content-Encoding
+           */
+          name: string;
+          /**
+           * @example gzip
+           */
+          value: string;
+        }[];
+        /**
+         * @example 423
+         */
+        headersSize: number;
+        /**
+         * @example http/1.1
+         */
+        httpVersion: string;
+        redirectURL: string;
+        /**
+         * @example 200
+         */
+        status: number;
+        /**
+         * @example OK
+         */
+        statusText: string;
+      };
+      /**
+       * @example 2606:2800:220:1:248:1893:25c8:1946
+       */
+      serverIPAddress: string;
+      /**
+       * @example 2023-05-03T17:05:13.196Z
+       */
+      startedDateTime: string;
+      /**
+       * @example 268.64
+       */
+      time: number;
+    }[];
+    pages: {
+      /**
+       * @example page_1
+       */
+      id: string;
+      pageTimings: {
+        /**
+         * @example 305.408
+         */
+        onContentLoad: number;
+        /**
+         * @example 305.169
+         */
+        onLoad: number;
+      };
+      /**
+       * @example 2023-05-03T17:05:13.195Z
+       */
+      startedDateTime: string;
+      /**
+       * @example http://example.com/
+       */
+      title: string;
+    }[];
+    /**
+     * @example 1.2
+     */
+    version: string;
+  };
+};
+
+export type UrlscannerGetScanHarV2Variables = {
+  pathParams: UrlscannerGetScanHarV2PathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a URL scan's HAR file. See HAR spec at http://www.softwareishard.com/blog/har-12-spec/.
+ */
+export const urlscannerGetScanHarV2 = (variables: UrlscannerGetScanHarV2Variables, signal?: AbortSignal) =>
+  fetch<
+    UrlscannerGetScanHarV2Response,
+    UrlscannerGetScanHarV2Error,
+    undefined,
+    {},
+    {},
+    UrlscannerGetScanHarV2PathParams
+  >({ url: '/accounts/{accountId}/urlscanner/v2/har/{scanId}', method: 'get', ...variables, signal });
+
+export type UrlscannerGetResponseV2PathParams = {
+  /**
+   * Response hash.
+   */
+  responseId: string;
+  /**
+   * Account Id.
+   */
+  accountId: string;
+};
+
+export type UrlscannerGetResponseV2Error = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      detail: string;
+      /**
+       * Status code.
+       *
+       * @example 400
+       */
+      status: number;
+      /**
+       * @example Invalid url
+       */
+      title: string;
+    }[];
+    message: string;
+    /**
+     * Status code.
+     *
+     * @example 400
+     */
+    status: number;
+  };
+}>;
+
+export type UrlscannerGetResponseV2Variables = {
+  pathParams: UrlscannerGetResponseV2PathParams;
+} & FetcherExtraProps;
+
+/**
+ * Returns the raw response of the network request. If HTML, a plain text response will be returned.
+ */
+export const urlscannerGetResponseV2 = (variables: UrlscannerGetResponseV2Variables, signal?: AbortSignal) =>
+  fetch<undefined, UrlscannerGetResponseV2Error, undefined, {}, {}, UrlscannerGetResponseV2PathParams>({
+    url: '/accounts/{accountId}/urlscanner/v2/responses/{responseId}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type UrlscannerGetScanV2PathParams = {
+  /**
+   * Scan uuid.
+   *
+   * @format uuid
+   */
+  scanId: string;
+  /**
+   * Account Id.
+   */
+  accountId: string;
+};
+
+export type UrlscannerGetScanV2Error = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: {
+        errors: {
+          detail: string;
+          /**
+           * Status code.
+           *
+           * @example 400
+           */
+          status: number;
+          /**
+           * @example Invalid url
+           */
+          title: string;
+        }[];
+        message: string;
+        /**
+         * Status code.
+         *
+         * @example 400
+         */
+        status: number;
+      };
+    }
+  | {
+      status: 404;
+      payload: {
+        errors: {
+          /**
+           * @example Queued
+           */
+          detail: string;
+          /**
+           * Status code.
+           *
+           * @example 404
+           */
+          status: number;
+          /**
+           * @example Scan is not finished yet.
+           */
+          title: string;
+        }[];
+        /**
+         * Scan not found or in progress.
+         *
+         * @example Scan is not finished yet.
+         */
+        message: string;
+        /**
+         * Status code.
+         *
+         * @example 404
+         */
+        status: number;
+        task: {
+          /**
+           * @example Queued
+           */
+          status: string;
+          time: string;
+          url: string;
+          uuid: string;
+          /**
+           * @example public
+           */
+          visibility: string;
+        };
+      };
+    }
+>;
+
+export type UrlscannerGetScanV2Response = {
+  data: {
+    console: {
+      message: {
+        level: string;
+        source: string;
+        text: string;
+        url: string;
+      };
+    }[];
+    cookies: {
+      domain: string;
+      expires: number;
+      httpOnly: boolean;
+      name: string;
+      path: string;
+      priority: string;
+      sameParty: boolean;
+      secure: boolean;
+      session: boolean;
+      size: number;
+      sourcePort: number;
+      sourceScheme: string;
+      value: string;
+    }[];
+    globals: {
+      prop: string;
+      type: string;
+    }[];
+    links: {
+      href: string;
+      text: string;
+    }[];
+    performance: {
+      duration: number;
+      entryType: string;
+      name: string;
+      startTime: number;
+    }[];
+    requests: {
+      request: {
+        documentURL: string;
+        frameId?: string;
+        hasUserGesture: boolean;
+        initiator: {
+          host: string;
+          type: string;
+          url: string;
+        };
+        loaderId?: string;
+        primaryRequest?: boolean;
+        redirectHasExtraInfo: boolean;
+        redirectResponse?: {
+          charset: string;
+          headers?: Record<string, any>;
+          mimeType: string;
+          protocol: string;
+          remoteIPAddress: string;
+          remotePort: number;
+          securityHeaders: {
+            name: string;
+            value: string;
+          }[];
+          securityState: string;
+          status: number;
+          statusText: string;
+          url: string;
+        };
+        request: {
+          headers?: Record<string, any>;
+          initialPriority: string;
+          isSameSite: boolean;
+          method: string;
+          mixedContentType: string;
+          referrerPolicy: string;
+          url: string;
+        };
+        requestId: string;
+        type: string;
+        wallTime: number;
+      };
+      requests?: {
+        documentURL: string;
+        frameId: string;
+        hasUserGesture: boolean;
+        initiator: {
+          type: string;
+        };
+        loaderId: string;
+        redirectHasExtraInfo: boolean;
+        request: {
+          headers: {
+            name: string;
+          };
+          initialPriority: string;
+          isSameSite: boolean;
+          method: string;
+          mixedContentType: string;
+          referrerPolicy: string;
+          url: string;
+        };
+        requestId: string;
+        type: string;
+        wallTime: number;
+      }[];
+      response: {
+        asn: {
+          asn: string;
+          country: string;
+          description: string;
+          ip: string;
+          name: string;
+          org: string;
+        };
+        contentAvailable?: boolean;
+        dataLength: number;
+        encodedDataLength: number;
+        geoip: {
+          city: string;
+          country: string;
+          country_name: string;
+          geonameId: string;
+          ll: Record<string, any>[];
+          region: string;
+        };
+        hasExtraInfo: boolean;
+        hash?: string;
+        requestId: string;
+        response: {
+          charset: string;
+          headers?: Record<string, any>;
+          mimeType: string;
+          protocol: string;
+          remoteIPAddress: string;
+          remotePort: number;
+          securityDetails: {
+            certificateId: number;
+            certificateTransparencyCompliance: string;
+            cipher: string;
+            encryptedClientHello: boolean;
+            issuer: string;
+            keyExchange: string;
+            keyExchangeGroup: string;
+            protocol: string;
+            sanList: string[];
+            serverSignatureAlgorithm: number;
+            subjectName: string;
+            validFrom: number;
+            validTo: number;
+          };
+          securityHeaders: {
+            name: string;
+            value: string;
+          }[];
+          securityState: string;
+          status: number;
+          statusText: string;
+          url: string;
+        };
+        size: number;
+        type: string;
+      };
+    }[];
+  };
+  lists: {
+    asns: string[];
+    certificates: {
+      issuer: string;
+      subjectName: string;
+      validFrom: number;
+      validTo: number;
+    }[];
+    continents: string[];
+    countries: string[];
+    domains: string[];
+    hashes: string[];
+    ips: string[];
+    linkDomains: string[];
+    servers: string[];
+    urls: string[];
+  };
+  meta: {
+    processors: {
+      asn: {
+        data: {
+          asn: string;
+          country: string;
+          description: string;
+          ip: string;
+          name: string;
+        }[];
+      };
+      dns: {
+        data: {
+          address: string;
+          dnssec_valid: boolean;
+          name: string;
+          type: string;
+        }[];
+      };
+      domainCategories: {
+        data: {
+          inherited: Record<string, any>;
+          isPrimary: boolean;
+          name: string;
+        }[];
+      };
+      geoip: {
+        data: {
+          geoip: {
+            city: string;
+            country: string;
+            country_name: string;
+            ll: number[];
+            region: string;
+          };
+          ip: string;
+        }[];
+      };
+      phishing: {
+        data: string[];
+      };
+      radarRank: {
+        data: {
+          bucket: string;
+          hostname: string;
+          rank?: number;
+        }[];
+      };
+      urlCategories?: {
+        data: {
+          content: {
+            id: number;
+            name: string;
+            super_category_id: number;
+          }[];
+          inherited: {
+            content: {
+              id: number;
+              name: string;
+              super_category_id: number;
+            }[];
+            from: string;
+            risks: {
+              id: number;
+              name: string;
+              super_category_id: number;
+            }[];
+          };
+          name: string;
+          risks: {
+            id: number;
+            name: string;
+            super_category_id: number;
+          }[];
+        }[];
+      };
+      wappa: {
+        data: {
+          app: string;
+          categories: {
+            name: string;
+            priority: number;
+          }[];
+          confidence: {
+            confidence: number;
+            name: string;
+            pattern: string;
+            patternType: string;
+          }[];
+          confidenceTotal: number;
+          icon: string;
+          website: string;
+        }[];
+      };
+    };
+  };
+  page: {
+    apexDomain: string;
+    asn: string;
+    asnname: string;
+    city: string;
+    country: string;
+    domain: string;
+    ip: string;
+    mimeType: string;
+    screenshot?: {
+      dhash: string;
+      mm3Hash: number;
+      name: string;
+      phash: string;
+    };
+    server: string;
+    /**
+     * @example 200
+     */
+    status: string;
+    title: string;
+    tlsAgeDays: number;
+    tlsIssuer: string;
+    tlsValidDays: number;
+    tlsValidFrom: string;
+    url: string;
+  };
+  scanner: {
+    colo: string;
+    country: string;
+  };
+  stats: {
+    IPv6Percentage: number;
+    domainStats: {
+      count: number;
+      countries: string[];
+      domain: string;
+      encodedSize: number;
+      index: number;
+      initiators: string[];
+      ips: string[];
+      redirects: number;
+      size: number;
+    }[];
+    ipStats: {
+      asn: {
+        asn: string;
+        country: string;
+        description: string;
+        ip: string;
+        name: string;
+        org: string;
+      };
+      count?: number;
+      countries: string[];
+      domains: string[];
+      encodedSize: number;
+      geoip: {
+        city: string;
+        country: string;
+        country_name: string;
+        ll: number[];
+        region: string;
+      };
+      index: number;
+      ip: string;
+      ipv6: boolean;
+      redirects: number;
+      requests: number;
+      size: number;
+    }[];
+    malicious: number;
+    protocolStats: {
+      count: number;
+      countries: string[];
+      encodedSize: number;
+      ips: string[];
+      protocol: string;
+      size: number;
+    }[];
+    resourceStats: {
+      compression: number;
+      count: number;
+      countries: string[];
+      encodedSize: number;
+      ips: string[];
+      percentage: number;
+      size: number;
+      type: string;
+    }[];
+    securePercentage: number;
+    secureRequests: number;
+    serverStats: {
+      count: number;
+      countries: string[];
+      encodedSize: number;
+      ips: string[];
+      server: string;
+      size: number;
+    }[];
+    tlsStats: {
+      count: number;
+      countries: string[];
+      encodedSize: number;
+      ips: string[];
+      protocols: {
+        ['TLS 1.3 / AES_128_GCM']: number;
+      };
+      securityState: string;
+      size: number;
+    }[];
+    totalLinks: number;
+    uniqASNs: number;
+    uniqCountries: number;
+  };
+  task: {
+    apexDomain: string;
+    domURL: string;
+    domain: string;
+    method: string;
+    options: {
+      /**
+       * Custom headers set.
+       */
+      customHeaders?: Record<string, any>;
+      screenshotsResolutions?: string[];
+    };
+    reportURL: string;
+    screenshotURL: string;
+    source: string;
+    success: boolean;
+    time: string;
+    url: string;
+    uuid: string;
+    visibility: string;
+  };
+  verdicts: {
+    overall: {
+      categories: string[];
+      hasVerdicts: boolean;
+      malicious: boolean;
+      tags: string[];
+    };
+  };
+};
+
+export type UrlscannerGetScanV2Variables = {
+  pathParams: UrlscannerGetScanV2PathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get URL scan by uuid
+ */
+export const urlscannerGetScanV2 = (variables: UrlscannerGetScanV2Variables, signal?: AbortSignal) =>
+  fetch<UrlscannerGetScanV2Response, UrlscannerGetScanV2Error, undefined, {}, {}, UrlscannerGetScanV2PathParams>({
+    url: '/accounts/{accountId}/urlscanner/v2/result/{scanId}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type UrlscannerCreateScanV2PathParams = {
+  /**
+   * Account Id.
+   */
+  accountId: string;
+};
+
+export type UrlscannerCreateScanV2Error = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: {
+        errors: {
+          detail: string;
+          /**
+           * Status code.
+           *
+           * @example 400
+           */
+          status: number;
+          /**
+           * @example Invalid url
+           */
+          title: string;
+        }[];
+        message: string;
+        /**
+         * Status code.
+         *
+         * @example 400
+         */
+        status: number;
+      };
+    }
+  | {
+      status: 409;
+      payload: {
+        /**
+         * @example Scan request denied: hostname was recently scanned
+         */
+        description?: string;
+        errors: {
+          /**
+           * @example DNS Error - Could not resolve domain.
+           */
+          detail: string;
+          status: Record<string, any>;
+          /**
+           * @example DNS Error - Could not resolve domain.
+           */
+          title: string;
+        }[];
+        /**
+         * @example Scan prevented ...
+         */
+        message: string;
+        status: Record<string, any>;
+      };
+    }
+  | {
+      status: 429;
+      payload: {
+        description?: string;
+        errors: {
+          /**
+           * @example DNS Error - Could not resolve domain.
+           */
+          detail: string;
+          status: Record<string, any>;
+          /**
+           * @example DNS Error - Could not resolve domain.
+           */
+          title: string;
+        }[];
+        message: string;
+        status: Record<string, any>;
+      };
+    }
+>;
+
+export type UrlscannerCreateScanV2Response = {
+  /**
+   * URL to api report.
+   */
+  api: string;
+  /**
+   * @example Submission successful
+   */
+  message: string;
+  options?: {
+    useragent?: string;
+  };
+  /**
+   * URL to report.
+   */
+  result: string;
+  /**
+   * Canonical form of submitted URL. Use this if you want to later search by URL.
+   */
+  url: string;
+  /**
+   * Scan ID.
+   *
+   * @format uuid
+   */
+  uuid: string;
+  /**
+   * Submitted visibility status.
+   *
+   * @example Public
+   */
+  visibility: string;
+};
+
+export type UrlscannerCreateScanV2RequestBody = {
+  /**
+   * Set custom headers.
+   */
+  customHeaders?: {
+    [key: string]: string;
+  };
+  /**
+   * @maxLength 4096
+   */
+  customagent?: string;
+  /**
+   * @maxLength 4096
+   */
+  referer?: string;
+  /**
+   * Take multiple screenshots targeting different device types.
+   *
+   * @default desktop
+   */
+  screenshotsResolutions?: ('desktop' | 'mobile' | 'tablet')[];
+  /**
+   * @example https://www.example.com
+   */
+  url: string;
+  /**
+   * The option `Public` means it will be included in listings like recent scans and search results. `Unlisted` means it will not be included in the aforementioned listings, users will need to have the scan's ID to access it. A a scan will be automatically marked as unlisted if it fails, if it contains potential PII or other sensitive material.
+   *
+   * @default Public
+   */
+  visibility?: 'Public' | 'Unlisted';
+};
+
+export type UrlscannerCreateScanV2Variables = {
+  body: UrlscannerCreateScanV2RequestBody;
+  pathParams: UrlscannerCreateScanV2PathParams;
+} & FetcherExtraProps;
+
+/**
+ * Submit a URL to scan. Check limits at https://developers.cloudflare.com/security-center/investigate/scan-limits/.
+ */
+export const urlscannerCreateScanV2 = (variables: UrlscannerCreateScanV2Variables, signal?: AbortSignal) =>
+  fetch<
+    UrlscannerCreateScanV2Response,
+    UrlscannerCreateScanV2Error,
+    UrlscannerCreateScanV2RequestBody,
+    {},
+    {},
+    UrlscannerCreateScanV2PathParams
+  >({ url: '/accounts/{accountId}/urlscanner/v2/scan', method: 'post', ...variables, signal });
+
+export type UrlscannerGetScanScreenshotV2PathParams = {
+  /**
+   * Scan uuid.
+   *
+   * @format uuid
+   */
+  scanId: string;
+  /**
+   * Account Id.
+   */
+  accountId: string;
+};
+
+export type UrlscannerGetScanScreenshotV2QueryParams = {
+  /**
+   * Target device type.
+   *
+   * @default desktop
+   */
+  resolution?: 'desktop' | 'mobile' | 'tablet';
+};
+
+export type UrlscannerGetScanScreenshotV2Error = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: {
+        errors: {
+          detail: string;
+          /**
+           * Status code.
+           *
+           * @example 400
+           */
+          status: number;
+          /**
+           * @example Invalid url
+           */
+          title: string;
+        }[];
+        message: string;
+        /**
+         * Status code.
+         *
+         * @example 400
+         */
+        status: number;
+      };
+    }
+  | {
+      status: 404;
+      payload: {
+        errors: {
+          /**
+           * @example Queued
+           */
+          detail: string;
+          /**
+           * Status code.
+           *
+           * @example 404
+           */
+          status: number;
+          /**
+           * @example Scan is not finished yet.
+           */
+          title: string;
+        }[];
+        /**
+         * Scan not found or in progress.
+         *
+         * @example Scan is not finished yet.
+         */
+        message: string;
+        /**
+         * Status code.
+         *
+         * @example 404
+         */
+        status: number;
+        task: {
+          /**
+           * @example Queued
+           */
+          status: string;
+          time: string;
+          url: string;
+          uuid: string;
+          /**
+           * @example public
+           */
+          visibility: string;
+        };
+      };
+    }
+>;
+
+export type UrlscannerGetScanScreenshotV2Variables = {
+  pathParams: UrlscannerGetScanScreenshotV2PathParams;
+  queryParams?: UrlscannerGetScanScreenshotV2QueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get scan's screenshot by resolution (desktop/mobile/tablet).
+ */
+export const urlscannerGetScanScreenshotV2 = (
+  variables: UrlscannerGetScanScreenshotV2Variables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    undefined,
+    UrlscannerGetScanScreenshotV2Error,
+    undefined,
+    {},
+    UrlscannerGetScanScreenshotV2QueryParams,
+    UrlscannerGetScanScreenshotV2PathParams
+  >({ url: '/accounts/{accountId}/urlscanner/v2/screenshots/{scanId}.png', method: 'get', ...variables, signal });
+
+export type UrlscannerSearchScansV2PathParams = {
+  /**
+   * Account Id.
+   */
+  accountId: string;
+};
+
+export type UrlscannerSearchScansV2QueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 100
+   */
+  size?: number;
+  /**
+   * Filter scans
+   */
+  q?: string;
+};
+
+export type UrlscannerSearchScansV2Error = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      detail: string;
+      /**
+       * Status code.
+       *
+       * @example 400
+       */
+      status: number;
+      /**
+       * @example Invalid url
+       */
+      title: string;
+    }[];
+    message: string;
+    /**
+     * Status code.
+     *
+     * @example 400
+     */
+    status: number;
+  };
+}>;
+
+export type UrlscannerSearchScansV2Response = {
+  results: {
+    /**
+     * @example 9626f773-9ffb-4cfb-89d3-30b120fc8011
+     */
+    _id: string;
+    page: {
+      /**
+       * @example AS15133
+       */
+      asn: string;
+      /**
+       * @example US
+       */
+      country: string;
+      /**
+       * @example 93.184.215.14
+       */
+      ip: string;
+      /**
+       * @example https://example.com
+       */
+      url: string;
+    };
+    /**
+     * @example https://radar.clouflare.com/scan/9626f773-9ffb-4cfb-89d3-30b120fc8011
+     */
+    result: string;
+    stats: {
+      /**
+       * @example 2512
+       */
+      dataLength: number;
+      /**
+       * @example 2
+       */
+      requests: number;
+      /**
+       * @example 1
+       */
+      uniqCountries: number;
+      /**
+       * @example 1
+       */
+      uniqIPs: number;
+    };
+    task: {
+      /**
+       * @example 2024-09-30T23:54:02.881000+00:00
+       */
+      time: string;
+      /**
+       * @example https://example.com
+       */
+      url: string;
+      /**
+       * @example 9626f773-9ffb-4cfb-89d3-30b120fc8011
+       */
+      uuid: string;
+      /**
+       * @example public
+       */
+      visibility: string;
+    };
+    verdicts: {
+      malicious: boolean;
+    };
+  }[];
+};
+
+export type UrlscannerSearchScansV2Variables = {
+  pathParams: UrlscannerSearchScansV2PathParams;
+  queryParams?: UrlscannerSearchScansV2QueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Use a subset of ElasticSearch Query syntax to filter scans. Some example queries:<br/> <br/>- 'page.domain:microsoft AND verdicts.malicious:true AND NOT page.domain:microsoft.com': malicious scans whose hostname starts with "microsoft".<br/>- 'apikey:me AND date:[2024-01 TO 2024-10]': my scans from 2024 January to 2024 October.<br/>- 'page.domain:(blogspot OR www.blogspot)': Searches for scans whose main domain starts with "blogspot" or with "www.blogspot"<br/>- 'date:>now-7d AND path:okta-sign-in.min.js: scans from the last 7 days with any request path that ends with "okta-sign-in.min.js"<br/>- 'page.asn:AS24940 AND hash:xxx': Websites hosted in AS24940 where a resource with the given hash was downloaded.
+ */
+export const urlscannerSearchScansV2 = (variables: UrlscannerSearchScansV2Variables, signal?: AbortSignal) =>
+  fetch<
+    UrlscannerSearchScansV2Response,
+    UrlscannerSearchScansV2Error,
+    undefined,
+    {},
+    UrlscannerSearchScansV2QueryParams,
+    UrlscannerSearchScansV2PathParams
+  >({ url: '/accounts/{accountId}/urlscanner/v2/search', method: 'get', ...variables, signal });
+
+export type CloudforceOneRequestListPathParams = {
+  accountIdentifier: Schemas.CloudforceOneRequestsIdentifier;
+};
+
+export type CloudforceOneRequestListError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CloudforceOneRequestsApiResponseCommonFailure;
+}>;
+
+export type CloudforceOneRequestListResponse = Schemas.CloudforceOneRequestsApiResponseCommon & {
+  result?: Schemas.CloudforceOneRequestsRequestListItem[];
+};
+
+export type CloudforceOneRequestListVariables = {
+  body: Schemas.CloudforceOneRequestsRequestList;
+  pathParams: CloudforceOneRequestListPathParams;
+} & FetcherExtraProps;
+
+export const cloudforceOneRequestList = (variables: CloudforceOneRequestListVariables, signal?: AbortSignal) =>
+  fetch<
+    CloudforceOneRequestListResponse,
+    CloudforceOneRequestListError,
+    Schemas.CloudforceOneRequestsRequestList,
+    {},
+    {},
+    CloudforceOneRequestListPathParams
+  >({ url: '/accounts/{accountIdentifier}/cloudforce-one/requests', method: 'post', ...variables, signal });
+
+export type CloudforceOneRequestConstantsPathParams = {
+  accountIdentifier: Schemas.CloudforceOneRequestsIdentifier;
+};
+
+export type CloudforceOneRequestConstantsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CloudforceOneRequestsApiResponseCommonFailure;
+}>;
+
+export type CloudforceOneRequestConstantsResponse = Schemas.CloudforceOneRequestsApiResponseCommon & {
+  result?: Schemas.CloudforceOneRequestsRequestConstants;
+};
+
+export type CloudforceOneRequestConstantsVariables = {
+  pathParams: CloudforceOneRequestConstantsPathParams;
+} & FetcherExtraProps;
+
+export const cloudforceOneRequestConstants = (
+  variables: CloudforceOneRequestConstantsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    CloudforceOneRequestConstantsResponse,
+    CloudforceOneRequestConstantsError,
+    undefined,
+    {},
+    {},
+    CloudforceOneRequestConstantsPathParams
+  >({ url: '/accounts/{accountIdentifier}/cloudforce-one/requests/constants', method: 'get', ...variables, signal });
+
+export type CloudforceOneRequestNewPathParams = {
+  accountIdentifier: Schemas.CloudforceOneRequestsIdentifier;
+};
+
+export type CloudforceOneRequestNewError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CloudforceOneRequestsApiResponseCommonFailure;
+}>;
+
+export type CloudforceOneRequestNewResponse = Schemas.CloudforceOneRequestsApiResponseCommon & {
+  result?: Schemas.CloudforceOneRequestsRequestItem;
+};
+
+export type CloudforceOneRequestNewVariables = {
+  body?: Schemas.CloudforceOneRequestsRequestEdit;
+  pathParams: CloudforceOneRequestNewPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creating a request adds the request into the Cloudforce One queue for analysis. In addition to the content, a short title, type, priority, and releasability should be provided. If one is not provided, a default will be assigned.
+ */
+export const cloudforceOneRequestNew = (variables: CloudforceOneRequestNewVariables, signal?: AbortSignal) =>
+  fetch<
+    CloudforceOneRequestNewResponse,
+    CloudforceOneRequestNewError,
+    Schemas.CloudforceOneRequestsRequestEdit,
+    {},
+    {},
+    CloudforceOneRequestNewPathParams
+  >({ url: '/accounts/{accountIdentifier}/cloudforce-one/requests/new', method: 'post', ...variables, signal });
+
+export type CloudforceOnePriorityListPathParams = {
+  accountIdentifier: Schemas.CloudforceOneRequestsIdentifier;
+};
+
+export type CloudforceOnePriorityListError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CloudforceOneRequestsApiResponseCommonFailure;
+}>;
+
+export type CloudforceOnePriorityListResponse = Schemas.CloudforceOneRequestsApiResponseCommon & {
+  result?: Schemas.CloudforceOneRequestsPriorityItem[];
+};
+
+export type CloudforceOnePriorityListVariables = {
+  body: Schemas.CloudforceOneRequestsPriorityList;
+  pathParams: CloudforceOnePriorityListPathParams;
+} & FetcherExtraProps;
+
+export const cloudforceOnePriorityList = (variables: CloudforceOnePriorityListVariables, signal?: AbortSignal) =>
+  fetch<
+    CloudforceOnePriorityListResponse,
+    CloudforceOnePriorityListError,
+    Schemas.CloudforceOneRequestsPriorityList,
+    {},
+    {},
+    CloudforceOnePriorityListPathParams
+  >({ url: '/accounts/{accountIdentifier}/cloudforce-one/requests/priority', method: 'post', ...variables, signal });
+
+export type CloudforceOnePriorityNewPathParams = {
+  accountIdentifier: Schemas.CloudforceOneRequestsIdentifier;
+};
+
+export type CloudforceOnePriorityNewError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CloudforceOneRequestsApiResponseCommonFailure;
+}>;
+
+export type CloudforceOnePriorityNewResponse = Schemas.CloudforceOneRequestsApiResponseCommon & {
+  result?: Schemas.CloudforceOneRequestsPriorityItem;
+};
+
+export type CloudforceOnePriorityNewVariables = {
+  body: Schemas.CloudforceOneRequestsPriorityEdit;
+  pathParams: CloudforceOnePriorityNewPathParams;
+} & FetcherExtraProps;
+
+export const cloudforceOnePriorityNew = (variables: CloudforceOnePriorityNewVariables, signal?: AbortSignal) =>
+  fetch<
+    CloudforceOnePriorityNewResponse,
+    CloudforceOnePriorityNewError,
+    Schemas.CloudforceOneRequestsPriorityEdit,
+    {},
+    {},
+    CloudforceOnePriorityNewPathParams
+  >({
+    url: '/accounts/{accountIdentifier}/cloudforce-one/requests/priority/new',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type CloudforceOnePriorityQuotaPathParams = {
+  accountIdentifier: Schemas.CloudforceOneRequestsIdentifier;
+};
+
+export type CloudforceOnePriorityQuotaError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CloudforceOneRequestsApiResponseCommonFailure;
+}>;
+
+export type CloudforceOnePriorityQuotaResponse = Schemas.CloudforceOneRequestsApiResponseCommon & {
+  result?: Schemas.CloudforceOneRequestsQuota;
+};
+
+export type CloudforceOnePriorityQuotaVariables = {
+  pathParams: CloudforceOnePriorityQuotaPathParams;
+} & FetcherExtraProps;
+
+export const cloudforceOnePriorityQuota = (variables: CloudforceOnePriorityQuotaVariables, signal?: AbortSignal) =>
+  fetch<
+    CloudforceOnePriorityQuotaResponse,
+    CloudforceOnePriorityQuotaError,
+    undefined,
+    {},
+    {},
+    CloudforceOnePriorityQuotaPathParams
+  >({
+    url: '/accounts/{accountIdentifier}/cloudforce-one/requests/priority/quota',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type CloudforceOnePriorityDeletePathParams = {
+  accountIdentifier: Schemas.CloudforceOneRequestsIdentifier;
+  priorityIdentifer: Schemas.CloudforceOneRequestsUuid;
+};
+
+export type CloudforceOnePriorityDeleteError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CloudforceOneRequestsApiResponseCommonFailure;
+}>;
+
+export type CloudforceOnePriorityDeleteVariables = {
+  pathParams: CloudforceOnePriorityDeletePathParams;
+} & FetcherExtraProps;
+
+export const cloudforceOnePriorityDelete = (variables: CloudforceOnePriorityDeleteVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.CloudforceOneRequestsApiResponseCommon,
+    CloudforceOnePriorityDeleteError,
+    undefined,
+    {},
+    {},
+    CloudforceOnePriorityDeletePathParams
+  >({
+    url: '/accounts/{accountIdentifier}/cloudforce-one/requests/priority/{priorityIdentifer}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type CloudforceOnePriorityGetPathParams = {
+  accountIdentifier: Schemas.CloudforceOneRequestsIdentifier;
+  priorityIdentifer: Schemas.CloudforceOneRequestsUuid;
+};
+
+export type CloudforceOnePriorityGetError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CloudforceOneRequestsApiResponseCommonFailure;
+}>;
+
+export type CloudforceOnePriorityGetResponse = Schemas.CloudforceOneRequestsApiResponseCommon & {
+  result?: Schemas.CloudforceOneRequestsRequestItem;
+};
+
+export type CloudforceOnePriorityGetVariables = {
+  pathParams: CloudforceOnePriorityGetPathParams;
+} & FetcherExtraProps;
+
+export const cloudforceOnePriorityGet = (variables: CloudforceOnePriorityGetVariables, signal?: AbortSignal) =>
+  fetch<
+    CloudforceOnePriorityGetResponse,
+    CloudforceOnePriorityGetError,
+    undefined,
+    {},
+    {},
+    CloudforceOnePriorityGetPathParams
+  >({
+    url: '/accounts/{accountIdentifier}/cloudforce-one/requests/priority/{priorityIdentifer}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type CloudforceOnePriorityUpdatePathParams = {
+  accountIdentifier: Schemas.CloudforceOneRequestsIdentifier;
+  priorityIdentifer: Schemas.CloudforceOneRequestsUuid;
+};
+
+export type CloudforceOnePriorityUpdateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CloudforceOneRequestsApiResponseCommonFailure;
+}>;
+
+export type CloudforceOnePriorityUpdateResponse = Schemas.CloudforceOneRequestsApiResponseCommon & {
+  result?: Schemas.CloudforceOneRequestsRequestItem;
+};
+
+export type CloudforceOnePriorityUpdateVariables = {
+  body: Schemas.CloudforceOneRequestsPriorityEdit;
+  pathParams: CloudforceOnePriorityUpdatePathParams;
+} & FetcherExtraProps;
+
+export const cloudforceOnePriorityUpdate = (variables: CloudforceOnePriorityUpdateVariables, signal?: AbortSignal) =>
+  fetch<
+    CloudforceOnePriorityUpdateResponse,
+    CloudforceOnePriorityUpdateError,
+    Schemas.CloudforceOneRequestsPriorityEdit,
+    {},
+    {},
+    CloudforceOnePriorityUpdatePathParams
+  >({
+    url: '/accounts/{accountIdentifier}/cloudforce-one/requests/priority/{priorityIdentifer}',
+    method: 'put',
+    ...variables,
+    signal
+  });
+
+export type CloudforceOneRequestQuotaPathParams = {
+  accountIdentifier: Schemas.CloudforceOneRequestsIdentifier;
+};
+
+export type CloudforceOneRequestQuotaError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CloudforceOneRequestsApiResponseCommonFailure;
+}>;
+
+export type CloudforceOneRequestQuotaResponse = Schemas.CloudforceOneRequestsApiResponseCommon & {
+  result?: Schemas.CloudforceOneRequestsQuota;
+};
+
+export type CloudforceOneRequestQuotaVariables = {
+  pathParams: CloudforceOneRequestQuotaPathParams;
+} & FetcherExtraProps;
+
+export const cloudforceOneRequestQuota = (variables: CloudforceOneRequestQuotaVariables, signal?: AbortSignal) =>
+  fetch<
+    CloudforceOneRequestQuotaResponse,
+    CloudforceOneRequestQuotaError,
+    undefined,
+    {},
+    {},
+    CloudforceOneRequestQuotaPathParams
+  >({ url: '/accounts/{accountIdentifier}/cloudforce-one/requests/quota', method: 'get', ...variables, signal });
+
+export type CloudforceOneRequestTypesPathParams = {
+  accountIdentifier: Schemas.CloudforceOneRequestsIdentifier;
+};
+
+export type CloudforceOneRequestTypesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CloudforceOneRequestsApiResponseCommonFailure;
+}>;
+
+export type CloudforceOneRequestTypesResponse = Schemas.CloudforceOneRequestsApiResponseCommon & {
+  result?: Schemas.CloudforceOneRequestsRequestTypes;
+};
+
+export type CloudforceOneRequestTypesVariables = {
+  pathParams: CloudforceOneRequestTypesPathParams;
+} & FetcherExtraProps;
+
+export const cloudforceOneRequestTypes = (variables: CloudforceOneRequestTypesVariables, signal?: AbortSignal) =>
+  fetch<
+    CloudforceOneRequestTypesResponse,
+    CloudforceOneRequestTypesError,
+    undefined,
+    {},
+    {},
+    CloudforceOneRequestTypesPathParams
+  >({ url: '/accounts/{accountIdentifier}/cloudforce-one/requests/types', method: 'get', ...variables, signal });
+
+export type CloudforceOneRequestDeletePathParams = {
+  accountIdentifier: Schemas.CloudforceOneRequestsIdentifier;
+  requestIdentifier: Schemas.CloudforceOneRequestsUuid;
+};
+
+export type CloudforceOneRequestDeleteError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CloudforceOneRequestsApiResponseCommonFailure;
+}>;
+
+export type CloudforceOneRequestDeleteVariables = {
+  pathParams: CloudforceOneRequestDeletePathParams;
+} & FetcherExtraProps;
+
+export const cloudforceOneRequestDelete = (variables: CloudforceOneRequestDeleteVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.CloudforceOneRequestsApiResponseCommon,
+    CloudforceOneRequestDeleteError,
+    undefined,
+    {},
+    {},
+    CloudforceOneRequestDeletePathParams
+  >({
+    url: '/accounts/{accountIdentifier}/cloudforce-one/requests/{requestIdentifier}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type CloudforceOneRequestGetPathParams = {
+  accountIdentifier: Schemas.CloudforceOneRequestsIdentifier;
+  requestIdentifier: Schemas.CloudforceOneRequestsUuid;
+};
+
+export type CloudforceOneRequestGetError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CloudforceOneRequestsApiResponseCommonFailure;
+}>;
+
+export type CloudforceOneRequestGetResponse = Schemas.CloudforceOneRequestsApiResponseCommon & {
+  result?: Schemas.CloudforceOneRequestsRequestItem;
+};
+
+export type CloudforceOneRequestGetVariables = {
+  pathParams: CloudforceOneRequestGetPathParams;
+} & FetcherExtraProps;
+
+export const cloudforceOneRequestGet = (variables: CloudforceOneRequestGetVariables, signal?: AbortSignal) =>
+  fetch<
+    CloudforceOneRequestGetResponse,
+    CloudforceOneRequestGetError,
+    undefined,
+    {},
+    {},
+    CloudforceOneRequestGetPathParams
+  >({
+    url: '/accounts/{accountIdentifier}/cloudforce-one/requests/{requestIdentifier}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type CloudforceOneRequestUpdatePathParams = {
+  accountIdentifier: Schemas.CloudforceOneRequestsIdentifier;
+  requestIdentifier: Schemas.CloudforceOneRequestsUuid;
+};
+
+export type CloudforceOneRequestUpdateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CloudforceOneRequestsApiResponseCommonFailure;
+}>;
+
+export type CloudforceOneRequestUpdateResponse = Schemas.CloudforceOneRequestsApiResponseCommon & {
+  result?: Schemas.CloudforceOneRequestsRequestItem;
+};
+
+export type CloudforceOneRequestUpdateVariables = {
+  body?: Schemas.CloudforceOneRequestsRequestEdit;
+  pathParams: CloudforceOneRequestUpdatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updating a request alters the request in the Cloudforce One queue. This API may be used to update any attributes of the request after the initial submission. Only fields that you choose to update need to be add to the request body.
+ */
+export const cloudforceOneRequestUpdate = (variables: CloudforceOneRequestUpdateVariables, signal?: AbortSignal) =>
+  fetch<
+    CloudforceOneRequestUpdateResponse,
+    CloudforceOneRequestUpdateError,
+    Schemas.CloudforceOneRequestsRequestEdit,
+    {},
+    {},
+    CloudforceOneRequestUpdatePathParams
+  >({
+    url: '/accounts/{accountIdentifier}/cloudforce-one/requests/{requestIdentifier}',
+    method: 'put',
+    ...variables,
+    signal
+  });
+
+export type CloudforceOneRequestAssetListPathParams = {
+  accountIdentifier: Schemas.CloudforceOneRequestsIdentifier;
+  requestIdentifier: Schemas.CloudforceOneRequestsUuid;
+};
+
+export type CloudforceOneRequestAssetListError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CloudforceOneRequestsApiResponseCommonFailure;
+}>;
+
+export type CloudforceOneRequestAssetListResponse = Schemas.CloudforceOneRequestsApiResponseCommon & {
+  result?: Schemas.CloudforceOneRequestsRequestAssetItem[];
+};
+
+export type CloudforceOneRequestAssetListVariables = {
+  body: Schemas.CloudforceOneRequestsRequestAssetList;
+  pathParams: CloudforceOneRequestAssetListPathParams;
+} & FetcherExtraProps;
+
+export const cloudforceOneRequestAssetList = (
+  variables: CloudforceOneRequestAssetListVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    CloudforceOneRequestAssetListResponse,
+    CloudforceOneRequestAssetListError,
+    Schemas.CloudforceOneRequestsRequestAssetList,
+    {},
+    {},
+    CloudforceOneRequestAssetListPathParams
+  >({
+    url: '/accounts/{accountIdentifier}/cloudforce-one/requests/{requestIdentifier}/asset',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type CloudforceOneRequestAssetNewPathParams = {
+  accountIdentifier: Schemas.CloudforceOneRequestsIdentifier;
+  requestIdentifier: Schemas.CloudforceOneRequestsUuid;
+};
+
+export type CloudforceOneRequestAssetNewError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CloudforceOneRequestsApiResponseCommonFailure;
+}>;
+
+export type CloudforceOneRequestAssetNewResponse = Schemas.CloudforceOneRequestsApiResponseCommon & {
+  result?: Schemas.CloudforceOneRequestsRequestAssetItem;
+};
+
+export type CloudforceOneRequestAssetNewVariables = {
+  body?: Schemas.CloudforceOneRequestsRequestAssetEdit;
+  pathParams: CloudforceOneRequestAssetNewPathParams;
+} & FetcherExtraProps;
+
+export const cloudforceOneRequestAssetNew = (variables: CloudforceOneRequestAssetNewVariables, signal?: AbortSignal) =>
+  fetch<
+    CloudforceOneRequestAssetNewResponse,
+    CloudforceOneRequestAssetNewError,
+    Schemas.CloudforceOneRequestsRequestAssetEdit,
+    {},
+    {},
+    CloudforceOneRequestAssetNewPathParams
+  >({
+    url: '/accounts/{accountIdentifier}/cloudforce-one/requests/{requestIdentifier}/asset/new',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type CloudforceOneRequestAssetDeletePathParams = {
+  accountIdentifier: Schemas.CloudforceOneRequestsIdentifier;
+  requestIdentifier: Schemas.CloudforceOneRequestsUuid;
+  assetIdentifer: Schemas.CloudforceOneRequestsUuid;
+};
+
+export type CloudforceOneRequestAssetDeleteError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CloudforceOneRequestsApiResponseCommonFailure;
+}>;
+
+export type CloudforceOneRequestAssetDeleteVariables = {
+  pathParams: CloudforceOneRequestAssetDeletePathParams;
+} & FetcherExtraProps;
+
+export const cloudforceOneRequestAssetDelete = (
+  variables: CloudforceOneRequestAssetDeleteVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.CloudforceOneRequestsApiResponseCommon,
+    CloudforceOneRequestAssetDeleteError,
+    undefined,
+    {},
+    {},
+    CloudforceOneRequestAssetDeletePathParams
+  >({
+    url: '/accounts/{accountIdentifier}/cloudforce-one/requests/{requestIdentifier}/asset/{assetIdentifer}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type CloudforceOneRequestAssetGetPathParams = {
+  accountIdentifier: Schemas.CloudforceOneRequestsIdentifier;
+  requestIdentifier: Schemas.CloudforceOneRequestsUuid;
+  assetIdentifer: Schemas.CloudforceOneRequestsUuid;
+};
+
+export type CloudforceOneRequestAssetGetError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CloudforceOneRequestsApiResponseCommonFailure;
+}>;
+
+export type CloudforceOneRequestAssetGetResponse = Schemas.CloudforceOneRequestsApiResponseCommon & {
+  result?: Schemas.CloudforceOneRequestsRequestAssetItem[];
+};
+
+export type CloudforceOneRequestAssetGetVariables = {
+  pathParams: CloudforceOneRequestAssetGetPathParams;
+} & FetcherExtraProps;
+
+export const cloudforceOneRequestAssetGet = (variables: CloudforceOneRequestAssetGetVariables, signal?: AbortSignal) =>
+  fetch<
+    CloudforceOneRequestAssetGetResponse,
+    CloudforceOneRequestAssetGetError,
+    undefined,
+    {},
+    {},
+    CloudforceOneRequestAssetGetPathParams
+  >({
+    url: '/accounts/{accountIdentifier}/cloudforce-one/requests/{requestIdentifier}/asset/{assetIdentifer}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type CloudforceOneRequestAssetUpdatePathParams = {
+  accountIdentifier: Schemas.CloudforceOneRequestsIdentifier;
+  requestIdentifier: Schemas.CloudforceOneRequestsUuid;
+  assetIdentifer: Schemas.CloudforceOneRequestsUuid;
+};
+
+export type CloudforceOneRequestAssetUpdateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CloudforceOneRequestsApiResponseCommonFailure;
+}>;
+
+export type CloudforceOneRequestAssetUpdateResponse = Schemas.CloudforceOneRequestsApiResponseCommon & {
+  result?: Schemas.CloudforceOneRequestsRequestAssetItem;
+};
+
+export type CloudforceOneRequestAssetUpdateVariables = {
+  body?: Schemas.CloudforceOneRequestsRequestAssetEdit;
+  pathParams: CloudforceOneRequestAssetUpdatePathParams;
+} & FetcherExtraProps;
+
+export const cloudforceOneRequestAssetUpdate = (
+  variables: CloudforceOneRequestAssetUpdateVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    CloudforceOneRequestAssetUpdateResponse,
+    CloudforceOneRequestAssetUpdateError,
+    Schemas.CloudforceOneRequestsRequestAssetEdit,
+    {},
+    {},
+    CloudforceOneRequestAssetUpdatePathParams
+  >({
+    url: '/accounts/{accountIdentifier}/cloudforce-one/requests/{requestIdentifier}/asset/{assetIdentifer}',
+    method: 'put',
+    ...variables,
+    signal
+  });
+
+export type CloudforceOneRequestMessageListPathParams = {
+  accountIdentifier: Schemas.CloudforceOneRequestsIdentifier;
+  requestIdentifier: Schemas.CloudforceOneRequestsUuid;
+};
+
+export type CloudforceOneRequestMessageListError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CloudforceOneRequestsApiResponseCommonFailure;
+}>;
+
+export type CloudforceOneRequestMessageListResponse = Schemas.CloudforceOneRequestsApiResponseCommon & {
+  result?: Schemas.CloudforceOneRequestsRequestMessageItem[];
+};
+
+export type CloudforceOneRequestMessageListVariables = {
+  body: Schemas.CloudforceOneRequestsRequestMessageList;
+  pathParams: CloudforceOneRequestMessageListPathParams;
+} & FetcherExtraProps;
+
+export const cloudforceOneRequestMessageList = (
+  variables: CloudforceOneRequestMessageListVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    CloudforceOneRequestMessageListResponse,
+    CloudforceOneRequestMessageListError,
+    Schemas.CloudforceOneRequestsRequestMessageList,
+    {},
+    {},
+    CloudforceOneRequestMessageListPathParams
+  >({
+    url: '/accounts/{accountIdentifier}/cloudforce-one/requests/{requestIdentifier}/message',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type CloudforceOneRequestMessageNewPathParams = {
+  accountIdentifier: Schemas.CloudforceOneRequestsIdentifier;
+  requestIdentifier: Schemas.CloudforceOneRequestsUuid;
+};
+
+export type CloudforceOneRequestMessageNewError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CloudforceOneRequestsApiResponseCommonFailure;
+}>;
+
+export type CloudforceOneRequestMessageNewResponse = Schemas.CloudforceOneRequestsApiResponseCommon & {
+  result?: Schemas.CloudforceOneRequestsRequestMessageItem;
+};
+
+export type CloudforceOneRequestMessageNewVariables = {
+  body?: Schemas.CloudforceOneRequestsRequestMessageEdit;
+  pathParams: CloudforceOneRequestMessageNewPathParams;
+} & FetcherExtraProps;
+
+export const cloudforceOneRequestMessageNew = (
+  variables: CloudforceOneRequestMessageNewVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    CloudforceOneRequestMessageNewResponse,
+    CloudforceOneRequestMessageNewError,
+    Schemas.CloudforceOneRequestsRequestMessageEdit,
+    {},
+    {},
+    CloudforceOneRequestMessageNewPathParams
+  >({
+    url: '/accounts/{accountIdentifier}/cloudforce-one/requests/{requestIdentifier}/message/new',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type CloudforceOneRequestMessageDeletePathParams = {
+  accountIdentifier: Schemas.CloudforceOneRequestsIdentifier;
+  requestIdentifier: Schemas.CloudforceOneRequestsUuid;
+  messageIdentifer: number;
+};
+
+export type CloudforceOneRequestMessageDeleteError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CloudforceOneRequestsApiResponseCommonFailure;
+}>;
+
+export type CloudforceOneRequestMessageDeleteVariables = {
+  pathParams: CloudforceOneRequestMessageDeletePathParams;
+} & FetcherExtraProps;
+
+export const cloudforceOneRequestMessageDelete = (
+  variables: CloudforceOneRequestMessageDeleteVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.CloudforceOneRequestsApiResponseCommon,
+    CloudforceOneRequestMessageDeleteError,
+    undefined,
+    {},
+    {},
+    CloudforceOneRequestMessageDeletePathParams
+  >({
+    url: '/accounts/{accountIdentifier}/cloudforce-one/requests/{requestIdentifier}/message/{messageIdentifer}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type CloudforceOneRequestMessageUpdatePathParams = {
+  accountIdentifier: Schemas.CloudforceOneRequestsIdentifier;
+  requestIdentifier: Schemas.CloudforceOneRequestsUuid;
+  messageIdentifer: number;
+};
+
+export type CloudforceOneRequestMessageUpdateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CloudforceOneRequestsApiResponseCommonFailure;
+}>;
+
+export type CloudforceOneRequestMessageUpdateResponse = Schemas.CloudforceOneRequestsApiResponseCommon & {
+  result?: Schemas.CloudforceOneRequestsRequestMessageItem;
+};
+
+export type CloudforceOneRequestMessageUpdateVariables = {
+  body?: Schemas.CloudforceOneRequestsRequestMessageEdit;
+  pathParams: CloudforceOneRequestMessageUpdatePathParams;
+} & FetcherExtraProps;
+
+export const cloudforceOneRequestMessageUpdate = (
+  variables: CloudforceOneRequestMessageUpdateVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    CloudforceOneRequestMessageUpdateResponse,
+    CloudforceOneRequestMessageUpdateError,
+    Schemas.CloudforceOneRequestsRequestMessageEdit,
+    {},
+    {},
+    CloudforceOneRequestMessageUpdatePathParams
+  >({
+    url: '/accounts/{accountIdentifier}/cloudforce-one/requests/{requestIdentifier}/message/{messageIdentifer}',
+    method: 'put',
+    ...variables,
+    signal
+  });
+
+export type CustomPagesForAnAccountListCustomPagesPathParams = {
+  accountIdentifier: Schemas.CustomPagesIdentifier;
+};
+
+export type CustomPagesForAnAccountListCustomPagesError = Fetcher.ErrorWrapper<{
+  status: ClientErrorStatus;
+  payload: Schemas.CustomPagesCustomPagesResponseCollection & Schemas.CustomPagesApiResponseCommonFailure;
+}>;
+
+export type CustomPagesForAnAccountListCustomPagesVariables = {
+  pathParams: CustomPagesForAnAccountListCustomPagesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches all the custom pages at the account level.
+ */
+export const customPagesForAnAccountListCustomPages = (
+  variables: CustomPagesForAnAccountListCustomPagesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.CustomPagesCustomPagesResponseCollection,
+    CustomPagesForAnAccountListCustomPagesError,
+    undefined,
+    {},
+    {},
+    CustomPagesForAnAccountListCustomPagesPathParams
+  >({ url: '/accounts/{accountIdentifier}/custom_pages', method: 'get', ...variables, signal });
+
+export type CustomPagesForAnAccountGetACustomPagePathParams = {
+  identifier: Schemas.CustomPagesIdentifier;
+  accountIdentifier: Schemas.CustomPagesIdentifier;
+};
+
+export type CustomPagesForAnAccountGetACustomPageError = Fetcher.ErrorWrapper<{
+  status: ClientErrorStatus;
+  payload: Schemas.CustomPagesCustomPagesResponseSingle & Schemas.CustomPagesApiResponseCommonFailure;
+}>;
+
+export type CustomPagesForAnAccountGetACustomPageVariables = {
+  pathParams: CustomPagesForAnAccountGetACustomPagePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the details of a custom page.
+ */
+export const customPagesForAnAccountGetACustomPage = (
+  variables: CustomPagesForAnAccountGetACustomPageVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.CustomPagesCustomPagesResponseSingle,
+    CustomPagesForAnAccountGetACustomPageError,
+    undefined,
+    {},
+    {},
+    CustomPagesForAnAccountGetACustomPagePathParams
+  >({ url: '/accounts/{accountIdentifier}/custom_pages/{identifier}', method: 'get', ...variables, signal });
+
+export type CustomPagesForAnAccountUpdateACustomPagePathParams = {
+  identifier: Schemas.CustomPagesIdentifier;
+  accountIdentifier: Schemas.CustomPagesIdentifier;
+};
+
+export type CustomPagesForAnAccountUpdateACustomPageError = Fetcher.ErrorWrapper<{
+  status: ClientErrorStatus;
+  payload: Schemas.CustomPagesCustomPagesResponseSingle & Schemas.CustomPagesApiResponseCommonFailure;
+}>;
+
+export type CustomPagesForAnAccountUpdateACustomPageRequestBody = {
+  state: Schemas.CustomPagesState;
+  url: Schemas.CustomPagesUrl;
+};
+
+export type CustomPagesForAnAccountUpdateACustomPageVariables = {
+  body: CustomPagesForAnAccountUpdateACustomPageRequestBody;
+  pathParams: CustomPagesForAnAccountUpdateACustomPagePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates the configuration of an existing custom page.
+ */
+export const customPagesForAnAccountUpdateACustomPage = (
+  variables: CustomPagesForAnAccountUpdateACustomPageVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.CustomPagesCustomPagesResponseSingle,
+    CustomPagesForAnAccountUpdateACustomPageError,
+    CustomPagesForAnAccountUpdateACustomPageRequestBody,
+    {},
+    {},
+    CustomPagesForAnAccountUpdateACustomPagePathParams
+  >({ url: '/accounts/{accountIdentifier}/custom_pages/{identifier}', method: 'put', ...variables, signal });
+
+export type ListsGetBulkOperationStatusPathParams = {
+  operationId: Schemas.ListsOperationId;
+  accountIdentifier: Schemas.ListsIdentifier;
+};
+
+export type ListsGetBulkOperationStatusError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ListsBulkOperationResponseCollection & Schemas.ListsApiResponseCommonFailure;
+}>;
+
+export type ListsGetBulkOperationStatusVariables = {
+  pathParams: ListsGetBulkOperationStatusPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets the current status of an asynchronous operation on a list.
+ *
+ * The `status` property can have one of the following values: `pending`, `running`, `completed`, or `failed`. If the status is `failed`, the `error` property will contain a message describing the error.
+ */
+export const listsGetBulkOperationStatus = (variables: ListsGetBulkOperationStatusVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.ListsBulkOperationResponseCollection,
+    ListsGetBulkOperationStatusError,
+    undefined,
+    {},
+    {},
+    ListsGetBulkOperationStatusPathParams
+  >({
+    url: '/accounts/{accountIdentifier}/rules/lists/bulk_operations/{operationId}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type ListsGetAListItemPathParams = {
+  itemId: Schemas.ListsItemId;
+  listId: Schemas.ListsListId;
+  accountIdentifier: Schemas.ListsIdentifier;
+};
+
+export type ListsGetAListItemError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ListsItemResponseCollection & Schemas.ListsApiResponseCommonFailure;
+}>;
+
+export type ListsGetAListItemVariables = {
+  pathParams: ListsGetAListItemPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a list item in the list.
+ */
+export const listsGetAListItem = (variables: ListsGetAListItemVariables, signal?: AbortSignal) =>
+  fetch<Schemas.ListsItemResponseCollection, ListsGetAListItemError, undefined, {}, {}, ListsGetAListItemPathParams>({
+    url: '/accounts/{accountIdentifier}/rules/lists/{listId}/items/{itemId}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type AccountDeletionPathParams = {
+  accountId: string;
+};
+
+export type AccountDeletionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type AccountDeletionVariables = {
+  pathParams: AccountDeletionPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete a specific account (only available for tenant admins at this time). This is a permanent operation that will delete any zones or other resources under the account
+ */
+export const accountDeletion = (variables: AccountDeletionVariables, signal?: AbortSignal) =>
+  fetch<Schemas.IamApiResponseSingleId, AccountDeletionError, undefined, {}, {}, AccountDeletionPathParams>({
+    url: '/accounts/{accountId}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type AccountsAccountDetailsPathParams = {
+  accountId: Schemas.IamAccountIdentifier;
+};
+
+export type AccountsAccountDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type AccountsAccountDetailsVariables = {
+  pathParams: AccountsAccountDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get information about a specific account that you are a member of.
+ */
+export const accountsAccountDetails = (variables: AccountsAccountDetailsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.IamResponseSingleAccount,
+    AccountsAccountDetailsError,
+    undefined,
+    {},
+    {},
+    AccountsAccountDetailsPathParams
+  >({ url: '/accounts/{accountId}', method: 'get', ...variables, signal });
+
+export type AccountsUpdateAccountPathParams = {
+  accountId: Schemas.IamAccountIdentifier;
+};
+
+export type AccountsUpdateAccountError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type AccountsUpdateAccountVariables = {
+  body?: Schemas.IamComponentsSchemasAccount;
+  pathParams: AccountsUpdateAccountPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update an existing account.
+ */
+export const accountsUpdateAccount = (variables: AccountsUpdateAccountVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.IamResponseSingleAccount,
+    AccountsUpdateAccountError,
+    Schemas.IamComponentsSchemasAccount,
+    {},
+    {},
+    AccountsUpdateAccountPathParams
+  >({ url: '/accounts/{accountId}', method: 'put', ...variables, signal });
+
+export type AccessApplicationsListAccessApplicationsPathParams = {
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessApplicationsListAccessApplicationsQueryParams = {
+  name?: string;
+  domain?: string;
+  aud?: string;
+  search?: string;
+};
+
+export type AccessApplicationsListAccessApplicationsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessApplicationsListAccessApplicationsVariables = {
+  pathParams: AccessApplicationsListAccessApplicationsPathParams;
+  queryParams?: AccessApplicationsListAccessApplicationsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists all Access applications in an account.
+ */
+export const accessApplicationsListAccessApplications = (
+  variables: AccessApplicationsListAccessApplicationsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessAppsComponentsSchemasResponseCollection,
+    AccessApplicationsListAccessApplicationsError,
+    undefined,
+    {},
+    AccessApplicationsListAccessApplicationsQueryParams,
+    AccessApplicationsListAccessApplicationsPathParams
+  >({ url: '/accounts/{accountId}/access/apps', method: 'get', ...variables, signal });
+
+export type AccessApplicationsAddAnApplicationPathParams = {
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessApplicationsAddAnApplicationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessApplicationsAddAnApplicationResponse = Schemas.AccessAppsComponentsSchemasSingleResponse & {
+  result?: Schemas.AccessAppResponse;
+};
+
+export type AccessApplicationsAddAnApplicationVariables = {
+  body?: Schemas.AccessAppRequest;
+  pathParams: AccessApplicationsAddAnApplicationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Adds a new application to Access.
+ */
+export const accessApplicationsAddAnApplication = (
+  variables: AccessApplicationsAddAnApplicationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    AccessApplicationsAddAnApplicationResponse,
+    AccessApplicationsAddAnApplicationError,
+    Schemas.AccessAppRequest,
+    {},
+    {},
+    AccessApplicationsAddAnApplicationPathParams
+  >({ url: '/accounts/{accountId}/access/apps', method: 'post', ...variables, signal });
+
+export type AccessShortLivedCertificateCAsListShortLivedCertificateCAsPathParams = {
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessShortLivedCertificateCAsListShortLivedCertificateCAsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessShortLivedCertificateCAsListShortLivedCertificateCAsVariables = {
+  pathParams: AccessShortLivedCertificateCAsListShortLivedCertificateCAsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists short-lived certificate CAs and their public keys.
+ */
+export const accessShortLivedCertificateCAsListShortLivedCertificateCAs = (
+  variables: AccessShortLivedCertificateCAsListShortLivedCertificateCAsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessCaComponentsSchemasResponseCollection,
+    AccessShortLivedCertificateCAsListShortLivedCertificateCAsError,
+    undefined,
+    {},
+    {},
+    AccessShortLivedCertificateCAsListShortLivedCertificateCAsPathParams
+  >({ url: '/accounts/{accountId}/access/apps/ca', method: 'get', ...variables, signal });
+
+export type AccessApplicationsDeleteAnAccessApplicationPathParams = {
+  appId: Schemas.AccessAppId;
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessApplicationsDeleteAnAccessApplicationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessApplicationsDeleteAnAccessApplicationVariables = {
+  pathParams: AccessApplicationsDeleteAnAccessApplicationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes an application from Access.
+ */
+export const accessApplicationsDeleteAnAccessApplication = (
+  variables: AccessApplicationsDeleteAnAccessApplicationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessIdResponse,
+    AccessApplicationsDeleteAnAccessApplicationError,
+    undefined,
+    {},
+    {},
+    AccessApplicationsDeleteAnAccessApplicationPathParams
+  >({ url: '/accounts/{accountId}/access/apps/{appId}', method: 'delete', ...variables, signal });
+
+export type AccessApplicationsGetAnAccessApplicationPathParams = {
+  appId: Schemas.AccessAppId;
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessApplicationsGetAnAccessApplicationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessApplicationsGetAnAccessApplicationVariables = {
+  pathParams: AccessApplicationsGetAnAccessApplicationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches information about an Access application.
+ */
+export const accessApplicationsGetAnAccessApplication = (
+  variables: AccessApplicationsGetAnAccessApplicationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessAppsComponentsSchemasSingleResponse,
+    AccessApplicationsGetAnAccessApplicationError,
+    undefined,
+    {},
+    {},
+    AccessApplicationsGetAnAccessApplicationPathParams
+  >({ url: '/accounts/{accountId}/access/apps/{appId}', method: 'get', ...variables, signal });
+
+export type AccessApplicationsUpdateAnAccessApplicationPathParams = {
+  appId: Schemas.AccessAppId;
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessApplicationsUpdateAnAccessApplicationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessApplicationsUpdateAnAccessApplicationResponse = Schemas.AccessAppsComponentsSchemasSingleResponse & {
+  result?: Schemas.AccessAppResponse;
+};
+
+export type AccessApplicationsUpdateAnAccessApplicationVariables = {
+  body?: Schemas.AccessAppRequest;
+  pathParams: AccessApplicationsUpdateAnAccessApplicationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates an Access application.
+ */
+export const accessApplicationsUpdateAnAccessApplication = (
+  variables: AccessApplicationsUpdateAnAccessApplicationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    AccessApplicationsUpdateAnAccessApplicationResponse,
+    AccessApplicationsUpdateAnAccessApplicationError,
+    Schemas.AccessAppRequest,
+    {},
+    {},
+    AccessApplicationsUpdateAnAccessApplicationPathParams
+  >({ url: '/accounts/{accountId}/access/apps/{appId}', method: 'put', ...variables, signal });
+
+export type AccessShortLivedCertificateCAsDeleteAShortLivedCertificateCaPathParams = {
+  appId: Schemas.AccessUuid;
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessShortLivedCertificateCAsDeleteAShortLivedCertificateCaError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessShortLivedCertificateCAsDeleteAShortLivedCertificateCaVariables = {
+  pathParams: AccessShortLivedCertificateCAsDeleteAShortLivedCertificateCaPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes a short-lived certificate CA.
+ */
+export const accessShortLivedCertificateCAsDeleteAShortLivedCertificateCa = (
+  variables: AccessShortLivedCertificateCAsDeleteAShortLivedCertificateCaVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessSchemasIdResponse,
+    AccessShortLivedCertificateCAsDeleteAShortLivedCertificateCaError,
+    undefined,
+    {},
+    {},
+    AccessShortLivedCertificateCAsDeleteAShortLivedCertificateCaPathParams
+  >({ url: '/accounts/{accountId}/access/apps/{appId}/ca', method: 'delete', ...variables, signal });
+
+export type AccessShortLivedCertificateCAsGetAShortLivedCertificateCaPathParams = {
+  appId: Schemas.AccessUuid;
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessShortLivedCertificateCAsGetAShortLivedCertificateCaError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessShortLivedCertificateCAsGetAShortLivedCertificateCaVariables = {
+  pathParams: AccessShortLivedCertificateCAsGetAShortLivedCertificateCaPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a short-lived certificate CA and its public key.
+ */
+export const accessShortLivedCertificateCAsGetAShortLivedCertificateCa = (
+  variables: AccessShortLivedCertificateCAsGetAShortLivedCertificateCaVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessCaComponentsSchemasSingleResponse,
+    AccessShortLivedCertificateCAsGetAShortLivedCertificateCaError,
+    undefined,
+    {},
+    {},
+    AccessShortLivedCertificateCAsGetAShortLivedCertificateCaPathParams
+  >({ url: '/accounts/{accountId}/access/apps/{appId}/ca', method: 'get', ...variables, signal });
+
+export type AccessShortLivedCertificateCAsCreateAShortLivedCertificateCaPathParams = {
+  appId: Schemas.AccessUuid;
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessShortLivedCertificateCAsCreateAShortLivedCertificateCaError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessShortLivedCertificateCAsCreateAShortLivedCertificateCaVariables = {
+  pathParams: AccessShortLivedCertificateCAsCreateAShortLivedCertificateCaPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Generates a new short-lived certificate CA and public key.
+ */
+export const accessShortLivedCertificateCAsCreateAShortLivedCertificateCa = (
+  variables: AccessShortLivedCertificateCAsCreateAShortLivedCertificateCaVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessCaComponentsSchemasSingleResponse,
+    AccessShortLivedCertificateCAsCreateAShortLivedCertificateCaError,
+    undefined,
+    {},
+    {},
+    AccessShortLivedCertificateCAsCreateAShortLivedCertificateCaPathParams
+  >({ url: '/accounts/{accountId}/access/apps/{appId}/ca', method: 'post', ...variables, signal });
+
+export type AccessPoliciesListAccessAppPoliciesPathParams = {
+  /**
+   * The application ID.
+   */
+  appId: Schemas.AccessUuid;
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessPoliciesListAccessAppPoliciesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessPoliciesListAccessAppPoliciesVariables = {
+  pathParams: AccessPoliciesListAccessAppPoliciesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists Access policies configured for an application. Returns both exclusively scoped and reusable policies used by the application.
+ */
+export const accessPoliciesListAccessAppPolicies = (
+  variables: AccessPoliciesListAccessAppPoliciesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessAppPoliciesComponentsSchemasResponseCollection,
+    AccessPoliciesListAccessAppPoliciesError,
+    undefined,
+    {},
+    {},
+    AccessPoliciesListAccessAppPoliciesPathParams
+  >({ url: '/accounts/{accountId}/access/apps/{appId}/policies', method: 'get', ...variables, signal });
+
+export type AccessPoliciesCreateAnAccessPolicyPathParams = {
+  /**
+   * The application ID.
+   */
+  appId: Schemas.AccessUuid;
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessPoliciesCreateAnAccessPolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessPoliciesCreateAnAccessPolicyVariables = {
+  body?: Schemas.AccessAppPolicyRequest;
+  pathParams: AccessPoliciesCreateAnAccessPolicyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a policy applying exclusive to a single application that defines the users or groups who can reach it. We recommend creating a reusable policy instead and subsequently referencing its ID in the application's 'policies' array.
+ */
+export const accessPoliciesCreateAnAccessPolicy = (
+  variables: AccessPoliciesCreateAnAccessPolicyVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessAppPoliciesComponentsSchemasSingleResponse,
+    AccessPoliciesCreateAnAccessPolicyError,
+    Schemas.AccessAppPolicyRequest,
+    {},
+    {},
+    AccessPoliciesCreateAnAccessPolicyPathParams
+  >({ url: '/accounts/{accountId}/access/apps/{appId}/policies', method: 'post', ...variables, signal });
+
+export type AccessPoliciesDeleteAnAccessPolicyPathParams = {
+  /**
+   * The application ID.
+   */
+  appId: Schemas.AccessUuid;
+  /**
+   * The policy ID.
+   */
+  policyId: Schemas.AccessUuid;
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessPoliciesDeleteAnAccessPolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessPoliciesDeleteAnAccessPolicyVariables = {
+  pathParams: AccessPoliciesDeleteAnAccessPolicyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes an Access policy specific to an application. To delete a reusable policy, use the /accounts/{account_id}/policies/{uid} endpoint.
+ */
+export const accessPoliciesDeleteAnAccessPolicy = (
+  variables: AccessPoliciesDeleteAnAccessPolicyVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessIdResponse,
+    AccessPoliciesDeleteAnAccessPolicyError,
+    undefined,
+    {},
+    {},
+    AccessPoliciesDeleteAnAccessPolicyPathParams
+  >({ url: '/accounts/{accountId}/access/apps/{appId}/policies/{policyId}', method: 'delete', ...variables, signal });
+
+export type AccessPoliciesGetAnAccessPolicyPathParams = {
+  /**
+   * The application ID.
+   */
+  appId: Schemas.AccessUuid;
+  /**
+   * The policy ID.
+   */
+  policyId: Schemas.AccessUuid;
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessPoliciesGetAnAccessPolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessPoliciesGetAnAccessPolicyVariables = {
+  pathParams: AccessPoliciesGetAnAccessPolicyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a single Access policy configured for an application. Returns both exclusively owned and reusable policies used by the application.
+ */
+export const accessPoliciesGetAnAccessPolicy = (
+  variables: AccessPoliciesGetAnAccessPolicyVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessAppPoliciesComponentsSchemasSingleResponse,
+    AccessPoliciesGetAnAccessPolicyError,
+    undefined,
+    {},
+    {},
+    AccessPoliciesGetAnAccessPolicyPathParams
+  >({ url: '/accounts/{accountId}/access/apps/{appId}/policies/{policyId}', method: 'get', ...variables, signal });
+
+export type AccessPoliciesUpdateAnAccessPolicyPathParams = {
+  /**
+   * The application ID.
+   */
+  appId: Schemas.AccessUuid;
+  /**
+   * The policy ID.
+   */
+  policyId: Schemas.AccessUuid;
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessPoliciesUpdateAnAccessPolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessPoliciesUpdateAnAccessPolicyVariables = {
+  body?: Schemas.AccessAppPolicyRequest;
+  pathParams: AccessPoliciesUpdateAnAccessPolicyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates an Access policy specific to an application. To update a reusable policy, use the /accounts/{account_id}/policies/{uid} endpoint.
+ */
+export const accessPoliciesUpdateAnAccessPolicy = (
+  variables: AccessPoliciesUpdateAnAccessPolicyVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessAppPoliciesComponentsSchemasSingleResponse,
+    AccessPoliciesUpdateAnAccessPolicyError,
+    Schemas.AccessAppPolicyRequest,
+    {},
+    {},
+    AccessPoliciesUpdateAnAccessPolicyPathParams
+  >({ url: '/accounts/{accountId}/access/apps/{appId}/policies/{policyId}', method: 'put', ...variables, signal });
+
+export type AccessApplicationsRevokeServiceTokensPathParams = {
+  appId: Schemas.AccessAppId;
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessApplicationsRevokeServiceTokensError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessApplicationsRevokeServiceTokensVariables = {
+  pathParams: AccessApplicationsRevokeServiceTokensPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Revokes all tokens issued for an application.
+ */
+export const accessApplicationsRevokeServiceTokens = (
+  variables: AccessApplicationsRevokeServiceTokensVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessSchemasEmptyResponse,
+    AccessApplicationsRevokeServiceTokensError,
+    undefined,
+    {},
+    {},
+    AccessApplicationsRevokeServiceTokensPathParams
+  >({ url: '/accounts/{accountId}/access/apps/{appId}/revoke_tokens', method: 'post', ...variables, signal });
+
+export type AccessApplicationsTestAccessPoliciesPathParams = {
+  appId: Schemas.AccessAppId;
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessApplicationsTestAccessPoliciesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessApplicationsTestAccessPoliciesVariables = {
+  pathParams: AccessApplicationsTestAccessPoliciesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Tests if a specific user has permission to access an application.
+ */
+export const accessApplicationsTestAccessPolicies = (
+  variables: AccessApplicationsTestAccessPoliciesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessPolicyCheckResponse,
+    AccessApplicationsTestAccessPoliciesError,
+    undefined,
+    {},
+    {},
+    AccessApplicationsTestAccessPoliciesPathParams
+  >({ url: '/accounts/{accountId}/access/apps/{appId}/user_policy_checks', method: 'get', ...variables, signal });
+
+export type AccessBookmarkApplicationsDeprecatedListBookmarkApplicationsPathParams = {
+  accountId: Schemas.AccessComponentsSchemasIdentifier;
+};
+
+export type AccessBookmarkApplicationsDeprecatedListBookmarkApplicationsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessBookmarkApplicationsDeprecatedListBookmarkApplicationsVariables = {
+  pathParams: AccessBookmarkApplicationsDeprecatedListBookmarkApplicationsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists Bookmark applications.
+ */
+export const accessBookmarkApplicationsDeprecatedListBookmarkApplications = (
+  variables: AccessBookmarkApplicationsDeprecatedListBookmarkApplicationsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessBookmarksComponentsSchemasResponseCollection,
+    AccessBookmarkApplicationsDeprecatedListBookmarkApplicationsError,
+    undefined,
+    {},
+    {},
+    AccessBookmarkApplicationsDeprecatedListBookmarkApplicationsPathParams
+  >({ url: '/accounts/{accountId}/access/bookmarks', method: 'get', ...variables, signal });
+
+export type AccessBookmarkApplicationsDeprecatedDeleteABookmarkApplicationPathParams = {
+  bookmarkId: Schemas.AccessUuid;
+  accountId: Schemas.AccessComponentsSchemasIdentifier;
+};
+
+export type AccessBookmarkApplicationsDeprecatedDeleteABookmarkApplicationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessBookmarkApplicationsDeprecatedDeleteABookmarkApplicationVariables = {
+  pathParams: AccessBookmarkApplicationsDeprecatedDeleteABookmarkApplicationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes a Bookmark application.
+ */
+export const accessBookmarkApplicationsDeprecatedDeleteABookmarkApplication = (
+  variables: AccessBookmarkApplicationsDeprecatedDeleteABookmarkApplicationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessIdResponse,
+    AccessBookmarkApplicationsDeprecatedDeleteABookmarkApplicationError,
+    undefined,
+    {},
+    {},
+    AccessBookmarkApplicationsDeprecatedDeleteABookmarkApplicationPathParams
+  >({ url: '/accounts/{accountId}/access/bookmarks/{bookmarkId}', method: 'delete', ...variables, signal });
+
+export type AccessBookmarkApplicationsDeprecatedGetABookmarkApplicationPathParams = {
+  bookmarkId: Schemas.AccessUuid;
+  accountId: Schemas.AccessComponentsSchemasIdentifier;
+};
+
+export type AccessBookmarkApplicationsDeprecatedGetABookmarkApplicationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessBookmarkApplicationsDeprecatedGetABookmarkApplicationVariables = {
+  pathParams: AccessBookmarkApplicationsDeprecatedGetABookmarkApplicationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a single Bookmark application.
+ */
+export const accessBookmarkApplicationsDeprecatedGetABookmarkApplication = (
+  variables: AccessBookmarkApplicationsDeprecatedGetABookmarkApplicationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessBookmarksComponentsSchemasSingleResponse,
+    AccessBookmarkApplicationsDeprecatedGetABookmarkApplicationError,
+    undefined,
+    {},
+    {},
+    AccessBookmarkApplicationsDeprecatedGetABookmarkApplicationPathParams
+  >({ url: '/accounts/{accountId}/access/bookmarks/{bookmarkId}', method: 'get', ...variables, signal });
+
+export type AccessBookmarkApplicationsDeprecatedCreateABookmarkApplicationPathParams = {
+  bookmarkId: Schemas.AccessUuid;
+  accountId: Schemas.AccessComponentsSchemasIdentifier;
+};
+
+export type AccessBookmarkApplicationsDeprecatedCreateABookmarkApplicationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessBookmarkApplicationsDeprecatedCreateABookmarkApplicationVariables = {
+  pathParams: AccessBookmarkApplicationsDeprecatedCreateABookmarkApplicationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create a new Bookmark application.
+ */
+export const accessBookmarkApplicationsDeprecatedCreateABookmarkApplication = (
+  variables: AccessBookmarkApplicationsDeprecatedCreateABookmarkApplicationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessBookmarksComponentsSchemasSingleResponse,
+    AccessBookmarkApplicationsDeprecatedCreateABookmarkApplicationError,
+    undefined,
+    {},
+    {},
+    AccessBookmarkApplicationsDeprecatedCreateABookmarkApplicationPathParams
+  >({ url: '/accounts/{accountId}/access/bookmarks/{bookmarkId}', method: 'post', ...variables, signal });
+
+export type AccessBookmarkApplicationsDeprecatedUpdateABookmarkApplicationPathParams = {
+  bookmarkId: Schemas.AccessUuid;
+  accountId: Schemas.AccessComponentsSchemasIdentifier;
+};
+
+export type AccessBookmarkApplicationsDeprecatedUpdateABookmarkApplicationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessBookmarkApplicationsDeprecatedUpdateABookmarkApplicationVariables = {
+  pathParams: AccessBookmarkApplicationsDeprecatedUpdateABookmarkApplicationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a configured Bookmark application.
+ */
+export const accessBookmarkApplicationsDeprecatedUpdateABookmarkApplication = (
+  variables: AccessBookmarkApplicationsDeprecatedUpdateABookmarkApplicationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessBookmarksComponentsSchemasSingleResponse,
+    AccessBookmarkApplicationsDeprecatedUpdateABookmarkApplicationError,
+    undefined,
+    {},
+    {},
+    AccessBookmarkApplicationsDeprecatedUpdateABookmarkApplicationPathParams
+  >({ url: '/accounts/{accountId}/access/bookmarks/{bookmarkId}', method: 'put', ...variables, signal });
+
+export type AccessMtlsAuthenticationListMtlsCertificatesPathParams = {
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessMtlsAuthenticationListMtlsCertificatesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessMtlsAuthenticationListMtlsCertificatesVariables = {
+  pathParams: AccessMtlsAuthenticationListMtlsCertificatesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists all mTLS root certificates.
+ */
+export const accessMtlsAuthenticationListMtlsCertificates = (
+  variables: AccessMtlsAuthenticationListMtlsCertificatesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessCertificatesComponentsSchemasResponseCollection,
+    AccessMtlsAuthenticationListMtlsCertificatesError,
+    undefined,
+    {},
+    {},
+    AccessMtlsAuthenticationListMtlsCertificatesPathParams
+  >({ url: '/accounts/{accountId}/access/certificates', method: 'get', ...variables, signal });
+
+export type AccessMtlsAuthenticationAddAnMtlsCertificatePathParams = {
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessMtlsAuthenticationAddAnMtlsCertificateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessMtlsAuthenticationAddAnMtlsCertificateRequestBody = {
+  associated_hostnames?: Schemas.AccessAssociatedHostnames;
+  /**
+     * The certificate content.
+     *
+     * @example -----BEGIN CERTIFICATE-----
+    MIIGAjCCA+qgAwIBAgIJAI7kymlF7CWT...N4RI7KKB7nikiuUf8vhULKy5IX10
+    DrUtmu/B
+    -----END CERTIFICATE-----
+     */
+  certificate: string;
+  name: Schemas.AccessCertificatesComponentsSchemasName;
+};
+
+export type AccessMtlsAuthenticationAddAnMtlsCertificateVariables = {
+  body: AccessMtlsAuthenticationAddAnMtlsCertificateRequestBody;
+  pathParams: AccessMtlsAuthenticationAddAnMtlsCertificatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Adds a new mTLS root certificate to Access.
+ */
+export const accessMtlsAuthenticationAddAnMtlsCertificate = (
+  variables: AccessMtlsAuthenticationAddAnMtlsCertificateVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessCertificatesComponentsSchemasSingleResponse,
+    AccessMtlsAuthenticationAddAnMtlsCertificateError,
+    AccessMtlsAuthenticationAddAnMtlsCertificateRequestBody,
+    {},
+    {},
+    AccessMtlsAuthenticationAddAnMtlsCertificatePathParams
+  >({ url: '/accounts/{accountId}/access/certificates', method: 'post', ...variables, signal });
+
+export type AccessMtlsAuthenticationListMtlsCertificatesHostnameSettingsPathParams = {
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessMtlsAuthenticationListMtlsCertificatesHostnameSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessMtlsAuthenticationListMtlsCertificatesHostnameSettingsVariables = {
+  pathParams: AccessMtlsAuthenticationListMtlsCertificatesHostnameSettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * List all mTLS hostname settings for this account.
+ */
+export const accessMtlsAuthenticationListMtlsCertificatesHostnameSettings = (
+  variables: AccessMtlsAuthenticationListMtlsCertificatesHostnameSettingsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessResponseCollectionHostnames,
+    AccessMtlsAuthenticationListMtlsCertificatesHostnameSettingsError,
+    undefined,
+    {},
+    {},
+    AccessMtlsAuthenticationListMtlsCertificatesHostnameSettingsPathParams
+  >({ url: '/accounts/{accountId}/access/certificates/settings', method: 'get', ...variables, signal });
+
+export type AccessMtlsAuthenticationUpdateAnMtlsCertificateSettingsPathParams = {
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessMtlsAuthenticationUpdateAnMtlsCertificateSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessMtlsAuthenticationUpdateAnMtlsCertificateSettingsRequestBody = {
+  settings: Schemas.AccessSettings[];
+};
+
+export type AccessMtlsAuthenticationUpdateAnMtlsCertificateSettingsVariables = {
+  body: AccessMtlsAuthenticationUpdateAnMtlsCertificateSettingsRequestBody;
+  pathParams: AccessMtlsAuthenticationUpdateAnMtlsCertificateSettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates an mTLS certificate's hostname settings.
+ */
+export const accessMtlsAuthenticationUpdateAnMtlsCertificateSettings = (
+  variables: AccessMtlsAuthenticationUpdateAnMtlsCertificateSettingsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessResponseCollectionHostnames,
+    AccessMtlsAuthenticationUpdateAnMtlsCertificateSettingsError,
+    AccessMtlsAuthenticationUpdateAnMtlsCertificateSettingsRequestBody,
+    {},
+    {},
+    AccessMtlsAuthenticationUpdateAnMtlsCertificateSettingsPathParams
+  >({ url: '/accounts/{accountId}/access/certificates/settings', method: 'put', ...variables, signal });
+
+export type AccessMtlsAuthenticationDeleteAnMtlsCertificatePathParams = {
+  certificateId: Schemas.AccessUuid;
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessMtlsAuthenticationDeleteAnMtlsCertificateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessMtlsAuthenticationDeleteAnMtlsCertificateVariables = {
+  pathParams: AccessMtlsAuthenticationDeleteAnMtlsCertificatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes an mTLS certificate.
+ */
+export const accessMtlsAuthenticationDeleteAnMtlsCertificate = (
+  variables: AccessMtlsAuthenticationDeleteAnMtlsCertificateVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessComponentsSchemasIdResponse,
+    AccessMtlsAuthenticationDeleteAnMtlsCertificateError,
+    undefined,
+    {},
+    {},
+    AccessMtlsAuthenticationDeleteAnMtlsCertificatePathParams
+  >({ url: '/accounts/{accountId}/access/certificates/{certificateId}', method: 'delete', ...variables, signal });
+
+export type AccessMtlsAuthenticationGetAnMtlsCertificatePathParams = {
+  certificateId: Schemas.AccessUuid;
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessMtlsAuthenticationGetAnMtlsCertificateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessMtlsAuthenticationGetAnMtlsCertificateVariables = {
+  pathParams: AccessMtlsAuthenticationGetAnMtlsCertificatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a single mTLS certificate.
+ */
+export const accessMtlsAuthenticationGetAnMtlsCertificate = (
+  variables: AccessMtlsAuthenticationGetAnMtlsCertificateVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessCertificatesComponentsSchemasSingleResponse,
+    AccessMtlsAuthenticationGetAnMtlsCertificateError,
+    undefined,
+    {},
+    {},
+    AccessMtlsAuthenticationGetAnMtlsCertificatePathParams
+  >({ url: '/accounts/{accountId}/access/certificates/{certificateId}', method: 'get', ...variables, signal });
+
+export type AccessMtlsAuthenticationUpdateAnMtlsCertificatePathParams = {
+  certificateId: Schemas.AccessUuid;
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessMtlsAuthenticationUpdateAnMtlsCertificateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessMtlsAuthenticationUpdateAnMtlsCertificateRequestBody = {
+  associated_hostnames: Schemas.AccessAssociatedHostnames;
+  name?: Schemas.AccessCertificatesComponentsSchemasName;
+};
+
+export type AccessMtlsAuthenticationUpdateAnMtlsCertificateVariables = {
+  body: AccessMtlsAuthenticationUpdateAnMtlsCertificateRequestBody;
+  pathParams: AccessMtlsAuthenticationUpdateAnMtlsCertificatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a configured mTLS certificate.
+ */
+export const accessMtlsAuthenticationUpdateAnMtlsCertificate = (
+  variables: AccessMtlsAuthenticationUpdateAnMtlsCertificateVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessCertificatesComponentsSchemasSingleResponse,
+    AccessMtlsAuthenticationUpdateAnMtlsCertificateError,
+    AccessMtlsAuthenticationUpdateAnMtlsCertificateRequestBody,
+    {},
+    {},
+    AccessMtlsAuthenticationUpdateAnMtlsCertificatePathParams
+  >({ url: '/accounts/{accountId}/access/certificates/{certificateId}', method: 'put', ...variables, signal });
+
+export type AccessCustomPagesListCustomPagesPathParams = {
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessCustomPagesListCustomPagesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessCustomPagesListCustomPagesVariables = {
+  pathParams: AccessCustomPagesListCustomPagesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * List custom pages
+ */
+export const accessCustomPagesListCustomPages = (
+  variables: AccessCustomPagesListCustomPagesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessCustomPagesComponentsSchemasResponseCollection,
+    AccessCustomPagesListCustomPagesError,
+    undefined,
+    {},
+    {},
+    AccessCustomPagesListCustomPagesPathParams
+  >({ url: '/accounts/{accountId}/access/custom_pages', method: 'get', ...variables, signal });
+
+export type AccessCustomPagesCreateACustomPagePathParams = {
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessCustomPagesCreateACustomPageError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessCustomPagesCreateACustomPageVariables = {
+  body: Schemas.AccessCustomPage;
+  pathParams: AccessCustomPagesCreateACustomPagePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create a custom page
+ */
+export const accessCustomPagesCreateACustomPage = (
+  variables: AccessCustomPagesCreateACustomPageVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessSingleResponseWithoutHtml,
+    AccessCustomPagesCreateACustomPageError,
+    Schemas.AccessCustomPage,
+    {},
+    {},
+    AccessCustomPagesCreateACustomPagePathParams
+  >({ url: '/accounts/{accountId}/access/custom_pages', method: 'post', ...variables, signal });
+
+export type AccessCustomPagesDeleteACustomPagePathParams = {
+  customPageId: Schemas.AccessUuid;
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessCustomPagesDeleteACustomPageError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessCustomPagesDeleteACustomPageVariables = {
+  pathParams: AccessCustomPagesDeleteACustomPagePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete a custom page
+ */
+export const accessCustomPagesDeleteACustomPage = (
+  variables: AccessCustomPagesDeleteACustomPageVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessComponentsSchemasIdResponse,
+    AccessCustomPagesDeleteACustomPageError,
+    undefined,
+    {},
+    {},
+    AccessCustomPagesDeleteACustomPagePathParams
+  >({ url: '/accounts/{accountId}/access/custom_pages/{customPageId}', method: 'delete', ...variables, signal });
+
+export type AccessCustomPagesGetACustomPagePathParams = {
+  customPageId: Schemas.AccessUuid;
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessCustomPagesGetACustomPageError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessCustomPagesGetACustomPageVariables = {
+  pathParams: AccessCustomPagesGetACustomPagePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a custom page and also returns its HTML.
+ */
+export const accessCustomPagesGetACustomPage = (
+  variables: AccessCustomPagesGetACustomPageVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessCustomPagesComponentsSchemasSingleResponse,
+    AccessCustomPagesGetACustomPageError,
+    undefined,
+    {},
+    {},
+    AccessCustomPagesGetACustomPagePathParams
+  >({ url: '/accounts/{accountId}/access/custom_pages/{customPageId}', method: 'get', ...variables, signal });
+
+export type AccessCustomPagesUpdateACustomPagePathParams = {
+  customPageId: Schemas.AccessUuid;
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessCustomPagesUpdateACustomPageError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessCustomPagesUpdateACustomPageVariables = {
+  body: Schemas.AccessCustomPage;
+  pathParams: AccessCustomPagesUpdateACustomPagePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update a custom page
+ */
+export const accessCustomPagesUpdateACustomPage = (
+  variables: AccessCustomPagesUpdateACustomPageVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessSingleResponseWithoutHtml,
+    AccessCustomPagesUpdateACustomPageError,
+    Schemas.AccessCustomPage,
+    {},
+    {},
+    AccessCustomPagesUpdateACustomPagePathParams
+  >({ url: '/accounts/{accountId}/access/custom_pages/{customPageId}', method: 'put', ...variables, signal });
+
+export type AccessGatewayCaListSSHCaPathParams = {
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessGatewayCaListSSHCaError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessGatewayCaListSSHCaVariables = {
+  pathParams: AccessGatewayCaListSSHCaPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists SSH Certificate Authorities (CA).
+ */
+export const accessGatewayCaListSSHCa = (variables: AccessGatewayCaListSSHCaVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.AccessGatewayCaComponentsSchemasResponseCollection,
+    AccessGatewayCaListSSHCaError,
+    undefined,
+    {},
+    {},
+    AccessGatewayCaListSSHCaPathParams
+  >({ url: '/accounts/{accountId}/access/gateway_ca', method: 'get', ...variables, signal });
+
+export type AccessGatewayCaAddAnSSHCaPathParams = {
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessGatewayCaAddAnSSHCaError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessGatewayCaAddAnSSHCaVariables = {
+  pathParams: AccessGatewayCaAddAnSSHCaPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Adds a new SSH Certificate Authority (CA).
+ */
+export const accessGatewayCaAddAnSSHCa = (variables: AccessGatewayCaAddAnSSHCaVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.AccessGatewayCaComponentsSchemasSingleResponse,
+    AccessGatewayCaAddAnSSHCaError,
+    undefined,
+    {},
+    {},
+    AccessGatewayCaAddAnSSHCaPathParams
+  >({ url: '/accounts/{accountId}/access/gateway_ca', method: 'post', ...variables, signal });
+
+export type AccessGatewayCaDeleteAnSSHCaPathParams = {
+  certificateId: Schemas.AccessUuid;
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessGatewayCaDeleteAnSSHCaError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessGatewayCaDeleteAnSSHCaVariables = {
+  pathParams: AccessGatewayCaDeleteAnSSHCaPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes an SSH Certificate Authority.
+ */
+export const accessGatewayCaDeleteAnSSHCa = (variables: AccessGatewayCaDeleteAnSSHCaVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.AccessIdResponse,
+    AccessGatewayCaDeleteAnSSHCaError,
+    undefined,
+    {},
+    {},
+    AccessGatewayCaDeleteAnSSHCaPathParams
+  >({ url: '/accounts/{accountId}/access/gateway_ca/{certificateId}', method: 'delete', ...variables, signal });
+
+export type AccessGroupsListAccessGroupsPathParams = {
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessGroupsListAccessGroupsQueryParams = {
+  name?: string;
+  search?: string;
+};
+
+export type AccessGroupsListAccessGroupsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessGroupsListAccessGroupsVariables = {
+  pathParams: AccessGroupsListAccessGroupsPathParams;
+  queryParams?: AccessGroupsListAccessGroupsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists all Access groups.
+ */
+export const accessGroupsListAccessGroups = (variables: AccessGroupsListAccessGroupsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.AccessSchemasResponseCollection,
+    AccessGroupsListAccessGroupsError,
+    undefined,
+    {},
+    AccessGroupsListAccessGroupsQueryParams,
+    AccessGroupsListAccessGroupsPathParams
+  >({ url: '/accounts/{accountId}/access/groups', method: 'get', ...variables, signal });
+
+export type AccessGroupsCreateAnAccessGroupPathParams = {
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessGroupsCreateAnAccessGroupError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessGroupsCreateAnAccessGroupRequestBody = {
+  exclude?: Schemas.AccessExclude;
+  include: Schemas.AccessInclude;
+  is_default?: Schemas.AccessIsDefault;
+  name: Schemas.AccessGroupsComponentsSchemasName;
+  require?: Schemas.AccessRequire;
+};
+
+export type AccessGroupsCreateAnAccessGroupVariables = {
+  body: AccessGroupsCreateAnAccessGroupRequestBody;
+  pathParams: AccessGroupsCreateAnAccessGroupPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new Access group.
+ */
+export const accessGroupsCreateAnAccessGroup = (
+  variables: AccessGroupsCreateAnAccessGroupVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessGroupsComponentsSchemasSingleResponse,
+    AccessGroupsCreateAnAccessGroupError,
+    AccessGroupsCreateAnAccessGroupRequestBody,
+    {},
+    {},
+    AccessGroupsCreateAnAccessGroupPathParams
+  >({ url: '/accounts/{accountId}/access/groups', method: 'post', ...variables, signal });
+
+export type AccessGroupsDeleteAnAccessGroupPathParams = {
+  groupId: Schemas.AccessUuid;
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessGroupsDeleteAnAccessGroupError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessGroupsDeleteAnAccessGroupVariables = {
+  pathParams: AccessGroupsDeleteAnAccessGroupPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes an Access group.
+ */
+export const accessGroupsDeleteAnAccessGroup = (
+  variables: AccessGroupsDeleteAnAccessGroupVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessIdResponse,
+    AccessGroupsDeleteAnAccessGroupError,
+    undefined,
+    {},
+    {},
+    AccessGroupsDeleteAnAccessGroupPathParams
+  >({ url: '/accounts/{accountId}/access/groups/{groupId}', method: 'delete', ...variables, signal });
+
+export type AccessGroupsGetAnAccessGroupPathParams = {
+  groupId: Schemas.AccessUuid;
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessGroupsGetAnAccessGroupError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessGroupsGetAnAccessGroupVariables = {
+  pathParams: AccessGroupsGetAnAccessGroupPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a single Access group.
+ */
+export const accessGroupsGetAnAccessGroup = (variables: AccessGroupsGetAnAccessGroupVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.AccessGroupsComponentsSchemasSingleResponse,
+    AccessGroupsGetAnAccessGroupError,
+    undefined,
+    {},
+    {},
+    AccessGroupsGetAnAccessGroupPathParams
+  >({ url: '/accounts/{accountId}/access/groups/{groupId}', method: 'get', ...variables, signal });
+
+export type AccessGroupsUpdateAnAccessGroupPathParams = {
+  groupId: Schemas.AccessUuid;
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessGroupsUpdateAnAccessGroupError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessGroupsUpdateAnAccessGroupRequestBody = {
+  exclude?: Schemas.AccessExclude;
+  include: Schemas.AccessInclude;
+  is_default?: Schemas.AccessIsDefault;
+  name: Schemas.AccessGroupsComponentsSchemasName;
+  require?: Schemas.AccessRequire;
+};
+
+export type AccessGroupsUpdateAnAccessGroupVariables = {
+  body: AccessGroupsUpdateAnAccessGroupRequestBody;
+  pathParams: AccessGroupsUpdateAnAccessGroupPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a configured Access group.
+ */
+export const accessGroupsUpdateAnAccessGroup = (
+  variables: AccessGroupsUpdateAnAccessGroupVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessGroupsComponentsSchemasSingleResponse,
+    AccessGroupsUpdateAnAccessGroupError,
+    AccessGroupsUpdateAnAccessGroupRequestBody,
+    {},
+    {},
+    AccessGroupsUpdateAnAccessGroupPathParams
+  >({ url: '/accounts/{accountId}/access/groups/{groupId}', method: 'put', ...variables, signal });
+
+export type AccessIdentityProvidersListAccessIdentityProvidersPathParams = {
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessIdentityProvidersListAccessIdentityProvidersQueryParams = {
+  /**
+   * @example true
+   */
+  scim_enabled?: string;
+};
+
+export type AccessIdentityProvidersListAccessIdentityProvidersError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessIdentityProvidersListAccessIdentityProvidersVariables = {
+  pathParams: AccessIdentityProvidersListAccessIdentityProvidersPathParams;
+  queryParams?: AccessIdentityProvidersListAccessIdentityProvidersQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists all configured identity providers.
+ */
+export const accessIdentityProvidersListAccessIdentityProviders = (
+  variables: AccessIdentityProvidersListAccessIdentityProvidersVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessResponseCollection,
+    AccessIdentityProvidersListAccessIdentityProvidersError,
+    undefined,
+    {},
+    AccessIdentityProvidersListAccessIdentityProvidersQueryParams,
+    AccessIdentityProvidersListAccessIdentityProvidersPathParams
+  >({ url: '/accounts/{accountId}/access/identity_providers', method: 'get', ...variables, signal });
+
+export type AccessIdentityProvidersAddAnAccessIdentityProviderPathParams = {
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessIdentityProvidersAddAnAccessIdentityProviderError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessIdentityProvidersAddAnAccessIdentityProviderVariables = {
+  body?: Schemas.AccessIdentityProviders;
+  pathParams: AccessIdentityProvidersAddAnAccessIdentityProviderPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Adds a new identity provider to Access.
+ */
+export const accessIdentityProvidersAddAnAccessIdentityProvider = (
+  variables: AccessIdentityProvidersAddAnAccessIdentityProviderVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessComponentsSchemasSingleResponse,
+    AccessIdentityProvidersAddAnAccessIdentityProviderError,
+    Schemas.AccessIdentityProviders,
+    {},
+    {},
+    AccessIdentityProvidersAddAnAccessIdentityProviderPathParams
+  >({ url: '/accounts/{accountId}/access/identity_providers', method: 'post', ...variables, signal });
+
+export type AccessIdentityProvidersDeleteAnAccessIdentityProviderPathParams = {
+  identityProviderId: Schemas.AccessUuid;
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessIdentityProvidersDeleteAnAccessIdentityProviderError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessIdentityProvidersDeleteAnAccessIdentityProviderVariables = {
+  pathParams: AccessIdentityProvidersDeleteAnAccessIdentityProviderPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes an identity provider from Access.
+ */
+export const accessIdentityProvidersDeleteAnAccessIdentityProvider = (
+  variables: AccessIdentityProvidersDeleteAnAccessIdentityProviderVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessIdResponse,
+    AccessIdentityProvidersDeleteAnAccessIdentityProviderError,
+    undefined,
+    {},
+    {},
+    AccessIdentityProvidersDeleteAnAccessIdentityProviderPathParams
+  >({
+    url: '/accounts/{accountId}/access/identity_providers/{identityProviderId}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type AccessIdentityProvidersGetAnAccessIdentityProviderPathParams = {
+  identityProviderId: Schemas.AccessUuid;
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessIdentityProvidersGetAnAccessIdentityProviderError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessIdentityProvidersGetAnAccessIdentityProviderVariables = {
+  pathParams: AccessIdentityProvidersGetAnAccessIdentityProviderPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a configured identity provider.
+ */
+export const accessIdentityProvidersGetAnAccessIdentityProvider = (
+  variables: AccessIdentityProvidersGetAnAccessIdentityProviderVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessComponentsSchemasSingleResponse,
+    AccessIdentityProvidersGetAnAccessIdentityProviderError,
+    undefined,
+    {},
+    {},
+    AccessIdentityProvidersGetAnAccessIdentityProviderPathParams
+  >({
+    url: '/accounts/{accountId}/access/identity_providers/{identityProviderId}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type AccessIdentityProvidersUpdateAnAccessIdentityProviderPathParams = {
+  identityProviderId: Schemas.AccessUuid;
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessIdentityProvidersUpdateAnAccessIdentityProviderError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessIdentityProvidersUpdateAnAccessIdentityProviderVariables = {
+  body?: Schemas.AccessIdentityProviders;
+  pathParams: AccessIdentityProvidersUpdateAnAccessIdentityProviderPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a configured identity provider.
+ */
+export const accessIdentityProvidersUpdateAnAccessIdentityProvider = (
+  variables: AccessIdentityProvidersUpdateAnAccessIdentityProviderVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessComponentsSchemasSingleResponse,
+    AccessIdentityProvidersUpdateAnAccessIdentityProviderError,
+    Schemas.AccessIdentityProviders,
+    {},
+    {},
+    AccessIdentityProvidersUpdateAnAccessIdentityProviderPathParams
+  >({
+    url: '/accounts/{accountId}/access/identity_providers/{identityProviderId}',
+    method: 'put',
+    ...variables,
+    signal
+  });
+
+export type AccessKeyConfigurationGetTheAccessKeyConfigurationPathParams = {
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessKeyConfigurationGetTheAccessKeyConfigurationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessKeyConfigurationGetTheAccessKeyConfigurationVariables = {
+  pathParams: AccessKeyConfigurationGetTheAccessKeyConfigurationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets the Access key rotation settings for an account.
+ */
+export const accessKeyConfigurationGetTheAccessKeyConfiguration = (
+  variables: AccessKeyConfigurationGetTheAccessKeyConfigurationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessKeysComponentsSchemasSingleResponse,
+    AccessKeyConfigurationGetTheAccessKeyConfigurationError,
+    undefined,
+    {},
+    {},
+    AccessKeyConfigurationGetTheAccessKeyConfigurationPathParams
+  >({ url: '/accounts/{accountId}/access/keys', method: 'get', ...variables, signal });
+
+export type AccessKeyConfigurationUpdateTheAccessKeyConfigurationPathParams = {
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessKeyConfigurationUpdateTheAccessKeyConfigurationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessKeyConfigurationUpdateTheAccessKeyConfigurationRequestBody = {
+  key_rotation_interval_days: Schemas.AccessKeyRotationIntervalDays;
+};
+
+export type AccessKeyConfigurationUpdateTheAccessKeyConfigurationVariables = {
+  body: AccessKeyConfigurationUpdateTheAccessKeyConfigurationRequestBody;
+  pathParams: AccessKeyConfigurationUpdateTheAccessKeyConfigurationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates the Access key rotation settings for an account.
+ */
+export const accessKeyConfigurationUpdateTheAccessKeyConfiguration = (
+  variables: AccessKeyConfigurationUpdateTheAccessKeyConfigurationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessKeysComponentsSchemasSingleResponse,
+    AccessKeyConfigurationUpdateTheAccessKeyConfigurationError,
+    AccessKeyConfigurationUpdateTheAccessKeyConfigurationRequestBody,
+    {},
+    {},
+    AccessKeyConfigurationUpdateTheAccessKeyConfigurationPathParams
+  >({ url: '/accounts/{accountId}/access/keys', method: 'put', ...variables, signal });
+
+export type AccessKeyConfigurationRotateAccessKeysPathParams = {
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessKeyConfigurationRotateAccessKeysError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessKeyConfigurationRotateAccessKeysVariables = {
+  pathParams: AccessKeyConfigurationRotateAccessKeysPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Perfoms a key rotation for an account.
+ */
+export const accessKeyConfigurationRotateAccessKeys = (
+  variables: AccessKeyConfigurationRotateAccessKeysVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessKeysComponentsSchemasSingleResponse,
+    AccessKeyConfigurationRotateAccessKeysError,
+    undefined,
+    {},
+    {},
+    AccessKeyConfigurationRotateAccessKeysPathParams
+  >({ url: '/accounts/{accountId}/access/keys/rotate', method: 'post', ...variables, signal });
+
+export type AccessAuthenticationLogsGetAccessAuthenticationLogsPathParams = {
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessAuthenticationLogsGetAccessAuthenticationLogsQueryParams = {
+  /**
+   * The maximum number of log entries to retrieve.
+   *
+   * @default 25
+   */
+  limit?: number;
+  /**
+   * The chronological sorting order for the logs.
+   *
+   * @default desc
+   */
+  direction?: 'desc' | 'asc';
+  /**
+   * The earliest event timestamp to query.
+   *
+   * @example 2020-07-01T05:20:00Z
+   * @format date-time
+   */
+  since?: string;
+  /**
+   * The latest event timestamp to query.
+   *
+   * @example 2020-10-01T05:20:00Z
+   * @format date-time
+   */
+  until?: string;
+};
+
+export type AccessAuthenticationLogsGetAccessAuthenticationLogsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessAuthenticationLogsGetAccessAuthenticationLogsVariables = {
+  pathParams: AccessAuthenticationLogsGetAccessAuthenticationLogsPathParams;
+  queryParams?: AccessAuthenticationLogsGetAccessAuthenticationLogsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets a list of Access authentication audit logs for an account.
+ */
+export const accessAuthenticationLogsGetAccessAuthenticationLogs = (
+  variables: AccessAuthenticationLogsGetAccessAuthenticationLogsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessAccessRequestsComponentsSchemasResponseCollection,
+    AccessAuthenticationLogsGetAccessAuthenticationLogsError,
+    undefined,
+    {},
+    AccessAuthenticationLogsGetAccessAuthenticationLogsQueryParams,
+    AccessAuthenticationLogsGetAccessAuthenticationLogsPathParams
+  >({ url: '/accounts/{accountId}/access/logs/access_requests', method: 'get', ...variables, signal });
+
+export type ZeroTrustOrganizationGetYourZeroTrustOrganizationPathParams = {
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type ZeroTrustOrganizationGetYourZeroTrustOrganizationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustOrganizationGetYourZeroTrustOrganizationVariables = {
+  pathParams: ZeroTrustOrganizationGetYourZeroTrustOrganizationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Returns the configuration for your Zero Trust organization.
+ */
+export const zeroTrustOrganizationGetYourZeroTrustOrganization = (
+  variables: ZeroTrustOrganizationGetYourZeroTrustOrganizationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessSingleResponse,
+    ZeroTrustOrganizationGetYourZeroTrustOrganizationError,
+    undefined,
+    {},
+    {},
+    ZeroTrustOrganizationGetYourZeroTrustOrganizationPathParams
+  >({ url: '/accounts/{accountId}/access/organizations', method: 'get', ...variables, signal });
+
+export type ZeroTrustOrganizationCreateYourZeroTrustOrganizationPathParams = {
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type ZeroTrustOrganizationCreateYourZeroTrustOrganizationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustOrganizationCreateYourZeroTrustOrganizationRequestBody = {
+  allow_authenticate_via_warp?: Schemas.AccessAllowAuthenticateViaWarp;
+  auth_domain: Schemas.AccessAuthDomain;
+  auto_redirect_to_identity?: Schemas.AccessAutoRedirectToIdentity;
+  is_ui_read_only?: Schemas.AccessIsUiReadOnly;
+  login_design?: Schemas.AccessLoginDesign;
+  name: Schemas.AccessName;
+  session_duration?: Schemas.AccessSessionDuration;
+  ui_read_only_toggle_reason?: Schemas.AccessUiReadOnlyToggleReason;
+  user_seat_expiration_inactive_time?: Schemas.AccessUserSeatExpirationInactiveTime;
+  warp_auth_session_duration?: Schemas.AccessWarpAuthSessionDuration;
+};
+
+export type ZeroTrustOrganizationCreateYourZeroTrustOrganizationVariables = {
+  body: ZeroTrustOrganizationCreateYourZeroTrustOrganizationRequestBody;
+  pathParams: ZeroTrustOrganizationCreateYourZeroTrustOrganizationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Sets up a Zero Trust organization for your account.
+ */
+export const zeroTrustOrganizationCreateYourZeroTrustOrganization = (
+  variables: ZeroTrustOrganizationCreateYourZeroTrustOrganizationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessSingleResponse,
+    ZeroTrustOrganizationCreateYourZeroTrustOrganizationError,
+    ZeroTrustOrganizationCreateYourZeroTrustOrganizationRequestBody,
+    {},
+    {},
+    ZeroTrustOrganizationCreateYourZeroTrustOrganizationPathParams
+  >({ url: '/accounts/{accountId}/access/organizations', method: 'post', ...variables, signal });
+
+export type ZeroTrustOrganizationUpdateYourZeroTrustOrganizationPathParams = {
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type ZeroTrustOrganizationUpdateYourZeroTrustOrganizationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustOrganizationUpdateYourZeroTrustOrganizationRequestBody = {
+  allow_authenticate_via_warp?: Schemas.AccessAllowAuthenticateViaWarp;
+  auth_domain?: Schemas.AccessAuthDomain;
+  auto_redirect_to_identity?: Schemas.AccessAutoRedirectToIdentity;
+  custom_pages?: Schemas.AccessCustomPages;
+  is_ui_read_only?: Schemas.AccessIsUiReadOnly;
+  login_design?: Schemas.AccessLoginDesign;
+  name?: Schemas.AccessName;
+  session_duration?: Schemas.AccessSessionDuration;
+  ui_read_only_toggle_reason?: Schemas.AccessUiReadOnlyToggleReason;
+  user_seat_expiration_inactive_time?: Schemas.AccessUserSeatExpirationInactiveTime;
+  warp_auth_session_duration?: Schemas.AccessWarpAuthSessionDuration;
+};
+
+export type ZeroTrustOrganizationUpdateYourZeroTrustOrganizationVariables = {
+  body?: ZeroTrustOrganizationUpdateYourZeroTrustOrganizationRequestBody;
+  pathParams: ZeroTrustOrganizationUpdateYourZeroTrustOrganizationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates the configuration for your Zero Trust organization.
+ */
+export const zeroTrustOrganizationUpdateYourZeroTrustOrganization = (
+  variables: ZeroTrustOrganizationUpdateYourZeroTrustOrganizationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessSingleResponse,
+    ZeroTrustOrganizationUpdateYourZeroTrustOrganizationError,
+    ZeroTrustOrganizationUpdateYourZeroTrustOrganizationRequestBody,
+    {},
+    {},
+    ZeroTrustOrganizationUpdateYourZeroTrustOrganizationPathParams
+  >({ url: '/accounts/{accountId}/access/organizations', method: 'put', ...variables, signal });
+
+export type ZeroTrustOrganizationGetYourZeroTrustOrganizationDohSettingsPathParams = {
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type ZeroTrustOrganizationGetYourZeroTrustOrganizationDohSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustOrganizationGetYourZeroTrustOrganizationDohSettingsResponse =
+  Schemas.AccessSchemasSingleResponse & {
+    result?: {
+      /**
+       * The duration the DoH JWT is valid for. Must be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s, m, h.  Note that the maximum duration for this setting is the same as the key rotation period on the account.
+       *
+       * @example 800h
+       */
+      jwt_duration?: string;
+    };
+  };
+
+export type ZeroTrustOrganizationGetYourZeroTrustOrganizationDohSettingsVariables = {
+  pathParams: ZeroTrustOrganizationGetYourZeroTrustOrganizationDohSettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Returns the DoH settings for your Zero Trust organization.
+ */
+export const zeroTrustOrganizationGetYourZeroTrustOrganizationDohSettings = (
+  variables: ZeroTrustOrganizationGetYourZeroTrustOrganizationDohSettingsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    ZeroTrustOrganizationGetYourZeroTrustOrganizationDohSettingsResponse,
+    ZeroTrustOrganizationGetYourZeroTrustOrganizationDohSettingsError,
+    undefined,
+    {},
+    {},
+    ZeroTrustOrganizationGetYourZeroTrustOrganizationDohSettingsPathParams
+  >({ url: '/accounts/{accountId}/access/organizations/doh', method: 'get', ...variables, signal });
+
+export type ZeroTrustOrganizationUpdateYourZeroTrustOrganizationDohSettingsPathParams = {
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type ZeroTrustOrganizationUpdateYourZeroTrustOrganizationDohSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustOrganizationUpdateYourZeroTrustOrganizationDohSettingsResponse =
+  Schemas.AccessSchemasSingleResponse & {
+    result?: {
+      jwt_duration?: Schemas.AccessDohJwtDuration;
+    };
+  };
+
+export type ZeroTrustOrganizationUpdateYourZeroTrustOrganizationDohSettingsRequestBody = {
+  jwt_duration?: Schemas.AccessDohJwtDuration;
+  /**
+   * The uuid of the service token you want to use for DoH authentication
+   *
+   * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
+   */
+  service_token_id?: string;
+};
+
+export type ZeroTrustOrganizationUpdateYourZeroTrustOrganizationDohSettingsVariables = {
+  body?: ZeroTrustOrganizationUpdateYourZeroTrustOrganizationDohSettingsRequestBody;
+  pathParams: ZeroTrustOrganizationUpdateYourZeroTrustOrganizationDohSettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates the DoH settings for your Zero Trust organization.
+ */
+export const zeroTrustOrganizationUpdateYourZeroTrustOrganizationDohSettings = (
+  variables: ZeroTrustOrganizationUpdateYourZeroTrustOrganizationDohSettingsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    ZeroTrustOrganizationUpdateYourZeroTrustOrganizationDohSettingsResponse,
+    ZeroTrustOrganizationUpdateYourZeroTrustOrganizationDohSettingsError,
+    ZeroTrustOrganizationUpdateYourZeroTrustOrganizationDohSettingsRequestBody,
+    {},
+    {},
+    ZeroTrustOrganizationUpdateYourZeroTrustOrganizationDohSettingsPathParams
+  >({ url: '/accounts/{accountId}/access/organizations/doh', method: 'put', ...variables, signal });
+
+export type ZeroTrustOrganizationRevokeAllAccessTokensForAUserPathParams = {
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type ZeroTrustOrganizationRevokeAllAccessTokensForAUserQueryParams = {
+  /**
+   * When set to `true`, all devices associated with the user will be revoked.
+   */
+  devices?: boolean;
+};
+
+export type ZeroTrustOrganizationRevokeAllAccessTokensForAUserError = Fetcher.ErrorWrapper<{
+  status: ClientErrorStatus;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustOrganizationRevokeAllAccessTokensForAUserRequestBody = {
+  /**
+   * When set to `true`, all devices associated with the user will be revoked.
+   *
+   * @example true
+   */
+  devices?: boolean;
+  /**
+   * The email of the user to revoke.
+   *
+   * @example test@example.com
+   */
+  email: string;
+  /**
+   * The uuid of the user to revoke.
+   *
+   * @example 699d98642c564d2e855e9661899b7252
+   */
+  user_uid?: string;
+  /**
+   * When set to `true`, the user will be required to re-authenticate to WARP for all Gateway policies that enforce a WARP client session duration. When `false`, the user’s WARP session will remain active
+   *
+   * @example true
+   */
+  warp_session_reauth?: boolean;
+};
+
+export type ZeroTrustOrganizationRevokeAllAccessTokensForAUserVariables = {
+  body: ZeroTrustOrganizationRevokeAllAccessTokensForAUserRequestBody;
+  pathParams: ZeroTrustOrganizationRevokeAllAccessTokensForAUserPathParams;
+  queryParams?: ZeroTrustOrganizationRevokeAllAccessTokensForAUserQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Revokes a user's access across all applications.
+ */
+export const zeroTrustOrganizationRevokeAllAccessTokensForAUser = (
+  variables: ZeroTrustOrganizationRevokeAllAccessTokensForAUserVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessEmptyResponse,
+    ZeroTrustOrganizationRevokeAllAccessTokensForAUserError,
+    ZeroTrustOrganizationRevokeAllAccessTokensForAUserRequestBody,
+    {},
+    ZeroTrustOrganizationRevokeAllAccessTokensForAUserQueryParams,
+    ZeroTrustOrganizationRevokeAllAccessTokensForAUserPathParams
+  >({ url: '/accounts/{accountId}/access/organizations/revoke_user', method: 'post', ...variables, signal });
+
+export type AccessPoliciesListAccessReusablePoliciesPathParams = {
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessPoliciesListAccessReusablePoliciesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessPoliciesListAccessReusablePoliciesVariables = {
+  pathParams: AccessPoliciesListAccessReusablePoliciesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists Access reusable policies.
+ */
+export const accessPoliciesListAccessReusablePolicies = (
+  variables: AccessPoliciesListAccessReusablePoliciesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessReusablePoliciesComponentsSchemasResponseCollection,
+    AccessPoliciesListAccessReusablePoliciesError,
+    undefined,
+    {},
+    {},
+    AccessPoliciesListAccessReusablePoliciesPathParams
+  >({ url: '/accounts/{accountId}/access/policies', method: 'get', ...variables, signal });
+
+export type AccessPoliciesCreateAnAccessReusablePolicyPathParams = {
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessPoliciesCreateAnAccessReusablePolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessPoliciesCreateAnAccessReusablePolicyVariables = {
+  body?: Schemas.AccessPolicyReq;
+  pathParams: AccessPoliciesCreateAnAccessReusablePolicyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new Access reusable policy.
+ */
+export const accessPoliciesCreateAnAccessReusablePolicy = (
+  variables: AccessPoliciesCreateAnAccessReusablePolicyVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessReusablePoliciesComponentsSchemasSingleResponse,
+    AccessPoliciesCreateAnAccessReusablePolicyError,
+    Schemas.AccessPolicyReq,
+    {},
+    {},
+    AccessPoliciesCreateAnAccessReusablePolicyPathParams
+  >({ url: '/accounts/{accountId}/access/policies', method: 'post', ...variables, signal });
+
+export type AccessPoliciesDeleteAnAccessReusablePolicyPathParams = {
+  accountId: Schemas.AccessIdentifier;
+  policyId: Schemas.AccessSchemasUuid;
+};
+
+export type AccessPoliciesDeleteAnAccessReusablePolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessPoliciesDeleteAnAccessReusablePolicyVariables = {
+  pathParams: AccessPoliciesDeleteAnAccessReusablePolicyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes an Access reusable policy.
+ */
+export const accessPoliciesDeleteAnAccessReusablePolicy = (
+  variables: AccessPoliciesDeleteAnAccessReusablePolicyVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessReusablePoliciesComponentsSchemasIdResponse,
+    AccessPoliciesDeleteAnAccessReusablePolicyError,
+    undefined,
+    {},
+    {},
+    AccessPoliciesDeleteAnAccessReusablePolicyPathParams
+  >({ url: '/accounts/{accountId}/access/policies/{policyId}', method: 'delete', ...variables, signal });
+
+export type AccessPoliciesGetAnAccessReusablePolicyPathParams = {
+  accountId: Schemas.AccessIdentifier;
+  policyId: Schemas.AccessSchemasUuid;
+};
+
+export type AccessPoliciesGetAnAccessReusablePolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessPoliciesGetAnAccessReusablePolicyVariables = {
+  pathParams: AccessPoliciesGetAnAccessReusablePolicyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a single Access reusable policy.
+ */
+export const accessPoliciesGetAnAccessReusablePolicy = (
+  variables: AccessPoliciesGetAnAccessReusablePolicyVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessReusablePoliciesComponentsSchemasSingleResponse,
+    AccessPoliciesGetAnAccessReusablePolicyError,
+    undefined,
+    {},
+    {},
+    AccessPoliciesGetAnAccessReusablePolicyPathParams
+  >({ url: '/accounts/{accountId}/access/policies/{policyId}', method: 'get', ...variables, signal });
+
+export type AccessPoliciesUpdateAnAccessReusablePolicyPathParams = {
+  accountId: Schemas.AccessIdentifier;
+  policyId: Schemas.AccessSchemasUuid;
+};
+
+export type AccessPoliciesUpdateAnAccessReusablePolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessPoliciesUpdateAnAccessReusablePolicyVariables = {
+  body?: Schemas.AccessPolicyReq;
+  pathParams: AccessPoliciesUpdateAnAccessReusablePolicyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a Access reusable policy.
+ */
+export const accessPoliciesUpdateAnAccessReusablePolicy = (
+  variables: AccessPoliciesUpdateAnAccessReusablePolicyVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessReusablePoliciesComponentsSchemasSingleResponse,
+    AccessPoliciesUpdateAnAccessReusablePolicyError,
+    Schemas.AccessPolicyReq,
+    {},
+    {},
+    AccessPoliciesUpdateAnAccessReusablePolicyPathParams
+  >({ url: '/accounts/{accountId}/access/policies/{policyId}', method: 'put', ...variables, signal });
+
+export type AccessPolicyTestsPathParams = {
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessPolicyTestsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessPolicyTestsVariables = {
+  body?: Schemas.AccessPolicyResp;
+  pathParams: AccessPolicyTestsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Starts an Access policy test.
+ */
+export const accessPolicyTests = (variables: AccessPolicyTestsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.AccessPolicyInitResp,
+    AccessPolicyTestsError,
+    Schemas.AccessPolicyResp,
+    {},
+    {},
+    AccessPolicyTestsPathParams
+  >({ url: '/accounts/{accountId}/access/policy-tests', method: 'post', ...variables, signal });
+
+export type AccessPolicyTestsGetAnUpdatePathParams = {
+  accountId: Schemas.AccessIdentifier;
+  policyTestId: Schemas.AccessPolicyTestId;
+};
+
+export type AccessPolicyTestsGetAnUpdateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessPolicyTestsGetAnUpdateVariables = {
+  pathParams: AccessPolicyTestsGetAnUpdatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the current status of a given Access policy test.
+ */
+export const accessPolicyTestsGetAnUpdate = (variables: AccessPolicyTestsGetAnUpdateVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.AccessPolicyUpdateResp,
+    AccessPolicyTestsGetAnUpdateError,
+    undefined,
+    {},
+    {},
+    AccessPolicyTestsGetAnUpdatePathParams
+  >({ url: '/accounts/{accountId}/access/policy-tests/{policyTestId}', method: 'get', ...variables, signal });
+
+export type AccessPolicyTestsGetAUserPagePathParams = {
+  accountId: Schemas.AccessIdentifier;
+  policyTestId: Schemas.AccessPolicyTestId;
+};
+
+export type AccessPolicyTestsGetAUserPageError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessPolicyTestsGetAUserPageVariables = {
+  pathParams: AccessPolicyTestsGetAUserPagePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a single page of user results from an Access policy test.
+ */
+export const accessPolicyTestsGetAUserPage = (
+  variables: AccessPolicyTestsGetAUserPageVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessPolicyUsersResp,
+    AccessPolicyTestsGetAUserPageError,
+    undefined,
+    {},
+    {},
+    AccessPolicyTestsGetAUserPagePathParams
+  >({ url: '/accounts/{accountId}/access/policy-tests/{policyTestId}/users', method: 'get', ...variables, signal });
+
+export type ZeroTrustSeatsUpdateAUserSeatPathParams = {
+  accountId: Schemas.AccessSchemasIdentifier;
+};
+
+export type ZeroTrustSeatsUpdateAUserSeatError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustSeatsUpdateAUserSeatVariables = {
+  body: Schemas.AccessSeatsDefinition;
+  pathParams: ZeroTrustSeatsUpdateAUserSeatPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Removes a user from a Zero Trust seat when both `access_seat` and `gateway_seat` are set to false.
+ */
+export const zeroTrustSeatsUpdateAUserSeat = (
+  variables: ZeroTrustSeatsUpdateAUserSeatVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessSeatsComponentsSchemasResponseCollection,
+    ZeroTrustSeatsUpdateAUserSeatError,
+    Schemas.AccessSeatsDefinition,
+    {},
+    {},
+    ZeroTrustSeatsUpdateAUserSeatPathParams
+  >({ url: '/accounts/{accountId}/access/seats', method: 'patch', ...variables, signal });
+
+export type AccessServiceTokensListServiceTokensPathParams = {
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessServiceTokensListServiceTokensQueryParams = {
+  name?: string;
+  search?: string;
+};
+
+export type AccessServiceTokensListServiceTokensError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessServiceTokensListServiceTokensVariables = {
+  pathParams: AccessServiceTokensListServiceTokensPathParams;
+  queryParams?: AccessServiceTokensListServiceTokensQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists all service tokens.
+ */
+export const accessServiceTokensListServiceTokens = (
+  variables: AccessServiceTokensListServiceTokensVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessComponentsSchemasResponseCollection,
+    AccessServiceTokensListServiceTokensError,
+    undefined,
+    {},
+    AccessServiceTokensListServiceTokensQueryParams,
+    AccessServiceTokensListServiceTokensPathParams
+  >({ url: '/accounts/{accountId}/access/service_tokens', method: 'get', ...variables, signal });
+
+export type AccessServiceTokensCreateAServiceTokenPathParams = {
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessServiceTokensCreateAServiceTokenError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessServiceTokensCreateAServiceTokenRequestBody = {
+  duration?: Schemas.AccessDuration;
+  name: Schemas.AccessSchemasName;
+};
+
+export type AccessServiceTokensCreateAServiceTokenVariables = {
+  body: AccessServiceTokensCreateAServiceTokenRequestBody;
+  pathParams: AccessServiceTokensCreateAServiceTokenPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Generates a new service token. **Note:** This is the only time you can get the Client Secret. If you lose the Client Secret, you will have to rotate the Client Secret or create a new service token.
+ */
+export const accessServiceTokensCreateAServiceToken = (
+  variables: AccessServiceTokensCreateAServiceTokenVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessCreateResponse,
+    AccessServiceTokensCreateAServiceTokenError,
+    AccessServiceTokensCreateAServiceTokenRequestBody,
+    {},
+    {},
+    AccessServiceTokensCreateAServiceTokenPathParams
+  >({ url: '/accounts/{accountId}/access/service_tokens', method: 'post', ...variables, signal });
+
+export type AccessServiceTokensDeleteAServiceTokenPathParams = {
+  serviceTokenId: Schemas.AccessUuid;
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessServiceTokensDeleteAServiceTokenError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessServiceTokensDeleteAServiceTokenVariables = {
+  pathParams: AccessServiceTokensDeleteAServiceTokenPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes a service token.
+ */
+export const accessServiceTokensDeleteAServiceToken = (
+  variables: AccessServiceTokensDeleteAServiceTokenVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessSchemasSingleResponse,
+    AccessServiceTokensDeleteAServiceTokenError,
+    undefined,
+    {},
+    {},
+    AccessServiceTokensDeleteAServiceTokenPathParams
+  >({ url: '/accounts/{accountId}/access/service_tokens/{serviceTokenId}', method: 'delete', ...variables, signal });
+
+export type AccessServiceTokensGetAServiceTokenPathParams = {
+  serviceTokenId: Schemas.AccessUuid;
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessServiceTokensGetAServiceTokenError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessServiceTokensGetAServiceTokenVariables = {
+  pathParams: AccessServiceTokensGetAServiceTokenPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a single service token.
+ */
+export const accessServiceTokensGetAServiceToken = (
+  variables: AccessServiceTokensGetAServiceTokenVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessSchemasSingleResponse,
+    AccessServiceTokensGetAServiceTokenError,
+    undefined,
+    {},
+    {},
+    AccessServiceTokensGetAServiceTokenPathParams
+  >({ url: '/accounts/{accountId}/access/service_tokens/{serviceTokenId}', method: 'get', ...variables, signal });
+
+export type AccessServiceTokensUpdateAServiceTokenPathParams = {
+  serviceTokenId: Schemas.AccessUuid;
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessServiceTokensUpdateAServiceTokenError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessServiceTokensUpdateAServiceTokenRequestBody = {
+  duration?: Schemas.AccessDuration;
+  name?: Schemas.AccessSchemasName;
+};
+
+export type AccessServiceTokensUpdateAServiceTokenVariables = {
+  body?: AccessServiceTokensUpdateAServiceTokenRequestBody;
+  pathParams: AccessServiceTokensUpdateAServiceTokenPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a configured service token.
+ */
+export const accessServiceTokensUpdateAServiceToken = (
+  variables: AccessServiceTokensUpdateAServiceTokenVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessSchemasSingleResponse,
+    AccessServiceTokensUpdateAServiceTokenError,
+    AccessServiceTokensUpdateAServiceTokenRequestBody,
+    {},
+    {},
+    AccessServiceTokensUpdateAServiceTokenPathParams
+  >({ url: '/accounts/{accountId}/access/service_tokens/{serviceTokenId}', method: 'put', ...variables, signal });
+
+export type AccessServiceTokensRefreshAServiceTokenPathParams = {
+  serviceTokenId: Schemas.AccessUuid;
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessServiceTokensRefreshAServiceTokenError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessServiceTokensRefreshAServiceTokenVariables = {
+  pathParams: AccessServiceTokensRefreshAServiceTokenPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Refreshes the expiration of a service token.
+ */
+export const accessServiceTokensRefreshAServiceToken = (
+  variables: AccessServiceTokensRefreshAServiceTokenVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessSchemasSingleResponse,
+    AccessServiceTokensRefreshAServiceTokenError,
+    undefined,
+    {},
+    {},
+    AccessServiceTokensRefreshAServiceTokenPathParams
+  >({
+    url: '/accounts/{accountId}/access/service_tokens/{serviceTokenId}/refresh',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type AccessServiceTokensRotateAServiceTokenPathParams = {
+  serviceTokenId: Schemas.AccessUuid;
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessServiceTokensRotateAServiceTokenError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessServiceTokensRotateAServiceTokenVariables = {
+  pathParams: AccessServiceTokensRotateAServiceTokenPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Generates a new Client Secret for a service token and revokes the old one.
+ */
+export const accessServiceTokensRotateAServiceToken = (
+  variables: AccessServiceTokensRotateAServiceTokenVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessCreateResponse,
+    AccessServiceTokensRotateAServiceTokenError,
+    undefined,
+    {},
+    {},
+    AccessServiceTokensRotateAServiceTokenPathParams
+  >({
+    url: '/accounts/{accountId}/access/service_tokens/{serviceTokenId}/rotate',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type AccessTagsListTagsPathParams = {
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessTagsListTagsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessTagsListTagsVariables = {
+  pathParams: AccessTagsListTagsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * List tags
+ */
+export const accessTagsListTags = (variables: AccessTagsListTagsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.AccessTagsComponentsSchemasResponseCollection,
+    AccessTagsListTagsError,
+    undefined,
+    {},
+    {},
+    AccessTagsListTagsPathParams
+  >({ url: '/accounts/{accountId}/access/tags', method: 'get', ...variables, signal });
+
+export type AccessTagsCreateTagPathParams = {
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type AccessTagsCreateTagError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessTagsCreateTagRequestBody = {
+  name?: Schemas.AccessTagsComponentsSchemasName;
+};
+
+export type AccessTagsCreateTagVariables = {
+  body?: AccessTagsCreateTagRequestBody;
+  pathParams: AccessTagsCreateTagPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create a tag
+ */
+export const accessTagsCreateTag = (variables: AccessTagsCreateTagVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.AccessTagsComponentsSchemasSingleResponse,
+    AccessTagsCreateTagError,
+    AccessTagsCreateTagRequestBody,
+    {},
+    {},
+    AccessTagsCreateTagPathParams
+  >({ url: '/accounts/{accountId}/access/tags', method: 'post', ...variables, signal });
+
+export type AccessTagsDeleteATagPathParams = {
+  accountId: Schemas.AccessIdentifier;
+  tagName: Schemas.AccessTagsComponentsSchemasName;
+};
+
+export type AccessTagsDeleteATagError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessTagsDeleteATagVariables = {
+  pathParams: AccessTagsDeleteATagPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete a tag
+ */
+export const accessTagsDeleteATag = (variables: AccessTagsDeleteATagVariables, signal?: AbortSignal) =>
+  fetch<Schemas.AccessNameResponse, AccessTagsDeleteATagError, undefined, {}, {}, AccessTagsDeleteATagPathParams>({
+    url: '/accounts/{accountId}/access/tags/{tagName}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type AccessTagsGetATagPathParams = {
+  accountId: Schemas.AccessIdentifier;
+  tagName: Schemas.AccessTagsComponentsSchemasName;
+};
+
+export type AccessTagsGetATagError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessTagsGetATagVariables = {
+  pathParams: AccessTagsGetATagPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a tag
+ */
+export const accessTagsGetATag = (variables: AccessTagsGetATagVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.AccessTagsComponentsSchemasSingleResponse,
+    AccessTagsGetATagError,
+    undefined,
+    {},
+    {},
+    AccessTagsGetATagPathParams
+  >({ url: '/accounts/{accountId}/access/tags/{tagName}', method: 'get', ...variables, signal });
+
+export type AccessTagsUpdateATagPathParams = {
+  accountId: Schemas.AccessIdentifier;
+  tagName: Schemas.AccessTagsComponentsSchemasName;
+};
+
+export type AccessTagsUpdateATagError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type AccessTagsUpdateATagVariables = {
+  body: Schemas.AccessTagWithoutAppCount;
+  pathParams: AccessTagsUpdateATagPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update a tag
+ */
+export const accessTagsUpdateATag = (variables: AccessTagsUpdateATagVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.AccessTagsComponentsSchemasSingleResponse,
+    AccessTagsUpdateATagError,
+    Schemas.AccessTagWithoutAppCount,
+    {},
+    {},
+    AccessTagsUpdateATagPathParams
+  >({ url: '/accounts/{accountId}/access/tags/{tagName}', method: 'put', ...variables, signal });
+
+export type ZeroTrustUsersGetUsersPathParams = {
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type ZeroTrustUsersGetUsersQueryParams = {
+  name?: string;
+  email?: string;
+  search?: string;
+};
+
+export type ZeroTrustUsersGetUsersError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustUsersGetUsersVariables = {
+  pathParams: ZeroTrustUsersGetUsersPathParams;
+  queryParams?: ZeroTrustUsersGetUsersQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets a list of users for an account.
+ */
+export const zeroTrustUsersGetUsers = (variables: ZeroTrustUsersGetUsersVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.AccessUsersComponentsSchemasResponseCollection,
+    ZeroTrustUsersGetUsersError,
+    undefined,
+    {},
+    ZeroTrustUsersGetUsersQueryParams,
+    ZeroTrustUsersGetUsersPathParams
+  >({ url: '/accounts/{accountId}/access/users', method: 'get', ...variables, signal });
+
+export type ZeroTrustUsersGetActiveSessionsPathParams = {
+  userId: Schemas.AccessUuid;
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type ZeroTrustUsersGetActiveSessionsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustUsersGetActiveSessionsVariables = {
+  pathParams: ZeroTrustUsersGetActiveSessionsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get active sessions for a single user.
+ */
+export const zeroTrustUsersGetActiveSessions = (
+  variables: ZeroTrustUsersGetActiveSessionsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessActiveSessionsResponse,
+    ZeroTrustUsersGetActiveSessionsError,
+    undefined,
+    {},
+    {},
+    ZeroTrustUsersGetActiveSessionsPathParams
+  >({ url: '/accounts/{accountId}/access/users/{userId}/active_sessions', method: 'get', ...variables, signal });
+
+export type ZeroTrustUsersGetActiveSessionPathParams = {
+  userId: Schemas.AccessUuid;
+  accountId: Schemas.AccessIdentifier;
+  nonce: Schemas.AccessNonce;
+};
+
+export type ZeroTrustUsersGetActiveSessionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustUsersGetActiveSessionVariables = {
+  pathParams: ZeroTrustUsersGetActiveSessionPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get an active session for a single user.
+ */
+export const zeroTrustUsersGetActiveSession = (
+  variables: ZeroTrustUsersGetActiveSessionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessActiveSessionResponse,
+    ZeroTrustUsersGetActiveSessionError,
+    undefined,
+    {},
+    {},
+    ZeroTrustUsersGetActiveSessionPathParams
+  >({
+    url: '/accounts/{accountId}/access/users/{userId}/active_sessions/{nonce}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type ZeroTrustUsersGetFailedLoginsPathParams = {
+  userId: Schemas.AccessUuid;
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type ZeroTrustUsersGetFailedLoginsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustUsersGetFailedLoginsVariables = {
+  pathParams: ZeroTrustUsersGetFailedLoginsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get all failed login attempts for a single user.
+ */
+export const zeroTrustUsersGetFailedLogins = (
+  variables: ZeroTrustUsersGetFailedLoginsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessFailedLoginResponse,
+    ZeroTrustUsersGetFailedLoginsError,
+    undefined,
+    {},
+    {},
+    ZeroTrustUsersGetFailedLoginsPathParams
+  >({ url: '/accounts/{accountId}/access/users/{userId}/failed_logins', method: 'get', ...variables, signal });
+
+export type ZeroTrustUsersGetLastSeenIdentityPathParams = {
+  userId: Schemas.AccessUuid;
+  accountId: Schemas.AccessIdentifier;
+};
+
+export type ZeroTrustUsersGetLastSeenIdentityError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustUsersGetLastSeenIdentityVariables = {
+  pathParams: ZeroTrustUsersGetLastSeenIdentityPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get last seen identity for a single user.
+ */
+export const zeroTrustUsersGetLastSeenIdentity = (
+  variables: ZeroTrustUsersGetLastSeenIdentityVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessLastSeenIdentityResponse,
+    ZeroTrustUsersGetLastSeenIdentityError,
+    undefined,
+    {},
+    {},
+    ZeroTrustUsersGetLastSeenIdentityPathParams
+  >({ url: '/accounts/{accountId}/access/users/{userId}/last_seen_identity', method: 'get', ...variables, signal });
+
+export type IpAddressManagementAddressMapsListAddressMapsPathParams = {
+  accountId: Schemas.AddressingIdentifier;
+};
+
+export type IpAddressManagementAddressMapsListAddressMapsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AddressingComponentsSchemasResponseCollection & Schemas.AddressingApiResponseCommonFailure;
+}>;
+
+export type IpAddressManagementAddressMapsListAddressMapsVariables = {
+  pathParams: IpAddressManagementAddressMapsListAddressMapsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * List all address maps owned by the account.
+ */
+export const ipAddressManagementAddressMapsListAddressMaps = (
+  variables: IpAddressManagementAddressMapsListAddressMapsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AddressingComponentsSchemasResponseCollection,
+    IpAddressManagementAddressMapsListAddressMapsError,
+    undefined,
+    {},
+    {},
+    IpAddressManagementAddressMapsListAddressMapsPathParams
+  >({ url: '/accounts/{accountId}/addressing/address_maps', method: 'get', ...variables, signal });
+
+export type IpAddressManagementAddressMapsCreateAddressMapPathParams = {
+  accountId: Schemas.AddressingIdentifier;
+};
+
+export type IpAddressManagementAddressMapsCreateAddressMapError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AddressingFullResponse & Schemas.AddressingApiResponseCommonFailure;
+}>;
+
+export type IpAddressManagementAddressMapsCreateAddressMapRequestBody = {
+  description?: Schemas.AddressingSchemasDescription;
+  enabled?: Schemas.AddressingEnabled;
+  ips?: Schemas.AddressingIpAddress[];
+  memberships?: Schemas.AddressingMemberships;
+};
+
+export type IpAddressManagementAddressMapsCreateAddressMapVariables = {
+  body?: IpAddressManagementAddressMapsCreateAddressMapRequestBody;
+  pathParams: IpAddressManagementAddressMapsCreateAddressMapPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create a new address map under the account.
+ */
+export const ipAddressManagementAddressMapsCreateAddressMap = (
+  variables: IpAddressManagementAddressMapsCreateAddressMapVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AddressingFullResponse,
+    IpAddressManagementAddressMapsCreateAddressMapError,
+    IpAddressManagementAddressMapsCreateAddressMapRequestBody,
+    {},
+    {},
+    IpAddressManagementAddressMapsCreateAddressMapPathParams
+  >({ url: '/accounts/{accountId}/addressing/address_maps', method: 'post', ...variables, signal });
+
+export type IpAddressManagementAddressMapsDeleteAddressMapPathParams = {
+  addressMapId: Schemas.AddressingIdentifier;
+  accountId: Schemas.AddressingIdentifier;
+};
+
+export type IpAddressManagementAddressMapsDeleteAddressMapError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AddressingApiResponseCollection & Schemas.AddressingApiResponseCommonFailure;
+}>;
+
+export type IpAddressManagementAddressMapsDeleteAddressMapVariables = {
+  pathParams: IpAddressManagementAddressMapsDeleteAddressMapPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete a particular address map owned by the account. An Address Map must be disabled before it can be deleted.
+ */
+export const ipAddressManagementAddressMapsDeleteAddressMap = (
+  variables: IpAddressManagementAddressMapsDeleteAddressMapVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AddressingApiResponseCollection,
+    IpAddressManagementAddressMapsDeleteAddressMapError,
+    undefined,
+    {},
+    {},
+    IpAddressManagementAddressMapsDeleteAddressMapPathParams
+  >({ url: '/accounts/{accountId}/addressing/address_maps/{addressMapId}', method: 'delete', ...variables, signal });
+
+export type IpAddressManagementAddressMapsAddressMapDetailsPathParams = {
+  addressMapId: Schemas.AddressingIdentifier;
+  accountId: Schemas.AddressingIdentifier;
+};
+
+export type IpAddressManagementAddressMapsAddressMapDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AddressingFullResponse & Schemas.AddressingApiResponseCommonFailure;
+}>;
+
+export type IpAddressManagementAddressMapsAddressMapDetailsVariables = {
+  pathParams: IpAddressManagementAddressMapsAddressMapDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Show a particular address map owned by the account.
+ */
+export const ipAddressManagementAddressMapsAddressMapDetails = (
+  variables: IpAddressManagementAddressMapsAddressMapDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AddressingFullResponse,
+    IpAddressManagementAddressMapsAddressMapDetailsError,
+    undefined,
+    {},
+    {},
+    IpAddressManagementAddressMapsAddressMapDetailsPathParams
+  >({ url: '/accounts/{accountId}/addressing/address_maps/{addressMapId}', method: 'get', ...variables, signal });
+
+export type IpAddressManagementAddressMapsUpdateAddressMapPathParams = {
+  addressMapId: Schemas.AddressingIdentifier;
+  accountId: Schemas.AddressingIdentifier;
+};
+
+export type IpAddressManagementAddressMapsUpdateAddressMapError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AddressingComponentsSchemasSingleResponse & Schemas.AddressingApiResponseCommonFailure;
+}>;
+
+export type IpAddressManagementAddressMapsUpdateAddressMapRequestBody = {
+  default_sni?: Schemas.AddressingDefaultSni;
+  description?: Schemas.AddressingSchemasDescription;
+  enabled?: Schemas.AddressingEnabled;
+};
+
+export type IpAddressManagementAddressMapsUpdateAddressMapVariables = {
+  body?: IpAddressManagementAddressMapsUpdateAddressMapRequestBody;
+  pathParams: IpAddressManagementAddressMapsUpdateAddressMapPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Modify properties of an address map owned by the account.
+ */
+export const ipAddressManagementAddressMapsUpdateAddressMap = (
+  variables: IpAddressManagementAddressMapsUpdateAddressMapVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AddressingComponentsSchemasSingleResponse,
+    IpAddressManagementAddressMapsUpdateAddressMapError,
+    IpAddressManagementAddressMapsUpdateAddressMapRequestBody,
+    {},
+    {},
+    IpAddressManagementAddressMapsUpdateAddressMapPathParams
+  >({ url: '/accounts/{accountId}/addressing/address_maps/{addressMapId}', method: 'patch', ...variables, signal });
+
+export type IpAddressManagementAddressMapsRemoveAnAccountMembershipFromAnAddressMapPathParams = {
+  accountId: Schemas.AddressingIdentifier;
+  addressMapId: Schemas.AddressingIdentifier;
+};
+
+export type IpAddressManagementAddressMapsRemoveAnAccountMembershipFromAnAddressMapError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AddressingApiResponseCollection & Schemas.AddressingApiResponseCommonFailure;
+}>;
+
+export type IpAddressManagementAddressMapsRemoveAnAccountMembershipFromAnAddressMapVariables = {
+  pathParams: IpAddressManagementAddressMapsRemoveAnAccountMembershipFromAnAddressMapPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Remove an account as a member of a particular address map.
+ */
+export const ipAddressManagementAddressMapsRemoveAnAccountMembershipFromAnAddressMap = (
+  variables: IpAddressManagementAddressMapsRemoveAnAccountMembershipFromAnAddressMapVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AddressingApiResponseCollection,
+    IpAddressManagementAddressMapsRemoveAnAccountMembershipFromAnAddressMapError,
+    undefined,
+    {},
+    {},
+    IpAddressManagementAddressMapsRemoveAnAccountMembershipFromAnAddressMapPathParams
+  >({
+    url: '/accounts/{accountId}/addressing/address_maps/{addressMapId}/accounts/{accountId}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type IpAddressManagementAddressMapsAddAnAccountMembershipToAnAddressMapPathParams = {
+  accountId: Schemas.AddressingIdentifier;
+  addressMapId: Schemas.AddressingIdentifier;
+};
+
+export type IpAddressManagementAddressMapsAddAnAccountMembershipToAnAddressMapError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AddressingApiResponseCollection & Schemas.AddressingApiResponseCommonFailure;
+}>;
+
+export type IpAddressManagementAddressMapsAddAnAccountMembershipToAnAddressMapVariables = {
+  pathParams: IpAddressManagementAddressMapsAddAnAccountMembershipToAnAddressMapPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Add an account as a member of a particular address map.
+ */
+export const ipAddressManagementAddressMapsAddAnAccountMembershipToAnAddressMap = (
+  variables: IpAddressManagementAddressMapsAddAnAccountMembershipToAnAddressMapVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AddressingApiResponseCollection,
+    IpAddressManagementAddressMapsAddAnAccountMembershipToAnAddressMapError,
+    undefined,
+    {},
+    {},
+    IpAddressManagementAddressMapsAddAnAccountMembershipToAnAddressMapPathParams
+  >({
+    url: '/accounts/{accountId}/addressing/address_maps/{addressMapId}/accounts/{accountId}',
+    method: 'put',
+    ...variables,
+    signal
+  });
+
+export type IpAddressManagementAddressMapsRemoveAnIpFromAnAddressMapPathParams = {
+  ipAddress: Schemas.AddressingIpAddress;
+  addressMapId: Schemas.AddressingIdentifier;
+  accountId: Schemas.AddressingIdentifier;
+};
+
+export type IpAddressManagementAddressMapsRemoveAnIpFromAnAddressMapError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AddressingApiResponseCollection & Schemas.AddressingApiResponseCommonFailure;
+}>;
+
+export type IpAddressManagementAddressMapsRemoveAnIpFromAnAddressMapVariables = {
+  pathParams: IpAddressManagementAddressMapsRemoveAnIpFromAnAddressMapPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Remove an IP from a particular address map.
+ */
+export const ipAddressManagementAddressMapsRemoveAnIpFromAnAddressMap = (
+  variables: IpAddressManagementAddressMapsRemoveAnIpFromAnAddressMapVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AddressingApiResponseCollection,
+    IpAddressManagementAddressMapsRemoveAnIpFromAnAddressMapError,
+    undefined,
+    {},
+    {},
+    IpAddressManagementAddressMapsRemoveAnIpFromAnAddressMapPathParams
+  >({
+    url: '/accounts/{accountId}/addressing/address_maps/{addressMapId}/ips/{ipAddress}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type IpAddressManagementAddressMapsAddAnIpToAnAddressMapPathParams = {
+  ipAddress: Schemas.AddressingIpAddress;
+  addressMapId: Schemas.AddressingIdentifier;
+  accountId: Schemas.AddressingIdentifier;
+};
+
+export type IpAddressManagementAddressMapsAddAnIpToAnAddressMapError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AddressingApiResponseCollection & Schemas.AddressingApiResponseCommonFailure;
+}>;
+
+export type IpAddressManagementAddressMapsAddAnIpToAnAddressMapVariables = {
+  pathParams: IpAddressManagementAddressMapsAddAnIpToAnAddressMapPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Add an IP from a prefix owned by the account to a particular address map.
+ */
+export const ipAddressManagementAddressMapsAddAnIpToAnAddressMap = (
+  variables: IpAddressManagementAddressMapsAddAnIpToAnAddressMapVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AddressingApiResponseCollection,
+    IpAddressManagementAddressMapsAddAnIpToAnAddressMapError,
+    undefined,
+    {},
+    {},
+    IpAddressManagementAddressMapsAddAnIpToAnAddressMapPathParams
+  >({
+    url: '/accounts/{accountId}/addressing/address_maps/{addressMapId}/ips/{ipAddress}',
+    method: 'put',
+    ...variables,
+    signal
+  });
+
+export type IpAddressManagementAddressMapsRemoveAZoneMembershipFromAnAddressMapPathParams = {
+  zoneId: Schemas.AddressingIdentifier;
+  addressMapId: Schemas.AddressingIdentifier;
+  accountId: Schemas.AddressingIdentifier;
+};
+
+export type IpAddressManagementAddressMapsRemoveAZoneMembershipFromAnAddressMapError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AddressingApiResponseCollection & Schemas.AddressingApiResponseCommonFailure;
+}>;
+
+export type IpAddressManagementAddressMapsRemoveAZoneMembershipFromAnAddressMapVariables = {
+  pathParams: IpAddressManagementAddressMapsRemoveAZoneMembershipFromAnAddressMapPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Remove a zone as a member of a particular address map.
+ */
+export const ipAddressManagementAddressMapsRemoveAZoneMembershipFromAnAddressMap = (
+  variables: IpAddressManagementAddressMapsRemoveAZoneMembershipFromAnAddressMapVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AddressingApiResponseCollection,
+    IpAddressManagementAddressMapsRemoveAZoneMembershipFromAnAddressMapError,
+    undefined,
+    {},
+    {},
+    IpAddressManagementAddressMapsRemoveAZoneMembershipFromAnAddressMapPathParams
+  >({
+    url: '/accounts/{accountId}/addressing/address_maps/{addressMapId}/zones/{zoneId}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type IpAddressManagementAddressMapsAddAZoneMembershipToAnAddressMapPathParams = {
+  zoneId: Schemas.AddressingIdentifier;
+  addressMapId: Schemas.AddressingIdentifier;
+  accountId: Schemas.AddressingIdentifier;
+};
+
+export type IpAddressManagementAddressMapsAddAZoneMembershipToAnAddressMapError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AddressingApiResponseCollection & Schemas.AddressingApiResponseCommonFailure;
+}>;
+
+export type IpAddressManagementAddressMapsAddAZoneMembershipToAnAddressMapVariables = {
+  pathParams: IpAddressManagementAddressMapsAddAZoneMembershipToAnAddressMapPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Add a zone as a member of a particular address map.
+ */
+export const ipAddressManagementAddressMapsAddAZoneMembershipToAnAddressMap = (
+  variables: IpAddressManagementAddressMapsAddAZoneMembershipToAnAddressMapVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AddressingApiResponseCollection,
+    IpAddressManagementAddressMapsAddAZoneMembershipToAnAddressMapError,
+    undefined,
+    {},
+    {},
+    IpAddressManagementAddressMapsAddAZoneMembershipToAnAddressMapPathParams
+  >({
+    url: '/accounts/{accountId}/addressing/address_maps/{addressMapId}/zones/{zoneId}',
+    method: 'put',
+    ...variables,
+    signal
+  });
+
+export type IpAddressManagementPrefixesUploadLoaDocumentPathParams = {
+  accountId: Schemas.AddressingIdentifier;
+};
+
+export type IpAddressManagementPrefixesUploadLoaDocumentError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AddressingLoaUploadResponse & Schemas.AddressingApiResponseCommonFailure;
+}>;
+
+export type IpAddressManagementPrefixesUploadLoaDocumentRequestBody = {
+  /**
+   * LOA document to upload.
+   *
+   * @example @document.pdf
+   */
+  loa_document: string;
+};
+
+export type IpAddressManagementPrefixesUploadLoaDocumentVariables = {
+  body: IpAddressManagementPrefixesUploadLoaDocumentRequestBody;
+  pathParams: IpAddressManagementPrefixesUploadLoaDocumentPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Submit LOA document (pdf format) under the account.
+ */
+export const ipAddressManagementPrefixesUploadLoaDocument = (
+  variables: IpAddressManagementPrefixesUploadLoaDocumentVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AddressingLoaUploadResponse,
+    IpAddressManagementPrefixesUploadLoaDocumentError,
+    IpAddressManagementPrefixesUploadLoaDocumentRequestBody,
+    {},
+    {},
+    IpAddressManagementPrefixesUploadLoaDocumentPathParams
+  >({ url: '/accounts/{accountId}/addressing/loa_documents', method: 'post', ...variables, signal });
+
+export type IpAddressManagementPrefixesDownloadLoaDocumentPathParams = {
+  loaDocumentId: Schemas.AddressingLoaDocumentIdentifier;
+  accountId: Schemas.AddressingIdentifier;
+};
+
+export type IpAddressManagementPrefixesDownloadLoaDocumentError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: void & Schemas.AddressingApiResponseCommonFailure;
+}>;
+
+export type IpAddressManagementPrefixesDownloadLoaDocumentVariables = {
+  pathParams: IpAddressManagementPrefixesDownloadLoaDocumentPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Download specified LOA document under the account.
+ */
+export const ipAddressManagementPrefixesDownloadLoaDocument = (
+  variables: IpAddressManagementPrefixesDownloadLoaDocumentVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    undefined,
+    IpAddressManagementPrefixesDownloadLoaDocumentError,
+    undefined,
+    {},
+    {},
+    IpAddressManagementPrefixesDownloadLoaDocumentPathParams
+  >({
+    url: '/accounts/{accountId}/addressing/loa_documents/{loaDocumentId}/download',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type IpAddressManagementPrefixesListPrefixesPathParams = {
+  accountId: Schemas.AddressingIdentifier;
+};
+
+export type IpAddressManagementPrefixesListPrefixesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AddressingResponseCollection & Schemas.AddressingApiResponseCommonFailure;
+}>;
+
+export type IpAddressManagementPrefixesListPrefixesVariables = {
+  pathParams: IpAddressManagementPrefixesListPrefixesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * List all prefixes owned by the account.
+ */
+export const ipAddressManagementPrefixesListPrefixes = (
+  variables: IpAddressManagementPrefixesListPrefixesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AddressingResponseCollection,
+    IpAddressManagementPrefixesListPrefixesError,
+    undefined,
+    {},
+    {},
+    IpAddressManagementPrefixesListPrefixesPathParams
+  >({ url: '/accounts/{accountId}/addressing/prefixes', method: 'get', ...variables, signal });
+
+export type IpAddressManagementPrefixesAddPrefixPathParams = {
+  accountId: Schemas.AddressingIdentifier;
+};
+
+export type IpAddressManagementPrefixesAddPrefixError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AddressingSingleResponse & Schemas.AddressingApiResponseCommonFailure;
+}>;
+
+export type IpAddressManagementPrefixesAddPrefixRequestBody = {
+  asn: Schemas.AddressingAsn;
+  cidr: Schemas.AddressingCidr;
+  loa_document_id: Schemas.AddressingLoaDocumentIdentifier;
+};
+
+export type IpAddressManagementPrefixesAddPrefixVariables = {
+  body: IpAddressManagementPrefixesAddPrefixRequestBody;
+  pathParams: IpAddressManagementPrefixesAddPrefixPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Add a new prefix under the account.
+ */
+export const ipAddressManagementPrefixesAddPrefix = (
+  variables: IpAddressManagementPrefixesAddPrefixVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AddressingSingleResponse,
+    IpAddressManagementPrefixesAddPrefixError,
+    IpAddressManagementPrefixesAddPrefixRequestBody,
+    {},
+    {},
+    IpAddressManagementPrefixesAddPrefixPathParams
+  >({ url: '/accounts/{accountId}/addressing/prefixes', method: 'post', ...variables, signal });
+
+export type IpAddressManagementPrefixesDeletePrefixPathParams = {
+  prefixId: Schemas.AddressingIdentifier;
+  accountId: Schemas.AddressingIdentifier;
+};
+
+export type IpAddressManagementPrefixesDeletePrefixError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AddressingApiResponseCollection & Schemas.AddressingApiResponseCommonFailure;
+}>;
+
+export type IpAddressManagementPrefixesDeletePrefixVariables = {
+  pathParams: IpAddressManagementPrefixesDeletePrefixPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete an unapproved prefix owned by the account.
+ */
+export const ipAddressManagementPrefixesDeletePrefix = (
+  variables: IpAddressManagementPrefixesDeletePrefixVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AddressingApiResponseCollection,
+    IpAddressManagementPrefixesDeletePrefixError,
+    undefined,
+    {},
+    {},
+    IpAddressManagementPrefixesDeletePrefixPathParams
+  >({ url: '/accounts/{accountId}/addressing/prefixes/{prefixId}', method: 'delete', ...variables, signal });
+
+export type IpAddressManagementPrefixesPrefixDetailsPathParams = {
+  prefixId: Schemas.AddressingIdentifier;
+  accountId: Schemas.AddressingIdentifier;
+};
+
+export type IpAddressManagementPrefixesPrefixDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AddressingSingleResponse & Schemas.AddressingApiResponseCommonFailure;
+}>;
+
+export type IpAddressManagementPrefixesPrefixDetailsVariables = {
+  pathParams: IpAddressManagementPrefixesPrefixDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * List a particular prefix owned by the account.
+ */
+export const ipAddressManagementPrefixesPrefixDetails = (
+  variables: IpAddressManagementPrefixesPrefixDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AddressingSingleResponse,
+    IpAddressManagementPrefixesPrefixDetailsError,
+    undefined,
+    {},
+    {},
+    IpAddressManagementPrefixesPrefixDetailsPathParams
+  >({ url: '/accounts/{accountId}/addressing/prefixes/{prefixId}', method: 'get', ...variables, signal });
+
+export type IpAddressManagementPrefixesUpdatePrefixDescriptionPathParams = {
+  prefixId: Schemas.AddressingIdentifier;
+  accountId: Schemas.AddressingIdentifier;
+};
+
+export type IpAddressManagementPrefixesUpdatePrefixDescriptionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AddressingSingleResponse & Schemas.AddressingApiResponseCommonFailure;
+}>;
+
+export type IpAddressManagementPrefixesUpdatePrefixDescriptionRequestBody = {
+  description: Schemas.AddressingDescription;
+};
+
+export type IpAddressManagementPrefixesUpdatePrefixDescriptionVariables = {
+  body: IpAddressManagementPrefixesUpdatePrefixDescriptionRequestBody;
+  pathParams: IpAddressManagementPrefixesUpdatePrefixDescriptionPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Modify the description for a prefix owned by the account.
+ */
+export const ipAddressManagementPrefixesUpdatePrefixDescription = (
+  variables: IpAddressManagementPrefixesUpdatePrefixDescriptionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AddressingSingleResponse,
+    IpAddressManagementPrefixesUpdatePrefixDescriptionError,
+    IpAddressManagementPrefixesUpdatePrefixDescriptionRequestBody,
+    {},
+    {},
+    IpAddressManagementPrefixesUpdatePrefixDescriptionPathParams
+  >({ url: '/accounts/{accountId}/addressing/prefixes/{prefixId}', method: 'patch', ...variables, signal });
+
+export type IpAddressManagementPrefixesListBgpPrefixesPathParams = {
+  accountId: Schemas.AddressingIdentifier;
+  prefixId: Schemas.AddressingIdentifier;
+};
+
+export type IpAddressManagementPrefixesListBgpPrefixesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AddressingResponseCollectionBgp & Schemas.AddressingApiResponseCommonFailure;
+}>;
+
+export type IpAddressManagementPrefixesListBgpPrefixesVariables = {
+  pathParams: IpAddressManagementPrefixesListBgpPrefixesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * List all BGP Prefixes within the specified IP Prefix. BGP Prefixes are used to control which specific subnets are advertised to the Internet. It is possible to advertise subnets more specific than an IP Prefix by creating more specific BGP Prefixes.
+ */
+export const ipAddressManagementPrefixesListBgpPrefixes = (
+  variables: IpAddressManagementPrefixesListBgpPrefixesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AddressingResponseCollectionBgp,
+    IpAddressManagementPrefixesListBgpPrefixesError,
+    undefined,
+    {},
+    {},
+    IpAddressManagementPrefixesListBgpPrefixesPathParams
+  >({ url: '/accounts/{accountId}/addressing/prefixes/{prefixId}/bgp/prefixes', method: 'get', ...variables, signal });
+
+export type IpAddressManagementPrefixesCreateBgpPrefixPathParams = {
+  accountId: Schemas.AddressingIdentifier;
+  prefixId: Schemas.AddressingIdentifier;
+};
+
+export type IpAddressManagementPrefixesCreateBgpPrefixError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AddressingSingleResponseBgp & Schemas.AddressingApiResponseCommonFailure;
+}>;
+
+export type IpAddressManagementPrefixesCreateBgpPrefixVariables = {
+  body?: Schemas.AddressingBgpPrefixCreate;
+  pathParams: IpAddressManagementPrefixesCreateBgpPrefixPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create a BGP prefix, controlling the BGP advertisement status of a specific subnet. When created, BGP prefixes are initially withdrawn, and can be advertised with the Update BGP Prefix API.
+ */
+export const ipAddressManagementPrefixesCreateBgpPrefix = (
+  variables: IpAddressManagementPrefixesCreateBgpPrefixVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AddressingSingleResponseBgp,
+    IpAddressManagementPrefixesCreateBgpPrefixError,
+    Schemas.AddressingBgpPrefixCreate,
+    {},
+    {},
+    IpAddressManagementPrefixesCreateBgpPrefixPathParams
+  >({ url: '/accounts/{accountId}/addressing/prefixes/{prefixId}/bgp/prefixes', method: 'post', ...variables, signal });
+
+export type IpAddressManagementPrefixesFetchBgpPrefixPathParams = {
+  accountId: Schemas.AddressingIdentifier;
+  prefixId: Schemas.AddressingIdentifier;
+  bgpPrefixId: Schemas.AddressingIdentifier;
+};
+
+export type IpAddressManagementPrefixesFetchBgpPrefixError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AddressingSingleResponseBgp & Schemas.AddressingApiResponseCommonFailure;
+}>;
+
+export type IpAddressManagementPrefixesFetchBgpPrefixVariables = {
+  pathParams: IpAddressManagementPrefixesFetchBgpPrefixPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Retrieve a single BGP Prefix according to its identifier
+ */
+export const ipAddressManagementPrefixesFetchBgpPrefix = (
+  variables: IpAddressManagementPrefixesFetchBgpPrefixVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AddressingSingleResponseBgp,
+    IpAddressManagementPrefixesFetchBgpPrefixError,
+    undefined,
+    {},
+    {},
+    IpAddressManagementPrefixesFetchBgpPrefixPathParams
+  >({
+    url: '/accounts/{accountId}/addressing/prefixes/{prefixId}/bgp/prefixes/{bgpPrefixId}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type IpAddressManagementPrefixesUpdateBgpPrefixPathParams = {
+  accountId: Schemas.AddressingIdentifier;
+  prefixId: Schemas.AddressingIdentifier;
+  bgpPrefixId: Schemas.AddressingIdentifier;
+};
+
+export type IpAddressManagementPrefixesUpdateBgpPrefixError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AddressingSingleResponseBgp & Schemas.AddressingApiResponseCommonFailure;
+}>;
+
+export type IpAddressManagementPrefixesUpdateBgpPrefixVariables = {
+  body?: Schemas.AddressingBgpPrefixUpdateAdvertisement;
+  pathParams: IpAddressManagementPrefixesUpdateBgpPrefixPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update the properties of a BGP Prefix, such as the on demand advertisement status (advertised or withdrawn).
+ */
+export const ipAddressManagementPrefixesUpdateBgpPrefix = (
+  variables: IpAddressManagementPrefixesUpdateBgpPrefixVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AddressingSingleResponseBgp,
+    IpAddressManagementPrefixesUpdateBgpPrefixError,
+    Schemas.AddressingBgpPrefixUpdateAdvertisement,
+    {},
+    {},
+    IpAddressManagementPrefixesUpdateBgpPrefixPathParams
+  >({
+    url: '/accounts/{accountId}/addressing/prefixes/{prefixId}/bgp/prefixes/{bgpPrefixId}',
+    method: 'patch',
+    ...variables,
+    signal
+  });
+
+export type IpAddressManagementDynamicAdvertisementGetAdvertisementStatusPathParams = {
+  prefixId: Schemas.AddressingIdentifier;
+  accountId: Schemas.AddressingIdentifier;
+};
+
+export type IpAddressManagementDynamicAdvertisementGetAdvertisementStatusError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AddressingAdvertisedResponse & Schemas.AddressingApiResponseCommonFailure;
+}>;
+
+export type IpAddressManagementDynamicAdvertisementGetAdvertisementStatusVariables = {
+  pathParams: IpAddressManagementDynamicAdvertisementGetAdvertisementStatusPathParams;
+} & FetcherExtraProps;
+
+/**
+ * List the current advertisement state for a prefix.
+ */
+export const ipAddressManagementDynamicAdvertisementGetAdvertisementStatus = (
+  variables: IpAddressManagementDynamicAdvertisementGetAdvertisementStatusVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AddressingAdvertisedResponse,
+    IpAddressManagementDynamicAdvertisementGetAdvertisementStatusError,
+    undefined,
+    {},
+    {},
+    IpAddressManagementDynamicAdvertisementGetAdvertisementStatusPathParams
+  >({ url: '/accounts/{accountId}/addressing/prefixes/{prefixId}/bgp/status', method: 'get', ...variables, signal });
+
+export type IpAddressManagementDynamicAdvertisementUpdatePrefixDynamicAdvertisementStatusPathParams = {
+  prefixId: Schemas.AddressingIdentifier;
+  accountId: Schemas.AddressingIdentifier;
+};
+
+export type IpAddressManagementDynamicAdvertisementUpdatePrefixDynamicAdvertisementStatusError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AddressingAdvertisedResponse & Schemas.AddressingApiResponseCommonFailure;
+}>;
+
+export type IpAddressManagementDynamicAdvertisementUpdatePrefixDynamicAdvertisementStatusRequestBody = {
+  advertised: Schemas.AddressingSchemasAdvertised;
+};
+
+export type IpAddressManagementDynamicAdvertisementUpdatePrefixDynamicAdvertisementStatusVariables = {
+  body: IpAddressManagementDynamicAdvertisementUpdatePrefixDynamicAdvertisementStatusRequestBody;
+  pathParams: IpAddressManagementDynamicAdvertisementUpdatePrefixDynamicAdvertisementStatusPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Advertise or withdraw BGP route for a prefix.
+ */
+export const ipAddressManagementDynamicAdvertisementUpdatePrefixDynamicAdvertisementStatus = (
+  variables: IpAddressManagementDynamicAdvertisementUpdatePrefixDynamicAdvertisementStatusVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AddressingAdvertisedResponse,
+    IpAddressManagementDynamicAdvertisementUpdatePrefixDynamicAdvertisementStatusError,
+    IpAddressManagementDynamicAdvertisementUpdatePrefixDynamicAdvertisementStatusRequestBody,
+    {},
+    {},
+    IpAddressManagementDynamicAdvertisementUpdatePrefixDynamicAdvertisementStatusPathParams
+  >({ url: '/accounts/{accountId}/addressing/prefixes/{prefixId}/bgp/status', method: 'patch', ...variables, signal });
+
+export type IpAddressManagementServiceBindingsListServiceBindingsPathParams = {
+  accountId: Schemas.AddressingIdentifier;
+  prefixId: Schemas.AddressingIdentifier;
+};
+
+export type IpAddressManagementServiceBindingsListServiceBindingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AddressingApiResponseCommonFailure;
+}>;
+
+export type IpAddressManagementServiceBindingsListServiceBindingsResponse = Schemas.AddressingApiResponseCommon & {
+  result?: Schemas.AddressingServiceBinding[];
+};
+
+export type IpAddressManagementServiceBindingsListServiceBindingsVariables = {
+  pathParams: IpAddressManagementServiceBindingsListServiceBindingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * List the Cloudflare services this prefix is currently bound to. Traffic sent to an address within an IP prefix will be routed to the Cloudflare service of the most-specific Service Binding matching the address.
+ * **Example:** binding `192.0.2.0/24` to Cloudflare Magic Transit and `192.0.2.1/32` to the Cloudflare CDN would route traffic for `192.0.2.1` to the CDN, and traffic for all other IPs in the prefix to Cloudflare Magic Transit.
+ */
+export const ipAddressManagementServiceBindingsListServiceBindings = (
+  variables: IpAddressManagementServiceBindingsListServiceBindingsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    IpAddressManagementServiceBindingsListServiceBindingsResponse,
+    IpAddressManagementServiceBindingsListServiceBindingsError,
+    undefined,
+    {},
+    {},
+    IpAddressManagementServiceBindingsListServiceBindingsPathParams
+  >({ url: '/accounts/{accountId}/addressing/prefixes/{prefixId}/bindings', method: 'get', ...variables, signal });
+
+export type IpAddressManagementServiceBindingsCreateServiceBindingPathParams = {
+  accountId: Schemas.AddressingIdentifier;
+  prefixId: Schemas.AddressingIdentifier;
+};
+
+export type IpAddressManagementServiceBindingsCreateServiceBindingError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AddressingApiResponseCommonFailure;
+}>;
+
+export type IpAddressManagementServiceBindingsCreateServiceBindingResponse = Schemas.AddressingApiResponseCommon & {
+  result?: Schemas.AddressingServiceBinding;
+};
+
+export type IpAddressManagementServiceBindingsCreateServiceBindingVariables = {
+  body?: Schemas.AddressingCreateBindingRequest;
+  pathParams: IpAddressManagementServiceBindingsCreateServiceBindingPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new Service Binding, routing traffic to IPs within the given CIDR to a service running on Cloudflare's network.
+ * **Note:** This API may only be used on prefixes currently configured with a Magic Transit service binding, and only allows creating service bindings for the Cloudflare CDN or Cloudflare Spectrum.
+ */
+export const ipAddressManagementServiceBindingsCreateServiceBinding = (
+  variables: IpAddressManagementServiceBindingsCreateServiceBindingVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    IpAddressManagementServiceBindingsCreateServiceBindingResponse,
+    IpAddressManagementServiceBindingsCreateServiceBindingError,
+    Schemas.AddressingCreateBindingRequest,
+    {},
+    {},
+    IpAddressManagementServiceBindingsCreateServiceBindingPathParams
+  >({ url: '/accounts/{accountId}/addressing/prefixes/{prefixId}/bindings', method: 'post', ...variables, signal });
+
+export type IpAddressManagementServiceBindingsDeleteServiceBindingPathParams = {
+  accountId: Schemas.AddressingIdentifier;
+  prefixId: Schemas.AddressingIdentifier;
+  bindingId: Schemas.AddressingIdentifier;
+};
+
+export type IpAddressManagementServiceBindingsDeleteServiceBindingError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AddressingApiResponseCommonFailure;
+}>;
+
+export type IpAddressManagementServiceBindingsDeleteServiceBindingVariables = {
+  pathParams: IpAddressManagementServiceBindingsDeleteServiceBindingPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete a Service Binding
+ */
+export const ipAddressManagementServiceBindingsDeleteServiceBinding = (
+  variables: IpAddressManagementServiceBindingsDeleteServiceBindingVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AddressingApiResponseCommon,
+    IpAddressManagementServiceBindingsDeleteServiceBindingError,
+    undefined,
+    {},
+    {},
+    IpAddressManagementServiceBindingsDeleteServiceBindingPathParams
+  >({
+    url: '/accounts/{accountId}/addressing/prefixes/{prefixId}/bindings/{bindingId}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type IpAddressManagementServiceBindingsGetServiceBindingPathParams = {
+  accountId: Schemas.AddressingIdentifier;
+  prefixId: Schemas.AddressingIdentifier;
+  bindingId: Schemas.AddressingIdentifier;
+};
+
+export type IpAddressManagementServiceBindingsGetServiceBindingError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AddressingApiResponseCommonFailure;
+}>;
+
+export type IpAddressManagementServiceBindingsGetServiceBindingResponse = Schemas.AddressingApiResponseCommon & {
+  result?: Schemas.AddressingServiceBinding;
+};
+
+export type IpAddressManagementServiceBindingsGetServiceBindingVariables = {
+  pathParams: IpAddressManagementServiceBindingsGetServiceBindingPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetch a single Service Binding
+ */
+export const ipAddressManagementServiceBindingsGetServiceBinding = (
+  variables: IpAddressManagementServiceBindingsGetServiceBindingVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    IpAddressManagementServiceBindingsGetServiceBindingResponse,
+    IpAddressManagementServiceBindingsGetServiceBindingError,
+    undefined,
+    {},
+    {},
+    IpAddressManagementServiceBindingsGetServiceBindingPathParams
+  >({
+    url: '/accounts/{accountId}/addressing/prefixes/{prefixId}/bindings/{bindingId}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type IpAddressManagementPrefixDelegationListPrefixDelegationsPathParams = {
+  prefixId: Schemas.AddressingIdentifier;
+  accountId: Schemas.AddressingIdentifier;
+};
+
+export type IpAddressManagementPrefixDelegationListPrefixDelegationsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AddressingSchemasResponseCollection & Schemas.AddressingApiResponseCommonFailure;
+}>;
+
+export type IpAddressManagementPrefixDelegationListPrefixDelegationsVariables = {
+  pathParams: IpAddressManagementPrefixDelegationListPrefixDelegationsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * List all delegations for a given account IP prefix.
+ */
+export const ipAddressManagementPrefixDelegationListPrefixDelegations = (
+  variables: IpAddressManagementPrefixDelegationListPrefixDelegationsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AddressingSchemasResponseCollection,
+    IpAddressManagementPrefixDelegationListPrefixDelegationsError,
+    undefined,
+    {},
+    {},
+    IpAddressManagementPrefixDelegationListPrefixDelegationsPathParams
+  >({ url: '/accounts/{accountId}/addressing/prefixes/{prefixId}/delegations', method: 'get', ...variables, signal });
+
+export type IpAddressManagementPrefixDelegationCreatePrefixDelegationPathParams = {
+  prefixId: Schemas.AddressingIdentifier;
+  accountId: Schemas.AddressingIdentifier;
+};
+
+export type IpAddressManagementPrefixDelegationCreatePrefixDelegationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AddressingSchemasSingleResponse & Schemas.AddressingApiResponseCommonFailure;
+}>;
+
+export type IpAddressManagementPrefixDelegationCreatePrefixDelegationRequestBody = {
+  cidr: Schemas.AddressingCidr;
+  delegated_account_id: Schemas.AddressingDelegatedAccountIdentifier;
+};
+
+export type IpAddressManagementPrefixDelegationCreatePrefixDelegationVariables = {
+  body: IpAddressManagementPrefixDelegationCreatePrefixDelegationRequestBody;
+  pathParams: IpAddressManagementPrefixDelegationCreatePrefixDelegationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create a new account delegation for a given IP prefix.
+ */
+export const ipAddressManagementPrefixDelegationCreatePrefixDelegation = (
+  variables: IpAddressManagementPrefixDelegationCreatePrefixDelegationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AddressingSchemasSingleResponse,
+    IpAddressManagementPrefixDelegationCreatePrefixDelegationError,
+    IpAddressManagementPrefixDelegationCreatePrefixDelegationRequestBody,
+    {},
+    {},
+    IpAddressManagementPrefixDelegationCreatePrefixDelegationPathParams
+  >({ url: '/accounts/{accountId}/addressing/prefixes/{prefixId}/delegations', method: 'post', ...variables, signal });
+
+export type IpAddressManagementPrefixDelegationDeletePrefixDelegationPathParams = {
+  delegationId: Schemas.AddressingDelegationIdentifier;
+  prefixId: Schemas.AddressingIdentifier;
+  accountId: Schemas.AddressingIdentifier;
+};
+
+export type IpAddressManagementPrefixDelegationDeletePrefixDelegationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AddressingIdResponse & Schemas.AddressingApiResponseCommonFailure;
+}>;
+
+export type IpAddressManagementPrefixDelegationDeletePrefixDelegationVariables = {
+  pathParams: IpAddressManagementPrefixDelegationDeletePrefixDelegationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete an account delegation for a given IP prefix.
+ */
+export const ipAddressManagementPrefixDelegationDeletePrefixDelegation = (
+  variables: IpAddressManagementPrefixDelegationDeletePrefixDelegationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AddressingIdResponse,
+    IpAddressManagementPrefixDelegationDeletePrefixDelegationError,
+    undefined,
+    {},
+    {},
+    IpAddressManagementPrefixDelegationDeletePrefixDelegationPathParams
+  >({
+    url: '/accounts/{accountId}/addressing/prefixes/{prefixId}/delegations/{delegationId}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type DlsAccountRegionalHostnamesAccountListRegionsPathParams = {
+  accountId: Schemas.DlsIdentifier;
+};
+
+export type DlsAccountRegionalHostnamesAccountListRegionsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlsApiResponseCommonFailure;
+}>;
+
+export type DlsAccountRegionalHostnamesAccountListRegionsResponse = Schemas.DlsApiResponseCollection & {
+  result?: {
+    key?: Schemas.DlsRegionKey;
+    /**
+     * Human-readable text label for the region
+     *
+     * @example Canada
+     */
+    label?: string;
+  }[];
+};
+
+export type DlsAccountRegionalHostnamesAccountListRegionsVariables = {
+  pathParams: DlsAccountRegionalHostnamesAccountListRegionsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * List all Regional Services regions available for use by this account.
+ */
+export const dlsAccountRegionalHostnamesAccountListRegions = (
+  variables: DlsAccountRegionalHostnamesAccountListRegionsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    DlsAccountRegionalHostnamesAccountListRegionsResponse,
+    DlsAccountRegionalHostnamesAccountListRegionsError,
+    undefined,
+    {},
+    {},
+    DlsAccountRegionalHostnamesAccountListRegionsPathParams
+  >({ url: '/accounts/{accountId}/addressing/regional_hostnames/regions', method: 'get', ...variables, signal });
+
+export type IpAddressManagementServiceBindingsListServicesPathParams = {
+  accountId: Schemas.AddressingIdentifier;
+};
+
+export type IpAddressManagementServiceBindingsListServicesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AddressingApiResponseCommonFailure;
+}>;
+
+export type IpAddressManagementServiceBindingsListServicesResponse = Schemas.AddressingApiResponseCommon & {
+  result?: {
+    id?: Schemas.AddressingServiceIdentifier;
+    name?: Schemas.AddressingServiceName;
+  }[];
+};
+
+export type IpAddressManagementServiceBindingsListServicesVariables = {
+  pathParams: IpAddressManagementServiceBindingsListServicesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Bring-Your-Own IP (BYOIP) prefixes onboarded to Cloudflare must be bound to a service running on the Cloudflare network to enable a Cloudflare product on the IP addresses. This endpoint can be used as a reference of available services on the Cloudflare network, and their service IDs.
+ */
+export const ipAddressManagementServiceBindingsListServices = (
+  variables: IpAddressManagementServiceBindingsListServicesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    IpAddressManagementServiceBindingsListServicesResponse,
+    IpAddressManagementServiceBindingsListServicesError,
+    undefined,
+    {},
+    {},
+    IpAddressManagementServiceBindingsListServicesPathParams
+  >({ url: '/accounts/{accountId}/addressing/services', method: 'get', ...variables, signal });
+
+export type AigConfigListEvaluatorsPathParams = {
+  /**
+   * @example 0d37909e38d3e99c29fa2cd343ac421a
+   */
+  accountId: string;
+};
+
+export type AigConfigListEvaluatorsQueryParams = {
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default 20
+   * @maximum 50
+   * @minimum 5
+   */
+  per_page?: number;
+  /**
+   * @default mandatory
+   */
+  order_by?: string;
+  /**
+   * @default desc
+   */
+  order_by_direction?: 'asc' | 'desc';
+};
+
+export type AigConfigListEvaluatorsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type AigConfigListEvaluatorsResponse = {
+  result: {
+    /**
+     * @format date-time
+     */
+    created_at: string;
+    description: string;
+    enable: boolean;
+    id: string;
+    mandatory: boolean;
+    /**
+     * @format date-time
+     */
+    modified_at: string;
+    name: string;
+    type: string;
+  }[];
+  result_info: {
+    count: number;
+    page: number;
+    per_page: number;
+    total_count: number;
+  };
+  success: boolean;
+};
+
+export type AigConfigListEvaluatorsVariables = {
+  pathParams: AigConfigListEvaluatorsPathParams;
+  queryParams?: AigConfigListEvaluatorsQueryParams;
+} & FetcherExtraProps;
+
+export const aigConfigListEvaluators = (variables: AigConfigListEvaluatorsVariables, signal?: AbortSignal) =>
+  fetch<
+    AigConfigListEvaluatorsResponse,
+    AigConfigListEvaluatorsError,
+    undefined,
+    {},
+    AigConfigListEvaluatorsQueryParams,
+    AigConfigListEvaluatorsPathParams
+  >({ url: '/accounts/{accountId}/ai-gateway/evaluation-types', method: 'get', ...variables, signal });
+
+export type AigConfigListGatewayPathParams = {
+  /**
+   * @example 3ebbcb006d4d46d7bb6a8c7f14676cb0
+   */
+  accountId: string;
+};
+
+export type AigConfigListGatewayQueryParams = {
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default 20
+   * @maximum 100
+   * @minimum 1
+   */
+  per_page?: number;
+  /**
+   * Order By Column Name
+   */
+  order_by?: string;
+  /**
+   * Order By Direction
+   *
+   * @default asc
+   */
+  order_by_direction?: 'asc' | 'desc';
+  search?: string;
+};
+
+export type AigConfigListGatewayError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type AigConfigListGatewayResponse = {
+  result: {
+    cache_invalidate_on_update: boolean;
+    /**
+     * @minimum 0
+     */
+    cache_ttl: number | null;
+    collect_logs: boolean;
+    /**
+     * @format date-time
+     */
+    created_at: string;
+    /**
+     * gateway id
+     *
+     * @example my-gateway
+     * @maxLength 64
+     * @minLength 1
+     * @pattern ^[a-z0-9_]+(?:-[a-z0-9_]+)*$
+     */
+    id: string;
+    logpush?: boolean;
+    /**
+     * @maxLength 1024
+     * @minLength 16
+     */
+    logpush_public_key?: string | null;
+    /**
+     * @format date-time
+     */
+    modified_at: string;
+    /**
+     * @minimum 0
+     */
+    rate_limiting_interval: number | null;
+    /**
+     * @minimum 0
+     */
+    rate_limiting_limit: number | null;
+    rate_limiting_technique: 'fixed' | 'sliding';
+  }[];
+  success: boolean;
+};
+
+export type AigConfigListGatewayVariables = {
+  pathParams: AigConfigListGatewayPathParams;
+  queryParams?: AigConfigListGatewayQueryParams;
+} & FetcherExtraProps;
+
+export const aigConfigListGateway = (variables: AigConfigListGatewayVariables, signal?: AbortSignal) =>
+  fetch<
+    AigConfigListGatewayResponse,
+    AigConfigListGatewayError,
+    undefined,
+    {},
+    AigConfigListGatewayQueryParams,
+    AigConfigListGatewayPathParams
+  >({ url: '/accounts/{accountId}/ai-gateway/gateways', method: 'get', ...variables, signal });
+
+export type AigConfigCreateGatewayPathParams = {
+  /**
+   * @example 3ebbcb006d4d46d7bb6a8c7f14676cb0
+   */
+  accountId: string;
+};
+
+export type AigConfigCreateGatewayError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      /**
+       * @example 7001
+       */
+      code: number;
+      /**
+       * @example Input Validation Error
+       */
+      message: string;
+      path: string[];
+    }[];
+    success: boolean;
+  };
+}>;
+
+export type AigConfigCreateGatewayResponse = {
+  result: {
+    cache_invalidate_on_update: boolean;
+    /**
+     * @minimum 0
+     */
+    cache_ttl: number | null;
+    collect_logs: boolean;
+    /**
+     * @format date-time
+     */
+    created_at: string;
+    /**
+     * gateway id
+     *
+     * @example my-gateway
+     * @maxLength 64
+     * @minLength 1
+     * @pattern ^[a-z0-9_]+(?:-[a-z0-9_]+)*$
+     */
+    id: string;
+    logpush?: boolean;
+    /**
+     * @maxLength 1024
+     * @minLength 16
+     */
+    logpush_public_key?: string | null;
+    /**
+     * @format date-time
+     */
+    modified_at: string;
+    /**
+     * @minimum 0
+     */
+    rate_limiting_interval: number | null;
+    /**
+     * @minimum 0
+     */
+    rate_limiting_limit: number | null;
+    rate_limiting_technique: 'fixed' | 'sliding';
+  };
+  success: boolean;
+};
+
+export type AigConfigCreateGatewayRequestBody = {
+  cache_invalidate_on_update: boolean;
+  /**
+   * @minimum 0
+   */
+  cache_ttl: number | null;
+  collect_logs: boolean;
+  /**
+   * gateway id
+   *
+   * @example my-gateway
+   * @maxLength 64
+   * @minLength 1
+   * @pattern ^[a-z0-9_]+(?:-[a-z0-9_]+)*$
+   */
+  id: string;
+  logpush?: boolean;
+  /**
+   * @maxLength 1024
+   * @minLength 16
+   */
+  logpush_public_key?: string | null;
+  /**
+   * @minimum 0
+   */
+  rate_limiting_interval: number | null;
+  /**
+   * @minimum 0
+   */
+  rate_limiting_limit: number | null;
+  rate_limiting_technique: 'fixed' | 'sliding';
+};
+
+export type AigConfigCreateGatewayVariables = {
+  body: AigConfigCreateGatewayRequestBody;
+  pathParams: AigConfigCreateGatewayPathParams;
+} & FetcherExtraProps;
+
+export const aigConfigCreateGateway = (variables: AigConfigCreateGatewayVariables, signal?: AbortSignal) =>
+  fetch<
+    AigConfigCreateGatewayResponse,
+    AigConfigCreateGatewayError,
+    AigConfigCreateGatewayRequestBody,
+    {},
+    {},
+    AigConfigCreateGatewayPathParams
+  >({ url: '/accounts/{accountId}/ai-gateway/gateways', method: 'post', ...variables, signal });
+
+export type AigConfigListDatasetPathParams = {
+  /**
+   * @example 3ebbcb006d4d46d7bb6a8c7f14676cb0
+   */
+  accountId: string;
+  /**
+   * @example my-gateway
+   * @maxLength 64
+   * @minLength 1
+   * @pattern ^[a-z0-9_]+(?:-[a-z0-9_]+)*$
+   */
+  gatewayId: string;
+};
+
+export type AigConfigListDatasetQueryParams = {
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default 20
+   * @maximum 100
+   * @minimum 1
+   */
+  per_page?: number;
+  /**
+   * Order By Column Name
+   */
+  order_by?: string;
+  /**
+   * Order By Direction
+   *
+   * @default asc
+   */
+  order_by_direction?: 'asc' | 'desc';
+  name?: string;
+  enable?: boolean;
+  search?: string;
+};
+
+export type AigConfigListDatasetError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type AigConfigListDatasetResponse = {
+  result: {
+    /**
+     * @format date-time
+     */
+    created_at: string;
+    enable: boolean;
+    filters: {
+      key:
+        | 'created_at'
+        | 'request_content_type'
+        | 'response_content_type'
+        | 'success'
+        | 'cached'
+        | 'provider'
+        | 'model'
+        | 'cost'
+        | 'tokens'
+        | 'tokens_in'
+        | 'tokens_out'
+        | 'duration'
+        | 'feedback';
+      operator: 'eq' | 'contains' | 'lt' | 'gt';
+      value: (string | number | boolean)[];
+    }[];
+    /**
+     * gateway id
+     *
+     * @example my-gateway
+     * @maxLength 64
+     * @minLength 1
+     * @pattern ^[a-z0-9_]+(?:-[a-z0-9_]+)*$
+     */
+    gateway_id: string;
+    id: string;
+    /**
+     * @format date-time
+     */
+    modified_at: string;
+    name: string;
+  }[];
+  success: boolean;
+};
+
+export type AigConfigListDatasetVariables = {
+  pathParams: AigConfigListDatasetPathParams;
+  queryParams?: AigConfigListDatasetQueryParams;
+} & FetcherExtraProps;
+
+export const aigConfigListDataset = (variables: AigConfigListDatasetVariables, signal?: AbortSignal) =>
+  fetch<
+    AigConfigListDatasetResponse,
+    AigConfigListDatasetError,
+    undefined,
+    {},
+    AigConfigListDatasetQueryParams,
+    AigConfigListDatasetPathParams
+  >({ url: '/accounts/{accountId}/ai-gateway/gateways/{gatewayId}/datasets', method: 'get', ...variables, signal });
+
+export type AigConfigCreateDatasetPathParams = {
+  /**
+   * @example my-gateway
+   * @maxLength 64
+   * @minLength 1
+   * @pattern ^[a-z0-9_]+(?:-[a-z0-9_]+)*$
+   */
+  gatewayId: string;
+  /**
+   * @example 3ebbcb006d4d46d7bb6a8c7f14676cb0
+   */
+  accountId: string;
+};
+
+export type AigConfigCreateDatasetError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      /**
+       * @example 7001
+       */
+      code: number;
+      /**
+       * @example Input Validation Error
+       */
+      message: string;
+      path: string[];
+    }[];
+    success: boolean;
+  };
+}>;
+
+export type AigConfigCreateDatasetResponse = {
+  result: {
+    /**
+     * @format date-time
+     */
+    created_at: string;
+    enable: boolean;
+    filters: {
+      key:
+        | 'created_at'
+        | 'request_content_type'
+        | 'response_content_type'
+        | 'success'
+        | 'cached'
+        | 'provider'
+        | 'model'
+        | 'cost'
+        | 'tokens'
+        | 'tokens_in'
+        | 'tokens_out'
+        | 'duration'
+        | 'feedback';
+      operator: 'eq' | 'contains' | 'lt' | 'gt';
+      value: (string | number | boolean)[];
+    }[];
+    /**
+     * gateway id
+     *
+     * @example my-gateway
+     * @maxLength 64
+     * @minLength 1
+     * @pattern ^[a-z0-9_]+(?:-[a-z0-9_]+)*$
+     */
+    gateway_id: string;
+    id: string;
+    /**
+     * @format date-time
+     */
+    modified_at: string;
+    name: string;
+  };
+  success: boolean;
+};
+
+export type AigConfigCreateDatasetRequestBody = {
+  enable: boolean;
+  filters: {
+    key:
+      | 'created_at'
+      | 'request_content_type'
+      | 'response_content_type'
+      | 'success'
+      | 'cached'
+      | 'provider'
+      | 'model'
+      | 'cost'
+      | 'tokens'
+      | 'tokens_in'
+      | 'tokens_out'
+      | 'duration'
+      | 'feedback';
+    operator: 'eq' | 'contains' | 'lt' | 'gt';
+    value: (string | number | boolean)[];
+  }[];
+  name: string;
+};
+
+export type AigConfigCreateDatasetVariables = {
+  body: AigConfigCreateDatasetRequestBody;
+  pathParams: AigConfigCreateDatasetPathParams;
+} & FetcherExtraProps;
+
+export const aigConfigCreateDataset = (variables: AigConfigCreateDatasetVariables, signal?: AbortSignal) =>
+  fetch<
+    AigConfigCreateDatasetResponse,
+    AigConfigCreateDatasetError,
+    AigConfigCreateDatasetRequestBody,
+    {},
+    {},
+    AigConfigCreateDatasetPathParams
+  >({ url: '/accounts/{accountId}/ai-gateway/gateways/{gatewayId}/datasets', method: 'post', ...variables, signal });
+
+export type AigConfigDeleteDatasetPathParams = {
+  /**
+   * @example 3ebbcb006d4d46d7bb6a8c7f14676cb0
+   */
+  accountId: string;
+  /**
+   * @example my-gateway
+   * @maxLength 64
+   * @minLength 1
+   * @pattern ^[a-z0-9_]+(?:-[a-z0-9_]+)*$
+   */
+  gatewayId: string;
+  id: string;
+};
+
+export type AigConfigDeleteDatasetError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    errors: {
+      /**
+       * @example 7002
+       */
+      code: number;
+      /**
+       * @example Not Found
+       */
+      message: string;
+    }[];
+    success: boolean;
+  };
+}>;
+
+export type AigConfigDeleteDatasetResponse = {
+  result: {
+    /**
+     * @format date-time
+     */
+    created_at: string;
+    enable: boolean;
+    filters: {
+      key:
+        | 'created_at'
+        | 'request_content_type'
+        | 'response_content_type'
+        | 'success'
+        | 'cached'
+        | 'provider'
+        | 'model'
+        | 'cost'
+        | 'tokens'
+        | 'tokens_in'
+        | 'tokens_out'
+        | 'duration'
+        | 'feedback';
+      operator: 'eq' | 'contains' | 'lt' | 'gt';
+      value: (string | number | boolean)[];
+    }[];
+    /**
+     * gateway id
+     *
+     * @example my-gateway
+     * @maxLength 64
+     * @minLength 1
+     * @pattern ^[a-z0-9_]+(?:-[a-z0-9_]+)*$
+     */
+    gateway_id: string;
+    id: string;
+    /**
+     * @format date-time
+     */
+    modified_at: string;
+    name: string;
+  };
+  success: boolean;
+};
+
+export type AigConfigDeleteDatasetVariables = {
+  pathParams: AigConfigDeleteDatasetPathParams;
+} & FetcherExtraProps;
+
+export const aigConfigDeleteDataset = (variables: AigConfigDeleteDatasetVariables, signal?: AbortSignal) =>
+  fetch<
+    AigConfigDeleteDatasetResponse,
+    AigConfigDeleteDatasetError,
+    undefined,
+    {},
+    {},
+    AigConfigDeleteDatasetPathParams
+  >({
+    url: '/accounts/{accountId}/ai-gateway/gateways/{gatewayId}/datasets/{id}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type AigConfigFetchDatasetPathParams = {
+  /**
+   * @example 3ebbcb006d4d46d7bb6a8c7f14676cb0
+   */
+  accountId: string;
+  /**
+   * @example my-gateway
+   * @maxLength 64
+   * @minLength 1
+   * @pattern ^[a-z0-9_]+(?:-[a-z0-9_]+)*$
+   */
+  gatewayId: string;
+  id: string;
+};
+
+export type AigConfigFetchDatasetError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    errors: {
+      /**
+       * @example 7002
+       */
+      code: number;
+      /**
+       * @example Not Found
+       */
+      message: string;
+    }[];
+    success: boolean;
+  };
+}>;
+
+export type AigConfigFetchDatasetResponse = {
+  result: {
+    /**
+     * @format date-time
+     */
+    created_at: string;
+    enable: boolean;
+    filters: {
+      key:
+        | 'created_at'
+        | 'request_content_type'
+        | 'response_content_type'
+        | 'success'
+        | 'cached'
+        | 'provider'
+        | 'model'
+        | 'cost'
+        | 'tokens'
+        | 'tokens_in'
+        | 'tokens_out'
+        | 'duration'
+        | 'feedback';
+      operator: 'eq' | 'contains' | 'lt' | 'gt';
+      value: (string | number | boolean)[];
+    }[];
+    /**
+     * gateway id
+     *
+     * @example my-gateway
+     * @maxLength 64
+     * @minLength 1
+     * @pattern ^[a-z0-9_]+(?:-[a-z0-9_]+)*$
+     */
+    gateway_id: string;
+    id: string;
+    /**
+     * @format date-time
+     */
+    modified_at: string;
+    name: string;
+  };
+  success: boolean;
+};
+
+export type AigConfigFetchDatasetVariables = {
+  pathParams: AigConfigFetchDatasetPathParams;
+} & FetcherExtraProps;
+
+export const aigConfigFetchDataset = (variables: AigConfigFetchDatasetVariables, signal?: AbortSignal) =>
+  fetch<AigConfigFetchDatasetResponse, AigConfigFetchDatasetError, undefined, {}, {}, AigConfigFetchDatasetPathParams>({
+    url: '/accounts/{accountId}/ai-gateway/gateways/{gatewayId}/datasets/{id}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type AigConfigUpdateDatasetPathParams = {
+  /**
+   * @example 3ebbcb006d4d46d7bb6a8c7f14676cb0
+   */
+  accountId: string;
+  /**
+   * @example my-gateway
+   * @maxLength 64
+   * @minLength 1
+   * @pattern ^[a-z0-9_]+(?:-[a-z0-9_]+)*$
+   */
+  gatewayId: string;
+  id: string;
+};
+
+export type AigConfigUpdateDatasetError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: {
+        errors: {
+          /**
+           * @example 7001
+           */
+          code: number;
+          /**
+           * @example Input Validation Error
+           */
+          message: string;
+          path: string[];
+        }[];
+        success: boolean;
+      };
+    }
+  | {
+      status: 404;
+      payload: {
+        errors: {
+          /**
+           * @example 7002
+           */
+          code: number;
+          /**
+           * @example Not Found
+           */
+          message: string;
+        }[];
+        success: boolean;
+      };
+    }
+>;
+
+export type AigConfigUpdateDatasetResponse = {
+  result: {
+    /**
+     * @format date-time
+     */
+    created_at: string;
+    enable: boolean;
+    filters: {
+      key:
+        | 'created_at'
+        | 'request_content_type'
+        | 'response_content_type'
+        | 'success'
+        | 'cached'
+        | 'provider'
+        | 'model'
+        | 'cost'
+        | 'tokens'
+        | 'tokens_in'
+        | 'tokens_out'
+        | 'duration'
+        | 'feedback';
+      operator: 'eq' | 'contains' | 'lt' | 'gt';
+      value: (string | number | boolean)[];
+    }[];
+    /**
+     * gateway id
+     *
+     * @example my-gateway
+     * @maxLength 64
+     * @minLength 1
+     * @pattern ^[a-z0-9_]+(?:-[a-z0-9_]+)*$
+     */
+    gateway_id: string;
+    id: string;
+    /**
+     * @format date-time
+     */
+    modified_at: string;
+    name: string;
+  };
+  success: boolean;
+};
+
+export type AigConfigUpdateDatasetRequestBody = {
+  enable: boolean;
+  filters: {
+    key:
+      | 'created_at'
+      | 'request_content_type'
+      | 'response_content_type'
+      | 'success'
+      | 'cached'
+      | 'provider'
+      | 'model'
+      | 'cost'
+      | 'tokens'
+      | 'tokens_in'
+      | 'tokens_out'
+      | 'duration'
+      | 'feedback';
+    operator: 'eq' | 'contains' | 'lt' | 'gt';
+    value: (string | number | boolean)[];
+  }[];
+  name: string;
+};
+
+export type AigConfigUpdateDatasetVariables = {
+  body: AigConfigUpdateDatasetRequestBody;
+  pathParams: AigConfigUpdateDatasetPathParams;
+} & FetcherExtraProps;
+
+export const aigConfigUpdateDataset = (variables: AigConfigUpdateDatasetVariables, signal?: AbortSignal) =>
+  fetch<
+    AigConfigUpdateDatasetResponse,
+    AigConfigUpdateDatasetError,
+    AigConfigUpdateDatasetRequestBody,
+    {},
+    {},
+    AigConfigUpdateDatasetPathParams
+  >({
+    url: '/accounts/{accountId}/ai-gateway/gateways/{gatewayId}/datasets/{id}',
+    method: 'put',
+    ...variables,
+    signal
+  });
+
+export type AigConfigListEvaluationsPathParams = {
+  /**
+   * @example 3ebbcb006d4d46d7bb6a8c7f14676cb0
+   */
+  accountId: string;
+  /**
+   * @example my-gateway
+   * @maxLength 64
+   * @minLength 1
+   * @pattern ^[a-z0-9_]+(?:-[a-z0-9_]+)*$
+   */
+  gatewayId: string;
+};
+
+export type AigConfigListEvaluationsQueryParams = {
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default 20
+   * @maximum 100
+   * @minimum 1
+   */
+  per_page?: number;
+  /**
+   * Order By Column Name
+   */
+  order_by?: string;
+  /**
+   * Order By Direction
+   *
+   * @default asc
+   */
+  order_by_direction?: 'asc' | 'desc';
+  name?: string;
+  processed?: boolean;
+  search?: string;
+};
+
+export type AigConfigListEvaluationsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type AigConfigListEvaluationsResponse = {
+  result: {
+    /**
+     * @format date-time
+     */
+    created_at: string;
+    datasets: {
+      /**
+       * @format date-time
+       */
+      created_at: string;
+      enable: boolean;
+      filters: {
+        key:
+          | 'created_at'
+          | 'request_content_type'
+          | 'response_content_type'
+          | 'success'
+          | 'cached'
+          | 'provider'
+          | 'model'
+          | 'cost'
+          | 'tokens'
+          | 'tokens_in'
+          | 'tokens_out'
+          | 'duration'
+          | 'feedback';
+        operator: 'eq' | 'contains' | 'lt' | 'gt';
+        value: (string | number | boolean)[];
+      }[];
+      /**
+       * gateway id
+       *
+       * @example my-gateway
+       * @maxLength 64
+       * @minLength 1
+       * @pattern ^[a-z0-9_]+(?:-[a-z0-9_]+)*$
+       */
+      gateway_id: string;
+      id: string;
+      /**
+       * @format date-time
+       */
+      modified_at: string;
+      name: string;
+    }[];
+    /**
+     * gateway id
+     *
+     * @example my-gateway
+     * @maxLength 64
+     * @minLength 1
+     * @pattern ^[a-z0-9_]+(?:-[a-z0-9_]+)*$
+     */
+    gateway_id: string;
+    id: string;
+    /**
+     * @format date-time
+     */
+    modified_at: string;
+    name: string;
+    processed: boolean;
+    results: {
+      /**
+       * @format date-time
+       */
+      created_at: string;
+      evaluation_id: string;
+      evaluation_type_id: string;
+      id: string;
+      /**
+       * @format date-time
+       */
+      modified_at: string;
+      result: string;
+      status: number;
+      status_description: string;
+      total_logs: number;
+    }[];
+    total_logs: number;
+  }[];
+  success: boolean;
+};
+
+export type AigConfigListEvaluationsVariables = {
+  pathParams: AigConfigListEvaluationsPathParams;
+  queryParams?: AigConfigListEvaluationsQueryParams;
+} & FetcherExtraProps;
+
+export const aigConfigListEvaluations = (variables: AigConfigListEvaluationsVariables, signal?: AbortSignal) =>
+  fetch<
+    AigConfigListEvaluationsResponse,
+    AigConfigListEvaluationsError,
+    undefined,
+    {},
+    AigConfigListEvaluationsQueryParams,
+    AigConfigListEvaluationsPathParams
+  >({ url: '/accounts/{accountId}/ai-gateway/gateways/{gatewayId}/evaluations', method: 'get', ...variables, signal });
+
+export type AigConfigCreateEvaluationsPathParams = {
+  /**
+   * @example my-gateway
+   * @maxLength 64
+   * @minLength 1
+   * @pattern ^[a-z0-9_]+(?:-[a-z0-9_]+)*$
+   */
+  gatewayId: string;
+  /**
+   * @example 3ebbcb006d4d46d7bb6a8c7f14676cb0
+   */
+  accountId: string;
+};
+
+export type AigConfigCreateEvaluationsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      /**
+       * @example 7001
+       */
+      code: number;
+      /**
+       * @example Input Validation Error
+       */
+      message: string;
+      path: string[];
+    }[];
+    success: boolean;
+  };
+}>;
+
+export type AigConfigCreateEvaluationsResponse = {
+  result: {
+    /**
+     * @format date-time
+     */
+    created_at: string;
+    datasets: {
+      /**
+       * @format date-time
+       */
+      created_at: string;
+      enable: boolean;
+      filters: {
+        key:
+          | 'created_at'
+          | 'request_content_type'
+          | 'response_content_type'
+          | 'success'
+          | 'cached'
+          | 'provider'
+          | 'model'
+          | 'cost'
+          | 'tokens'
+          | 'tokens_in'
+          | 'tokens_out'
+          | 'duration'
+          | 'feedback';
+        operator: 'eq' | 'contains' | 'lt' | 'gt';
+        value: (string | number | boolean)[];
+      }[];
+      /**
+       * gateway id
+       *
+       * @example my-gateway
+       * @maxLength 64
+       * @minLength 1
+       * @pattern ^[a-z0-9_]+(?:-[a-z0-9_]+)*$
+       */
+      gateway_id: string;
+      id: string;
+      /**
+       * @format date-time
+       */
+      modified_at: string;
+      name: string;
+    }[];
+    /**
+     * gateway id
+     *
+     * @example my-gateway
+     * @maxLength 64
+     * @minLength 1
+     * @pattern ^[a-z0-9_]+(?:-[a-z0-9_]+)*$
+     */
+    gateway_id: string;
+    id: string;
+    /**
+     * @format date-time
+     */
+    modified_at: string;
+    name: string;
+    processed: boolean;
+    results: {
+      /**
+       * @format date-time
+       */
+      created_at: string;
+      evaluation_id: string;
+      evaluation_type_id: string;
+      id: string;
+      /**
+       * @format date-time
+       */
+      modified_at: string;
+      result: string;
+      status: number;
+      status_description: string;
+      total_logs: number;
+    }[];
+    total_logs: number;
+  };
+  success: boolean;
+};
+
+export type AigConfigCreateEvaluationsRequestBody = {
+  /**
+   * @maxItems 5
+   * @minItems 1
+   */
+  dataset_ids: string[];
+  evaluation_type_ids: string[];
+  name: string;
+};
+
+export type AigConfigCreateEvaluationsVariables = {
+  body: AigConfigCreateEvaluationsRequestBody;
+  pathParams: AigConfigCreateEvaluationsPathParams;
+} & FetcherExtraProps;
+
+export const aigConfigCreateEvaluations = (variables: AigConfigCreateEvaluationsVariables, signal?: AbortSignal) =>
+  fetch<
+    AigConfigCreateEvaluationsResponse,
+    AigConfigCreateEvaluationsError,
+    AigConfigCreateEvaluationsRequestBody,
+    {},
+    {},
+    AigConfigCreateEvaluationsPathParams
+  >({ url: '/accounts/{accountId}/ai-gateway/gateways/{gatewayId}/evaluations', method: 'post', ...variables, signal });
+
+export type AigConfigDeleteEvaluationsPathParams = {
+  /**
+   * @example 3ebbcb006d4d46d7bb6a8c7f14676cb0
+   */
+  accountId: string;
+  /**
+   * @example my-gateway
+   * @maxLength 64
+   * @minLength 1
+   * @pattern ^[a-z0-9_]+(?:-[a-z0-9_]+)*$
+   */
+  gatewayId: string;
+  id: string;
+};
+
+export type AigConfigDeleteEvaluationsError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    errors: {
+      /**
+       * @example 7002
+       */
+      code: number;
+      /**
+       * @example Not Found
+       */
+      message: string;
+    }[];
+    success: boolean;
+  };
+}>;
+
+export type AigConfigDeleteEvaluationsResponse = {
+  result: {
+    /**
+     * @format date-time
+     */
+    created_at: string;
+    datasets: {
+      /**
+       * @format date-time
+       */
+      created_at: string;
+      enable: boolean;
+      filters: {
+        key:
+          | 'created_at'
+          | 'request_content_type'
+          | 'response_content_type'
+          | 'success'
+          | 'cached'
+          | 'provider'
+          | 'model'
+          | 'cost'
+          | 'tokens'
+          | 'tokens_in'
+          | 'tokens_out'
+          | 'duration'
+          | 'feedback';
+        operator: 'eq' | 'contains' | 'lt' | 'gt';
+        value: (string | number | boolean)[];
+      }[];
+      /**
+       * gateway id
+       *
+       * @example my-gateway
+       * @maxLength 64
+       * @minLength 1
+       * @pattern ^[a-z0-9_]+(?:-[a-z0-9_]+)*$
+       */
+      gateway_id: string;
+      id: string;
+      /**
+       * @format date-time
+       */
+      modified_at: string;
+      name: string;
+    }[];
+    /**
+     * gateway id
+     *
+     * @example my-gateway
+     * @maxLength 64
+     * @minLength 1
+     * @pattern ^[a-z0-9_]+(?:-[a-z0-9_]+)*$
+     */
+    gateway_id: string;
+    id: string;
+    /**
+     * @format date-time
+     */
+    modified_at: string;
+    name: string;
+    processed: boolean;
+    results: {
+      /**
+       * @format date-time
+       */
+      created_at: string;
+      evaluation_id: string;
+      evaluation_type_id: string;
+      id: string;
+      /**
+       * @format date-time
+       */
+      modified_at: string;
+      result: string;
+      status: number;
+      status_description: string;
+      total_logs: number;
+    }[];
+    total_logs: number;
+  };
+  success: boolean;
+};
+
+export type AigConfigDeleteEvaluationsVariables = {
+  pathParams: AigConfigDeleteEvaluationsPathParams;
+} & FetcherExtraProps;
+
+export const aigConfigDeleteEvaluations = (variables: AigConfigDeleteEvaluationsVariables, signal?: AbortSignal) =>
+  fetch<
+    AigConfigDeleteEvaluationsResponse,
+    AigConfigDeleteEvaluationsError,
+    undefined,
+    {},
+    {},
+    AigConfigDeleteEvaluationsPathParams
+  >({
+    url: '/accounts/{accountId}/ai-gateway/gateways/{gatewayId}/evaluations/{id}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type AigConfigFetchEvaluationsPathParams = {
+  /**
+   * @example 3ebbcb006d4d46d7bb6a8c7f14676cb0
+   */
+  accountId: string;
+  /**
+   * @example my-gateway
+   * @maxLength 64
+   * @minLength 1
+   * @pattern ^[a-z0-9_]+(?:-[a-z0-9_]+)*$
+   */
+  gatewayId: string;
+  id: string;
+};
+
+export type AigConfigFetchEvaluationsError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    errors: {
+      /**
+       * @example 7002
+       */
+      code: number;
+      /**
+       * @example Not Found
+       */
+      message: string;
+    }[];
+    success: boolean;
+  };
+}>;
+
+export type AigConfigFetchEvaluationsResponse = {
+  result: {
+    /**
+     * @format date-time
+     */
+    created_at: string;
+    datasets: {
+      /**
+       * @format date-time
+       */
+      created_at: string;
+      enable: boolean;
+      filters: {
+        key:
+          | 'created_at'
+          | 'request_content_type'
+          | 'response_content_type'
+          | 'success'
+          | 'cached'
+          | 'provider'
+          | 'model'
+          | 'cost'
+          | 'tokens'
+          | 'tokens_in'
+          | 'tokens_out'
+          | 'duration'
+          | 'feedback';
+        operator: 'eq' | 'contains' | 'lt' | 'gt';
+        value: (string | number | boolean)[];
+      }[];
+      /**
+       * gateway id
+       *
+       * @example my-gateway
+       * @maxLength 64
+       * @minLength 1
+       * @pattern ^[a-z0-9_]+(?:-[a-z0-9_]+)*$
+       */
+      gateway_id: string;
+      id: string;
+      /**
+       * @format date-time
+       */
+      modified_at: string;
+      name: string;
+    }[];
+    /**
+     * gateway id
+     *
+     * @example my-gateway
+     * @maxLength 64
+     * @minLength 1
+     * @pattern ^[a-z0-9_]+(?:-[a-z0-9_]+)*$
+     */
+    gateway_id: string;
+    id: string;
+    /**
+     * @format date-time
+     */
+    modified_at: string;
+    name: string;
+    processed: boolean;
+    results: {
+      /**
+       * @format date-time
+       */
+      created_at: string;
+      evaluation_id: string;
+      evaluation_type_id: string;
+      id: string;
+      /**
+       * @format date-time
+       */
+      modified_at: string;
+      result: string;
+      status: number;
+      status_description: string;
+      total_logs: number;
+    }[];
+    total_logs: number;
+  };
+  success: boolean;
+};
+
+export type AigConfigFetchEvaluationsVariables = {
+  pathParams: AigConfigFetchEvaluationsPathParams;
+} & FetcherExtraProps;
+
+export const aigConfigFetchEvaluations = (variables: AigConfigFetchEvaluationsVariables, signal?: AbortSignal) =>
+  fetch<
+    AigConfigFetchEvaluationsResponse,
+    AigConfigFetchEvaluationsError,
+    undefined,
+    {},
+    {},
+    AigConfigFetchEvaluationsPathParams
+  >({
+    url: '/accounts/{accountId}/ai-gateway/gateways/{gatewayId}/evaluations/{id}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type AigConfigDeleteGatewayLogsPathParams = {
+  /**
+   * @example 0d37909e38d3e99c29fa2cd343ac421a
+   */
+  accountId: string;
+  /**
+   * @example my-gateway
+   * @maxLength 64
+   * @minLength 1
+   * @pattern ^[a-z0-9_]+(?:-[a-z0-9_]+)*$
+   */
+  gatewayId: string;
+};
+
+export type AigConfigDeleteGatewayLogsQueryParams = {
+  /**
+   * @default created_at
+   */
+  order_by?:
+    | 'created_at'
+    | 'provider'
+    | 'model'
+    | 'model_type'
+    | 'success'
+    | 'cached'
+    | 'cost'
+    | 'tokens_in'
+    | 'tokens_out'
+    | 'duration'
+    | 'feedback';
+  /**
+   * @default asc
+   */
+  order_by_direction?: 'asc' | 'desc';
+  filters?: {
+    key:
+      | 'id'
+      | 'created_at'
+      | 'request_content_type'
+      | 'response_content_type'
+      | 'success'
+      | 'cached'
+      | 'provider'
+      | 'model'
+      | 'model_type'
+      | 'cost'
+      | 'tokens'
+      | 'tokens_in'
+      | 'tokens_out'
+      | 'duration'
+      | 'feedback'
+      | 'event_id'
+      | 'request_type'
+      | 'metadata.key'
+      | 'metadata.value';
+    operator: 'eq' | 'neq' | 'contains' | 'lt' | 'gt';
+    value: ((string | null) | number | boolean)[];
+  }[];
+  /**
+   * @default 10000
+   * @maximum 10000
+   * @minimum 1
+   */
+  limit?: number;
+};
+
+export type AigConfigDeleteGatewayLogsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type AigConfigDeleteGatewayLogsResponse = {
+  success: boolean;
+};
+
+export type AigConfigDeleteGatewayLogsVariables = {
+  pathParams: AigConfigDeleteGatewayLogsPathParams;
+  queryParams?: AigConfigDeleteGatewayLogsQueryParams;
+} & FetcherExtraProps;
+
+export const aigConfigDeleteGatewayLogs = (variables: AigConfigDeleteGatewayLogsVariables, signal?: AbortSignal) =>
+  fetch<
+    AigConfigDeleteGatewayLogsResponse,
+    AigConfigDeleteGatewayLogsError,
+    undefined,
+    {},
+    AigConfigDeleteGatewayLogsQueryParams,
+    AigConfigDeleteGatewayLogsPathParams
+  >({ url: '/accounts/{accountId}/ai-gateway/gateways/{gatewayId}/logs', method: 'delete', ...variables, signal });
+
+export type AigConfigListGatewayLogsPathParams = {
+  /**
+   * @example 0d37909e38d3e99c29fa2cd343ac421a
+   */
+  accountId: string;
+  /**
+   * @example my-gateway
+   * @maxLength 64
+   * @minLength 1
+   * @pattern ^[a-z0-9_]+(?:-[a-z0-9_]+)*$
+   */
+  gatewayId: string;
+};
+
+export type AigConfigListGatewayLogsQueryParams = {
+  search?: string;
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default 20
+   * @maximum 50
+   * @minimum 1
+   */
+  per_page?: number;
+  /**
+   * @default created_at
+   */
+  order_by?: 'created_at' | 'provider' | 'model' | 'model_type' | 'success' | 'cached';
+  /**
+   * @default desc
+   */
+  order_by_direction?: 'asc' | 'desc';
+  filters?: {
+    key:
+      | 'id'
+      | 'created_at'
+      | 'request_content_type'
+      | 'response_content_type'
+      | 'success'
+      | 'cached'
+      | 'provider'
+      | 'model'
+      | 'model_type'
+      | 'cost'
+      | 'tokens'
+      | 'tokens_in'
+      | 'tokens_out'
+      | 'duration'
+      | 'feedback'
+      | 'event_id'
+      | 'request_type'
+      | 'metadata.key'
+      | 'metadata.value';
+    operator: 'eq' | 'neq' | 'contains' | 'lt' | 'gt';
+    value: ((string | null) | number | boolean)[];
+  }[];
+  meta_info?: boolean;
+  /**
+   * @deprecated true
+   */
+  direction?: 'asc' | 'desc';
+  /**
+   * @deprecated true
+   * @format date-time
+   */
+  start_date?: string;
+  /**
+   * @deprecated true
+   * @format date-time
+   */
+  end_date?: string;
+  /**
+   * @deprecated true
+   */
+  min_cost?: number;
+  /**
+   * @deprecated true
+   */
+  max_cost?: number;
+  /**
+   * @deprecated true
+   */
+  min_tokens_in?: number;
+  /**
+   * @deprecated true
+   */
+  max_tokens_in?: number;
+  /**
+   * @deprecated true
+   */
+  min_tokens_out?: number;
+  /**
+   * @deprecated true
+   */
+  max_tokens_out?: number;
+  /**
+   * @deprecated true
+   */
+  min_total_tokens?: number;
+  /**
+   * @deprecated true
+   */
+  max_total_tokens?: number;
+  /**
+   * @deprecated true
+   */
+  min_duration?: number;
+  /**
+   * @deprecated true
+   */
+  max_duration?: number;
+  /**
+   * @deprecated true
+   */
+  feedback?: -1 | 0 | 1;
+  /**
+   * @deprecated true
+   */
+  success?: boolean;
+  /**
+   * @deprecated true
+   */
+  cached?: boolean;
+  /**
+   * @deprecated true
+   */
+  model?: string;
+  /**
+   * @deprecated true
+   */
+  model_type?: string;
+  /**
+   * @deprecated true
+   */
+  provider?: string;
+  /**
+   * @deprecated true
+   */
+  request_content_type?: string;
+  /**
+   * @deprecated true
+   */
+  response_content_type?: string;
+};
+
+export type AigConfigListGatewayLogsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type AigConfigListGatewayLogsResponse = {
+  result: {
+    cached: boolean;
+    cost?: number;
+    /**
+     * @format date-time
+     */
+    created_at: string;
+    custom_cost?: boolean;
+    duration: number;
+    id: string;
+    metadata?: string;
+    model: string;
+    model_type?: string;
+    path: string;
+    provider: string;
+    request_content_type?: string;
+    request_type?: string;
+    response_content_type?: string;
+    status_code?: number;
+    step?: number;
+    success: boolean;
+    tokens_in: number | null;
+    tokens_out: number | null;
+  }[];
+  result_info: {
+    count?: number;
+    max_cost?: number;
+    max_duration?: number;
+    max_tokens_in?: number;
+    max_tokens_out?: number;
+    max_total_tokens?: number;
+    min_cost?: number;
+    min_duration?: number;
+    min_tokens_in?: number;
+    min_tokens_out?: number;
+    min_total_tokens?: number;
+    page?: number;
+    per_page?: number;
+    total_count?: number;
+  };
+  success: boolean;
+};
+
+export type AigConfigListGatewayLogsVariables = {
+  pathParams: AigConfigListGatewayLogsPathParams;
+  queryParams?: AigConfigListGatewayLogsQueryParams;
+} & FetcherExtraProps;
+
+export const aigConfigListGatewayLogs = (variables: AigConfigListGatewayLogsVariables, signal?: AbortSignal) =>
+  fetch<
+    AigConfigListGatewayLogsResponse,
+    AigConfigListGatewayLogsError,
+    undefined,
+    {},
+    AigConfigListGatewayLogsQueryParams,
+    AigConfigListGatewayLogsPathParams
+  >({ url: '/accounts/{accountId}/ai-gateway/gateways/{gatewayId}/logs', method: 'get', ...variables, signal });
+
+export type AigConfigGetGatewayLogDetailPathParams = {
+  id: string;
+  /**
+   * @example my-gateway
+   * @maxLength 64
+   * @minLength 1
+   * @pattern ^[a-z0-9_]+(?:-[a-z0-9_]+)*$
+   */
+  gatewayId: string;
+  /**
+   * @example 0d37909e38d3e99c29fa2cd343ac421a
+   */
+  accountId: string;
+};
+
+export type AigConfigGetGatewayLogDetailError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    errors: {
+      /**
+       * @example 7002
+       */
+      code: number;
+      /**
+       * @example Not Found
+       */
+      message: string;
+    }[];
+    success: boolean;
+  };
+}>;
+
+export type AigConfigGetGatewayLogDetailResponse = {
+  result: {
+    cached: boolean;
+    cost?: number;
+    /**
+     * @format date-time
+     */
+    created_at: string;
+    custom_cost?: boolean;
+    duration: number;
+    id: string;
+    metadata?: string;
+    model: string;
+    model_type?: string;
+    path: string;
+    provider: string;
+    request_content_type?: string;
+    request_head?: string;
+    request_head_complete?: boolean;
+    request_size?: number;
+    request_type?: string;
+    response_content_type?: string;
+    response_head?: string;
+    response_head_complete?: boolean;
+    response_size?: number;
+    status_code?: number;
+    step?: number;
+    success: boolean;
+    tokens_in: number | null;
+    tokens_out: number | null;
+  };
+  success: boolean;
+};
+
+export type AigConfigGetGatewayLogDetailVariables = {
+  pathParams: AigConfigGetGatewayLogDetailPathParams;
+} & FetcherExtraProps;
+
+export const aigConfigGetGatewayLogDetail = (variables: AigConfigGetGatewayLogDetailVariables, signal?: AbortSignal) =>
+  fetch<
+    AigConfigGetGatewayLogDetailResponse,
+    AigConfigGetGatewayLogDetailError,
+    undefined,
+    {},
+    {},
+    AigConfigGetGatewayLogDetailPathParams
+  >({ url: '/accounts/{accountId}/ai-gateway/gateways/{gatewayId}/logs/{id}', method: 'get', ...variables, signal });
+
+export type AigConfigPatchGatewayLogPathParams = {
+  id: string;
+  /**
+   * @example my-gateway
+   * @maxLength 64
+   * @minLength 1
+   * @pattern ^[a-z0-9_]+(?:-[a-z0-9_]+)*$
+   */
+  gatewayId: string;
+  /**
+   * @example 0d37909e38d3e99c29fa2cd343ac421a
+   */
+  accountId: string;
+};
+
+export type AigConfigPatchGatewayLogError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    errors: {
+      /**
+       * @example 7002
+       */
+      code: number;
+      /**
+       * @example Not Found
+       */
+      message: string;
+    }[];
+    success: boolean;
+  };
+}>;
+
+export type AigConfigPatchGatewayLogResponse = {
+  result: Record<string, any>;
+  success: boolean;
+};
+
+export type AigConfigPatchGatewayLogRequestBody = {
+  /**
+   * @maximum 1
+   * @minimum -1
+   */
+  feedback?: number | null;
+  metadata?: {
+    [key: string]: string | number | boolean;
+  } | null;
+  /**
+   * @maximum 100
+   * @minimum 0
+   */
+  score?: number | null;
+};
+
+export type AigConfigPatchGatewayLogVariables = {
+  body?: AigConfigPatchGatewayLogRequestBody;
+  pathParams: AigConfigPatchGatewayLogPathParams;
+} & FetcherExtraProps;
+
+export const aigConfigPatchGatewayLog = (variables: AigConfigPatchGatewayLogVariables, signal?: AbortSignal) =>
+  fetch<
+    AigConfigPatchGatewayLogResponse,
+    AigConfigPatchGatewayLogError,
+    AigConfigPatchGatewayLogRequestBody,
+    {},
+    {},
+    AigConfigPatchGatewayLogPathParams
+  >({ url: '/accounts/{accountId}/ai-gateway/gateways/{gatewayId}/logs/{id}', method: 'patch', ...variables, signal });
+
+export type AigConfigGetGatewayLogRequestPathParams = {
+  id: string;
+  /**
+   * @example my-gateway
+   * @maxLength 64
+   * @minLength 1
+   * @pattern ^[a-z0-9_]+(?:-[a-z0-9_]+)*$
+   */
+  gatewayId: string;
+  /**
+   * @example 0d37909e38d3e99c29fa2cd343ac421a
+   */
+  accountId: string;
+};
+
+export type AigConfigGetGatewayLogRequestError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    errors: {
+      /**
+       * @example 7002
+       */
+      code: number;
+      /**
+       * @example Not Found
+       */
+      message: string;
+    }[];
+    success: boolean;
+  };
+}>;
+
+export type AigConfigGetGatewayLogRequestVariables = {
+  pathParams: AigConfigGetGatewayLogRequestPathParams;
+} & FetcherExtraProps;
+
+export const aigConfigGetGatewayLogRequest = (
+  variables: AigConfigGetGatewayLogRequestVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Record<string, any>,
+    AigConfigGetGatewayLogRequestError,
+    undefined,
+    {},
+    {},
+    AigConfigGetGatewayLogRequestPathParams
+  >({
+    url: '/accounts/{accountId}/ai-gateway/gateways/{gatewayId}/logs/{id}/request',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type AigConfigGetGatewayLogResponsePathParams = {
+  id: string;
+  /**
+   * @example my-gateway
+   * @maxLength 64
+   * @minLength 1
+   * @pattern ^[a-z0-9_]+(?:-[a-z0-9_]+)*$
+   */
+  gatewayId: string;
+  /**
+   * @example 0d37909e38d3e99c29fa2cd343ac421a
+   */
+  accountId: string;
+};
+
+export type AigConfigGetGatewayLogResponseError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    errors: {
+      /**
+       * @example 7002
+       */
+      code: number;
+      /**
+       * @example Not Found
+       */
+      message: string;
+    }[];
+    success: boolean;
+  };
+}>;
+
+export type AigConfigGetGatewayLogResponseVariables = {
+  pathParams: AigConfigGetGatewayLogResponsePathParams;
+} & FetcherExtraProps;
+
+export const aigConfigGetGatewayLogResponse = (
+  variables: AigConfigGetGatewayLogResponseVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Record<string, any>,
+    AigConfigGetGatewayLogResponseError,
+    undefined,
+    {},
+    {},
+    AigConfigGetGatewayLogResponsePathParams
+  >({
+    url: '/accounts/{accountId}/ai-gateway/gateways/{gatewayId}/logs/{id}/response',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type AigConfigDeleteGatewayPathParams = {
+  /**
+   * @example 3ebbcb006d4d46d7bb6a8c7f14676cb0
+   */
+  accountId: string;
+  /**
+   * @example my-gateway
+   * @maxLength 64
+   * @minLength 1
+   * @pattern ^[a-z0-9_]+(?:-[a-z0-9_]+)*$
+   */
+  id: string;
+};
+
+export type AigConfigDeleteGatewayError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    errors: {
+      /**
+       * @example 7002
+       */
+      code: number;
+      /**
+       * @example Not Found
+       */
+      message: string;
+    }[];
+    success: boolean;
+  };
+}>;
+
+export type AigConfigDeleteGatewayResponse = {
+  result: {
+    cache_invalidate_on_update: boolean;
+    /**
+     * @minimum 0
+     */
+    cache_ttl: number | null;
+    collect_logs: boolean;
+    /**
+     * @format date-time
+     */
+    created_at: string;
+    /**
+     * gateway id
+     *
+     * @example my-gateway
+     * @maxLength 64
+     * @minLength 1
+     * @pattern ^[a-z0-9_]+(?:-[a-z0-9_]+)*$
+     */
+    id: string;
+    logpush?: boolean;
+    /**
+     * @maxLength 1024
+     * @minLength 16
+     */
+    logpush_public_key?: string | null;
+    /**
+     * @format date-time
+     */
+    modified_at: string;
+    /**
+     * @minimum 0
+     */
+    rate_limiting_interval: number | null;
+    /**
+     * @minimum 0
+     */
+    rate_limiting_limit: number | null;
+    rate_limiting_technique: 'fixed' | 'sliding';
+  };
+  success: boolean;
+};
+
+export type AigConfigDeleteGatewayVariables = {
+  pathParams: AigConfigDeleteGatewayPathParams;
+} & FetcherExtraProps;
+
+export const aigConfigDeleteGateway = (variables: AigConfigDeleteGatewayVariables, signal?: AbortSignal) =>
+  fetch<
+    AigConfigDeleteGatewayResponse,
+    AigConfigDeleteGatewayError,
+    undefined,
+    {},
+    {},
+    AigConfigDeleteGatewayPathParams
+  >({ url: '/accounts/{accountId}/ai-gateway/gateways/{id}', method: 'delete', ...variables, signal });
+
+export type AigConfigFetchGatewayPathParams = {
+  /**
+   * @example 3ebbcb006d4d46d7bb6a8c7f14676cb0
+   */
+  accountId: string;
+  /**
+   * @example my-gateway
+   * @maxLength 64
+   * @minLength 1
+   * @pattern ^[a-z0-9_]+(?:-[a-z0-9_]+)*$
+   */
+  id: string;
+};
+
+export type AigConfigFetchGatewayError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    errors: {
+      /**
+       * @example 7002
+       */
+      code: number;
+      /**
+       * @example Not Found
+       */
+      message: string;
+    }[];
+    success: boolean;
+  };
+}>;
+
+export type AigConfigFetchGatewayResponse = {
+  result: {
+    cache_invalidate_on_update: boolean;
+    /**
+     * @minimum 0
+     */
+    cache_ttl: number | null;
+    collect_logs: boolean;
+    /**
+     * @format date-time
+     */
+    created_at: string;
+    /**
+     * gateway id
+     *
+     * @example my-gateway
+     * @maxLength 64
+     * @minLength 1
+     * @pattern ^[a-z0-9_]+(?:-[a-z0-9_]+)*$
+     */
+    id: string;
+    logpush?: boolean;
+    /**
+     * @maxLength 1024
+     * @minLength 16
+     */
+    logpush_public_key?: string | null;
+    /**
+     * @format date-time
+     */
+    modified_at: string;
+    /**
+     * @minimum 0
+     */
+    rate_limiting_interval: number | null;
+    /**
+     * @minimum 0
+     */
+    rate_limiting_limit: number | null;
+    rate_limiting_technique: 'fixed' | 'sliding';
+  };
+  success: boolean;
+};
+
+export type AigConfigFetchGatewayVariables = {
+  pathParams: AigConfigFetchGatewayPathParams;
+} & FetcherExtraProps;
+
+export const aigConfigFetchGateway = (variables: AigConfigFetchGatewayVariables, signal?: AbortSignal) =>
+  fetch<AigConfigFetchGatewayResponse, AigConfigFetchGatewayError, undefined, {}, {}, AigConfigFetchGatewayPathParams>({
+    url: '/accounts/{accountId}/ai-gateway/gateways/{id}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type AigConfigUpdateGatewayPathParams = {
+  /**
+   * @example 3ebbcb006d4d46d7bb6a8c7f14676cb0
+   */
+  accountId: string;
+  /**
+   * @example my-gateway
+   * @maxLength 64
+   * @minLength 1
+   * @pattern ^[a-z0-9_]+(?:-[a-z0-9_]+)*$
+   */
+  id: string;
+};
+
+export type AigConfigUpdateGatewayError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: {
+        errors: {
+          /**
+           * @example 7001
+           */
+          code: number;
+          /**
+           * @example Input Validation Error
+           */
+          message: string;
+          path: string[];
+        }[];
+        success: boolean;
+      };
+    }
+  | {
+      status: 404;
+      payload: {
+        errors: {
+          /**
+           * @example 7002
+           */
+          code: number;
+          /**
+           * @example Not Found
+           */
+          message: string;
+        }[];
+        success: boolean;
+      };
+    }
+>;
+
+export type AigConfigUpdateGatewayResponse = {
+  result: {
+    cache_invalidate_on_update: boolean;
+    /**
+     * @minimum 0
+     */
+    cache_ttl: number | null;
+    collect_logs: boolean;
+    /**
+     * @format date-time
+     */
+    created_at: string;
+    /**
+     * gateway id
+     *
+     * @example my-gateway
+     * @maxLength 64
+     * @minLength 1
+     * @pattern ^[a-z0-9_]+(?:-[a-z0-9_]+)*$
+     */
+    id: string;
+    logpush?: boolean;
+    /**
+     * @maxLength 1024
+     * @minLength 16
+     */
+    logpush_public_key?: string | null;
+    /**
+     * @format date-time
+     */
+    modified_at: string;
+    /**
+     * @minimum 0
+     */
+    rate_limiting_interval: number | null;
+    /**
+     * @minimum 0
+     */
+    rate_limiting_limit: number | null;
+    rate_limiting_technique: 'fixed' | 'sliding';
+  };
+  success: boolean;
+};
+
+export type AigConfigUpdateGatewayRequestBody = {
+  cache_invalidate_on_update: boolean;
+  /**
+   * @minimum 0
+   */
+  cache_ttl: number | null;
+  collect_logs: boolean;
+  logpush?: boolean;
+  /**
+   * @maxLength 1024
+   * @minLength 16
+   */
+  logpush_public_key?: string | null;
+  /**
+   * @minimum 0
+   */
+  rate_limiting_interval: number | null;
+  /**
+   * @minimum 0
+   */
+  rate_limiting_limit: number | null;
+  rate_limiting_technique: 'fixed' | 'sliding';
+};
+
+export type AigConfigUpdateGatewayVariables = {
+  body: AigConfigUpdateGatewayRequestBody;
+  pathParams: AigConfigUpdateGatewayPathParams;
+} & FetcherExtraProps;
+
+export const aigConfigUpdateGateway = (variables: AigConfigUpdateGatewayVariables, signal?: AbortSignal) =>
+  fetch<
+    AigConfigUpdateGatewayResponse,
+    AigConfigUpdateGatewayError,
+    AigConfigUpdateGatewayRequestBody,
+    {},
+    {},
+    AigConfigUpdateGatewayPathParams
+  >({ url: '/accounts/{accountId}/ai-gateway/gateways/{id}', method: 'put', ...variables, signal });
+
+export type WorkersAiSearchAuthorPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiSearchAuthorError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    error: string;
+    success: boolean;
+  };
+}>;
+
+export type WorkersAiSearchAuthorResponse = {
+  errors: Record<string, any>[];
+  messages: Record<string, any>[];
+  result: Record<string, any>[];
+  success: boolean;
+};
+
+export type WorkersAiSearchAuthorVariables = {
+  pathParams: WorkersAiSearchAuthorPathParams;
+} & FetcherExtraProps;
+
+export const workersAiSearchAuthor = (variables: WorkersAiSearchAuthorVariables, signal?: AbortSignal) =>
+  fetch<WorkersAiSearchAuthorResponse, WorkersAiSearchAuthorError, undefined, {}, {}, WorkersAiSearchAuthorPathParams>({
+    url: '/accounts/{accountId}/ai/authors/search',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type WorkersAiListFinetunesPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiListFinetunesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type WorkersAiListFinetunesResponse = {
+  result: {
+    /**
+     * @format date-time
+     */
+    created_at: string;
+    description?: string;
+    /**
+     * @format uuid
+     */
+    id: string;
+    model: string;
+    /**
+     * @format date-time
+     */
+    modified_at: string;
+    name: string;
+  };
+  success: boolean;
+};
+
+export type WorkersAiListFinetunesVariables = {
+  pathParams: WorkersAiListFinetunesPathParams;
+} & FetcherExtraProps;
+
+export const workersAiListFinetunes = (variables: WorkersAiListFinetunesVariables, signal?: AbortSignal) =>
+  fetch<
+    WorkersAiListFinetunesResponse,
+    WorkersAiListFinetunesError,
+    undefined,
+    {},
+    {},
+    WorkersAiListFinetunesPathParams
+  >({ url: '/accounts/{accountId}/ai/finetunes', method: 'get', ...variables, signal });
+
+export type WorkersAiCreateFinetunePathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiCreateFinetuneError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: string;
+    success: boolean;
+  };
+}>;
+
+export type WorkersAiCreateFinetuneResponse = {
+  result: {
+    /**
+     * @format date-time
+     */
+    created_at: string;
+    description?: string;
+    /**
+     * @format uuid
+     */
+    id: string;
+    model: string;
+    /**
+     * @format date-time
+     */
+    modified_at: string;
+    name: string;
+    public: boolean;
+  };
+  success: boolean;
+};
+
+export type WorkersAiCreateFinetuneRequestBody = {
+  description?: string;
+  model: string;
+  name: string;
+  public?: boolean;
+};
+
+export type WorkersAiCreateFinetuneVariables = {
+  body: WorkersAiCreateFinetuneRequestBody;
+  pathParams: WorkersAiCreateFinetunePathParams;
+} & FetcherExtraProps;
+
+export const workersAiCreateFinetune = (variables: WorkersAiCreateFinetuneVariables, signal?: AbortSignal) =>
+  fetch<
+    WorkersAiCreateFinetuneResponse,
+    WorkersAiCreateFinetuneError,
+    WorkersAiCreateFinetuneRequestBody,
+    {},
+    {},
+    WorkersAiCreateFinetunePathParams
+  >({ url: '/accounts/{accountId}/ai/finetunes', method: 'post', ...variables, signal });
+
+export type WorkersAiListPublicFinetunesPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiListPublicFinetunesQueryParams = {
+  /**
+   * Pagination Limit
+   */
+  limit?: number;
+  /**
+   * Pagination Offset
+   */
+  offset?: number;
+  /**
+   * Order By Column Name
+   */
+  orderBy?: string;
+};
+
+export type WorkersAiListPublicFinetunesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type WorkersAiListPublicFinetunesResponse = {
+  result: {
+    /**
+     * @format date-time
+     */
+    created_at: string;
+    description?: string;
+    /**
+     * @format uuid
+     */
+    id: string;
+    model: string;
+    /**
+     * @format date-time
+     */
+    modified_at: string;
+    name: string;
+    public: boolean;
+  }[];
+  success: boolean;
+};
+
+export type WorkersAiListPublicFinetunesVariables = {
+  pathParams: WorkersAiListPublicFinetunesPathParams;
+  queryParams?: WorkersAiListPublicFinetunesQueryParams;
+} & FetcherExtraProps;
+
+export const workersAiListPublicFinetunes = (variables: WorkersAiListPublicFinetunesVariables, signal?: AbortSignal) =>
+  fetch<
+    WorkersAiListPublicFinetunesResponse,
+    WorkersAiListPublicFinetunesError,
+    undefined,
+    {},
+    WorkersAiListPublicFinetunesQueryParams,
+    WorkersAiListPublicFinetunesPathParams
+  >({ url: '/accounts/{accountId}/ai/finetunes/public', method: 'get', ...variables, signal });
+
+export type WorkersAiUploadFinetuneAssetPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+  /**
+   * @example bc451aef-f723-4b26-a6b2-901afd2e7a8a
+   */
+  finetuneId: string;
+};
+
+export type WorkersAiUploadFinetuneAssetError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: string;
+    success: boolean;
+  };
+}>;
+
+export type WorkersAiUploadFinetuneAssetResponse = {
+  result: {
+    bucket_name: string;
+    /**
+     * @format date-time
+     */
+    created_at: string;
+    file_name: string;
+    /**
+     * @example bc451aef-f723-4b26-a6b2-901afd2e7a8a
+     */
+    finetune_id: string;
+    /**
+     * @format uuid
+     */
+    id: string;
+    /**
+     * @format date-time
+     */
+    modified_at: string;
+  };
+  success: boolean;
+};
+
+export type WorkersAiUploadFinetuneAssetRequestBody = {
+  /**
+   * @format binary
+   */
+  file?: Blob;
+  file_name?: string;
+};
+
+export type WorkersAiUploadFinetuneAssetVariables = {
+  body?: WorkersAiUploadFinetuneAssetRequestBody;
+  pathParams: WorkersAiUploadFinetuneAssetPathParams;
+} & FetcherExtraProps;
+
+export const workersAiUploadFinetuneAsset = (variables: WorkersAiUploadFinetuneAssetVariables, signal?: AbortSignal) =>
+  fetch<
+    WorkersAiUploadFinetuneAssetResponse,
+    WorkersAiUploadFinetuneAssetError,
+    WorkersAiUploadFinetuneAssetRequestBody,
+    {},
+    {},
+    WorkersAiUploadFinetuneAssetPathParams
+  >({ url: '/accounts/{accountId}/ai/finetunes/{finetuneId}/finetune-assets', method: 'post', ...variables, signal });
+
+export type WorkersAiGetModelSchemaPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiGetModelSchemaQueryParams = {
+  /**
+   * Model Name
+   */
+  model: string;
+};
+
+export type WorkersAiGetModelSchemaError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type WorkersAiGetModelSchemaResponse = {
+  result: Record<string, any>;
+  success: boolean;
+};
+
+export type WorkersAiGetModelSchemaVariables = {
+  pathParams: WorkersAiGetModelSchemaPathParams;
+  queryParams: WorkersAiGetModelSchemaQueryParams;
+} & FetcherExtraProps;
+
+export const workersAiGetModelSchema = (variables: WorkersAiGetModelSchemaVariables, signal?: AbortSignal) =>
+  fetch<
+    WorkersAiGetModelSchemaResponse,
+    WorkersAiGetModelSchemaError,
+    undefined,
+    {},
+    WorkersAiGetModelSchemaQueryParams,
+    WorkersAiGetModelSchemaPathParams
+  >({ url: '/accounts/{accountId}/ai/models/schema', method: 'get', ...variables, signal });
+
+export type WorkersAiSearchModelPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiSearchModelQueryParams = {
+  per_page?: number;
+  page?: number;
+  /**
+   * Filter by Task Name
+   *
+   * @example Text Generation
+   */
+  task?: string;
+  /**
+   * Filter by Author
+   */
+  author?: string;
+  /**
+   * Filter by Source Id
+   */
+  source?: number;
+  /**
+   * Filter to hide experimental models
+   */
+  hide_experimental?: boolean;
+  /**
+   * Search
+   */
+  search?: string;
+};
+
+export type WorkersAiSearchModelError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    error: string;
+    success: boolean;
+  };
+}>;
+
+export type WorkersAiSearchModelResponse = {
+  errors: Record<string, any>[];
+  messages: Record<string, any>[];
+  result: Record<string, any>[];
+  success: boolean;
+};
+
+export type WorkersAiSearchModelVariables = {
+  pathParams: WorkersAiSearchModelPathParams;
+  queryParams?: WorkersAiSearchModelQueryParams;
+} & FetcherExtraProps;
+
+export const workersAiSearchModel = (variables: WorkersAiSearchModelVariables, signal?: AbortSignal) =>
+  fetch<
+    WorkersAiSearchModelResponse,
+    WorkersAiSearchModelError,
+    undefined,
+    {},
+    WorkersAiSearchModelQueryParams,
+    WorkersAiSearchModelPathParams
+  >({ url: '/accounts/{accountId}/ai/models/search', method: 'get', ...variables, signal });
+
+export type WorkersAiPostRunCfBaaiBgeBaseEnV15PathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfBaaiBgeBaseEnV15Error = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfBaaiBgeBaseEnV15Response = {
+  result?: {
+    /**
+     * Embeddings of the requested text values
+     */
+    data?: number[][];
+    shape?: number[];
+  };
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfBaaiBgeBaseEnV15RequestBody = {
+  text: string | string[];
+};
+
+export type WorkersAiPostRunCfBaaiBgeBaseEnV15Variables = {
+  body: WorkersAiPostRunCfBaaiBgeBaseEnV15RequestBody;
+  pathParams: WorkersAiPostRunCfBaaiBgeBaseEnV15PathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfBaaiBgeBaseEnV15 = (
+  variables: WorkersAiPostRunCfBaaiBgeBaseEnV15Variables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfBaaiBgeBaseEnV15Response,
+    WorkersAiPostRunCfBaaiBgeBaseEnV15Error,
+    WorkersAiPostRunCfBaaiBgeBaseEnV15RequestBody,
+    {},
+    {},
+    WorkersAiPostRunCfBaaiBgeBaseEnV15PathParams
+  >({ url: '/accounts/{accountId}/ai/run/@cf/baai/bge-base-en-v1.5', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunCfBaaiBgeLargeEnV15PathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfBaaiBgeLargeEnV15Error = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfBaaiBgeLargeEnV15Response = {
+  result?: {
+    /**
+     * Embeddings of the requested text values
+     */
+    data?: number[][];
+    shape?: number[];
+  };
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfBaaiBgeLargeEnV15RequestBody = {
+  text: string | string[];
+};
+
+export type WorkersAiPostRunCfBaaiBgeLargeEnV15Variables = {
+  body: WorkersAiPostRunCfBaaiBgeLargeEnV15RequestBody;
+  pathParams: WorkersAiPostRunCfBaaiBgeLargeEnV15PathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfBaaiBgeLargeEnV15 = (
+  variables: WorkersAiPostRunCfBaaiBgeLargeEnV15Variables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfBaaiBgeLargeEnV15Response,
+    WorkersAiPostRunCfBaaiBgeLargeEnV15Error,
+    WorkersAiPostRunCfBaaiBgeLargeEnV15RequestBody,
+    {},
+    {},
+    WorkersAiPostRunCfBaaiBgeLargeEnV15PathParams
+  >({ url: '/accounts/{accountId}/ai/run/@cf/baai/bge-large-en-v1.5', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunCfBaaiBgeSmallEnV15PathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfBaaiBgeSmallEnV15Error = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfBaaiBgeSmallEnV15Response = {
+  result?: {
+    /**
+     * Embeddings of the requested text values
+     */
+    data?: number[][];
+    shape?: number[];
+  };
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfBaaiBgeSmallEnV15RequestBody = {
+  text: string | string[];
+};
+
+export type WorkersAiPostRunCfBaaiBgeSmallEnV15Variables = {
+  body: WorkersAiPostRunCfBaaiBgeSmallEnV15RequestBody;
+  pathParams: WorkersAiPostRunCfBaaiBgeSmallEnV15PathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfBaaiBgeSmallEnV15 = (
+  variables: WorkersAiPostRunCfBaaiBgeSmallEnV15Variables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfBaaiBgeSmallEnV15Response,
+    WorkersAiPostRunCfBaaiBgeSmallEnV15Error,
+    WorkersAiPostRunCfBaaiBgeSmallEnV15RequestBody,
+    {},
+    {},
+    WorkersAiPostRunCfBaaiBgeSmallEnV15PathParams
+  >({ url: '/accounts/{accountId}/ai/run/@cf/baai/bge-small-en-v1.5', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunCfBlackForestLabsFlux1SchnellPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfBlackForestLabsFlux1SchnellError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfBlackForestLabsFlux1SchnellResponse = {
+  result?: {
+    /**
+     * The generated image in Base64 format.
+     */
+    image?: string;
+  };
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfBlackForestLabsFlux1SchnellRequestBody = {
+  /**
+   * A text description of the image you want to generate.
+   *
+   * @maxLength 2048
+   * @minLength 1
+   */
+  prompt: string;
+  /**
+   * The number of diffusion steps; higher values can improve quality but take longer.
+   *
+   * @default 4
+   * @maximum 8
+   */
+  steps?: number;
+};
+
+export type WorkersAiPostRunCfBlackForestLabsFlux1SchnellVariables = {
+  body: WorkersAiPostRunCfBlackForestLabsFlux1SchnellRequestBody;
+  pathParams: WorkersAiPostRunCfBlackForestLabsFlux1SchnellPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfBlackForestLabsFlux1Schnell = (
+  variables: WorkersAiPostRunCfBlackForestLabsFlux1SchnellVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfBlackForestLabsFlux1SchnellResponse,
+    WorkersAiPostRunCfBlackForestLabsFlux1SchnellError,
+    WorkersAiPostRunCfBlackForestLabsFlux1SchnellRequestBody,
+    {},
+    {},
+    WorkersAiPostRunCfBlackForestLabsFlux1SchnellPathParams
+  >({ url: '/accounts/{accountId}/ai/run/@cf/black-forest-labs/flux-1-schnell', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunCfBytedanceStableDiffusionXlLightningPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfBytedanceStableDiffusionXlLightningError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfBytedanceStableDiffusionXlLightningRequestBody = {
+  /**
+   * Controls how closely the generated image should adhere to the prompt; higher values make the image more aligned with the prompt
+   *
+   * @default 7.5
+   */
+  guidance?: number;
+  /**
+   * The height of the generated image in pixels
+   *
+   * @maximum 2048
+   * @minimum 256
+   */
+  height?: number;
+  /**
+   * For use with img2img tasks. An array of integers that represent the image data constrained to 8-bit unsigned integer values
+   */
+  image?: number[];
+  /**
+   * For use with img2img tasks. A base64-encoded string of the input image
+   */
+  image_b64?: string;
+  /**
+   * An array representing An array of integers that represent mask image data for inpainting constrained to 8-bit unsigned integer values
+   */
+  mask?: number[];
+  /**
+   * Text describing elements to avoid in the generated image
+   */
+  negative_prompt?: string;
+  /**
+   * The number of diffusion steps; higher values can improve quality but take longer
+   *
+   * @default 20
+   * @maximum 20
+   */
+  num_steps?: number;
+  /**
+   * A text description of the image you want to generate
+   *
+   * @minLength 1
+   */
+  prompt: string;
+  /**
+   * Random seed for reproducibility of the image generation
+   */
+  seed?: number;
+  /**
+   * A value between 0 and 1 indicating how strongly to apply the transformation during img2img tasks; lower values make the output closer to the input image
+   *
+   * @default 1
+   */
+  strength?: number;
+  /**
+   * The width of the generated image in pixels
+   *
+   * @maximum 2048
+   * @minimum 256
+   */
+  width?: number;
+};
+
+export type WorkersAiPostRunCfBytedanceStableDiffusionXlLightningVariables = {
+  body: WorkersAiPostRunCfBytedanceStableDiffusionXlLightningRequestBody;
+  pathParams: WorkersAiPostRunCfBytedanceStableDiffusionXlLightningPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfBytedanceStableDiffusionXlLightning = (
+  variables: WorkersAiPostRunCfBytedanceStableDiffusionXlLightningVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    undefined,
+    WorkersAiPostRunCfBytedanceStableDiffusionXlLightningError,
+    WorkersAiPostRunCfBytedanceStableDiffusionXlLightningRequestBody,
+    {},
+    {},
+    WorkersAiPostRunCfBytedanceStableDiffusionXlLightningPathParams
+  >({
+    url: '/accounts/{accountId}/ai/run/@cf/bytedance/stable-diffusion-xl-lightning',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type WorkersAiPostRunCfDeepseekAiDeepseekMath7bInstructPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfDeepseekAiDeepseekMath7bInstructError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfDeepseekAiDeepseekMath7bInstructResponse = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfDeepseekAiDeepseekMath7bInstructVariables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunCfDeepseekAiDeepseekMath7bInstructPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfDeepseekAiDeepseekMath7bInstruct = (
+  variables: WorkersAiPostRunCfDeepseekAiDeepseekMath7bInstructVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfDeepseekAiDeepseekMath7bInstructResponse,
+    WorkersAiPostRunCfDeepseekAiDeepseekMath7bInstructError,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunCfDeepseekAiDeepseekMath7bInstructPathParams
+  >({
+    url: '/accounts/{accountId}/ai/run/@cf/deepseek-ai/deepseek-math-7b-instruct',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type WorkersAiPostRunCfDefogSqlcoder7b2PathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfDefogSqlcoder7b2Error = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfDefogSqlcoder7b2Response = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfDefogSqlcoder7b2Variables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunCfDefogSqlcoder7b2PathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfDefogSqlcoder7b2 = (
+  variables: WorkersAiPostRunCfDefogSqlcoder7b2Variables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfDefogSqlcoder7b2Response,
+    WorkersAiPostRunCfDefogSqlcoder7b2Error,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunCfDefogSqlcoder7b2PathParams
+  >({ url: '/accounts/{accountId}/ai/run/@cf/defog/sqlcoder-7b-2', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunCfFacebookBartLargeCnnPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfFacebookBartLargeCnnError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfFacebookBartLargeCnnResponse = {
+  result?: {
+    /**
+     * The summarized version of the input text
+     */
+    summary?: string;
+  };
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfFacebookBartLargeCnnRequestBody = {
+  /**
+   * The text that you want the model to summarize
+   *
+   * @minLength 1
+   */
+  input_text: string;
+  /**
+   * The maximum length of the generated summary in tokens
+   *
+   * @default 1024
+   */
+  max_length?: number;
+};
+
+export type WorkersAiPostRunCfFacebookBartLargeCnnVariables = {
+  body: WorkersAiPostRunCfFacebookBartLargeCnnRequestBody;
+  pathParams: WorkersAiPostRunCfFacebookBartLargeCnnPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfFacebookBartLargeCnn = (
+  variables: WorkersAiPostRunCfFacebookBartLargeCnnVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfFacebookBartLargeCnnResponse,
+    WorkersAiPostRunCfFacebookBartLargeCnnError,
+    WorkersAiPostRunCfFacebookBartLargeCnnRequestBody,
+    {},
+    {},
+    WorkersAiPostRunCfFacebookBartLargeCnnPathParams
+  >({ url: '/accounts/{accountId}/ai/run/@cf/facebook/bart-large-cnn', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunCfFacebookDetrResnet50PathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfFacebookDetrResnet50Error = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfFacebookDetrResnet50Response = {
+  /**
+   * An array of detected objects within the input image
+   */
+  result?: {
+    /**
+     * Coordinates defining the bounding box around the detected object
+     */
+    box?: {
+      /**
+       * The x-coordinate of the bottom-right corner of the bounding box
+       */
+      xmax?: number;
+      /**
+       * The x-coordinate of the top-left corner of the bounding box
+       */
+      xmin?: number;
+      /**
+       * The y-coordinate of the bottom-right corner of the bounding box
+       */
+      ymax?: number;
+      /**
+       * The y-coordinate of the top-left corner of the bounding box
+       */
+      ymin?: number;
+    };
+    /**
+     * The class label or name of the detected object
+     */
+    label?: string;
+    /**
+     * Confidence score indicating the likelihood that the detection is correct
+     */
+    score?: number;
+  }[];
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfFacebookDetrResnet50Variables = {
+  body?: Blob;
+  pathParams: WorkersAiPostRunCfFacebookDetrResnet50PathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfFacebookDetrResnet50 = (
+  variables: WorkersAiPostRunCfFacebookDetrResnet50Variables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfFacebookDetrResnet50Response,
+    WorkersAiPostRunCfFacebookDetrResnet50Error,
+    Blob,
+    {},
+    {},
+    WorkersAiPostRunCfFacebookDetrResnet50PathParams
+  >({ url: '/accounts/{accountId}/ai/run/@cf/facebook/detr-resnet-50', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunCfFblgitUnaCybertron7bV2Bf16PathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfFblgitUnaCybertron7bV2Bf16Error = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfFblgitUnaCybertron7bV2Bf16Response = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfFblgitUnaCybertron7bV2Bf16Variables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunCfFblgitUnaCybertron7bV2Bf16PathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfFblgitUnaCybertron7bV2Bf16 = (
+  variables: WorkersAiPostRunCfFblgitUnaCybertron7bV2Bf16Variables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfFblgitUnaCybertron7bV2Bf16Response,
+    WorkersAiPostRunCfFblgitUnaCybertron7bV2Bf16Error,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunCfFblgitUnaCybertron7bV2Bf16PathParams
+  >({ url: '/accounts/{accountId}/ai/run/@cf/fblgit/una-cybertron-7b-v2-bf16', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunCfGoogleGemma2bItLoraPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfGoogleGemma2bItLoraError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfGoogleGemma2bItLoraResponse = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfGoogleGemma2bItLoraVariables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunCfGoogleGemma2bItLoraPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfGoogleGemma2bItLora = (
+  variables: WorkersAiPostRunCfGoogleGemma2bItLoraVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfGoogleGemma2bItLoraResponse,
+    WorkersAiPostRunCfGoogleGemma2bItLoraError,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunCfGoogleGemma2bItLoraPathParams
+  >({ url: '/accounts/{accountId}/ai/run/@cf/google/gemma-2b-it-lora', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunCfGoogleGemma7bItLoraPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfGoogleGemma7bItLoraError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfGoogleGemma7bItLoraResponse = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfGoogleGemma7bItLoraVariables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunCfGoogleGemma7bItLoraPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfGoogleGemma7bItLora = (
+  variables: WorkersAiPostRunCfGoogleGemma7bItLoraVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfGoogleGemma7bItLoraResponse,
+    WorkersAiPostRunCfGoogleGemma7bItLoraError,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunCfGoogleGemma7bItLoraPathParams
+  >({ url: '/accounts/{accountId}/ai/run/@cf/google/gemma-7b-it-lora', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunCfHuggingfaceDistilbertSst2Int8PathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfHuggingfaceDistilbertSst2Int8Error = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfHuggingfaceDistilbertSst2Int8Response = {
+  /**
+   * An array of classification results for the input text
+   */
+  result?: {
+    /**
+     * The classification label assigned to the text (e.g., 'POSITIVE' or 'NEGATIVE')
+     */
+    label?: string;
+    /**
+     * Confidence score indicating the likelihood that the text belongs to the specified label
+     */
+    score?: number;
+  }[];
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfHuggingfaceDistilbertSst2Int8RequestBody = {
+  /**
+   * The text that you want to classify
+   *
+   * @minLength 1
+   */
+  text: string;
+};
+
+export type WorkersAiPostRunCfHuggingfaceDistilbertSst2Int8Variables = {
+  body: WorkersAiPostRunCfHuggingfaceDistilbertSst2Int8RequestBody;
+  pathParams: WorkersAiPostRunCfHuggingfaceDistilbertSst2Int8PathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfHuggingfaceDistilbertSst2Int8 = (
+  variables: WorkersAiPostRunCfHuggingfaceDistilbertSst2Int8Variables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfHuggingfaceDistilbertSst2Int8Response,
+    WorkersAiPostRunCfHuggingfaceDistilbertSst2Int8Error,
+    WorkersAiPostRunCfHuggingfaceDistilbertSst2Int8RequestBody,
+    {},
+    {},
+    WorkersAiPostRunCfHuggingfaceDistilbertSst2Int8PathParams
+  >({
+    url: '/accounts/{accountId}/ai/run/@cf/huggingface/distilbert-sst-2-int8',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type WorkersAiPostRunCfLykonDreamshaper8LcmPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfLykonDreamshaper8LcmError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfLykonDreamshaper8LcmRequestBody = {
+  /**
+   * Controls how closely the generated image should adhere to the prompt; higher values make the image more aligned with the prompt
+   *
+   * @default 7.5
+   */
+  guidance?: number;
+  /**
+   * The height of the generated image in pixels
+   *
+   * @maximum 2048
+   * @minimum 256
+   */
+  height?: number;
+  /**
+   * For use with img2img tasks. An array of integers that represent the image data constrained to 8-bit unsigned integer values
+   */
+  image?: number[];
+  /**
+   * For use with img2img tasks. A base64-encoded string of the input image
+   */
+  image_b64?: string;
+  /**
+   * An array representing An array of integers that represent mask image data for inpainting constrained to 8-bit unsigned integer values
+   */
+  mask?: number[];
+  /**
+   * Text describing elements to avoid in the generated image
+   */
+  negative_prompt?: string;
+  /**
+   * The number of diffusion steps; higher values can improve quality but take longer
+   *
+   * @default 20
+   * @maximum 20
+   */
+  num_steps?: number;
+  /**
+   * A text description of the image you want to generate
+   *
+   * @minLength 1
+   */
+  prompt: string;
+  /**
+   * Random seed for reproducibility of the image generation
+   */
+  seed?: number;
+  /**
+   * A value between 0 and 1 indicating how strongly to apply the transformation during img2img tasks; lower values make the output closer to the input image
+   *
+   * @default 1
+   */
+  strength?: number;
+  /**
+   * The width of the generated image in pixels
+   *
+   * @maximum 2048
+   * @minimum 256
+   */
+  width?: number;
+};
+
+export type WorkersAiPostRunCfLykonDreamshaper8LcmVariables = {
+  body: WorkersAiPostRunCfLykonDreamshaper8LcmRequestBody;
+  pathParams: WorkersAiPostRunCfLykonDreamshaper8LcmPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfLykonDreamshaper8Lcm = (
+  variables: WorkersAiPostRunCfLykonDreamshaper8LcmVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    undefined,
+    WorkersAiPostRunCfLykonDreamshaper8LcmError,
+    WorkersAiPostRunCfLykonDreamshaper8LcmRequestBody,
+    {},
+    {},
+    WorkersAiPostRunCfLykonDreamshaper8LcmPathParams
+  >({ url: '/accounts/{accountId}/ai/run/@cf/lykon/dreamshaper-8-lcm', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunCfMetaLlamaLlama27bChatHfLoraPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfMetaLlamaLlama27bChatHfLoraError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfMetaLlamaLlama27bChatHfLoraResponse = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfMetaLlamaLlama27bChatHfLoraVariables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunCfMetaLlamaLlama27bChatHfLoraPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfMetaLlamaLlama27bChatHfLora = (
+  variables: WorkersAiPostRunCfMetaLlamaLlama27bChatHfLoraVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfMetaLlamaLlama27bChatHfLoraResponse,
+    WorkersAiPostRunCfMetaLlamaLlama27bChatHfLoraError,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunCfMetaLlamaLlama27bChatHfLoraPathParams
+  >({
+    url: '/accounts/{accountId}/ai/run/@cf/meta-llama/llama-2-7b-chat-hf-lora',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type WorkersAiPostRunCfMetaLlama27bChatFp16PathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfMetaLlama27bChatFp16Error = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfMetaLlama27bChatFp16Response = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfMetaLlama27bChatFp16Variables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunCfMetaLlama27bChatFp16PathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfMetaLlama27bChatFp16 = (
+  variables: WorkersAiPostRunCfMetaLlama27bChatFp16Variables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfMetaLlama27bChatFp16Response,
+    WorkersAiPostRunCfMetaLlama27bChatFp16Error,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunCfMetaLlama27bChatFp16PathParams
+  >({ url: '/accounts/{accountId}/ai/run/@cf/meta/llama-2-7b-chat-fp16', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunCfMetaLlama27bChatInt8PathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfMetaLlama27bChatInt8Error = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfMetaLlama27bChatInt8Response = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfMetaLlama27bChatInt8Variables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunCfMetaLlama27bChatInt8PathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfMetaLlama27bChatInt8 = (
+  variables: WorkersAiPostRunCfMetaLlama27bChatInt8Variables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfMetaLlama27bChatInt8Response,
+    WorkersAiPostRunCfMetaLlama27bChatInt8Error,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunCfMetaLlama27bChatInt8PathParams
+  >({ url: '/accounts/{accountId}/ai/run/@cf/meta/llama-2-7b-chat-int8', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunCfMetaLlama38bInstructPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfMetaLlama38bInstructError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfMetaLlama38bInstructResponse = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfMetaLlama38bInstructVariables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunCfMetaLlama38bInstructPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfMetaLlama38bInstruct = (
+  variables: WorkersAiPostRunCfMetaLlama38bInstructVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfMetaLlama38bInstructResponse,
+    WorkersAiPostRunCfMetaLlama38bInstructError,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunCfMetaLlama38bInstructPathParams
+  >({ url: '/accounts/{accountId}/ai/run/@cf/meta/llama-3-8b-instruct', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunCfMetaLlama38bInstructAwqPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfMetaLlama38bInstructAwqError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfMetaLlama38bInstructAwqResponse = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfMetaLlama38bInstructAwqVariables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunCfMetaLlama38bInstructAwqPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfMetaLlama38bInstructAwq = (
+  variables: WorkersAiPostRunCfMetaLlama38bInstructAwqVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfMetaLlama38bInstructAwqResponse,
+    WorkersAiPostRunCfMetaLlama38bInstructAwqError,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunCfMetaLlama38bInstructAwqPathParams
+  >({ url: '/accounts/{accountId}/ai/run/@cf/meta/llama-3-8b-instruct-awq', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunCfMetaLlama3170bInstructPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfMetaLlama3170bInstructError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfMetaLlama3170bInstructResponse = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfMetaLlama3170bInstructVariables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunCfMetaLlama3170bInstructPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfMetaLlama3170bInstruct = (
+  variables: WorkersAiPostRunCfMetaLlama3170bInstructVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfMetaLlama3170bInstructResponse,
+    WorkersAiPostRunCfMetaLlama3170bInstructError,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunCfMetaLlama3170bInstructPathParams
+  >({ url: '/accounts/{accountId}/ai/run/@cf/meta/llama-3.1-70b-instruct', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunCfMetaLlama3170bInstructPreviewPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfMetaLlama3170bInstructPreviewError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfMetaLlama3170bInstructPreviewResponse = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfMetaLlama3170bInstructPreviewVariables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunCfMetaLlama3170bInstructPreviewPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfMetaLlama3170bInstructPreview = (
+  variables: WorkersAiPostRunCfMetaLlama3170bInstructPreviewVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfMetaLlama3170bInstructPreviewResponse,
+    WorkersAiPostRunCfMetaLlama3170bInstructPreviewError,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunCfMetaLlama3170bInstructPreviewPathParams
+  >({
+    url: '/accounts/{accountId}/ai/run/@cf/meta/llama-3.1-70b-instruct-preview',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type WorkersAiPostRunCfMetaLlama3170bPreviewPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfMetaLlama3170bPreviewError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfMetaLlama3170bPreviewResponse = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfMetaLlama3170bPreviewVariables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunCfMetaLlama3170bPreviewPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfMetaLlama3170bPreview = (
+  variables: WorkersAiPostRunCfMetaLlama3170bPreviewVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfMetaLlama3170bPreviewResponse,
+    WorkersAiPostRunCfMetaLlama3170bPreviewError,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunCfMetaLlama3170bPreviewPathParams
+  >({ url: '/accounts/{accountId}/ai/run/@cf/meta/llama-3.1-70b-preview', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunCfMetaLlama318bInstructPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfMetaLlama318bInstructError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfMetaLlama318bInstructResponse = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfMetaLlama318bInstructVariables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunCfMetaLlama318bInstructPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfMetaLlama318bInstruct = (
+  variables: WorkersAiPostRunCfMetaLlama318bInstructVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfMetaLlama318bInstructResponse,
+    WorkersAiPostRunCfMetaLlama318bInstructError,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunCfMetaLlama318bInstructPathParams
+  >({ url: '/accounts/{accountId}/ai/run/@cf/meta/llama-3.1-8b-instruct', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunCfMetaLlama318bInstructAwqPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfMetaLlama318bInstructAwqError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfMetaLlama318bInstructAwqResponse = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfMetaLlama318bInstructAwqVariables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunCfMetaLlama318bInstructAwqPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfMetaLlama318bInstructAwq = (
+  variables: WorkersAiPostRunCfMetaLlama318bInstructAwqVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfMetaLlama318bInstructAwqResponse,
+    WorkersAiPostRunCfMetaLlama318bInstructAwqError,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunCfMetaLlama318bInstructAwqPathParams
+  >({ url: '/accounts/{accountId}/ai/run/@cf/meta/llama-3.1-8b-instruct-awq', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunCfMetaLlama318bInstructFastPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfMetaLlama318bInstructFastError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfMetaLlama318bInstructFastResponse = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfMetaLlama318bInstructFastVariables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunCfMetaLlama318bInstructFastPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfMetaLlama318bInstructFast = (
+  variables: WorkersAiPostRunCfMetaLlama318bInstructFastVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfMetaLlama318bInstructFastResponse,
+    WorkersAiPostRunCfMetaLlama318bInstructFastError,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunCfMetaLlama318bInstructFastPathParams
+  >({ url: '/accounts/{accountId}/ai/run/@cf/meta/llama-3.1-8b-instruct-fast', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunCfMetaLlama318bInstructFp8PathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfMetaLlama318bInstructFp8Error = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfMetaLlama318bInstructFp8Response = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfMetaLlama318bInstructFp8Variables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunCfMetaLlama318bInstructFp8PathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfMetaLlama318bInstructFp8 = (
+  variables: WorkersAiPostRunCfMetaLlama318bInstructFp8Variables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfMetaLlama318bInstructFp8Response,
+    WorkersAiPostRunCfMetaLlama318bInstructFp8Error,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunCfMetaLlama318bInstructFp8PathParams
+  >({ url: '/accounts/{accountId}/ai/run/@cf/meta/llama-3.1-8b-instruct-fp8', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunCfMetaLlama318bPreviewPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfMetaLlama318bPreviewError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfMetaLlama318bPreviewResponse = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfMetaLlama318bPreviewVariables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunCfMetaLlama318bPreviewPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfMetaLlama318bPreview = (
+  variables: WorkersAiPostRunCfMetaLlama318bPreviewVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfMetaLlama318bPreviewResponse,
+    WorkersAiPostRunCfMetaLlama318bPreviewError,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunCfMetaLlama318bPreviewPathParams
+  >({ url: '/accounts/{accountId}/ai/run/@cf/meta/llama-3.1-8b-preview', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunCfMetaLlama3211bVisionInstructPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfMetaLlama3211bVisionInstructError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfMetaLlama3211bVisionInstructResponse = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfMetaLlama3211bVisionInstructVariables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        image?: number[] | Blob;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        image?: number[] | Blob;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunCfMetaLlama3211bVisionInstructPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfMetaLlama3211bVisionInstruct = (
+  variables: WorkersAiPostRunCfMetaLlama3211bVisionInstructVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfMetaLlama3211bVisionInstructResponse,
+    WorkersAiPostRunCfMetaLlama3211bVisionInstructError,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        image?: number[] | Blob;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        image?: number[] | Blob;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunCfMetaLlama3211bVisionInstructPathParams
+  >({
+    url: '/accounts/{accountId}/ai/run/@cf/meta/llama-3.2-11b-vision-instruct',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type WorkersAiPostRunCfMetaLlama321bInstructPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfMetaLlama321bInstructError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfMetaLlama321bInstructResponse = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfMetaLlama321bInstructVariables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunCfMetaLlama321bInstructPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfMetaLlama321bInstruct = (
+  variables: WorkersAiPostRunCfMetaLlama321bInstructVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfMetaLlama321bInstructResponse,
+    WorkersAiPostRunCfMetaLlama321bInstructError,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunCfMetaLlama321bInstructPathParams
+  >({ url: '/accounts/{accountId}/ai/run/@cf/meta/llama-3.2-1b-instruct', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunCfMetaLlama323bInstructPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfMetaLlama323bInstructError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfMetaLlama323bInstructResponse = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfMetaLlama323bInstructVariables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunCfMetaLlama323bInstructPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfMetaLlama323bInstruct = (
+  variables: WorkersAiPostRunCfMetaLlama323bInstructVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfMetaLlama323bInstructResponse,
+    WorkersAiPostRunCfMetaLlama323bInstructError,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunCfMetaLlama323bInstructPathParams
+  >({ url: '/accounts/{accountId}/ai/run/@cf/meta/llama-3.2-3b-instruct', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunCfMetaLlama3370bInstructFp8FastPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfMetaLlama3370bInstructFp8FastError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfMetaLlama3370bInstructFp8FastResponse = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfMetaLlama3370bInstructFp8FastVariables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunCfMetaLlama3370bInstructFp8FastPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfMetaLlama3370bInstructFp8Fast = (
+  variables: WorkersAiPostRunCfMetaLlama3370bInstructFp8FastVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfMetaLlama3370bInstructFp8FastResponse,
+    WorkersAiPostRunCfMetaLlama3370bInstructFp8FastError,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunCfMetaLlama3370bInstructFp8FastPathParams
+  >({
+    url: '/accounts/{accountId}/ai/run/@cf/meta/llama-3.3-70b-instruct-fp8-fast',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type WorkersAiPostRunCfMetaM2m10012bPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfMetaM2m10012bError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfMetaM2m10012bResponse = {
+  result?: {
+    /**
+     * The translated text in the target language
+     */
+    translated_text?: string;
+  };
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfMetaM2m10012bRequestBody = {
+  /**
+   * The language code of the source text (e.g., 'en' for English). Defaults to 'en' if not specified
+   *
+   * @default en
+   */
+  source_lang?: string;
+  /**
+   * The language code to translate the text into (e.g., 'es' for Spanish)
+   */
+  target_lang: string;
+  /**
+   * The text to be translated
+   *
+   * @minLength 1
+   */
+  text: string;
+};
+
+export type WorkersAiPostRunCfMetaM2m10012bVariables = {
+  body: WorkersAiPostRunCfMetaM2m10012bRequestBody;
+  pathParams: WorkersAiPostRunCfMetaM2m10012bPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfMetaM2m10012b = (
+  variables: WorkersAiPostRunCfMetaM2m10012bVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfMetaM2m10012bResponse,
+    WorkersAiPostRunCfMetaM2m10012bError,
+    WorkersAiPostRunCfMetaM2m10012bRequestBody,
+    {},
+    {},
+    WorkersAiPostRunCfMetaM2m10012bPathParams
+  >({ url: '/accounts/{accountId}/ai/run/@cf/meta/m2m100-1.2b', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunCfMicrosoftPhi2PathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfMicrosoftPhi2Error = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfMicrosoftPhi2Response = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfMicrosoftPhi2Variables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunCfMicrosoftPhi2PathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfMicrosoftPhi2 = (
+  variables: WorkersAiPostRunCfMicrosoftPhi2Variables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfMicrosoftPhi2Response,
+    WorkersAiPostRunCfMicrosoftPhi2Error,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunCfMicrosoftPhi2PathParams
+  >({ url: '/accounts/{accountId}/ai/run/@cf/microsoft/phi-2', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunCfMicrosoftResnet50PathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfMicrosoftResnet50Error = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfMicrosoftResnet50Response = {
+  result?: {
+    /**
+     * The predicted category or class for the input image based on analysis
+     */
+    label?: string;
+    /**
+     * A confidence value, between 0 and 1, indicating how certain the model is about the predicted label
+     */
+    score?: number;
+  }[];
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfMicrosoftResnet50Variables = {
+  body?: Blob;
+  pathParams: WorkersAiPostRunCfMicrosoftResnet50PathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfMicrosoftResnet50 = (
+  variables: WorkersAiPostRunCfMicrosoftResnet50Variables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfMicrosoftResnet50Response,
+    WorkersAiPostRunCfMicrosoftResnet50Error,
+    Blob,
+    {},
+    {},
+    WorkersAiPostRunCfMicrosoftResnet50PathParams
+  >({ url: '/accounts/{accountId}/ai/run/@cf/microsoft/resnet-50', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunCfMistralMistral7bInstructV01PathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfMistralMistral7bInstructV01Error = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfMistralMistral7bInstructV01Response = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfMistralMistral7bInstructV01Variables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunCfMistralMistral7bInstructV01PathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfMistralMistral7bInstructV01 = (
+  variables: WorkersAiPostRunCfMistralMistral7bInstructV01Variables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfMistralMistral7bInstructV01Response,
+    WorkersAiPostRunCfMistralMistral7bInstructV01Error,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunCfMistralMistral7bInstructV01PathParams
+  >({ url: '/accounts/{accountId}/ai/run/@cf/mistral/mistral-7b-instruct-v0.1', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunCfMistralMistral7bInstructV02LoraPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfMistralMistral7bInstructV02LoraError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfMistralMistral7bInstructV02LoraResponse = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfMistralMistral7bInstructV02LoraVariables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunCfMistralMistral7bInstructV02LoraPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfMistralMistral7bInstructV02Lora = (
+  variables: WorkersAiPostRunCfMistralMistral7bInstructV02LoraVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfMistralMistral7bInstructV02LoraResponse,
+    WorkersAiPostRunCfMistralMistral7bInstructV02LoraError,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunCfMistralMistral7bInstructV02LoraPathParams
+  >({
+    url: '/accounts/{accountId}/ai/run/@cf/mistral/mistral-7b-instruct-v0.2-lora',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type WorkersAiPostRunCfOpenaiWhisperPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfOpenaiWhisperError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfOpenaiWhisperResponse = {
+  result?: {
+    /**
+     * The transcription
+     */
+    text: string;
+    vtt?: string;
+    word_count?: number;
+    words?: {
+      /**
+       * The ending second when the word completes
+       */
+      end?: number;
+      /**
+       * The second this word begins in the recording
+       */
+      start?: number;
+      word?: string;
+    }[];
+  };
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfOpenaiWhisperVariables = {
+  body?: Blob;
+  pathParams: WorkersAiPostRunCfOpenaiWhisperPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfOpenaiWhisper = (
+  variables: WorkersAiPostRunCfOpenaiWhisperVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfOpenaiWhisperResponse,
+    WorkersAiPostRunCfOpenaiWhisperError,
+    Blob,
+    {},
+    {},
+    WorkersAiPostRunCfOpenaiWhisperPathParams
+  >({ url: '/accounts/{accountId}/ai/run/@cf/openai/whisper', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunCfOpenaiWhisperLargeV3TurboPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfOpenaiWhisperLargeV3TurboError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfOpenaiWhisperLargeV3TurboResponse = {
+  result?: {
+    segments?: {
+      /**
+       * The average log probability of the predictions for the words in this segment, indicating overall confidence.
+       */
+      avg_logprob?: number;
+      /**
+       * The compression ratio of the input to the output, measuring how much the text was compressed during the transcription process.
+       */
+      compression_ratio?: number;
+      /**
+       * The ending time of the segment within the audio, in seconds.
+       */
+      end?: number;
+      /**
+       * The probability that the segment contains no speech, represented as a decimal between 0 and 1.
+       */
+      no_speech_prob?: number;
+      /**
+       * The starting time of the segment within the audio, in seconds.
+       */
+      start?: number;
+      /**
+       * The temperature used in the decoding process, controlling randomness in predictions. Lower values result in more deterministic outputs.
+       */
+      temperature?: number;
+      /**
+       * The transcription of the segment.
+       */
+      text?: string;
+      words?: {
+        /**
+         * The ending time of the word within the audio, in seconds.
+         */
+        end?: number;
+        /**
+         * The starting time of the word within the audio, in seconds.
+         */
+        start?: number;
+        /**
+         * The individual word transcribed from the audio.
+         */
+        word?: string;
+      }[];
+    };
+    /**
+     * The complete transcription of the audio.
+     */
+    text: string;
+    transcription_info?: {
+      /**
+       * The total duration of the original audio file, in seconds.
+       */
+      duration?: number;
+      /**
+       * The duration of the audio after applying Voice Activity Detection (VAD) to remove silent or irrelevant sections, in seconds.
+       */
+      duration_after_vad?: number;
+      /**
+       * The language of the audio being transcribed or translated.
+       */
+      language?: string;
+      /**
+       * The confidence level or probability of the detected language being accurate, represented as a decimal between 0 and 1.
+       */
+      language_probability?: number;
+    };
+    /**
+     * The transcription in WebVTT format, which includes timing and text information for use in subtitles.
+     */
+    vtt?: string;
+    /**
+     * The total number of words in the transcription.
+     */
+    word_count?: number;
+  };
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfOpenaiWhisperLargeV3TurboRequestBody = {
+  /**
+   * Base64 encoded value of the audio data.
+   */
+  audio: string;
+  /**
+   * A text prompt to help provide context to the model on the contents of the audio.
+   */
+  initial_prompt?: string;
+  /**
+   * The language of the audio being transcribed or translated.
+   *
+   * @default en
+   */
+  language?: string;
+  /**
+   * The prefix it appended the the beginning of the output of the transcription and can guide the transcription result.
+   */
+  prefix?: string;
+  /**
+   * Supported tasks are 'translate' or 'transcribe'.
+   *
+   * @default transcribe
+   */
+  task?: string;
+  /**
+   * Preprocess the audio with a voice activity detection model.
+   *
+   * @default false
+   */
+  vad_filter?: string;
+};
+
+export type WorkersAiPostRunCfOpenaiWhisperLargeV3TurboVariables = {
+  body: WorkersAiPostRunCfOpenaiWhisperLargeV3TurboRequestBody;
+  pathParams: WorkersAiPostRunCfOpenaiWhisperLargeV3TurboPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfOpenaiWhisperLargeV3Turbo = (
+  variables: WorkersAiPostRunCfOpenaiWhisperLargeV3TurboVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfOpenaiWhisperLargeV3TurboResponse,
+    WorkersAiPostRunCfOpenaiWhisperLargeV3TurboError,
+    WorkersAiPostRunCfOpenaiWhisperLargeV3TurboRequestBody,
+    {},
+    {},
+    WorkersAiPostRunCfOpenaiWhisperLargeV3TurboPathParams
+  >({ url: '/accounts/{accountId}/ai/run/@cf/openai/whisper-large-v3-turbo', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunCfOpenaiWhisperTinyEnPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfOpenaiWhisperTinyEnError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfOpenaiWhisperTinyEnResponse = {
+  result?: {
+    /**
+     * The transcription
+     */
+    text: string;
+    vtt?: string;
+    word_count?: number;
+    words?: {
+      /**
+       * The ending second when the word completes
+       */
+      end?: number;
+      /**
+       * The second this word begins in the recording
+       */
+      start?: number;
+      word?: string;
+    }[];
+  };
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfOpenaiWhisperTinyEnVariables = {
+  body?: Blob;
+  pathParams: WorkersAiPostRunCfOpenaiWhisperTinyEnPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfOpenaiWhisperTinyEn = (
+  variables: WorkersAiPostRunCfOpenaiWhisperTinyEnVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfOpenaiWhisperTinyEnResponse,
+    WorkersAiPostRunCfOpenaiWhisperTinyEnError,
+    Blob,
+    {},
+    {},
+    WorkersAiPostRunCfOpenaiWhisperTinyEnPathParams
+  >({ url: '/accounts/{accountId}/ai/run/@cf/openai/whisper-tiny-en', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunCfOpenchatOpenchat350106PathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfOpenchatOpenchat350106Error = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfOpenchatOpenchat350106Response = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfOpenchatOpenchat350106Variables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunCfOpenchatOpenchat350106PathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfOpenchatOpenchat350106 = (
+  variables: WorkersAiPostRunCfOpenchatOpenchat350106Variables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfOpenchatOpenchat350106Response,
+    WorkersAiPostRunCfOpenchatOpenchat350106Error,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunCfOpenchatOpenchat350106PathParams
+  >({ url: '/accounts/{accountId}/ai/run/@cf/openchat/openchat-3.5-0106', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunCfQwenQwen1505bChatPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfQwenQwen1505bChatError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfQwenQwen1505bChatResponse = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfQwenQwen1505bChatVariables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunCfQwenQwen1505bChatPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfQwenQwen1505bChat = (
+  variables: WorkersAiPostRunCfQwenQwen1505bChatVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfQwenQwen1505bChatResponse,
+    WorkersAiPostRunCfQwenQwen1505bChatError,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunCfQwenQwen1505bChatPathParams
+  >({ url: '/accounts/{accountId}/ai/run/@cf/qwen/qwen1.5-0.5b-chat', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunCfQwenQwen1518bChatPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfQwenQwen1518bChatError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfQwenQwen1518bChatResponse = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfQwenQwen1518bChatVariables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunCfQwenQwen1518bChatPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfQwenQwen1518bChat = (
+  variables: WorkersAiPostRunCfQwenQwen1518bChatVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfQwenQwen1518bChatResponse,
+    WorkersAiPostRunCfQwenQwen1518bChatError,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunCfQwenQwen1518bChatPathParams
+  >({ url: '/accounts/{accountId}/ai/run/@cf/qwen/qwen1.5-1.8b-chat', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunCfQwenQwen1514bChatAwqPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfQwenQwen1514bChatAwqError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfQwenQwen1514bChatAwqResponse = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfQwenQwen1514bChatAwqVariables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunCfQwenQwen1514bChatAwqPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfQwenQwen1514bChatAwq = (
+  variables: WorkersAiPostRunCfQwenQwen1514bChatAwqVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfQwenQwen1514bChatAwqResponse,
+    WorkersAiPostRunCfQwenQwen1514bChatAwqError,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunCfQwenQwen1514bChatAwqPathParams
+  >({ url: '/accounts/{accountId}/ai/run/@cf/qwen/qwen1.5-14b-chat-awq', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunCfQwenQwen157bChatAwqPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfQwenQwen157bChatAwqError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfQwenQwen157bChatAwqResponse = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfQwenQwen157bChatAwqVariables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunCfQwenQwen157bChatAwqPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfQwenQwen157bChatAwq = (
+  variables: WorkersAiPostRunCfQwenQwen157bChatAwqVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfQwenQwen157bChatAwqResponse,
+    WorkersAiPostRunCfQwenQwen157bChatAwqError,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunCfQwenQwen157bChatAwqPathParams
+  >({ url: '/accounts/{accountId}/ai/run/@cf/qwen/qwen1.5-7b-chat-awq', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunCfRunwaymlStableDiffusionV15Img2imgPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfRunwaymlStableDiffusionV15Img2imgError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfRunwaymlStableDiffusionV15Img2imgRequestBody = {
+  /**
+   * Controls how closely the generated image should adhere to the prompt; higher values make the image more aligned with the prompt
+   *
+   * @default 7.5
+   */
+  guidance?: number;
+  /**
+   * The height of the generated image in pixels
+   *
+   * @maximum 2048
+   * @minimum 256
+   */
+  height?: number;
+  /**
+   * For use with img2img tasks. An array of integers that represent the image data constrained to 8-bit unsigned integer values
+   */
+  image?: number[];
+  /**
+   * For use with img2img tasks. A base64-encoded string of the input image
+   */
+  image_b64?: string;
+  /**
+   * An array representing An array of integers that represent mask image data for inpainting constrained to 8-bit unsigned integer values
+   */
+  mask?: number[];
+  /**
+   * Text describing elements to avoid in the generated image
+   */
+  negative_prompt?: string;
+  /**
+   * The number of diffusion steps; higher values can improve quality but take longer
+   *
+   * @default 20
+   * @maximum 20
+   */
+  num_steps?: number;
+  /**
+   * A text description of the image you want to generate
+   *
+   * @minLength 1
+   */
+  prompt: string;
+  /**
+   * Random seed for reproducibility of the image generation
+   */
+  seed?: number;
+  /**
+   * A value between 0 and 1 indicating how strongly to apply the transformation during img2img tasks; lower values make the output closer to the input image
+   *
+   * @default 1
+   */
+  strength?: number;
+  /**
+   * The width of the generated image in pixels
+   *
+   * @maximum 2048
+   * @minimum 256
+   */
+  width?: number;
+};
+
+export type WorkersAiPostRunCfRunwaymlStableDiffusionV15Img2imgVariables = {
+  body: WorkersAiPostRunCfRunwaymlStableDiffusionV15Img2imgRequestBody;
+  pathParams: WorkersAiPostRunCfRunwaymlStableDiffusionV15Img2imgPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfRunwaymlStableDiffusionV15Img2img = (
+  variables: WorkersAiPostRunCfRunwaymlStableDiffusionV15Img2imgVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    undefined,
+    WorkersAiPostRunCfRunwaymlStableDiffusionV15Img2imgError,
+    WorkersAiPostRunCfRunwaymlStableDiffusionV15Img2imgRequestBody,
+    {},
+    {},
+    WorkersAiPostRunCfRunwaymlStableDiffusionV15Img2imgPathParams
+  >({
+    url: '/accounts/{accountId}/ai/run/@cf/runwayml/stable-diffusion-v1-5-img2img',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type WorkersAiPostRunCfRunwaymlStableDiffusionV15InpaintingPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfRunwaymlStableDiffusionV15InpaintingError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfRunwaymlStableDiffusionV15InpaintingRequestBody = {
+  /**
+   * Controls how closely the generated image should adhere to the prompt; higher values make the image more aligned with the prompt
+   *
+   * @default 7.5
+   */
+  guidance?: number;
+  /**
+   * The height of the generated image in pixels
+   *
+   * @maximum 2048
+   * @minimum 256
+   */
+  height?: number;
+  /**
+   * For use with img2img tasks. An array of integers that represent the image data constrained to 8-bit unsigned integer values
+   */
+  image?: number[];
+  /**
+   * For use with img2img tasks. A base64-encoded string of the input image
+   */
+  image_b64?: string;
+  /**
+   * An array representing An array of integers that represent mask image data for inpainting constrained to 8-bit unsigned integer values
+   */
+  mask?: number[];
+  /**
+   * Text describing elements to avoid in the generated image
+   */
+  negative_prompt?: string;
+  /**
+   * The number of diffusion steps; higher values can improve quality but take longer
+   *
+   * @default 20
+   * @maximum 20
+   */
+  num_steps?: number;
+  /**
+   * A text description of the image you want to generate
+   *
+   * @minLength 1
+   */
+  prompt: string;
+  /**
+   * Random seed for reproducibility of the image generation
+   */
+  seed?: number;
+  /**
+   * A value between 0 and 1 indicating how strongly to apply the transformation during img2img tasks; lower values make the output closer to the input image
+   *
+   * @default 1
+   */
+  strength?: number;
+  /**
+   * The width of the generated image in pixels
+   *
+   * @maximum 2048
+   * @minimum 256
+   */
+  width?: number;
+};
+
+export type WorkersAiPostRunCfRunwaymlStableDiffusionV15InpaintingVariables = {
+  body: WorkersAiPostRunCfRunwaymlStableDiffusionV15InpaintingRequestBody;
+  pathParams: WorkersAiPostRunCfRunwaymlStableDiffusionV15InpaintingPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfRunwaymlStableDiffusionV15Inpainting = (
+  variables: WorkersAiPostRunCfRunwaymlStableDiffusionV15InpaintingVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    undefined,
+    WorkersAiPostRunCfRunwaymlStableDiffusionV15InpaintingError,
+    WorkersAiPostRunCfRunwaymlStableDiffusionV15InpaintingRequestBody,
+    {},
+    {},
+    WorkersAiPostRunCfRunwaymlStableDiffusionV15InpaintingPathParams
+  >({
+    url: '/accounts/{accountId}/ai/run/@cf/runwayml/stable-diffusion-v1-5-inpainting',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type WorkersAiPostRunCfStabilityaiStableDiffusionXlBase10PathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfStabilityaiStableDiffusionXlBase10Error = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfStabilityaiStableDiffusionXlBase10RequestBody = {
+  /**
+   * Controls how closely the generated image should adhere to the prompt; higher values make the image more aligned with the prompt
+   *
+   * @default 7.5
+   */
+  guidance?: number;
+  /**
+   * The height of the generated image in pixels
+   *
+   * @maximum 2048
+   * @minimum 256
+   */
+  height?: number;
+  /**
+   * For use with img2img tasks. An array of integers that represent the image data constrained to 8-bit unsigned integer values
+   */
+  image?: number[];
+  /**
+   * For use with img2img tasks. A base64-encoded string of the input image
+   */
+  image_b64?: string;
+  /**
+   * An array representing An array of integers that represent mask image data for inpainting constrained to 8-bit unsigned integer values
+   */
+  mask?: number[];
+  /**
+   * Text describing elements to avoid in the generated image
+   */
+  negative_prompt?: string;
+  /**
+   * The number of diffusion steps; higher values can improve quality but take longer
+   *
+   * @default 20
+   * @maximum 20
+   */
+  num_steps?: number;
+  /**
+   * A text description of the image you want to generate
+   *
+   * @minLength 1
+   */
+  prompt: string;
+  /**
+   * Random seed for reproducibility of the image generation
+   */
+  seed?: number;
+  /**
+   * A value between 0 and 1 indicating how strongly to apply the transformation during img2img tasks; lower values make the output closer to the input image
+   *
+   * @default 1
+   */
+  strength?: number;
+  /**
+   * The width of the generated image in pixels
+   *
+   * @maximum 2048
+   * @minimum 256
+   */
+  width?: number;
+};
+
+export type WorkersAiPostRunCfStabilityaiStableDiffusionXlBase10Variables = {
+  body: WorkersAiPostRunCfStabilityaiStableDiffusionXlBase10RequestBody;
+  pathParams: WorkersAiPostRunCfStabilityaiStableDiffusionXlBase10PathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfStabilityaiStableDiffusionXlBase10 = (
+  variables: WorkersAiPostRunCfStabilityaiStableDiffusionXlBase10Variables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    undefined,
+    WorkersAiPostRunCfStabilityaiStableDiffusionXlBase10Error,
+    WorkersAiPostRunCfStabilityaiStableDiffusionXlBase10RequestBody,
+    {},
+    {},
+    WorkersAiPostRunCfStabilityaiStableDiffusionXlBase10PathParams
+  >({
+    url: '/accounts/{accountId}/ai/run/@cf/stabilityai/stable-diffusion-xl-base-1.0',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type WorkersAiPostRunCfTheblokeDiscolmGerman7bV1AwqPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfTheblokeDiscolmGerman7bV1AwqError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfTheblokeDiscolmGerman7bV1AwqResponse = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfTheblokeDiscolmGerman7bV1AwqVariables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunCfTheblokeDiscolmGerman7bV1AwqPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfTheblokeDiscolmGerman7bV1Awq = (
+  variables: WorkersAiPostRunCfTheblokeDiscolmGerman7bV1AwqVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfTheblokeDiscolmGerman7bV1AwqResponse,
+    WorkersAiPostRunCfTheblokeDiscolmGerman7bV1AwqError,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunCfTheblokeDiscolmGerman7bV1AwqPathParams
+  >({
+    url: '/accounts/{accountId}/ai/run/@cf/thebloke/discolm-german-7b-v1-awq',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type WorkersAiPostRunCfTiiuaeFalcon7bInstructPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfTiiuaeFalcon7bInstructError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfTiiuaeFalcon7bInstructResponse = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfTiiuaeFalcon7bInstructVariables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunCfTiiuaeFalcon7bInstructPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfTiiuaeFalcon7bInstruct = (
+  variables: WorkersAiPostRunCfTiiuaeFalcon7bInstructVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfTiiuaeFalcon7bInstructResponse,
+    WorkersAiPostRunCfTiiuaeFalcon7bInstructError,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunCfTiiuaeFalcon7bInstructPathParams
+  >({ url: '/accounts/{accountId}/ai/run/@cf/tiiuae/falcon-7b-instruct', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunCfTinyllamaTinyllama11bChatV10PathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunCfTinyllamaTinyllama11bChatV10Error = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunCfTinyllamaTinyllama11bChatV10Response = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunCfTinyllamaTinyllama11bChatV10Variables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunCfTinyllamaTinyllama11bChatV10PathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunCfTinyllamaTinyllama11bChatV10 = (
+  variables: WorkersAiPostRunCfTinyllamaTinyllama11bChatV10Variables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunCfTinyllamaTinyllama11bChatV10Response,
+    WorkersAiPostRunCfTinyllamaTinyllama11bChatV10Error,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunCfTinyllamaTinyllama11bChatV10PathParams
+  >({
+    url: '/accounts/{accountId}/ai/run/@cf/tinyllama/tinyllama-1.1b-chat-v1.0',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type WorkersAiPostRunHfGoogleGemma7bItPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunHfGoogleGemma7bItError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunHfGoogleGemma7bItResponse = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunHfGoogleGemma7bItVariables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunHfGoogleGemma7bItPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunHfGoogleGemma7bIt = (
+  variables: WorkersAiPostRunHfGoogleGemma7bItVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunHfGoogleGemma7bItResponse,
+    WorkersAiPostRunHfGoogleGemma7bItError,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunHfGoogleGemma7bItPathParams
+  >({ url: '/accounts/{accountId}/ai/run/@hf/google/gemma-7b-it', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunHfMetaLlamaMetaLlama38bInstructPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunHfMetaLlamaMetaLlama38bInstructError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunHfMetaLlamaMetaLlama38bInstructResponse = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunHfMetaLlamaMetaLlama38bInstructVariables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunHfMetaLlamaMetaLlama38bInstructPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunHfMetaLlamaMetaLlama38bInstruct = (
+  variables: WorkersAiPostRunHfMetaLlamaMetaLlama38bInstructVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunHfMetaLlamaMetaLlama38bInstructResponse,
+    WorkersAiPostRunHfMetaLlamaMetaLlama38bInstructError,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunHfMetaLlamaMetaLlama38bInstructPathParams
+  >({
+    url: '/accounts/{accountId}/ai/run/@hf/meta-llama/meta-llama-3-8b-instruct',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type WorkersAiPostRunHfMistralMistral7bInstructV02PathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunHfMistralMistral7bInstructV02Error = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunHfMistralMistral7bInstructV02Response = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunHfMistralMistral7bInstructV02Variables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunHfMistralMistral7bInstructV02PathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunHfMistralMistral7bInstructV02 = (
+  variables: WorkersAiPostRunHfMistralMistral7bInstructV02Variables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunHfMistralMistral7bInstructV02Response,
+    WorkersAiPostRunHfMistralMistral7bInstructV02Error,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunHfMistralMistral7bInstructV02PathParams
+  >({ url: '/accounts/{accountId}/ai/run/@hf/mistral/mistral-7b-instruct-v0.2', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunHfMistralaiMistral7bInstructV02PathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunHfMistralaiMistral7bInstructV02Error = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunHfMistralaiMistral7bInstructV02Response = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunHfMistralaiMistral7bInstructV02Variables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunHfMistralaiMistral7bInstructV02PathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunHfMistralaiMistral7bInstructV02 = (
+  variables: WorkersAiPostRunHfMistralaiMistral7bInstructV02Variables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunHfMistralaiMistral7bInstructV02Response,
+    WorkersAiPostRunHfMistralaiMistral7bInstructV02Error,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunHfMistralaiMistral7bInstructV02PathParams
+  >({
+    url: '/accounts/{accountId}/ai/run/@hf/mistralai/mistral-7b-instruct-v0.2',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type WorkersAiPostRunHfNexusflowStarlingLm7bBetaPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunHfNexusflowStarlingLm7bBetaError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunHfNexusflowStarlingLm7bBetaResponse = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunHfNexusflowStarlingLm7bBetaVariables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunHfNexusflowStarlingLm7bBetaPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunHfNexusflowStarlingLm7bBeta = (
+  variables: WorkersAiPostRunHfNexusflowStarlingLm7bBetaVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunHfNexusflowStarlingLm7bBetaResponse,
+    WorkersAiPostRunHfNexusflowStarlingLm7bBetaError,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunHfNexusflowStarlingLm7bBetaPathParams
+  >({ url: '/accounts/{accountId}/ai/run/@hf/nexusflow/starling-lm-7b-beta', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunHfNousresearchHermes2ProMistral7bPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunHfNousresearchHermes2ProMistral7bError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunHfNousresearchHermes2ProMistral7bResponse = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunHfNousresearchHermes2ProMistral7bVariables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunHfNousresearchHermes2ProMistral7bPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunHfNousresearchHermes2ProMistral7b = (
+  variables: WorkersAiPostRunHfNousresearchHermes2ProMistral7bVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunHfNousresearchHermes2ProMistral7bResponse,
+    WorkersAiPostRunHfNousresearchHermes2ProMistral7bError,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunHfNousresearchHermes2ProMistral7bPathParams
+  >({
+    url: '/accounts/{accountId}/ai/run/@hf/nousresearch/hermes-2-pro-mistral-7b',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type WorkersAiPostRunHfTheblokeDeepseekCoder67bBaseAwqPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunHfTheblokeDeepseekCoder67bBaseAwqError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunHfTheblokeDeepseekCoder67bBaseAwqResponse = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunHfTheblokeDeepseekCoder67bBaseAwqVariables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunHfTheblokeDeepseekCoder67bBaseAwqPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunHfTheblokeDeepseekCoder67bBaseAwq = (
+  variables: WorkersAiPostRunHfTheblokeDeepseekCoder67bBaseAwqVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunHfTheblokeDeepseekCoder67bBaseAwqResponse,
+    WorkersAiPostRunHfTheblokeDeepseekCoder67bBaseAwqError,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunHfTheblokeDeepseekCoder67bBaseAwqPathParams
+  >({
+    url: '/accounts/{accountId}/ai/run/@hf/thebloke/deepseek-coder-6.7b-base-awq',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type WorkersAiPostRunHfTheblokeDeepseekCoder67bInstructAwqPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunHfTheblokeDeepseekCoder67bInstructAwqError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunHfTheblokeDeepseekCoder67bInstructAwqResponse = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunHfTheblokeDeepseekCoder67bInstructAwqVariables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunHfTheblokeDeepseekCoder67bInstructAwqPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunHfTheblokeDeepseekCoder67bInstructAwq = (
+  variables: WorkersAiPostRunHfTheblokeDeepseekCoder67bInstructAwqVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunHfTheblokeDeepseekCoder67bInstructAwqResponse,
+    WorkersAiPostRunHfTheblokeDeepseekCoder67bInstructAwqError,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunHfTheblokeDeepseekCoder67bInstructAwqPathParams
+  >({
+    url: '/accounts/{accountId}/ai/run/@hf/thebloke/deepseek-coder-6.7b-instruct-awq',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type WorkersAiPostRunHfTheblokeLlama213bChatAwqPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunHfTheblokeLlama213bChatAwqError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunHfTheblokeLlama213bChatAwqResponse = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunHfTheblokeLlama213bChatAwqVariables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunHfTheblokeLlama213bChatAwqPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunHfTheblokeLlama213bChatAwq = (
+  variables: WorkersAiPostRunHfTheblokeLlama213bChatAwqVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunHfTheblokeLlama213bChatAwqResponse,
+    WorkersAiPostRunHfTheblokeLlama213bChatAwqError,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunHfTheblokeLlama213bChatAwqPathParams
+  >({ url: '/accounts/{accountId}/ai/run/@hf/thebloke/llama-2-13b-chat-awq', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunHfTheblokeLlamaguard7bAwqPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunHfTheblokeLlamaguard7bAwqError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunHfTheblokeLlamaguard7bAwqResponse = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunHfTheblokeLlamaguard7bAwqVariables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunHfTheblokeLlamaguard7bAwqPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunHfTheblokeLlamaguard7bAwq = (
+  variables: WorkersAiPostRunHfTheblokeLlamaguard7bAwqVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunHfTheblokeLlamaguard7bAwqResponse,
+    WorkersAiPostRunHfTheblokeLlamaguard7bAwqError,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunHfTheblokeLlamaguard7bAwqPathParams
+  >({ url: '/accounts/{accountId}/ai/run/@hf/thebloke/llamaguard-7b-awq', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunHfTheblokeMistral7bInstructV01AwqPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunHfTheblokeMistral7bInstructV01AwqError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunHfTheblokeMistral7bInstructV01AwqResponse = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunHfTheblokeMistral7bInstructV01AwqVariables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunHfTheblokeMistral7bInstructV01AwqPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunHfTheblokeMistral7bInstructV01Awq = (
+  variables: WorkersAiPostRunHfTheblokeMistral7bInstructV01AwqVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunHfTheblokeMistral7bInstructV01AwqResponse,
+    WorkersAiPostRunHfTheblokeMistral7bInstructV01AwqError,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunHfTheblokeMistral7bInstructV01AwqPathParams
+  >({
+    url: '/accounts/{accountId}/ai/run/@hf/thebloke/mistral-7b-instruct-v0.1-awq',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type WorkersAiPostRunHfTheblokeNeuralChat7bV31AwqPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunHfTheblokeNeuralChat7bV31AwqError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunHfTheblokeNeuralChat7bV31AwqResponse = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunHfTheblokeNeuralChat7bV31AwqVariables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunHfTheblokeNeuralChat7bV31AwqPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunHfTheblokeNeuralChat7bV31Awq = (
+  variables: WorkersAiPostRunHfTheblokeNeuralChat7bV31AwqVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunHfTheblokeNeuralChat7bV31AwqResponse,
+    WorkersAiPostRunHfTheblokeNeuralChat7bV31AwqError,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunHfTheblokeNeuralChat7bV31AwqPathParams
+  >({ url: '/accounts/{accountId}/ai/run/@hf/thebloke/neural-chat-7b-v3-1-awq', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunHfTheblokeOpenhermes25Mistral7bAwqPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunHfTheblokeOpenhermes25Mistral7bAwqError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunHfTheblokeOpenhermes25Mistral7bAwqResponse = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunHfTheblokeOpenhermes25Mistral7bAwqVariables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunHfTheblokeOpenhermes25Mistral7bAwqPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunHfTheblokeOpenhermes25Mistral7bAwq = (
+  variables: WorkersAiPostRunHfTheblokeOpenhermes25Mistral7bAwqVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunHfTheblokeOpenhermes25Mistral7bAwqResponse,
+    WorkersAiPostRunHfTheblokeOpenhermes25Mistral7bAwqError,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunHfTheblokeOpenhermes25Mistral7bAwqPathParams
+  >({
+    url: '/accounts/{accountId}/ai/run/@hf/thebloke/openhermes-2.5-mistral-7b-awq',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type WorkersAiPostRunHfTheblokeZephyr7bBetaAwqPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiPostRunHfTheblokeZephyr7bBetaAwqError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkersAiPostRunHfTheblokeZephyr7bBetaAwqResponse = {
+  result?:
+    | {
+        /**
+         * The generated text response from the model
+         */
+        response?: string;
+        /**
+         * An array of tool calls requests made during the response generation
+         */
+        tool_calls?: {
+          /**
+           * The arguments passed to be passed to the tool call request
+           */
+          arguments?: Record<string, any>;
+          /**
+           * The name of the tool to be called
+           */
+          name?: string;
+        }[];
+      }
+    | Blob;
+  /**
+   * @default true
+   */
+  success?: boolean;
+};
+
+export type WorkersAiPostRunHfTheblokeZephyr7bBetaAwqVariables = {
+  body?:
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      };
+  pathParams: WorkersAiPostRunHfTheblokeZephyr7bBetaAwqPathParams;
+} & FetcherExtraProps;
+
+export const workersAiPostRunHfTheblokeZephyr7bBetaAwq = (
+  variables: WorkersAiPostRunHfTheblokeZephyr7bBetaAwqVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersAiPostRunHfTheblokeZephyr7bBetaAwqResponse,
+    WorkersAiPostRunHfTheblokeZephyr7bBetaAwqError,
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        /**
+         * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+         */
+        lora?: string;
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * The input text prompt for the model to generate a response.
+         *
+         * @maxLength 131072
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+         *
+         * @default false
+         */
+        raw?: boolean;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      }
+    | {
+        /**
+         * Decreases the likelihood of the model repeating the same lines verbatim.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        frequency_penalty?: number;
+        functions?: {
+          code: string;
+          name: string;
+        }[];
+        /**
+         * The maximum number of tokens to generate in the response.
+         *
+         * @default 256
+         */
+        max_tokens?: number;
+        /**
+         * An array of message objects representing the conversation history.
+         */
+        messages: {
+          /**
+           * The content of the message as a string.
+           *
+           * @maxLength 131072
+           */
+          content: string;
+          /**
+           * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+           */
+          role: string;
+        }[];
+        /**
+         * Increases the likelihood of the model introducing new topics.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        presence_penalty?: number;
+        /**
+         * Penalty for repeated tokens; higher values discourage repetition.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        repetition_penalty?: number;
+        /**
+         * Random seed for reproducibility of the generation.
+         *
+         * @maximum 9999999999
+         * @minimum 1
+         */
+        seed?: number;
+        /**
+         * If true, the response will be streamed back incrementally.
+         *
+         * @default false
+         */
+        stream?: boolean;
+        /**
+         * Controls the randomness of the output; higher values produce more random results.
+         *
+         * @default 0.6
+         * @maximum 5
+         * @minimum 0
+         */
+        temperature?: number;
+        /**
+         * A list of tools available for the assistant to use.
+         */
+        tools?: (
+          | {
+              /**
+               * A brief description of what the tool does.
+               */
+              description: string;
+              /**
+               * The name of the tool. More descriptive the better.
+               */
+              name: string;
+              /**
+               * Schema defining the parameters accepted by the tool.
+               */
+              parameters: {
+                /**
+                 * Definitions of each parameter.
+                 */
+                properties: {
+                  [key: string]: {
+                    /**
+                     * A description of the expected parameter.
+                     */
+                    description: string;
+                    /**
+                     * The data type of the parameter.
+                     */
+                    type: string;
+                  };
+                };
+                /**
+                 * List of required parameter names.
+                 */
+                required?: string[];
+                /**
+                 * The type of the parameters object (usually 'object').
+                 */
+                type: string;
+              };
+            }
+          | {
+              /**
+               * Details of the function tool.
+               */
+              ['function']: {
+                /**
+                 * A brief description of what the function does.
+                 */
+                description: string;
+                /**
+                 * The name of the function.
+                 */
+                name: string;
+                /**
+                 * Schema defining the parameters accepted by the function.
+                 */
+                parameters: {
+                  /**
+                   * Definitions of each parameter.
+                   */
+                  properties: {
+                    [key: string]: {
+                      /**
+                       * A description of the expected parameter.
+                       */
+                      description: string;
+                      /**
+                       * The data type of the parameter.
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * List of required parameter names.
+                   */
+                  required?: string[];
+                  /**
+                   * The type of the parameters object (usually 'object').
+                   */
+                  type: string;
+                };
+              };
+              /**
+               * Specifies the type of tool (e.g., 'function').
+               */
+              type: string;
+            }
+        )[];
+        /**
+         * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+         *
+         * @maximum 50
+         * @minimum 1
+         */
+        top_k?: number;
+        /**
+         * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+         *
+         * @maximum 2
+         * @minimum 0
+         */
+        top_p?: number;
+      },
+    {},
+    {},
+    WorkersAiPostRunHfTheblokeZephyr7bBetaAwqPathParams
+  >({ url: '/accounts/{accountId}/ai/run/@hf/thebloke/zephyr-7b-beta-awq', method: 'post', ...variables, signal });
+
+export type WorkersAiPostRunModelPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+  modelName: string;
+};
+
+export type WorkersAiPostRunModelError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type WorkersAiPostRunModelResponse = {
+  result?:
+    | {
+        /**
+         * The classification label assigned to the text (e.g., 'POSITIVE' or 'NEGATIVE')
+         */
+        label?: string;
+        /**
+         * Confidence score indicating the likelihood that the text belongs to the specified label
+         */
+        score?: number;
+      }[]
+    | Blob
+    | (
+        | {
+            /**
+             * The generated audio in MP3 format, base64-encoded
+             */
+            audio?: string;
+          }
+        | Blob
+      )
+    | {
+        /**
+         * Embeddings of the requested text values
+         */
+        data?: number[][];
+        shape?: number[];
+      }
+    | {
+        /**
+         * The transcription
+         */
+        text: string;
+        vtt?: string;
+        word_count?: number;
+        words?: {
+          /**
+           * The ending second when the word completes
+           */
+          end?: number;
+          /**
+           * The second this word begins in the recording
+           */
+          start?: number;
+          word?: string;
+        }[];
+      }
+    | {
+        /**
+         * The predicted category or class for the input image based on analysis
+         */
+        label?: string;
+        /**
+         * A confidence value, between 0 and 1, indicating how certain the model is about the predicted label
+         */
+        score?: number;
+      }[]
+    | {
+        /**
+         * Coordinates defining the bounding box around the detected object
+         */
+        box?: {
+          /**
+           * The x-coordinate of the bottom-right corner of the bounding box
+           */
+          xmax?: number;
+          /**
+           * The x-coordinate of the top-left corner of the bounding box
+           */
+          xmin?: number;
+          /**
+           * The y-coordinate of the bottom-right corner of the bounding box
+           */
+          ymax?: number;
+          /**
+           * The y-coordinate of the top-left corner of the bounding box
+           */
+          ymin?: number;
+        };
+        /**
+         * The class label or name of the detected object
+         */
+        label?: string;
+        /**
+         * Confidence score indicating the likelihood that the detection is correct
+         */
+        score?: number;
+      }[]
+    | (
+        | {
+            /**
+             * The generated text response from the model
+             */
+            response?: string;
+            /**
+             * An array of tool calls requests made during the response generation
+             */
+            tool_calls?: {
+              /**
+               * The arguments passed to be passed to the tool call request
+               */
+              arguments?: Record<string, any>;
+              /**
+               * The name of the tool to be called
+               */
+              name?: string;
+            }[];
+          }
+        | Blob
+      )
+    | {
+        /**
+         * The translated text in the target language
+         */
+        translated_text?: string;
+      }
+    | {
+        /**
+         * The summarized version of the input text
+         */
+        summary?: string;
+      }
+    | {
+        description?: string;
+      };
+};
+
+export type WorkersAiPostRunModelVariables = {
+  body?:
+    | {
+        /**
+         * The text that you want to classify
+         *
+         * @minLength 1
+         */
+        text: string;
+      }
+    | {
+        /**
+         * Controls how closely the generated image should adhere to the prompt; higher values make the image more aligned with the prompt
+         *
+         * @default 7.5
+         */
+        guidance?: number;
+        /**
+         * The height of the generated image in pixels
+         *
+         * @maximum 2048
+         * @minimum 256
+         */
+        height?: number;
+        /**
+         * For use with img2img tasks. An array of integers that represent the image data constrained to 8-bit unsigned integer values
+         */
+        image?: number[];
+        /**
+         * For use with img2img tasks. A base64-encoded string of the input image
+         */
+        image_b64?: string;
+        /**
+         * An array representing An array of integers that represent mask image data for inpainting constrained to 8-bit unsigned integer values
+         */
+        mask?: number[];
+        /**
+         * Text describing elements to avoid in the generated image
+         */
+        negative_prompt?: string;
+        /**
+         * The number of diffusion steps; higher values can improve quality but take longer
+         *
+         * @default 20
+         * @maximum 20
+         */
+        num_steps?: number;
+        /**
+         * A text description of the image you want to generate
+         *
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * Random seed for reproducibility of the image generation
+         */
+        seed?: number;
+        /**
+         * A value between 0 and 1 indicating how strongly to apply the transformation during img2img tasks; lower values make the output closer to the input image
+         *
+         * @default 1
+         */
+        strength?: number;
+        /**
+         * The width of the generated image in pixels
+         *
+         * @maximum 2048
+         * @minimum 256
+         */
+        width?: number;
+      }
+    | {
+        /**
+         * The speech language (e.g., 'en' for English, 'fr' for French). Defaults to 'en' if not specified
+         *
+         * @default en
+         */
+        lang?: string;
+        /**
+         * A text description of the image you want to generate
+         *
+         * @minLength 1
+         */
+        prompt: string;
+      }
+    | {
+        text: string | string[];
+      }
+    | (
+        | Blob
+        | {
+            /**
+             * An array of integers that represent the audio data constrained to 8-bit unsigned integer values
+             */
+            audio: number[];
+            /**
+             * The language of the recorded audio
+             */
+            source_lang?: string;
+            /**
+             * The language to translate the transcription into. Currently only English is supported.
+             */
+            target_lang?: string;
+          }
+      )
+    | (
+        | Blob
+        | {
+            /**
+             * An array of integers that represent the image data constrained to 8-bit unsigned integer values
+             */
+            image: number[];
+          }
+      )
+    | (
+        | Blob
+        | {
+            /**
+             * An array of integers that represent the image data constrained to 8-bit unsigned integer values
+             */
+            image?: number[];
+          }
+      )
+    | (
+        | {
+            /**
+             * Decreases the likelihood of the model repeating the same lines verbatim.
+             *
+             * @maximum 2
+             * @minimum 0
+             */
+            frequency_penalty?: number;
+            /**
+             * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+             */
+            lora?: string;
+            /**
+             * The maximum number of tokens to generate in the response.
+             *
+             * @default 256
+             */
+            max_tokens?: number;
+            /**
+             * Increases the likelihood of the model introducing new topics.
+             *
+             * @maximum 2
+             * @minimum 0
+             */
+            presence_penalty?: number;
+            /**
+             * The input text prompt for the model to generate a response.
+             *
+             * @maxLength 131072
+             * @minLength 1
+             */
+            prompt: string;
+            /**
+             * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+             *
+             * @default false
+             */
+            raw?: boolean;
+            /**
+             * Penalty for repeated tokens; higher values discourage repetition.
+             *
+             * @maximum 2
+             * @minimum 0
+             */
+            repetition_penalty?: number;
+            /**
+             * Random seed for reproducibility of the generation.
+             *
+             * @maximum 9999999999
+             * @minimum 1
+             */
+            seed?: number;
+            /**
+             * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+             *
+             * @default false
+             */
+            stream?: boolean;
+            /**
+             * Controls the randomness of the output; higher values produce more random results.
+             *
+             * @default 0.6
+             * @maximum 5
+             * @minimum 0
+             */
+            temperature?: number;
+            /**
+             * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+             *
+             * @maximum 50
+             * @minimum 1
+             */
+            top_k?: number;
+            /**
+             * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+             *
+             * @maximum 2
+             * @minimum 0
+             */
+            top_p?: number;
+          }
+        | {
+            /**
+             * Decreases the likelihood of the model repeating the same lines verbatim.
+             *
+             * @maximum 2
+             * @minimum 0
+             */
+            frequency_penalty?: number;
+            functions?: {
+              code: string;
+              name: string;
+            }[];
+            /**
+             * The maximum number of tokens to generate in the response.
+             *
+             * @default 256
+             */
+            max_tokens?: number;
+            /**
+             * An array of message objects representing the conversation history.
+             */
+            messages: {
+              /**
+               * The content of the message as a string.
+               *
+               * @maxLength 131072
+               */
+              content: string;
+              /**
+               * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+               */
+              role: string;
+            }[];
+            /**
+             * Increases the likelihood of the model introducing new topics.
+             *
+             * @maximum 2
+             * @minimum 0
+             */
+            presence_penalty?: number;
+            /**
+             * Penalty for repeated tokens; higher values discourage repetition.
+             *
+             * @maximum 2
+             * @minimum 0
+             */
+            repetition_penalty?: number;
+            /**
+             * Random seed for reproducibility of the generation.
+             *
+             * @maximum 9999999999
+             * @minimum 1
+             */
+            seed?: number;
+            /**
+             * If true, the response will be streamed back incrementally.
+             *
+             * @default false
+             */
+            stream?: boolean;
+            /**
+             * Controls the randomness of the output; higher values produce more random results.
+             *
+             * @default 0.6
+             * @maximum 5
+             * @minimum 0
+             */
+            temperature?: number;
+            /**
+             * A list of tools available for the assistant to use.
+             */
+            tools?: (
+              | {
+                  /**
+                   * A brief description of what the tool does.
+                   */
+                  description: string;
+                  /**
+                   * The name of the tool. More descriptive the better.
+                   */
+                  name: string;
+                  /**
+                   * Schema defining the parameters accepted by the tool.
+                   */
+                  parameters: {
+                    /**
+                     * Definitions of each parameter.
+                     */
+                    properties: {
+                      [key: string]: {
+                        /**
+                         * A description of the expected parameter.
+                         */
+                        description: string;
+                        /**
+                         * The data type of the parameter.
+                         */
+                        type: string;
+                      };
+                    };
+                    /**
+                     * List of required parameter names.
+                     */
+                    required?: string[];
+                    /**
+                     * The type of the parameters object (usually 'object').
+                     */
+                    type: string;
+                  };
+                }
+              | {
+                  /**
+                   * Details of the function tool.
+                   */
+                  ['function']: {
+                    /**
+                     * A brief description of what the function does.
+                     */
+                    description: string;
+                    /**
+                     * The name of the function.
+                     */
+                    name: string;
+                    /**
+                     * Schema defining the parameters accepted by the function.
+                     */
+                    parameters: {
+                      /**
+                       * Definitions of each parameter.
+                       */
+                      properties: {
+                        [key: string]: {
+                          /**
+                           * A description of the expected parameter.
+                           */
+                          description: string;
+                          /**
+                           * The data type of the parameter.
+                           */
+                          type: string;
+                        };
+                      };
+                      /**
+                       * List of required parameter names.
+                       */
+                      required?: string[];
+                      /**
+                       * The type of the parameters object (usually 'object').
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * Specifies the type of tool (e.g., 'function').
+                   */
+                  type: string;
+                }
+            )[];
+            /**
+             * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+             *
+             * @maximum 50
+             * @minimum 1
+             */
+            top_k?: number;
+            /**
+             * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+             *
+             * @maximum 2
+             * @minimum 0
+             */
+            top_p?: number;
+          }
+      )
+    | {
+        /**
+         * The language code of the source text (e.g., 'en' for English). Defaults to 'en' if not specified
+         *
+         * @default en
+         */
+        source_lang?: string;
+        /**
+         * The language code to translate the text into (e.g., 'es' for Spanish)
+         */
+        target_lang: string;
+        /**
+         * The text to be translated
+         *
+         * @minLength 1
+         */
+        text: string;
+      }
+    | {
+        /**
+         * The text that you want the model to summarize
+         *
+         * @minLength 1
+         */
+        input_text: string;
+        /**
+         * The maximum length of the generated summary in tokens
+         *
+         * @default 1024
+         */
+        max_length?: number;
+      }
+    | (
+        | Blob
+        | {
+            image: number[] | Blob;
+            /**
+             * The maximum number of tokens to generate in the response.
+             *
+             * @default 512
+             */
+            max_tokens?: number;
+            /**
+             * The input text prompt for the model to generate a response.
+             */
+            prompt?: string;
+            /**
+             * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+             *
+             * @default false
+             */
+            raw?: boolean;
+            /**
+             * Controls the randomness of the output; higher values produce more random results.
+             */
+            temperature?: number;
+          }
+      );
+  pathParams: WorkersAiPostRunModelPathParams;
+} & FetcherExtraProps;
+
+/**
+ * This endpoint provides users with the capability to run specific AI models on-demand.
+ *
+ * By submitting the required input data, users can receive real-time predictions or results generated by the chosen AI
+ * model. The endpoint supports various AI model types, ensuring flexibility and adaptability for diverse use cases.
+ *
+ * Model specific inputs available in [Cloudflare Docs](https://developers.cloudflare.com/workers-ai/models/).
+ */
+export const workersAiPostRunModel = (variables: WorkersAiPostRunModelVariables, signal?: AbortSignal) =>
+  fetch<
+    WorkersAiPostRunModelResponse,
+    WorkersAiPostRunModelError,
+    | {
+        /**
+         * The text that you want to classify
+         *
+         * @minLength 1
+         */
+        text: string;
+      }
+    | {
+        /**
+         * Controls how closely the generated image should adhere to the prompt; higher values make the image more aligned with the prompt
+         *
+         * @default 7.5
+         */
+        guidance?: number;
+        /**
+         * The height of the generated image in pixels
+         *
+         * @maximum 2048
+         * @minimum 256
+         */
+        height?: number;
+        /**
+         * For use with img2img tasks. An array of integers that represent the image data constrained to 8-bit unsigned integer values
+         */
+        image?: number[];
+        /**
+         * For use with img2img tasks. A base64-encoded string of the input image
+         */
+        image_b64?: string;
+        /**
+         * An array representing An array of integers that represent mask image data for inpainting constrained to 8-bit unsigned integer values
+         */
+        mask?: number[];
+        /**
+         * Text describing elements to avoid in the generated image
+         */
+        negative_prompt?: string;
+        /**
+         * The number of diffusion steps; higher values can improve quality but take longer
+         *
+         * @default 20
+         * @maximum 20
+         */
+        num_steps?: number;
+        /**
+         * A text description of the image you want to generate
+         *
+         * @minLength 1
+         */
+        prompt: string;
+        /**
+         * Random seed for reproducibility of the image generation
+         */
+        seed?: number;
+        /**
+         * A value between 0 and 1 indicating how strongly to apply the transformation during img2img tasks; lower values make the output closer to the input image
+         *
+         * @default 1
+         */
+        strength?: number;
+        /**
+         * The width of the generated image in pixels
+         *
+         * @maximum 2048
+         * @minimum 256
+         */
+        width?: number;
+      }
+    | {
+        /**
+         * The speech language (e.g., 'en' for English, 'fr' for French). Defaults to 'en' if not specified
+         *
+         * @default en
+         */
+        lang?: string;
+        /**
+         * A text description of the image you want to generate
+         *
+         * @minLength 1
+         */
+        prompt: string;
+      }
+    | {
+        text: string | string[];
+      }
+    | (
+        | Blob
+        | {
+            /**
+             * An array of integers that represent the audio data constrained to 8-bit unsigned integer values
+             */
+            audio: number[];
+            /**
+             * The language of the recorded audio
+             */
+            source_lang?: string;
+            /**
+             * The language to translate the transcription into. Currently only English is supported.
+             */
+            target_lang?: string;
+          }
+      )
+    | (
+        | Blob
+        | {
+            /**
+             * An array of integers that represent the image data constrained to 8-bit unsigned integer values
+             */
+            image: number[];
+          }
+      )
+    | (
+        | Blob
+        | {
+            /**
+             * An array of integers that represent the image data constrained to 8-bit unsigned integer values
+             */
+            image?: number[];
+          }
+      )
+    | (
+        | {
+            /**
+             * Decreases the likelihood of the model repeating the same lines verbatim.
+             *
+             * @maximum 2
+             * @minimum 0
+             */
+            frequency_penalty?: number;
+            /**
+             * Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model.
+             */
+            lora?: string;
+            /**
+             * The maximum number of tokens to generate in the response.
+             *
+             * @default 256
+             */
+            max_tokens?: number;
+            /**
+             * Increases the likelihood of the model introducing new topics.
+             *
+             * @maximum 2
+             * @minimum 0
+             */
+            presence_penalty?: number;
+            /**
+             * The input text prompt for the model to generate a response.
+             *
+             * @maxLength 131072
+             * @minLength 1
+             */
+            prompt: string;
+            /**
+             * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+             *
+             * @default false
+             */
+            raw?: boolean;
+            /**
+             * Penalty for repeated tokens; higher values discourage repetition.
+             *
+             * @maximum 2
+             * @minimum 0
+             */
+            repetition_penalty?: number;
+            /**
+             * Random seed for reproducibility of the generation.
+             *
+             * @maximum 9999999999
+             * @minimum 1
+             */
+            seed?: number;
+            /**
+             * If true, the response will be streamed back incrementally using SSE, Server Sent Events.
+             *
+             * @default false
+             */
+            stream?: boolean;
+            /**
+             * Controls the randomness of the output; higher values produce more random results.
+             *
+             * @default 0.6
+             * @maximum 5
+             * @minimum 0
+             */
+            temperature?: number;
+            /**
+             * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+             *
+             * @maximum 50
+             * @minimum 1
+             */
+            top_k?: number;
+            /**
+             * Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+             *
+             * @maximum 2
+             * @minimum 0
+             */
+            top_p?: number;
+          }
+        | {
+            /**
+             * Decreases the likelihood of the model repeating the same lines verbatim.
+             *
+             * @maximum 2
+             * @minimum 0
+             */
+            frequency_penalty?: number;
+            functions?: {
+              code: string;
+              name: string;
+            }[];
+            /**
+             * The maximum number of tokens to generate in the response.
+             *
+             * @default 256
+             */
+            max_tokens?: number;
+            /**
+             * An array of message objects representing the conversation history.
+             */
+            messages: {
+              /**
+               * The content of the message as a string.
+               *
+               * @maxLength 131072
+               */
+              content: string;
+              /**
+               * The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool').
+               */
+              role: string;
+            }[];
+            /**
+             * Increases the likelihood of the model introducing new topics.
+             *
+             * @maximum 2
+             * @minimum 0
+             */
+            presence_penalty?: number;
+            /**
+             * Penalty for repeated tokens; higher values discourage repetition.
+             *
+             * @maximum 2
+             * @minimum 0
+             */
+            repetition_penalty?: number;
+            /**
+             * Random seed for reproducibility of the generation.
+             *
+             * @maximum 9999999999
+             * @minimum 1
+             */
+            seed?: number;
+            /**
+             * If true, the response will be streamed back incrementally.
+             *
+             * @default false
+             */
+            stream?: boolean;
+            /**
+             * Controls the randomness of the output; higher values produce more random results.
+             *
+             * @default 0.6
+             * @maximum 5
+             * @minimum 0
+             */
+            temperature?: number;
+            /**
+             * A list of tools available for the assistant to use.
+             */
+            tools?: (
+              | {
+                  /**
+                   * A brief description of what the tool does.
+                   */
+                  description: string;
+                  /**
+                   * The name of the tool. More descriptive the better.
+                   */
+                  name: string;
+                  /**
+                   * Schema defining the parameters accepted by the tool.
+                   */
+                  parameters: {
+                    /**
+                     * Definitions of each parameter.
+                     */
+                    properties: {
+                      [key: string]: {
+                        /**
+                         * A description of the expected parameter.
+                         */
+                        description: string;
+                        /**
+                         * The data type of the parameter.
+                         */
+                        type: string;
+                      };
+                    };
+                    /**
+                     * List of required parameter names.
+                     */
+                    required?: string[];
+                    /**
+                     * The type of the parameters object (usually 'object').
+                     */
+                    type: string;
+                  };
+                }
+              | {
+                  /**
+                   * Details of the function tool.
+                   */
+                  ['function']: {
+                    /**
+                     * A brief description of what the function does.
+                     */
+                    description: string;
+                    /**
+                     * The name of the function.
+                     */
+                    name: string;
+                    /**
+                     * Schema defining the parameters accepted by the function.
+                     */
+                    parameters: {
+                      /**
+                       * Definitions of each parameter.
+                       */
+                      properties: {
+                        [key: string]: {
+                          /**
+                           * A description of the expected parameter.
+                           */
+                          description: string;
+                          /**
+                           * The data type of the parameter.
+                           */
+                          type: string;
+                        };
+                      };
+                      /**
+                       * List of required parameter names.
+                       */
+                      required?: string[];
+                      /**
+                       * The type of the parameters object (usually 'object').
+                       */
+                      type: string;
+                    };
+                  };
+                  /**
+                   * Specifies the type of tool (e.g., 'function').
+                   */
+                  type: string;
+                }
+            )[];
+            /**
+             * Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises.
+             *
+             * @maximum 50
+             * @minimum 1
+             */
+            top_k?: number;
+            /**
+             * Controls the creativity of the AI's responses by adjusting how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses.
+             *
+             * @maximum 2
+             * @minimum 0
+             */
+            top_p?: number;
+          }
+      )
+    | {
+        /**
+         * The language code of the source text (e.g., 'en' for English). Defaults to 'en' if not specified
+         *
+         * @default en
+         */
+        source_lang?: string;
+        /**
+         * The language code to translate the text into (e.g., 'es' for Spanish)
+         */
+        target_lang: string;
+        /**
+         * The text to be translated
+         *
+         * @minLength 1
+         */
+        text: string;
+      }
+    | {
+        /**
+         * The text that you want the model to summarize
+         *
+         * @minLength 1
+         */
+        input_text: string;
+        /**
+         * The maximum length of the generated summary in tokens
+         *
+         * @default 1024
+         */
+        max_length?: number;
+      }
+    | (
+        | Blob
+        | {
+            image: number[] | Blob;
+            /**
+             * The maximum number of tokens to generate in the response.
+             *
+             * @default 512
+             */
+            max_tokens?: number;
+            /**
+             * The input text prompt for the model to generate a response.
+             */
+            prompt?: string;
+            /**
+             * If true, a chat template is not applied and you must adhere to the specific model's expected formatting.
+             *
+             * @default false
+             */
+            raw?: boolean;
+            /**
+             * Controls the randomness of the output; higher values produce more random results.
+             */
+            temperature?: number;
+          }
+      ),
+    {},
+    {},
+    WorkersAiPostRunModelPathParams
+  >({ url: '/accounts/{accountId}/ai/run/{modelName}', method: 'post', ...variables, signal });
+
+export type WorkersAiSearchTaskPathParams = {
+  /**
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   */
+  accountId: string;
+};
+
+export type WorkersAiSearchTaskError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    error: string;
+    success: boolean;
+  };
+}>;
+
+export type WorkersAiSearchTaskResponse = {
+  errors: Record<string, any>[];
+  messages: Record<string, any>[];
+  result: Record<string, any>[];
+  success: boolean;
+};
+
+export type WorkersAiSearchTaskVariables = {
+  pathParams: WorkersAiSearchTaskPathParams;
+} & FetcherExtraProps;
+
+export const workersAiSearchTask = (variables: WorkersAiSearchTaskVariables, signal?: AbortSignal) =>
+  fetch<WorkersAiSearchTaskResponse, WorkersAiSearchTaskError, undefined, {}, {}, WorkersAiSearchTaskPathParams>({
+    url: '/accounts/{accountId}/ai/tasks/search',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type NotificationAlertTypesGetAlertTypesPathParams = {
+  accountId: Schemas.AaaAccountId;
+};
+
+export type NotificationAlertTypesGetAlertTypesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AaaResponseCollection & Schemas.AaaComponentsSchemasApiResponseCommonFailure;
+}>;
+
+export type NotificationAlertTypesGetAlertTypesVariables = {
+  pathParams: NotificationAlertTypesGetAlertTypesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets a list of all alert types for which an account is eligible.
+ */
+export const notificationAlertTypesGetAlertTypes = (
+  variables: NotificationAlertTypesGetAlertTypesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AaaResponseCollection,
+    NotificationAlertTypesGetAlertTypesError,
+    undefined,
+    {},
+    {},
+    NotificationAlertTypesGetAlertTypesPathParams
+  >({ url: '/accounts/{accountId}/alerting/v3/available_alerts', method: 'get', ...variables, signal });
+
+export type NotificationMechanismEligibilityGetDeliveryMechanismEligibilityPathParams = {
+  accountId: Schemas.AaaAccountId;
+};
+
+export type NotificationMechanismEligibilityGetDeliveryMechanismEligibilityError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AaaSchemasResponseCollection & Schemas.AaaComponentsSchemasApiResponseCommonFailure;
+}>;
+
+export type NotificationMechanismEligibilityGetDeliveryMechanismEligibilityVariables = {
+  pathParams: NotificationMechanismEligibilityGetDeliveryMechanismEligibilityPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a list of all delivery mechanism types for which an account is eligible.
+ */
+export const notificationMechanismEligibilityGetDeliveryMechanismEligibility = (
+  variables: NotificationMechanismEligibilityGetDeliveryMechanismEligibilityVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AaaSchemasResponseCollection,
+    NotificationMechanismEligibilityGetDeliveryMechanismEligibilityError,
+    undefined,
+    {},
+    {},
+    NotificationMechanismEligibilityGetDeliveryMechanismEligibilityPathParams
+  >({ url: '/accounts/{accountId}/alerting/v3/destinations/eligible', method: 'get', ...variables, signal });
+
+export type NotificationDestinationsWithPagerDutyDeletePagerDutyServicesPathParams = {
+  accountId: Schemas.AaaAccountId;
+};
+
+export type NotificationDestinationsWithPagerDutyDeletePagerDutyServicesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AaaApiResponseCollection & Schemas.AaaComponentsSchemasApiResponseCommonFailure;
+}>;
+
+export type NotificationDestinationsWithPagerDutyDeletePagerDutyServicesVariables = {
+  pathParams: NotificationDestinationsWithPagerDutyDeletePagerDutyServicesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes all the PagerDuty Services connected to the account.
+ */
+export const notificationDestinationsWithPagerDutyDeletePagerDutyServices = (
+  variables: NotificationDestinationsWithPagerDutyDeletePagerDutyServicesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AaaApiResponseCollection,
+    NotificationDestinationsWithPagerDutyDeletePagerDutyServicesError,
+    undefined,
+    {},
+    {},
+    NotificationDestinationsWithPagerDutyDeletePagerDutyServicesPathParams
+  >({ url: '/accounts/{accountId}/alerting/v3/destinations/pagerduty', method: 'delete', ...variables, signal });
+
+export type NotificationDestinationsWithPagerDutyListPagerDutyServicesPathParams = {
+  accountId: Schemas.AaaAccountId;
+};
+
+export type NotificationDestinationsWithPagerDutyListPagerDutyServicesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AaaComponentsSchemasResponseCollection & Schemas.AaaComponentsSchemasApiResponseCommonFailure;
+}>;
+
+export type NotificationDestinationsWithPagerDutyListPagerDutyServicesVariables = {
+  pathParams: NotificationDestinationsWithPagerDutyListPagerDutyServicesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a list of all configured PagerDuty services.
+ */
+export const notificationDestinationsWithPagerDutyListPagerDutyServices = (
+  variables: NotificationDestinationsWithPagerDutyListPagerDutyServicesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AaaComponentsSchemasResponseCollection,
+    NotificationDestinationsWithPagerDutyListPagerDutyServicesError,
+    undefined,
+    {},
+    {},
+    NotificationDestinationsWithPagerDutyListPagerDutyServicesPathParams
+  >({ url: '/accounts/{accountId}/alerting/v3/destinations/pagerduty', method: 'get', ...variables, signal });
+
+export type NotificationDestinationsWithPagerDutyConnectPagerDutyPathParams = {
+  accountId: Schemas.AaaAccountId;
+};
+
+export type NotificationDestinationsWithPagerDutyConnectPagerDutyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AaaIdResponse & Schemas.AaaComponentsSchemasApiResponseCommonFailure;
+}>;
+
+export type NotificationDestinationsWithPagerDutyConnectPagerDutyVariables = {
+  pathParams: NotificationDestinationsWithPagerDutyConnectPagerDutyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new token for integrating with PagerDuty.
+ */
+export const notificationDestinationsWithPagerDutyConnectPagerDuty = (
+  variables: NotificationDestinationsWithPagerDutyConnectPagerDutyVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AaaSensitiveIdResponse,
+    NotificationDestinationsWithPagerDutyConnectPagerDutyError,
+    undefined,
+    {},
+    {},
+    NotificationDestinationsWithPagerDutyConnectPagerDutyPathParams
+  >({ url: '/accounts/{accountId}/alerting/v3/destinations/pagerduty/connect', method: 'post', ...variables, signal });
+
+export type NotificationDestinationsWithPagerDutyConnectPagerDutyTokenPathParams = {
+  accountId: Schemas.AaaAccountId;
+  tokenId: Schemas.AaaIntegrationToken;
+};
+
+export type NotificationDestinationsWithPagerDutyConnectPagerDutyTokenError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AaaIdResponse & Schemas.AaaComponentsSchemasApiResponseCommonFailure;
+}>;
+
+export type NotificationDestinationsWithPagerDutyConnectPagerDutyTokenVariables = {
+  pathParams: NotificationDestinationsWithPagerDutyConnectPagerDutyTokenPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Links PagerDuty with the account using the integration token.
+ */
+export const notificationDestinationsWithPagerDutyConnectPagerDutyToken = (
+  variables: NotificationDestinationsWithPagerDutyConnectPagerDutyTokenVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AaaIdResponse,
+    NotificationDestinationsWithPagerDutyConnectPagerDutyTokenError,
+    undefined,
+    {},
+    {},
+    NotificationDestinationsWithPagerDutyConnectPagerDutyTokenPathParams
+  >({
+    url: '/accounts/{accountId}/alerting/v3/destinations/pagerduty/connect/{tokenId}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type NotificationWebhooksListWebhooksPathParams = {
+  accountId: Schemas.AaaAccountId;
+};
+
+export type NotificationWebhooksListWebhooksError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AaaWebhooksComponentsSchemasResponseCollection &
+    Schemas.AaaComponentsSchemasApiResponseCommonFailure;
+}>;
+
+export type NotificationWebhooksListWebhooksVariables = {
+  pathParams: NotificationWebhooksListWebhooksPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets a list of all configured webhook destinations.
+ */
+export const notificationWebhooksListWebhooks = (
+  variables: NotificationWebhooksListWebhooksVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AaaWebhooksComponentsSchemasResponseCollection,
+    NotificationWebhooksListWebhooksError,
+    undefined,
+    {},
+    {},
+    NotificationWebhooksListWebhooksPathParams
+  >({ url: '/accounts/{accountId}/alerting/v3/destinations/webhooks', method: 'get', ...variables, signal });
+
+export type NotificationWebhooksCreateAWebhookPathParams = {
+  accountId: Schemas.AaaAccountId;
+};
+
+export type NotificationWebhooksCreateAWebhookError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AaaIdResponse & Schemas.AaaComponentsSchemasApiResponseCommonFailure;
+}>;
+
+export type NotificationWebhooksCreateAWebhookRequestBody = {
+  name: Schemas.AaaComponentsSchemasName;
+  secret?: Schemas.AaaSecret;
+  url: Schemas.AaaUrl;
+};
+
+export type NotificationWebhooksCreateAWebhookVariables = {
+  body: NotificationWebhooksCreateAWebhookRequestBody;
+  pathParams: NotificationWebhooksCreateAWebhookPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new webhook destination.
+ */
+export const notificationWebhooksCreateAWebhook = (
+  variables: NotificationWebhooksCreateAWebhookVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AaaIdResponse,
+    NotificationWebhooksCreateAWebhookError,
+    NotificationWebhooksCreateAWebhookRequestBody,
+    {},
+    {},
+    NotificationWebhooksCreateAWebhookPathParams
+  >({ url: '/accounts/{accountId}/alerting/v3/destinations/webhooks', method: 'post', ...variables, signal });
+
+export type NotificationWebhooksDeleteAWebhookPathParams = {
+  webhookId: Schemas.AaaWebhookId;
+  accountId: Schemas.AaaAccountId;
+};
+
+export type NotificationWebhooksDeleteAWebhookError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AaaApiResponseCollection & Schemas.AaaComponentsSchemasApiResponseCommonFailure;
+}>;
+
+export type NotificationWebhooksDeleteAWebhookVariables = {
+  pathParams: NotificationWebhooksDeleteAWebhookPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete a configured webhook destination.
+ */
+export const notificationWebhooksDeleteAWebhook = (
+  variables: NotificationWebhooksDeleteAWebhookVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AaaApiResponseCollection,
+    NotificationWebhooksDeleteAWebhookError,
+    undefined,
+    {},
+    {},
+    NotificationWebhooksDeleteAWebhookPathParams
+  >({
+    url: '/accounts/{accountId}/alerting/v3/destinations/webhooks/{webhookId}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type NotificationWebhooksGetAWebhookPathParams = {
+  accountId: Schemas.AaaAccountId;
+  webhookId: Schemas.AaaWebhookId;
+};
+
+export type NotificationWebhooksGetAWebhookError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AaaSchemasSingleResponse & Schemas.AaaComponentsSchemasApiResponseCommonFailure;
+}>;
+
+export type NotificationWebhooksGetAWebhookVariables = {
+  pathParams: NotificationWebhooksGetAWebhookPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get details for a single webhooks destination.
+ */
+export const notificationWebhooksGetAWebhook = (
+  variables: NotificationWebhooksGetAWebhookVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AaaSchemasSingleResponse,
+    NotificationWebhooksGetAWebhookError,
+    undefined,
+    {},
+    {},
+    NotificationWebhooksGetAWebhookPathParams
+  >({
+    url: '/accounts/{accountId}/alerting/v3/destinations/webhooks/{webhookId}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type NotificationWebhooksUpdateAWebhookPathParams = {
+  webhookId: Schemas.AaaWebhookId;
+  accountId: Schemas.AaaAccountId;
+};
+
+export type NotificationWebhooksUpdateAWebhookError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AaaIdResponse & Schemas.AaaComponentsSchemasApiResponseCommonFailure;
+}>;
+
+export type NotificationWebhooksUpdateAWebhookRequestBody = {
+  name: Schemas.AaaComponentsSchemasName;
+  secret?: Schemas.AaaSecret;
+  url: Schemas.AaaUrl;
+};
+
+export type NotificationWebhooksUpdateAWebhookVariables = {
+  body: NotificationWebhooksUpdateAWebhookRequestBody;
+  pathParams: NotificationWebhooksUpdateAWebhookPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update a webhook destination.
+ */
+export const notificationWebhooksUpdateAWebhook = (
+  variables: NotificationWebhooksUpdateAWebhookVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AaaIdResponse,
+    NotificationWebhooksUpdateAWebhookError,
+    NotificationWebhooksUpdateAWebhookRequestBody,
+    {},
+    {},
+    NotificationWebhooksUpdateAWebhookPathParams
+  >({
+    url: '/accounts/{accountId}/alerting/v3/destinations/webhooks/{webhookId}',
+    method: 'put',
+    ...variables,
+    signal
+  });
+
+export type NotificationHistoryListHistoryPathParams = {
+  accountId: Schemas.AaaAccountId;
+};
+
+export type NotificationHistoryListHistoryQueryParams = {
+  per_page?: Schemas.AaaPerPage;
+  before?: Schemas.AaaBefore;
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @example 2022-05-19T20:29:58.679897Z
+   * @format date-time
+   */
+  since?: string;
+};
+
+export type NotificationHistoryListHistoryError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AaaHistoryComponentsSchemasResponseCollection & Schemas.AaaComponentsSchemasApiResponseCommonFailure;
+}>;
+
+export type NotificationHistoryListHistoryVariables = {
+  pathParams: NotificationHistoryListHistoryPathParams;
+  queryParams?: NotificationHistoryListHistoryQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets a list of history records for notifications sent to an account. The records are displayed for last `x` number of days based on the zone plan (free = 30, pro = 30, biz = 30, ent = 90).
+ */
+export const notificationHistoryListHistory = (
+  variables: NotificationHistoryListHistoryVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AaaHistoryComponentsSchemasResponseCollection,
+    NotificationHistoryListHistoryError,
+    undefined,
+    {},
+    NotificationHistoryListHistoryQueryParams,
+    NotificationHistoryListHistoryPathParams
+  >({ url: '/accounts/{accountId}/alerting/v3/history', method: 'get', ...variables, signal });
+
+export type NotificationPoliciesListNotificationPoliciesPathParams = {
+  accountId: Schemas.AaaAccountId;
+};
+
+export type NotificationPoliciesListNotificationPoliciesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AaaPoliciesComponentsSchemasResponseCollection &
+    Schemas.AaaComponentsSchemasApiResponseCommonFailure;
+}>;
+
+export type NotificationPoliciesListNotificationPoliciesVariables = {
+  pathParams: NotificationPoliciesListNotificationPoliciesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a list of all Notification policies.
+ */
+export const notificationPoliciesListNotificationPolicies = (
+  variables: NotificationPoliciesListNotificationPoliciesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AaaPoliciesComponentsSchemasResponseCollection,
+    NotificationPoliciesListNotificationPoliciesError,
+    undefined,
+    {},
+    {},
+    NotificationPoliciesListNotificationPoliciesPathParams
+  >({ url: '/accounts/{accountId}/alerting/v3/policies', method: 'get', ...variables, signal });
+
+export type NotificationPoliciesCreateANotificationPolicyPathParams = {
+  accountId: Schemas.AaaAccountId;
+};
+
+export type NotificationPoliciesCreateANotificationPolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AaaIdResponse & Schemas.AaaComponentsSchemasApiResponseCommonFailure;
+}>;
+
+export type NotificationPoliciesCreateANotificationPolicyRequestBody = {
+  alert_interval?: Schemas.AaaAlertInterval;
+  alert_type: Schemas.AaaAlertType;
+  description?: Schemas.AaaSchemasDescription;
+  enabled: Schemas.AaaEnabled;
+  filters?: Schemas.AaaFilters;
+  mechanisms: Schemas.AaaMechanisms;
+  name: Schemas.AaaSchemasName;
+};
+
+export type NotificationPoliciesCreateANotificationPolicyVariables = {
+  body: NotificationPoliciesCreateANotificationPolicyRequestBody;
+  pathParams: NotificationPoliciesCreateANotificationPolicyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new Notification policy.
+ */
+export const notificationPoliciesCreateANotificationPolicy = (
+  variables: NotificationPoliciesCreateANotificationPolicyVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AaaIdResponse,
+    NotificationPoliciesCreateANotificationPolicyError,
+    NotificationPoliciesCreateANotificationPolicyRequestBody,
+    {},
+    {},
+    NotificationPoliciesCreateANotificationPolicyPathParams
+  >({ url: '/accounts/{accountId}/alerting/v3/policies', method: 'post', ...variables, signal });
+
+export type NotificationPoliciesDeleteANotificationPolicyPathParams = {
+  accountId: Schemas.AaaAccountId;
+  policyId: Schemas.AaaPolicyId;
+};
+
+export type NotificationPoliciesDeleteANotificationPolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AaaApiResponseCollection & Schemas.AaaComponentsSchemasApiResponseCommonFailure;
+}>;
+
+export type NotificationPoliciesDeleteANotificationPolicyVariables = {
+  pathParams: NotificationPoliciesDeleteANotificationPolicyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete a Notification policy.
+ */
+export const notificationPoliciesDeleteANotificationPolicy = (
+  variables: NotificationPoliciesDeleteANotificationPolicyVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AaaApiResponseCollection,
+    NotificationPoliciesDeleteANotificationPolicyError,
+    undefined,
+    {},
+    {},
+    NotificationPoliciesDeleteANotificationPolicyPathParams
+  >({ url: '/accounts/{accountId}/alerting/v3/policies/{policyId}', method: 'delete', ...variables, signal });
+
+export type NotificationPoliciesGetANotificationPolicyPathParams = {
+  accountId: Schemas.AaaAccountId;
+  policyId: Schemas.AaaPolicyId;
+};
+
+export type NotificationPoliciesGetANotificationPolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AaaSingleResponse & Schemas.AaaComponentsSchemasApiResponseCommonFailure;
+}>;
+
+export type NotificationPoliciesGetANotificationPolicyVariables = {
+  pathParams: NotificationPoliciesGetANotificationPolicyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get details for a single policy.
+ */
+export const notificationPoliciesGetANotificationPolicy = (
+  variables: NotificationPoliciesGetANotificationPolicyVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AaaSingleResponse,
+    NotificationPoliciesGetANotificationPolicyError,
+    undefined,
+    {},
+    {},
+    NotificationPoliciesGetANotificationPolicyPathParams
+  >({ url: '/accounts/{accountId}/alerting/v3/policies/{policyId}', method: 'get', ...variables, signal });
+
+export type NotificationPoliciesUpdateANotificationPolicyPathParams = {
+  accountId: Schemas.AaaAccountId;
+  policyId: Schemas.AaaPolicyId;
+};
+
+export type NotificationPoliciesUpdateANotificationPolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AaaIdResponse & Schemas.AaaComponentsSchemasApiResponseCommonFailure;
+}>;
+
+export type NotificationPoliciesUpdateANotificationPolicyRequestBody = {
+  alert_interval?: Schemas.AaaAlertInterval;
+  alert_type?: Schemas.AaaAlertType;
+  description?: Schemas.AaaSchemasDescription;
+  enabled?: Schemas.AaaEnabled;
+  filters?: Schemas.AaaFilters;
+  mechanisms?: Schemas.AaaMechanisms;
+  name?: Schemas.AaaSchemasName;
+};
+
+export type NotificationPoliciesUpdateANotificationPolicyVariables = {
+  body?: NotificationPoliciesUpdateANotificationPolicyRequestBody;
+  pathParams: NotificationPoliciesUpdateANotificationPolicyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update a Notification policy.
+ */
+export const notificationPoliciesUpdateANotificationPolicy = (
+  variables: NotificationPoliciesUpdateANotificationPolicyVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AaaIdResponse,
+    NotificationPoliciesUpdateANotificationPolicyError,
+    NotificationPoliciesUpdateANotificationPolicyRequestBody,
+    {},
+    {},
+    NotificationPoliciesUpdateANotificationPolicyPathParams
+  >({ url: '/accounts/{accountId}/alerting/v3/policies/{policyId}', method: 'put', ...variables, signal });
+
+export type AuditLogsGetAccountAuditLogsPathParams = {
+  accountId: Schemas.AaaIdentifier;
+};
+
+export type AuditLogsGetAccountAuditLogsQueryParams = {
+  /**
+   * @example f174be97-19b1-40d6-954d-70cd5fbd52db
+   */
+  id?: string;
+  /**
+   * @example true
+   */
+  ['export']?: boolean;
+  /**
+   * @example add
+   */
+  ['action.type']?: string;
+  /**
+   * @example 17.168.228.63
+   */
+  ['actor.ip']?: string;
+  /**
+   * @example alice@example.com
+   * @format email
+   */
+  ['actor.email']?: string;
+  since?: string | string;
+  before?: string | string;
+  /**
+   * @example example.com
+   */
+  ['zone.name']?: string;
+  /**
+   * @default desc
+   * @example desc
+   */
+  direction?: 'desc' | 'asc';
+  /**
+   * @default 100
+   * @example 25
+   * @maximum 1000
+   * @minimum 1
+   */
+  per_page?: number;
+  /**
+   * @default 1
+   * @example 50
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default false
+   */
+  hide_user_logs?: boolean;
+};
+
+export type AuditLogsGetAccountAuditLogsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AaaAuditLogsResponseCollection & Schemas.AaaApiResponseCommonFailure;
+}>;
+
+export type AuditLogsGetAccountAuditLogsVariables = {
+  pathParams: AuditLogsGetAccountAuditLogsPathParams;
+  queryParams?: AuditLogsGetAccountAuditLogsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets a list of audit logs for an account. Can be filtered by who made the change, on which zone, and the timeframe of the change.
+ */
+export const auditLogsGetAccountAuditLogs = (variables: AuditLogsGetAccountAuditLogsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.AaaAuditLogsResponseCollection,
+    AuditLogsGetAccountAuditLogsError,
+    undefined,
+    {},
+    AuditLogsGetAccountAuditLogsQueryParams,
+    AuditLogsGetAccountAuditLogsPathParams
+  >({ url: '/accounts/{accountId}/audit_logs', method: 'get', ...variables, signal });
+
+export type AccountBillingProfileDeprecatedBillingProfileDetailsPathParams = {
+  accountId: Schemas.BillSubsApiIdentifier;
+};
+
+export type AccountBillingProfileDeprecatedBillingProfileDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.BillSubsApiBillingResponseSingle & Schemas.BillSubsApiApiResponseCommonFailure;
+}>;
+
+export type AccountBillingProfileDeprecatedBillingProfileDetailsVariables = {
+  pathParams: AccountBillingProfileDeprecatedBillingProfileDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets the current billing profile for the account.
+ */
+export const accountBillingProfileDeprecatedBillingProfileDetails = (
+  variables: AccountBillingProfileDeprecatedBillingProfileDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.BillSubsApiBillingResponseSingle,
+    AccountBillingProfileDeprecatedBillingProfileDetailsError,
+    undefined,
+    {},
+    {},
+    AccountBillingProfileDeprecatedBillingProfileDetailsPathParams
+  >({ url: '/accounts/{accountId}/billing/profile', method: 'get', ...variables, signal });
+
+export type BotnetThreatFeedGetDayReportPathParams = {
+  accountId: Schemas.DosIdentifier;
+  asnId: Schemas.DosAsn;
+};
+
+export type BotnetThreatFeedGetDayReportQueryParams = {
+  date?: Schemas.DosTimestamp;
+};
+
+export type BotnetThreatFeedGetDayReportError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DosApiResponseCommonFailure;
+}>;
+
+export type BotnetThreatFeedGetDayReportResponse = Schemas.DosApiResponseCommon & {
+  result?: {
+    /**
+     * @example 1.1.1.1/32
+     */
+    cidr?: string;
+    /**
+     * @example 2014-01-01T05:20:00.12345Z
+     * @format date-time
+     */
+    date?: string;
+    /**
+     * @example 1000
+     */
+    offense_count?: number;
+  };
+};
+
+export type BotnetThreatFeedGetDayReportVariables = {
+  pathParams: BotnetThreatFeedGetDayReportPathParams;
+  queryParams?: BotnetThreatFeedGetDayReportQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets all the data the botnet tracking database has for a given ASN registered to user account for given date. If no date is given, it will return results for the previous day.
+ */
+export const botnetThreatFeedGetDayReport = (variables: BotnetThreatFeedGetDayReportVariables, signal?: AbortSignal) =>
+  fetch<
+    BotnetThreatFeedGetDayReportResponse,
+    BotnetThreatFeedGetDayReportError,
+    undefined,
+    {},
+    BotnetThreatFeedGetDayReportQueryParams,
+    BotnetThreatFeedGetDayReportPathParams
+  >({ url: '/accounts/{accountId}/botnet_feed/asn/{asnId}/day_report', method: 'get', ...variables, signal });
+
+export type BotnetThreatFeedGetFullReportPathParams = {
+  accountId: Schemas.DosIdentifier;
+  asnId: Schemas.DosAsn;
+};
+
+export type BotnetThreatFeedGetFullReportError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DosApiResponseCommonFailure;
+}>;
+
+export type BotnetThreatFeedGetFullReportResponse = Schemas.DosApiResponseCommon & {
+  result?: {
+    /**
+     * @example 1.1.1.1/32
+     */
+    cidr?: string;
+    /**
+     * @example 2014-01-01T05:20:00.12345Z
+     * @format date-time
+     */
+    date?: string;
+    /**
+     * @example 1000
+     */
+    offense_count?: number;
+  };
+};
+
+export type BotnetThreatFeedGetFullReportVariables = {
+  pathParams: BotnetThreatFeedGetFullReportPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets all the data the botnet threat feed tracking database has for a given ASN registered to user account.
+ */
+export const botnetThreatFeedGetFullReport = (
+  variables: BotnetThreatFeedGetFullReportVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    BotnetThreatFeedGetFullReportResponse,
+    BotnetThreatFeedGetFullReportError,
+    undefined,
+    {},
+    {},
+    BotnetThreatFeedGetFullReportPathParams
+  >({ url: '/accounts/{accountId}/botnet_feed/asn/{asnId}/full_report', method: 'get', ...variables, signal });
+
+export type BotnetThreatFeedListAsnPathParams = {
+  accountId: Schemas.DosIdentifier;
+};
+
+export type BotnetThreatFeedListAsnError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DosApiResponseCommonFailure;
+}>;
+
+export type BotnetThreatFeedListAsnResponse = Schemas.DosApiResponseCommon & {
+  result?: {
+    /**
+     * @example 13335
+     */
+    asn?: number;
+  };
+};
+
+export type BotnetThreatFeedListAsnVariables = {
+  pathParams: BotnetThreatFeedListAsnPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets a list of all ASNs registered for a user for the DDoS Botnet Feed API.
+ */
+export const botnetThreatFeedListAsn = (variables: BotnetThreatFeedListAsnVariables, signal?: AbortSignal) =>
+  fetch<
+    BotnetThreatFeedListAsnResponse,
+    BotnetThreatFeedListAsnError,
+    undefined,
+    {},
+    {},
+    BotnetThreatFeedListAsnPathParams
+  >({ url: '/accounts/{accountId}/botnet_feed/configs/asn', method: 'get', ...variables, signal });
+
+export type BotnetThreatFeedDeleteAsnPathParams = {
+  accountId: Schemas.DosIdentifier;
+  asnId: Schemas.DosAsn;
+};
+
+export type BotnetThreatFeedDeleteAsnError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DosApiResponseCommonFailure;
+}>;
+
+export type BotnetThreatFeedDeleteAsnResponse = Schemas.DosApiResponseCommon & {
+  result?: {
+    /**
+     * @example 13335
+     */
+    asn?: number;
+  };
+};
+
+export type BotnetThreatFeedDeleteAsnVariables = {
+  pathParams: BotnetThreatFeedDeleteAsnPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete an ASN from botnet threat feed for a given user.
+ */
+export const botnetThreatFeedDeleteAsn = (variables: BotnetThreatFeedDeleteAsnVariables, signal?: AbortSignal) =>
+  fetch<
+    BotnetThreatFeedDeleteAsnResponse,
+    BotnetThreatFeedDeleteAsnError,
+    undefined,
+    {},
+    {},
+    BotnetThreatFeedDeleteAsnPathParams
+  >({ url: '/accounts/{accountId}/botnet_feed/configs/asn/{asnId}', method: 'delete', ...variables, signal });
+
+export type PhishingUrlScannerSubmitSuspiciousUrlForScanningPathParams = {
+  accountId: Schemas.IntelIdentifier;
+};
+
+export type PhishingUrlScannerSubmitSuspiciousUrlForScanningError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IntelPhishingUrlSubmitComponentsSchemasSingleResponse & Schemas.IntelApiResponseCommonFailure;
+}>;
+
+export type PhishingUrlScannerSubmitSuspiciousUrlForScanningRequestBody = Schemas.IntelUrlParam;
+
+export type PhishingUrlScannerSubmitSuspiciousUrlForScanningVariables = {
+  body?: PhishingUrlScannerSubmitSuspiciousUrlForScanningRequestBody;
+  pathParams: PhishingUrlScannerSubmitSuspiciousUrlForScanningPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Submit suspicious URL for scanning
+ */
+export const phishingUrlScannerSubmitSuspiciousUrlForScanning = (
+  variables: PhishingUrlScannerSubmitSuspiciousUrlForScanningVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.IntelPhishingUrlSubmitComponentsSchemasSingleResponse,
+    PhishingUrlScannerSubmitSuspiciousUrlForScanningError,
+    PhishingUrlScannerSubmitSuspiciousUrlForScanningRequestBody,
+    {},
+    {},
+    PhishingUrlScannerSubmitSuspiciousUrlForScanningPathParams
+  >({ url: '/accounts/{accountId}/brand-protection/submit', method: 'post', ...variables, signal });
+
+export type PhishingUrlInformationGetResultsForAUrlScanPathParams = {
+  accountId: Schemas.IntelIdentifier;
+};
+
+export type PhishingUrlInformationGetResultsForAUrlScanQueryParams = {
+  /**
+   * Submission ID(s) to filter submission results by.
+   */
+  url_id?: number[];
+  /**
+   * Submission URL(s) to filter submission results by.
+   */
+  url?: string[];
+};
+
+export type PhishingUrlInformationGetResultsForAUrlScanError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IntelPhishingUrlInfoComponentsSchemasSingleResponse & Schemas.IntelApiResponseCommonFailure;
+}>;
+
+export type PhishingUrlInformationGetResultsForAUrlScanVariables = {
+  pathParams: PhishingUrlInformationGetResultsForAUrlScanPathParams;
+  queryParams?: PhishingUrlInformationGetResultsForAUrlScanQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets phishing details about a URL.
+ */
+export const phishingUrlInformationGetResultsForAUrlScan = (
+  variables: PhishingUrlInformationGetResultsForAUrlScanVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.IntelPhishingUrlInfoComponentsSchemasSingleResponse,
+    PhishingUrlInformationGetResultsForAUrlScanError,
+    undefined,
+    {},
+    PhishingUrlInformationGetResultsForAUrlScanQueryParams,
+    PhishingUrlInformationGetResultsForAUrlScanPathParams
+  >({ url: '/accounts/{accountId}/brand-protection/url-info', method: 'get', ...variables, signal });
+
+export type CallsAppsListPathParams = {
+  accountId: Schemas.CallsAccountIdentifier;
+};
+
+export type CallsAppsListError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CallsApiResponseCommonFailure;
+}>;
+
+export type CallsAppsListVariables = {
+  pathParams: CallsAppsListPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists all apps in the Cloudflare account
+ */
+export const callsAppsList = (variables: CallsAppsListVariables, signal?: AbortSignal) =>
+  fetch<Schemas.CallsAppResponseCollection, CallsAppsListError, undefined, {}, {}, CallsAppsListPathParams>({
+    url: '/accounts/{accountId}/calls/apps',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type CallsAppsCreateANewAppPathParams = {
+  accountId: Schemas.CallsAccountIdentifier;
+};
+
+export type CallsAppsCreateANewAppError = Fetcher.ErrorWrapper<undefined>;
+
+export type CallsAppsCreateANewAppVariables = {
+  body?: Schemas.CallsAppEditableFields;
+  pathParams: CallsAppsCreateANewAppPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new Cloudflare calls app. An app is an unique enviroment where each Session can access all Tracks within the app.
+ */
+export const callsAppsCreateANewApp = (variables: CallsAppsCreateANewAppVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.CallsAppResponseSingleWithSecret,
+    CallsAppsCreateANewAppError,
+    Schemas.CallsAppEditableFields,
+    {},
+    {},
+    CallsAppsCreateANewAppPathParams
+  >({ url: '/accounts/{accountId}/calls/apps', method: 'post', ...variables, signal });
+
+export type CallsAppsDeleteAppPathParams = {
+  appId: Schemas.CallsIdentifier;
+  accountId: Schemas.CallsAccountIdentifier;
+};
+
+export type CallsAppsDeleteAppError = Fetcher.ErrorWrapper<undefined>;
+
+export type CallsAppsDeleteAppVariables = {
+  pathParams: CallsAppsDeleteAppPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes an app from Cloudflare Calls
+ */
+export const callsAppsDeleteApp = (variables: CallsAppsDeleteAppVariables, signal?: AbortSignal) =>
+  fetch<Schemas.CallsAppResponseSingle, CallsAppsDeleteAppError, undefined, {}, {}, CallsAppsDeleteAppPathParams>({
+    url: '/accounts/{accountId}/calls/apps/{appId}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type CallsAppsRetrieveAppDetailsPathParams = {
+  appId: Schemas.CallsIdentifier;
+  accountId: Schemas.CallsAccountIdentifier;
+};
+
+export type CallsAppsRetrieveAppDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CallsApiResponseCommonFailure;
+}>;
+
+export type CallsAppsRetrieveAppDetailsVariables = {
+  pathParams: CallsAppsRetrieveAppDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches details for a single Calls app.
+ */
+export const callsAppsRetrieveAppDetails = (variables: CallsAppsRetrieveAppDetailsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.CallsAppResponseSingle,
+    CallsAppsRetrieveAppDetailsError,
+    undefined,
+    {},
+    {},
+    CallsAppsRetrieveAppDetailsPathParams
+  >({ url: '/accounts/{accountId}/calls/apps/{appId}', method: 'get', ...variables, signal });
+
+export type CallsAppsUpdateAppDetailsPathParams = {
+  appId: Schemas.CallsIdentifier;
+  accountId: Schemas.CallsAccountIdentifier;
+};
+
+export type CallsAppsUpdateAppDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CallsApiResponseCommonFailure;
+}>;
+
+export type CallsAppsUpdateAppDetailsVariables = {
+  body?: Schemas.CallsAppEditableFields;
+  pathParams: CallsAppsUpdateAppDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Edit details for a single app.
+ */
+export const callsAppsUpdateAppDetails = (variables: CallsAppsUpdateAppDetailsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.CallsAppResponseSingle,
+    CallsAppsUpdateAppDetailsError,
+    Schemas.CallsAppEditableFields,
+    {},
+    {},
+    CallsAppsUpdateAppDetailsPathParams
+  >({ url: '/accounts/{accountId}/calls/apps/{appId}', method: 'put', ...variables, signal });
+
+export type CallsTurnKeyListPathParams = {
+  accountId: Schemas.CallsAccountIdentifier;
+};
+
+export type CallsTurnKeyListError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CallsApiResponseCommonFailure;
+}>;
+
+export type CallsTurnKeyListVariables = {
+  pathParams: CallsTurnKeyListPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists all TURN keys in the Cloudflare account
+ */
+export const callsTurnKeyList = (variables: CallsTurnKeyListVariables, signal?: AbortSignal) =>
+  fetch<Schemas.CallsTurnKeyCollection, CallsTurnKeyListError, undefined, {}, {}, CallsTurnKeyListPathParams>({
+    url: '/accounts/{accountId}/calls/turn_keys',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type CallsTurnKeyCreatePathParams = {
+  accountId: Schemas.CallsAccountIdentifier;
+};
+
+export type CallsTurnKeyCreateError = Fetcher.ErrorWrapper<undefined>;
+
+export type CallsTurnKeyCreateVariables = {
+  body?: Schemas.CallsTurnKeyEditableFields;
+  pathParams: CallsTurnKeyCreatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new Cloudflare Calls TURN key.
+ */
+export const callsTurnKeyCreate = (variables: CallsTurnKeyCreateVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.CallsTurnKeyWithKey,
+    CallsTurnKeyCreateError,
+    Schemas.CallsTurnKeyEditableFields,
+    {},
+    {},
+    CallsTurnKeyCreatePathParams
+  >({ url: '/accounts/{accountId}/calls/turn_keys', method: 'post', ...variables, signal });
+
+export type CallsDeleteTurnKeyPathParams = {
+  keyId: Schemas.CallsIdentifier;
+  accountId: Schemas.CallsAccountIdentifier;
+};
+
+export type CallsDeleteTurnKeyError = Fetcher.ErrorWrapper<undefined>;
+
+export type CallsDeleteTurnKeyVariables = {
+  pathParams: CallsDeleteTurnKeyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes a TURN key from Cloudflare Calls
+ */
+export const callsDeleteTurnKey = (variables: CallsDeleteTurnKeyVariables, signal?: AbortSignal) =>
+  fetch<Schemas.CallsTurnKeyResponseSingle, CallsDeleteTurnKeyError, undefined, {}, {}, CallsDeleteTurnKeyPathParams>({
+    url: '/accounts/{accountId}/calls/turn_keys/{keyId}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type CallsRetrieveTurnKeyDetailsPathParams = {
+  keyId: Schemas.CallsIdentifier;
+  accountId: Schemas.CallsAccountIdentifier;
+};
+
+export type CallsRetrieveTurnKeyDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CallsApiResponseCommonFailure;
+}>;
+
+export type CallsRetrieveTurnKeyDetailsVariables = {
+  pathParams: CallsRetrieveTurnKeyDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches details for a single TURN key.
+ */
+export const callsRetrieveTurnKeyDetails = (variables: CallsRetrieveTurnKeyDetailsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.CallsTurnKeyResponseSingle,
+    CallsRetrieveTurnKeyDetailsError,
+    undefined,
+    {},
+    {},
+    CallsRetrieveTurnKeyDetailsPathParams
+  >({ url: '/accounts/{accountId}/calls/turn_keys/{keyId}', method: 'get', ...variables, signal });
+
+export type CallsUpdateTurnKeyPathParams = {
+  keyId: Schemas.CallsIdentifier;
+  accountId: Schemas.CallsAccountIdentifier;
+};
+
+export type CallsUpdateTurnKeyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CallsApiResponseCommonFailure;
+}>;
+
+export type CallsUpdateTurnKeyVariables = {
+  body?: Schemas.CallsTurnKeyEditableFields;
+  pathParams: CallsUpdateTurnKeyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Edit details for a single TURN key.
+ */
+export const callsUpdateTurnKey = (variables: CallsUpdateTurnKeyVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.CallsTurnKeyResponseSingle,
+    CallsUpdateTurnKeyError,
+    Schemas.CallsTurnKeyEditableFields,
+    {},
+    {},
+    CallsUpdateTurnKeyPathParams
+  >({ url: '/accounts/{accountId}/calls/turn_keys/{keyId}', method: 'put', ...variables, signal });
+
+export type CloudflareTunnelListCloudflareTunnelsPathParams = {
+  accountId: Schemas.TunnelAccountId;
+};
+
+export type CloudflareTunnelListCloudflareTunnelsQueryParams = {
+  name?: Schemas.TunnelTunnelName;
+  /**
+   * @example true
+   */
+  is_deleted?: boolean;
+  existed_at?: Schemas.TunnelExistedAt;
+  uuid?: Schemas.TunnelTunnelId;
+  /**
+   * @example 2009-11-10T23:00:00Z
+   * @format date-time
+   */
+  was_active_at?: string;
+  /**
+   * @example 2009-11-10T23:00:00Z
+   * @format date-time
+   */
+  was_inactive_at?: string;
+  /**
+   * @example vpc1-
+   */
+  include_prefix?: string;
+  /**
+   * @example vpc1-
+   */
+  exclude_prefix?: string;
+  status?: Schemas.TunnelStatus;
+  per_page?: Schemas.TunnelPerPage;
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+};
+
+export type CloudflareTunnelListCloudflareTunnelsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TunnelTunnelResponseCollection & Schemas.TunnelApiResponseCommonFailure;
+}>;
+
+export type CloudflareTunnelListCloudflareTunnelsVariables = {
+  pathParams: CloudflareTunnelListCloudflareTunnelsPathParams;
+  queryParams?: CloudflareTunnelListCloudflareTunnelsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists and filters Cloudflare Tunnels in an account.
+ */
+export const cloudflareTunnelListCloudflareTunnels = (
+  variables: CloudflareTunnelListCloudflareTunnelsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TunnelTunnelResponseCollection,
+    CloudflareTunnelListCloudflareTunnelsError,
+    undefined,
+    {},
+    CloudflareTunnelListCloudflareTunnelsQueryParams,
+    CloudflareTunnelListCloudflareTunnelsPathParams
+  >({ url: '/accounts/{accountId}/cfd_tunnel', method: 'get', ...variables, signal });
+
+export type CloudflareTunnelCreateACloudflareTunnelPathParams = {
+  accountId: Schemas.TunnelAccountId;
+};
+
+export type CloudflareTunnelCreateACloudflareTunnelError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TunnelTunnelResponseSingle & Schemas.TunnelApiResponseCommonFailure;
+}>;
+
+export type CloudflareTunnelCreateACloudflareTunnelRequestBody = {
+  config_src?: Schemas.TunnelConfigSrc;
+  name: Schemas.TunnelTunnelName;
+  tunnel_secret?: Schemas.TunnelTunnelSecret;
+};
+
+export type CloudflareTunnelCreateACloudflareTunnelVariables = {
+  body: CloudflareTunnelCreateACloudflareTunnelRequestBody;
+  pathParams: CloudflareTunnelCreateACloudflareTunnelPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new Cloudflare Tunnel in an account.
+ */
+export const cloudflareTunnelCreateACloudflareTunnel = (
+  variables: CloudflareTunnelCreateACloudflareTunnelVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TunnelTunnelResponseSingle,
+    CloudflareTunnelCreateACloudflareTunnelError,
+    CloudflareTunnelCreateACloudflareTunnelRequestBody,
+    {},
+    {},
+    CloudflareTunnelCreateACloudflareTunnelPathParams
+  >({ url: '/accounts/{accountId}/cfd_tunnel', method: 'post', ...variables, signal });
+
+export type CloudflareTunnelDeleteACloudflareTunnelPathParams = {
+  accountId: Schemas.TunnelAccountId;
+  tunnelId: Schemas.TunnelTunnelId;
+};
+
+export type CloudflareTunnelDeleteACloudflareTunnelError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TunnelTunnelResponseSingle & Schemas.TunnelApiResponseCommonFailure;
+}>;
+
+export type CloudflareTunnelDeleteACloudflareTunnelVariables = {
+  body?: Record<string, any>;
+  pathParams: CloudflareTunnelDeleteACloudflareTunnelPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes a Cloudflare Tunnel from an account.
+ */
+export const cloudflareTunnelDeleteACloudflareTunnel = (
+  variables: CloudflareTunnelDeleteACloudflareTunnelVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TunnelTunnelResponseSingle,
+    CloudflareTunnelDeleteACloudflareTunnelError,
+    Record<string, any>,
+    {},
+    {},
+    CloudflareTunnelDeleteACloudflareTunnelPathParams
+  >({ url: '/accounts/{accountId}/cfd_tunnel/{tunnelId}', method: 'delete', ...variables, signal });
+
+export type CloudflareTunnelGetACloudflareTunnelPathParams = {
+  accountId: Schemas.TunnelAccountId;
+  tunnelId: Schemas.TunnelTunnelId;
+};
+
+export type CloudflareTunnelGetACloudflareTunnelError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TunnelTunnelResponseSingle & Schemas.TunnelApiResponseCommonFailure;
+}>;
+
+export type CloudflareTunnelGetACloudflareTunnelVariables = {
+  pathParams: CloudflareTunnelGetACloudflareTunnelPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a single Cloudflare Tunnel.
+ */
+export const cloudflareTunnelGetACloudflareTunnel = (
+  variables: CloudflareTunnelGetACloudflareTunnelVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TunnelTunnelResponseSingle,
+    CloudflareTunnelGetACloudflareTunnelError,
+    undefined,
+    {},
+    {},
+    CloudflareTunnelGetACloudflareTunnelPathParams
+  >({ url: '/accounts/{accountId}/cfd_tunnel/{tunnelId}', method: 'get', ...variables, signal });
+
+export type CloudflareTunnelUpdateACloudflareTunnelPathParams = {
+  tunnelId: Schemas.TunnelTunnelId;
+  accountId: Schemas.TunnelAccountId;
+};
+
+export type CloudflareTunnelUpdateACloudflareTunnelError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TunnelTunnelResponseSingle & Schemas.TunnelApiResponseCommonFailure;
+}>;
+
+export type CloudflareTunnelUpdateACloudflareTunnelRequestBody = {
+  name?: Schemas.TunnelTunnelName;
+  tunnel_secret?: Schemas.TunnelTunnelSecret;
+};
+
+export type CloudflareTunnelUpdateACloudflareTunnelVariables = {
+  body?: CloudflareTunnelUpdateACloudflareTunnelRequestBody;
+  pathParams: CloudflareTunnelUpdateACloudflareTunnelPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates an existing Cloudflare Tunnel.
+ */
+export const cloudflareTunnelUpdateACloudflareTunnel = (
+  variables: CloudflareTunnelUpdateACloudflareTunnelVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TunnelTunnelResponseSingle,
+    CloudflareTunnelUpdateACloudflareTunnelError,
+    CloudflareTunnelUpdateACloudflareTunnelRequestBody,
+    {},
+    {},
+    CloudflareTunnelUpdateACloudflareTunnelPathParams
+  >({ url: '/accounts/{accountId}/cfd_tunnel/{tunnelId}', method: 'patch', ...variables, signal });
+
+export type CloudflareTunnelConfigurationGetConfigurationPathParams = {
+  accountId: Schemas.TunnelIdentifier;
+  tunnelId: Schemas.TunnelTunnelId;
+};
+
+export type CloudflareTunnelConfigurationGetConfigurationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TunnelApiResponseCommonFailure;
+}>;
+
+export type CloudflareTunnelConfigurationGetConfigurationVariables = {
+  pathParams: CloudflareTunnelConfigurationGetConfigurationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets the configuration for a remotely-managed tunnel
+ */
+export const cloudflareTunnelConfigurationGetConfiguration = (
+  variables: CloudflareTunnelConfigurationGetConfigurationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TunnelConfigurationResponse,
+    CloudflareTunnelConfigurationGetConfigurationError,
+    undefined,
+    {},
+    {},
+    CloudflareTunnelConfigurationGetConfigurationPathParams
+  >({ url: '/accounts/{accountId}/cfd_tunnel/{tunnelId}/configurations', method: 'get', ...variables, signal });
+
+export type CloudflareTunnelConfigurationPutConfigurationPathParams = {
+  accountId: Schemas.TunnelIdentifier;
+  tunnelId: Schemas.TunnelTunnelId;
+};
+
+export type CloudflareTunnelConfigurationPutConfigurationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TunnelApiResponseCommonFailure;
+}>;
+
+export type CloudflareTunnelConfigurationPutConfigurationRequestBody = {
+  config?: Schemas.TunnelConfig;
+};
+
+export type CloudflareTunnelConfigurationPutConfigurationVariables = {
+  body?: CloudflareTunnelConfigurationPutConfigurationRequestBody;
+  pathParams: CloudflareTunnelConfigurationPutConfigurationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Adds or updates the configuration for a remotely-managed tunnel.
+ */
+export const cloudflareTunnelConfigurationPutConfiguration = (
+  variables: CloudflareTunnelConfigurationPutConfigurationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TunnelConfigurationResponse,
+    CloudflareTunnelConfigurationPutConfigurationError,
+    CloudflareTunnelConfigurationPutConfigurationRequestBody,
+    {},
+    {},
+    CloudflareTunnelConfigurationPutConfigurationPathParams
+  >({ url: '/accounts/{accountId}/cfd_tunnel/{tunnelId}/configurations', method: 'put', ...variables, signal });
+
+export type CloudflareTunnelCleanUpCloudflareTunnelConnectionsPathParams = {
+  accountId: Schemas.TunnelAccountId;
+  tunnelId: Schemas.TunnelTunnelId;
+};
+
+export type CloudflareTunnelCleanUpCloudflareTunnelConnectionsQueryParams = {
+  client_id?: Schemas.TunnelClientId;
+};
+
+export type CloudflareTunnelCleanUpCloudflareTunnelConnectionsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TunnelEmptyResponse & Schemas.TunnelApiResponseCommonFailure;
+}>;
+
+export type CloudflareTunnelCleanUpCloudflareTunnelConnectionsVariables = {
+  body?: Record<string, any>;
+  pathParams: CloudflareTunnelCleanUpCloudflareTunnelConnectionsPathParams;
+  queryParams?: CloudflareTunnelCleanUpCloudflareTunnelConnectionsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Removes a connection (aka Cloudflare Tunnel Connector) from a Cloudflare Tunnel independently of its current state. If no connector id (client_id) is provided all connectors will be removed. We recommend running this command after rotating tokens.
+ */
+export const cloudflareTunnelCleanUpCloudflareTunnelConnections = (
+  variables: CloudflareTunnelCleanUpCloudflareTunnelConnectionsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TunnelEmptyResponse,
+    CloudflareTunnelCleanUpCloudflareTunnelConnectionsError,
+    Record<string, any>,
+    {},
+    CloudflareTunnelCleanUpCloudflareTunnelConnectionsQueryParams,
+    CloudflareTunnelCleanUpCloudflareTunnelConnectionsPathParams
+  >({ url: '/accounts/{accountId}/cfd_tunnel/{tunnelId}/connections', method: 'delete', ...variables, signal });
+
+export type CloudflareTunnelListCloudflareTunnelConnectionsPathParams = {
+  accountId: Schemas.TunnelAccountId;
+  tunnelId: Schemas.TunnelTunnelId;
+};
+
+export type CloudflareTunnelListCloudflareTunnelConnectionsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TunnelTunnelConnectionsResponse & Schemas.TunnelApiResponseCommonFailure;
+}>;
+
+export type CloudflareTunnelListCloudflareTunnelConnectionsVariables = {
+  pathParams: CloudflareTunnelListCloudflareTunnelConnectionsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches connection details for a Cloudflare Tunnel.
+ */
+export const cloudflareTunnelListCloudflareTunnelConnections = (
+  variables: CloudflareTunnelListCloudflareTunnelConnectionsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TunnelTunnelConnectionsResponse,
+    CloudflareTunnelListCloudflareTunnelConnectionsError,
+    undefined,
+    {},
+    {},
+    CloudflareTunnelListCloudflareTunnelConnectionsPathParams
+  >({ url: '/accounts/{accountId}/cfd_tunnel/{tunnelId}/connections', method: 'get', ...variables, signal });
+
+export type CloudflareTunnelGetCloudflareTunnelConnectorPathParams = {
+  accountId: Schemas.TunnelAccountId;
+  tunnelId: Schemas.TunnelTunnelId;
+  connectorId: Schemas.TunnelClientId;
+};
+
+export type CloudflareTunnelGetCloudflareTunnelConnectorError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TunnelTunnelClientResponse & Schemas.TunnelApiResponseCommonFailure;
+}>;
+
+export type CloudflareTunnelGetCloudflareTunnelConnectorVariables = {
+  pathParams: CloudflareTunnelGetCloudflareTunnelConnectorPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches connector and connection details for a Cloudflare Tunnel.
+ */
+export const cloudflareTunnelGetCloudflareTunnelConnector = (
+  variables: CloudflareTunnelGetCloudflareTunnelConnectorVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TunnelTunnelClientResponse,
+    CloudflareTunnelGetCloudflareTunnelConnectorError,
+    undefined,
+    {},
+    {},
+    CloudflareTunnelGetCloudflareTunnelConnectorPathParams
+  >({
+    url: '/accounts/{accountId}/cfd_tunnel/{tunnelId}/connectors/{connectorId}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type CloudflareTunnelGetACloudflareTunnelManagementTokenPathParams = {
+  accountId: Schemas.TunnelAccountId;
+  tunnelId: Schemas.TunnelTunnelId;
+};
+
+export type CloudflareTunnelGetACloudflareTunnelManagementTokenError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TunnelTunnelResponseToken & Schemas.TunnelApiResponseCommonFailure;
+}>;
+
+export type CloudflareTunnelGetACloudflareTunnelManagementTokenRequestBody = {
+  resources: Schemas.TunnelManagementResources[];
+};
+
+export type CloudflareTunnelGetACloudflareTunnelManagementTokenVariables = {
+  body: CloudflareTunnelGetACloudflareTunnelManagementTokenRequestBody;
+  pathParams: CloudflareTunnelGetACloudflareTunnelManagementTokenPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets a management token used to access the management resources (i.e. Streaming Logs) of a tunnel.
+ */
+export const cloudflareTunnelGetACloudflareTunnelManagementToken = (
+  variables: CloudflareTunnelGetACloudflareTunnelManagementTokenVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TunnelTunnelResponseToken,
+    CloudflareTunnelGetACloudflareTunnelManagementTokenError,
+    CloudflareTunnelGetACloudflareTunnelManagementTokenRequestBody,
+    {},
+    {},
+    CloudflareTunnelGetACloudflareTunnelManagementTokenPathParams
+  >({ url: '/accounts/{accountId}/cfd_tunnel/{tunnelId}/management', method: 'post', ...variables, signal });
+
+export type CloudflareTunnelGetACloudflareTunnelTokenPathParams = {
+  accountId: Schemas.TunnelAccountId;
+  tunnelId: Schemas.TunnelTunnelId;
+};
+
+export type CloudflareTunnelGetACloudflareTunnelTokenError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TunnelTunnelResponseToken & Schemas.TunnelApiResponseCommonFailure;
+}>;
+
+export type CloudflareTunnelGetACloudflareTunnelTokenVariables = {
+  pathParams: CloudflareTunnelGetACloudflareTunnelTokenPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets the token used to associate cloudflared with a specific tunnel.
+ */
+export const cloudflareTunnelGetACloudflareTunnelToken = (
+  variables: CloudflareTunnelGetACloudflareTunnelTokenVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TunnelTunnelResponseToken,
+    CloudflareTunnelGetACloudflareTunnelTokenError,
+    undefined,
+    {},
+    {},
+    CloudflareTunnelGetACloudflareTunnelTokenPathParams
+  >({ url: '/accounts/{accountId}/cfd_tunnel/{tunnelId}/token', method: 'get', ...variables, signal });
+
+export type AccountsTurnstileWidgetsListPathParams = {
+  accountId: Schemas.TurnstileIdentifier;
+};
+
+export type AccountsTurnstileWidgetsListQueryParams = {
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default 25
+   * @maximum 1000
+   * @minimum 5
+   */
+  per_page?: number;
+  /**
+   * @example id
+   */
+  order?: 'id' | 'sitekey' | 'name' | 'created_on' | 'modified_on';
+  /**
+   * @example asc
+   */
+  direction?: 'asc' | 'desc';
+};
+
+export type AccountsTurnstileWidgetsListError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TurnstileApiResponseCommonFailure;
+}>;
+
+export type AccountsTurnstileWidgetsListResponse = Schemas.TurnstileApiResponseCommon & {
+  result_info?: Schemas.TurnstileResultInfo;
+} & {
+  result?: Schemas.TurnstileWidgetList[];
+};
+
+export type AccountsTurnstileWidgetsListVariables = {
+  pathParams: AccountsTurnstileWidgetsListPathParams;
+  queryParams?: AccountsTurnstileWidgetsListQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists all turnstile widgets of an account.
+ */
+export const accountsTurnstileWidgetsList = (variables: AccountsTurnstileWidgetsListVariables, signal?: AbortSignal) =>
+  fetch<
+    AccountsTurnstileWidgetsListResponse,
+    AccountsTurnstileWidgetsListError,
+    undefined,
+    {},
+    AccountsTurnstileWidgetsListQueryParams,
+    AccountsTurnstileWidgetsListPathParams
+  >({ url: '/accounts/{accountId}/challenges/widgets', method: 'get', ...variables, signal });
+
+export type AccountsTurnstileWidgetCreatePathParams = {
+  accountId: Schemas.TurnstileIdentifier;
+};
+
+export type AccountsTurnstileWidgetCreateQueryParams = {
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default 25
+   * @maximum 1000
+   * @minimum 5
+   */
+  per_page?: number;
+  /**
+   * @example id
+   */
+  order?: 'id' | 'sitekey' | 'name' | 'created_on' | 'modified_on';
+  /**
+   * @example asc
+   */
+  direction?: 'asc' | 'desc';
+};
+
+export type AccountsTurnstileWidgetCreateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TurnstileApiResponseCommonFailure;
+}>;
+
+export type AccountsTurnstileWidgetCreateResponse = Schemas.TurnstileApiResponseCommon & {
+  result_info?: Schemas.TurnstileResultInfo;
+} & {
+  result?: Schemas.TurnstileWidgetDetail;
+};
+
+export type AccountsTurnstileWidgetCreateRequestBody = {
+  bot_fight_mode?: Schemas.TurnstileBotFightMode;
+  clearance_level?: Schemas.TurnstileClearanceLevel;
+  domains: Schemas.TurnstileDomains;
+  ephemeral_id?: Schemas.TurnstileEphemeralId;
+  mode: Schemas.TurnstileMode;
+  name: Schemas.TurnstileName;
+  offlabel?: Schemas.TurnstileOfflabel;
+  region?: Schemas.TurnstileRegion;
+};
+
+export type AccountsTurnstileWidgetCreateVariables = {
+  body: AccountsTurnstileWidgetCreateRequestBody;
+  pathParams: AccountsTurnstileWidgetCreatePathParams;
+  queryParams?: AccountsTurnstileWidgetCreateQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists challenge widgets.
+ */
+export const accountsTurnstileWidgetCreate = (
+  variables: AccountsTurnstileWidgetCreateVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    AccountsTurnstileWidgetCreateResponse,
+    AccountsTurnstileWidgetCreateError,
+    AccountsTurnstileWidgetCreateRequestBody,
+    {},
+    AccountsTurnstileWidgetCreateQueryParams,
+    AccountsTurnstileWidgetCreatePathParams
+  >({ url: '/accounts/{accountId}/challenges/widgets', method: 'post', ...variables, signal });
+
+export type AccountsTurnstileWidgetDeletePathParams = {
+  accountId: Schemas.TurnstileIdentifier;
+  sitekey: Schemas.TurnstileSitekey;
+};
+
+export type AccountsTurnstileWidgetDeleteError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TurnstileApiResponseCommonFailure;
+}>;
+
+export type AccountsTurnstileWidgetDeleteResponse = Schemas.TurnstileApiResponseCommon & {
+  result?: Schemas.TurnstileWidgetDetail;
+};
+
+export type AccountsTurnstileWidgetDeleteVariables = {
+  pathParams: AccountsTurnstileWidgetDeletePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Destroy a Turnstile Widget.
+ */
+export const accountsTurnstileWidgetDelete = (
+  variables: AccountsTurnstileWidgetDeleteVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    AccountsTurnstileWidgetDeleteResponse,
+    AccountsTurnstileWidgetDeleteError,
+    undefined,
+    {},
+    {},
+    AccountsTurnstileWidgetDeletePathParams
+  >({ url: '/accounts/{accountId}/challenges/widgets/{sitekey}', method: 'delete', ...variables, signal });
+
+export type AccountsTurnstileWidgetGetPathParams = {
+  accountId: Schemas.TurnstileIdentifier;
+  sitekey: Schemas.TurnstileSitekey;
+};
+
+export type AccountsTurnstileWidgetGetError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TurnstileApiResponseCommonFailure;
+}>;
+
+export type AccountsTurnstileWidgetGetResponse = Schemas.TurnstileApiResponseCommon & {
+  result?: Schemas.TurnstileWidgetDetail;
+};
+
+export type AccountsTurnstileWidgetGetVariables = {
+  pathParams: AccountsTurnstileWidgetGetPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Show a single challenge widget configuration.
+ */
+export const accountsTurnstileWidgetGet = (variables: AccountsTurnstileWidgetGetVariables, signal?: AbortSignal) =>
+  fetch<
+    AccountsTurnstileWidgetGetResponse,
+    AccountsTurnstileWidgetGetError,
+    undefined,
+    {},
+    {},
+    AccountsTurnstileWidgetGetPathParams
+  >({ url: '/accounts/{accountId}/challenges/widgets/{sitekey}', method: 'get', ...variables, signal });
+
+export type AccountsTurnstileWidgetUpdatePathParams = {
+  accountId: Schemas.TurnstileIdentifier;
+  sitekey: Schemas.TurnstileSitekey;
+};
+
+export type AccountsTurnstileWidgetUpdateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TurnstileApiResponseCommonFailure;
+}>;
+
+export type AccountsTurnstileWidgetUpdateResponse = Schemas.TurnstileApiResponseCommon & {
+  result?: Schemas.TurnstileWidgetDetail;
+};
+
+export type AccountsTurnstileWidgetUpdateRequestBody = {
+  bot_fight_mode?: Schemas.TurnstileBotFightMode;
+  clearance_level?: Schemas.TurnstileClearanceLevel;
+  domains: Schemas.TurnstileDomains;
+  ephemeral_id?: Schemas.TurnstileEphemeralId;
+  mode: Schemas.TurnstileMode;
+  name: Schemas.TurnstileName;
+  offlabel?: Schemas.TurnstileOfflabel;
+};
+
+export type AccountsTurnstileWidgetUpdateVariables = {
+  body: AccountsTurnstileWidgetUpdateRequestBody;
+  pathParams: AccountsTurnstileWidgetUpdatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update the configuration of a widget.
+ */
+export const accountsTurnstileWidgetUpdate = (
+  variables: AccountsTurnstileWidgetUpdateVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    AccountsTurnstileWidgetUpdateResponse,
+    AccountsTurnstileWidgetUpdateError,
+    AccountsTurnstileWidgetUpdateRequestBody,
+    {},
+    {},
+    AccountsTurnstileWidgetUpdatePathParams
+  >({ url: '/accounts/{accountId}/challenges/widgets/{sitekey}', method: 'put', ...variables, signal });
+
+export type AccountsTurnstileWidgetRotateSecretPathParams = {
+  accountId: Schemas.TurnstileIdentifier;
+  sitekey: Schemas.TurnstileSitekey;
+};
+
+export type AccountsTurnstileWidgetRotateSecretError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TurnstileApiResponseCommonFailure;
+}>;
+
+export type AccountsTurnstileWidgetRotateSecretResponse = Schemas.TurnstileApiResponseCommon & {
+  result?: Schemas.TurnstileWidgetDetail;
+};
+
+export type AccountsTurnstileWidgetRotateSecretRequestBody = {
+  invalidate_immediately?: Schemas.TurnstileInvalidateImmediately;
+};
+
+export type AccountsTurnstileWidgetRotateSecretVariables = {
+  body?: AccountsTurnstileWidgetRotateSecretRequestBody;
+  pathParams: AccountsTurnstileWidgetRotateSecretPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Generate a new secret key for this widget. If `invalidate_immediately`
+ * is set to `false`, the previous secret remains valid for 2 hours.
+ *
+ * Note that secrets cannot be rotated again during the grace period.
+ */
+export const accountsTurnstileWidgetRotateSecret = (
+  variables: AccountsTurnstileWidgetRotateSecretVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    AccountsTurnstileWidgetRotateSecretResponse,
+    AccountsTurnstileWidgetRotateSecretError,
+    AccountsTurnstileWidgetRotateSecretRequestBody,
+    {},
+    {},
+    AccountsTurnstileWidgetRotateSecretPathParams
+  >({ url: '/accounts/{accountId}/challenges/widgets/{sitekey}/rotate_secret', method: 'post', ...variables, signal });
+
+export type AccountLevelCustomNameserversListAccountCustomNameserversPathParams = {
+  accountId: Schemas.DnsCustomNameserversIdentifier;
+};
+
+export type AccountLevelCustomNameserversListAccountCustomNameserversError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DnsCustomNameserversAcnsResponseCollection & Schemas.DnsCustomNameserversApiResponseCommonFailure;
+}>;
+
+export type AccountLevelCustomNameserversListAccountCustomNameserversVariables = {
+  pathParams: AccountLevelCustomNameserversListAccountCustomNameserversPathParams;
+} & FetcherExtraProps;
+
+/**
+ * List an account's custom nameservers.
+ */
+export const accountLevelCustomNameserversListAccountCustomNameservers = (
+  variables: AccountLevelCustomNameserversListAccountCustomNameserversVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.DnsCustomNameserversAcnsResponseCollection,
+    AccountLevelCustomNameserversListAccountCustomNameserversError,
+    undefined,
+    {},
+    {},
+    AccountLevelCustomNameserversListAccountCustomNameserversPathParams
+  >({ url: '/accounts/{accountId}/custom_ns', method: 'get', ...variables, signal });
+
+export type AccountLevelCustomNameserversAddAccountCustomNameserverPathParams = {
+  accountId: Schemas.DnsCustomNameserversIdentifier;
+};
+
+export type AccountLevelCustomNameserversAddAccountCustomNameserverError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DnsCustomNameserversAcnsResponseSingle & Schemas.DnsCustomNameserversApiResponseCommonFailure;
+}>;
+
+export type AccountLevelCustomNameserversAddAccountCustomNameserverVariables = {
+  body: Schemas.DnsCustomNameserversCustomNSInput;
+  pathParams: AccountLevelCustomNameserversAddAccountCustomNameserverPathParams;
+} & FetcherExtraProps;
+
+export const accountLevelCustomNameserversAddAccountCustomNameserver = (
+  variables: AccountLevelCustomNameserversAddAccountCustomNameserverVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.DnsCustomNameserversAcnsResponseSingle,
+    AccountLevelCustomNameserversAddAccountCustomNameserverError,
+    Schemas.DnsCustomNameserversCustomNSInput,
+    {},
+    {},
+    AccountLevelCustomNameserversAddAccountCustomNameserverPathParams
+  >({ url: '/accounts/{accountId}/custom_ns', method: 'post', ...variables, signal });
+
+export type AccountLevelCustomNameserversGetEligibleZonesForAccountCustomNameserversPathParams = {
+  accountId: Schemas.DnsCustomNameserversIdentifier;
+};
+
+export type AccountLevelCustomNameserversGetEligibleZonesForAccountCustomNameserversError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DnsCustomNameserversAvailabilityResponse & Schemas.DnsCustomNameserversApiResponseCommonFailure;
+}>;
+
+export type AccountLevelCustomNameserversGetEligibleZonesForAccountCustomNameserversVariables = {
+  pathParams: AccountLevelCustomNameserversGetEligibleZonesForAccountCustomNameserversPathParams;
+} & FetcherExtraProps;
+
+export const accountLevelCustomNameserversGetEligibleZonesForAccountCustomNameservers = (
+  variables: AccountLevelCustomNameserversGetEligibleZonesForAccountCustomNameserversVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.DnsCustomNameserversAvailabilityResponse,
+    AccountLevelCustomNameserversGetEligibleZonesForAccountCustomNameserversError,
+    undefined,
+    {},
+    {},
+    AccountLevelCustomNameserversGetEligibleZonesForAccountCustomNameserversPathParams
+  >({ url: '/accounts/{accountId}/custom_ns/availability', method: 'get', ...variables, signal });
+
+export type AccountLevelCustomNameserversDeleteAccountCustomNameserverPathParams = {
+  customNsId: Schemas.DnsCustomNameserversNsName;
+  accountId: Schemas.DnsCustomNameserversIdentifier;
+};
+
+export type AccountLevelCustomNameserversDeleteAccountCustomNameserverError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DnsCustomNameserversEmptyResponse & Schemas.DnsCustomNameserversApiResponseCommonFailure;
+}>;
+
+export type AccountLevelCustomNameserversDeleteAccountCustomNameserverVariables = {
+  pathParams: AccountLevelCustomNameserversDeleteAccountCustomNameserverPathParams;
+} & FetcherExtraProps;
+
+export const accountLevelCustomNameserversDeleteAccountCustomNameserver = (
+  variables: AccountLevelCustomNameserversDeleteAccountCustomNameserverVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.DnsCustomNameserversEmptyResponse,
+    AccountLevelCustomNameserversDeleteAccountCustomNameserverError,
+    undefined,
+    {},
+    {},
+    AccountLevelCustomNameserversDeleteAccountCustomNameserverPathParams
+  >({ url: '/accounts/{accountId}/custom_ns/{customNsId}', method: 'delete', ...variables, signal });
+
+export type CloudflareD1ListDatabasesPathParams = {
+  accountId: Schemas.D1AccountIdentifier;
+};
+
+export type CloudflareD1ListDatabasesQueryParams = {
+  name?: string;
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default 1000
+   * @maximum 10000
+   * @minimum 10
+   */
+  per_page?: number;
+};
+
+export type CloudflareD1ListDatabasesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.D1ApiResponseCommonFailure;
+}>;
+
+export type CloudflareD1ListDatabasesResponse = {
+  errors: Schemas.D1Messages;
+  messages: Schemas.D1Messages;
+  result: never;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+  result_info?: {
+    /**
+     * Total number of results for the requested service
+     *
+     * @example 1
+     */
+    count?: number;
+    /**
+     * Current page within paginated list of results
+     *
+     * @example 1
+     */
+    page?: number;
+    /**
+     * Number of results per page of results
+     *
+     * @example 20
+     */
+    per_page?: number;
+    /**
+     * Total results available without any search parameters
+     *
+     * @example 2000
+     */
+    total_count?: number;
+  };
+};
+
+export type CloudflareD1ListDatabasesVariables = {
+  pathParams: CloudflareD1ListDatabasesPathParams;
+  queryParams?: CloudflareD1ListDatabasesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Returns a list of D1 databases.
+ */
+export const cloudflareD1ListDatabases = (variables: CloudflareD1ListDatabasesVariables, signal?: AbortSignal) =>
+  fetch<
+    CloudflareD1ListDatabasesResponse,
+    CloudflareD1ListDatabasesError,
+    undefined,
+    {},
+    CloudflareD1ListDatabasesQueryParams,
+    CloudflareD1ListDatabasesPathParams
+  >({ url: '/accounts/{accountId}/d1/database', method: 'get', ...variables, signal });
+
+export type CloudflareD1CreateDatabasePathParams = {
+  accountId: Schemas.D1AccountIdentifier;
+};
+
+export type CloudflareD1CreateDatabaseError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.D1ApiResponseCommonFailure;
+}>;
+
+export type CloudflareD1CreateDatabaseResponse = {
+  errors: Schemas.D1Messages;
+  messages: Schemas.D1Messages;
+  result: Schemas.D1DatabaseDetailsResponse;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type CloudflareD1CreateDatabaseRequestBody = {
+  name: Schemas.D1DatabaseName;
+  primary_location_hint?: Schemas.D1PrimaryLocationHint;
+};
+
+export type CloudflareD1CreateDatabaseVariables = {
+  body: CloudflareD1CreateDatabaseRequestBody;
+  pathParams: CloudflareD1CreateDatabasePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Returns the created D1 database.
+ */
+export const cloudflareD1CreateDatabase = (variables: CloudflareD1CreateDatabaseVariables, signal?: AbortSignal) =>
+  fetch<
+    CloudflareD1CreateDatabaseResponse,
+    CloudflareD1CreateDatabaseError,
+    CloudflareD1CreateDatabaseRequestBody,
+    {},
+    {},
+    CloudflareD1CreateDatabasePathParams
+  >({ url: '/accounts/{accountId}/d1/database', method: 'post', ...variables, signal });
+
+export type CloudflareD1DeleteDatabasePathParams = {
+  accountId: Schemas.D1AccountIdentifier;
+  databaseId: Schemas.D1DatabaseIdentifier;
+};
+
+export type CloudflareD1DeleteDatabaseError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.D1ApiResponseCommonFailure;
+}>;
+
+export type CloudflareD1DeleteDatabaseResponse = {
+  errors: Schemas.D1Messages;
+  messages: Schemas.D1Messages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type CloudflareD1DeleteDatabaseVariables = {
+  pathParams: CloudflareD1DeleteDatabasePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes the specified D1 database.
+ */
+export const cloudflareD1DeleteDatabase = (variables: CloudflareD1DeleteDatabaseVariables, signal?: AbortSignal) =>
+  fetch<
+    CloudflareD1DeleteDatabaseResponse,
+    CloudflareD1DeleteDatabaseError,
+    undefined,
+    {},
+    {},
+    CloudflareD1DeleteDatabasePathParams
+  >({ url: '/accounts/{accountId}/d1/database/{databaseId}', method: 'delete', ...variables, signal });
+
+export type CloudflareD1GetDatabasePathParams = {
+  accountId: Schemas.D1AccountIdentifier;
+  databaseId: Schemas.D1DatabaseIdentifier;
+};
+
+export type CloudflareD1GetDatabaseError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.D1ApiResponseCommonFailure;
+}>;
+
+export type CloudflareD1GetDatabaseResponse = {
+  errors: Schemas.D1Messages;
+  messages: Schemas.D1Messages;
+  result: Schemas.D1DatabaseDetailsResponse;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type CloudflareD1GetDatabaseVariables = {
+  pathParams: CloudflareD1GetDatabasePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Returns the specified D1 database.
+ */
+export const cloudflareD1GetDatabase = (variables: CloudflareD1GetDatabaseVariables, signal?: AbortSignal) =>
+  fetch<
+    CloudflareD1GetDatabaseResponse,
+    CloudflareD1GetDatabaseError,
+    undefined,
+    {},
+    {},
+    CloudflareD1GetDatabasePathParams
+  >({ url: '/accounts/{accountId}/d1/database/{databaseId}', method: 'get', ...variables, signal });
+
+export type CloudflareD1ExportDatabasePathParams = {
+  accountId: Schemas.D1AccountIdentifier;
+  databaseId: Schemas.D1DatabaseIdentifier;
+};
+
+export type CloudflareD1ExportDatabaseError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.D1ApiResponseCommonFailure;
+}>;
+
+export type CloudflareD1ExportDatabaseRequestBody = {
+  /**
+   * To poll an in-progress export, provide the current bookmark (returned by your first polling response)
+   */
+  current_bookmark?: string;
+  dump_options?: {
+    /**
+     * Export only the table definitions, not their contents
+     */
+    no_data?: boolean;
+    /**
+     * Export only each table's contents, not its definition
+     */
+    no_schema?: boolean;
+    /**
+     * Filter the export to just one or more tables. Passing an empty array is the same as not passing anything and means: export all tables.
+     */
+    tables?: string[];
+  };
+  /**
+   * Specifies that you will poll this endpoint until the export completes
+   */
+  output_format: 'polling';
+};
+
+export type CloudflareD1ExportDatabaseVariables = {
+  body: CloudflareD1ExportDatabaseRequestBody;
+  pathParams: CloudflareD1ExportDatabasePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Returns a URL where the SQL contents of your D1 can be downloaded. Note: this process may take
+ * some time for larger DBs, during which your D1 will be unavailable to serve queries. To avoid
+ * blocking your DB unnecessarily, an in-progress export must be continually polled or will automatically cancel.
+ */
+export const cloudflareD1ExportDatabase = (variables: CloudflareD1ExportDatabaseVariables, signal?: AbortSignal) =>
+  fetch<
+    | {
+        errors: Schemas.D1Messages;
+        messages: Schemas.D1Messages;
+        result: {
+          /**
+           * The current time-travel bookmark for your D1, used to poll for updates. Will not change for the duration of the export task.
+           */
+          at_bookmark?: string;
+          /**
+           * Only present when status = 'error'. Contains the error message.
+           */
+          error?: string;
+          /**
+           * Logs since the last time you polled
+           */
+          messages?: string[];
+          /**
+           * Only present when status = 'complete'
+           */
+          result?: {
+            /**
+             * The generated SQL filename.
+             */
+            filename?: string;
+            /**
+             * The URL to download the exported SQL. Available for one hour.
+             */
+            signed_url?: string;
+          };
+          status?: 'complete' | 'error';
+          success?: boolean;
+          type?: 'export';
+        };
+        /**
+         * Whether the API call was successful
+         *
+         * @example true
+         */
+        success: true;
+      }
+    | {
+        errors: Schemas.D1Messages;
+        messages: Schemas.D1Messages;
+        result: {
+          /**
+           * The current time-travel bookmark for your D1, used to poll for updates. Will not change for the duration of the export task.
+           */
+          at_bookmark?: string;
+          /**
+           * Logs since the last time you polled
+           */
+          messages?: string[];
+          status?: 'active';
+          success?: boolean;
+          type?: 'export';
+        };
+        /**
+         * Whether the API call was successful
+         *
+         * @example true
+         */
+        success: true;
+      },
+    CloudflareD1ExportDatabaseError,
+    CloudflareD1ExportDatabaseRequestBody,
+    {},
+    {},
+    CloudflareD1ExportDatabasePathParams
+  >({ url: '/accounts/{accountId}/d1/database/{databaseId}/export', method: 'post', ...variables, signal });
+
+export type CloudflareD1ImportDatabasePathParams = {
+  accountId: Schemas.D1AccountIdentifier;
+  databaseId: Schemas.D1DatabaseIdentifier;
+};
+
+export type CloudflareD1ImportDatabaseError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.D1ApiResponseCommonFailure;
+}>;
+
+export type CloudflareD1ImportDatabaseVariables = {
+  body?:
+    | {
+        /**
+         * Indicates you have a new SQL file to upload.
+         */
+        action: 'init';
+        /**
+         * Required when action is 'init' or 'ingest'. An md5 hash of the file you're uploading. Used to check if it already exists, and validate its contents before ingesting.
+         */
+        etag: string;
+      }
+    | {
+        /**
+         * Indicates you've finished uploading to tell the D1 to start consuming it
+         */
+        action: 'ingest';
+        /**
+         * An md5 hash of the file you're uploading. Used to check if it already exists, and validate its contents before ingesting.
+         */
+        etag: string;
+        /**
+         * The filename you have successfully uploaded.
+         */
+        filename: string;
+      }
+    | {
+        /**
+         * Indicates you've finished uploading to tell the D1 to start consuming it
+         */
+        action: 'poll';
+        /**
+         * This identifies the currently-running import, checking its status.
+         */
+        current_bookmark: string;
+      };
+  pathParams: CloudflareD1ImportDatabasePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Generates a temporary URL for uploading an SQL file to, then instructing the D1 to import it
+ * and polling it for status updates. Imports block the D1 for their duration.
+ */
+export const cloudflareD1ImportDatabase = (variables: CloudflareD1ImportDatabaseVariables, signal?: AbortSignal) =>
+  fetch<
+    | {
+        errors: Schemas.D1Messages;
+        messages: Schemas.D1Messages;
+        result: {
+          /**
+           * The current time-travel bookmark for your D1, used to poll for updates. Will not change for the duration of the import. Only returned if an import process is currently running or recently finished.
+           */
+          at_bookmark?: string;
+          /**
+           * Only present when status = 'error'. Contains the error message that prevented the import from succeeding.
+           */
+          error?: string;
+          /**
+           * Derived from the database ID and etag, to use in avoiding repeated uploads. Only returned when for the 'init' action.
+           */
+          filename?: string;
+          /**
+           * Logs since the last time you polled
+           */
+          messages?: string[];
+          /**
+           * Only present when status = 'complete'
+           */
+          result?: {
+            /**
+             * The time-travel bookmark if you need restore your D1 to directly after the import succeeded.
+             */
+            final_bookmark?: string;
+            meta?: Schemas.D1QueryMeta;
+            /**
+             * The total number of queries that were executed during the import.
+             */
+            num_queries?: number;
+          };
+          status?: 'complete' | 'error';
+          success?: boolean;
+          type?: 'import';
+          /**
+           * The R2 presigned URL to use for uploading. Only returned when for the 'init' action.
+           */
+          upload_url?: string;
+        };
+        /**
+         * Whether the API call was successful
+         *
+         * @example true
+         */
+        success: true;
+      }
+    | {
+        errors: Schemas.D1Messages;
+        messages: Schemas.D1Messages;
+        result: {
+          /**
+           * The current time-travel bookmark for your D1, used to poll for updates. Will not change for the duration of the import.
+           */
+          at_bookmark?: string;
+          /**
+           * Logs since the last time you polled
+           */
+          messages?: string[];
+          status?: 'active';
+          success?: boolean;
+          type?: 'import';
+        };
+        /**
+         * Whether the API call was successful
+         *
+         * @example true
+         */
+        success: true;
+      },
+    CloudflareD1ImportDatabaseError,
+    | {
+        /**
+         * Indicates you have a new SQL file to upload.
+         */
+        action: 'init';
+        /**
+         * Required when action is 'init' or 'ingest'. An md5 hash of the file you're uploading. Used to check if it already exists, and validate its contents before ingesting.
+         */
+        etag: string;
+      }
+    | {
+        /**
+         * Indicates you've finished uploading to tell the D1 to start consuming it
+         */
+        action: 'ingest';
+        /**
+         * An md5 hash of the file you're uploading. Used to check if it already exists, and validate its contents before ingesting.
+         */
+        etag: string;
+        /**
+         * The filename you have successfully uploaded.
+         */
+        filename: string;
+      }
+    | {
+        /**
+         * Indicates you've finished uploading to tell the D1 to start consuming it
+         */
+        action: 'poll';
+        /**
+         * This identifies the currently-running import, checking its status.
+         */
+        current_bookmark: string;
+      },
+    {},
+    {},
+    CloudflareD1ImportDatabasePathParams
+  >({ url: '/accounts/{accountId}/d1/database/{databaseId}/import', method: 'post', ...variables, signal });
+
+export type CloudflareD1QueryDatabasePathParams = {
+  accountId: Schemas.D1AccountIdentifier;
+  databaseId: Schemas.D1DatabaseIdentifier;
+};
+
+export type CloudflareD1QueryDatabaseError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.D1ApiResponseCommonFailure;
+}>;
+
+export type CloudflareD1QueryDatabaseResponse = {
+  errors: Schemas.D1Messages;
+  messages: Schemas.D1Messages;
+  result: never;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type CloudflareD1QueryDatabaseRequestBody = {
+  params?: Schemas.D1Params;
+  sql: Schemas.D1Sql;
+};
+
+export type CloudflareD1QueryDatabaseVariables = {
+  body: CloudflareD1QueryDatabaseRequestBody;
+  pathParams: CloudflareD1QueryDatabasePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Returns the query result as an object.
+ */
+export const cloudflareD1QueryDatabase = (variables: CloudflareD1QueryDatabaseVariables, signal?: AbortSignal) =>
+  fetch<
+    CloudflareD1QueryDatabaseResponse,
+    CloudflareD1QueryDatabaseError,
+    CloudflareD1QueryDatabaseRequestBody,
+    {},
+    {},
+    CloudflareD1QueryDatabasePathParams
+  >({ url: '/accounts/{accountId}/d1/database/{databaseId}/query', method: 'post', ...variables, signal });
+
+export type CloudflareD1RawDatabaseQueryPathParams = {
+  accountId: Schemas.D1AccountIdentifier;
+  databaseId: Schemas.D1DatabaseIdentifier;
+};
+
+export type CloudflareD1RawDatabaseQueryError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.D1ApiResponseCommonFailure;
+}>;
+
+export type CloudflareD1RawDatabaseQueryResponse = {
+  errors: Schemas.D1Messages;
+  messages: Schemas.D1Messages;
+  result: never;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type CloudflareD1RawDatabaseQueryRequestBody = {
+  params?: Schemas.D1Params;
+  sql: Schemas.D1Sql;
+};
+
+export type CloudflareD1RawDatabaseQueryVariables = {
+  body: CloudflareD1RawDatabaseQueryRequestBody;
+  pathParams: CloudflareD1RawDatabaseQueryPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Returns the query result rows as arrays rather than objects. This is a performance-optimized version of the /query endpoint.
+ */
+export const cloudflareD1RawDatabaseQuery = (variables: CloudflareD1RawDatabaseQueryVariables, signal?: AbortSignal) =>
+  fetch<
+    CloudflareD1RawDatabaseQueryResponse,
+    CloudflareD1RawDatabaseQueryError,
+    CloudflareD1RawDatabaseQueryRequestBody,
+    {},
+    {},
+    CloudflareD1RawDatabaseQueryPathParams
+  >({ url: '/accounts/{accountId}/d1/database/{databaseId}/raw', method: 'post', ...variables, signal });
+
+export type DevicesListDevicesPathParams = {
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DevicesListDevicesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesDevicesResponse & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DevicesListDevicesVariables = {
+  pathParams: DevicesListDevicesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a list of enrolled devices.
+ */
+export const devicesListDevices = (variables: DevicesListDevicesVariables, signal?: AbortSignal) =>
+  fetch<Schemas.TeamsDevicesDevicesResponse, DevicesListDevicesError, undefined, {}, {}, DevicesListDevicesPathParams>({
+    url: '/accounts/{accountId}/devices',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type DeviceDexTestDetailsPathParams = {
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DeviceDexTestDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesDexSingleResponse & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DeviceDexTestDetailsVariables = {
+  pathParams: DeviceDexTestDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetch all DEX tests.
+ */
+export const deviceDexTestDetails = (variables: DeviceDexTestDetailsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.TeamsDevicesDexResponseCollection,
+    DeviceDexTestDetailsError,
+    undefined,
+    {},
+    {},
+    DeviceDexTestDetailsPathParams
+  >({ url: '/accounts/{accountId}/devices/dex_tests', method: 'get', ...variables, signal });
+
+export type DeviceDexTestCreateDeviceDexTestPathParams = {
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DeviceDexTestCreateDeviceDexTestError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesDexSingleResponse & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DeviceDexTestCreateDeviceDexTestVariables = {
+  body: Schemas.TeamsDevicesDeviceDexTestSchemasHttp;
+  pathParams: DeviceDexTestCreateDeviceDexTestPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create a DEX test.
+ */
+export const deviceDexTestCreateDeviceDexTest = (
+  variables: DeviceDexTestCreateDeviceDexTestVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesDexSingleResponse,
+    DeviceDexTestCreateDeviceDexTestError,
+    Schemas.TeamsDevicesDeviceDexTestSchemasHttp,
+    {},
+    {},
+    DeviceDexTestCreateDeviceDexTestPathParams
+  >({ url: '/accounts/{accountId}/devices/dex_tests', method: 'post', ...variables, signal });
+
+export type DeviceDexTestDeleteDeviceDexTestPathParams = {
+  accountId: Schemas.TeamsDevicesIdentifier;
+  dexTestId: Schemas.TeamsDevicesUuid;
+};
+
+export type DeviceDexTestDeleteDeviceDexTestError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesDexResponseCollection & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DeviceDexTestDeleteDeviceDexTestVariables = {
+  pathParams: DeviceDexTestDeleteDeviceDexTestPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete a Device DEX test. Returns the remaining device dex tests for the account.
+ */
+export const deviceDexTestDeleteDeviceDexTest = (
+  variables: DeviceDexTestDeleteDeviceDexTestVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesDexDeleteResponseCollection,
+    DeviceDexTestDeleteDeviceDexTestError,
+    undefined,
+    {},
+    {},
+    DeviceDexTestDeleteDeviceDexTestPathParams
+  >({ url: '/accounts/{accountId}/devices/dex_tests/{dexTestId}', method: 'delete', ...variables, signal });
+
+export type DeviceDexTestGetDeviceDexTestPathParams = {
+  accountId: Schemas.TeamsDevicesIdentifier;
+  dexTestId: Schemas.TeamsDevicesSchemasTestId;
+};
+
+export type DeviceDexTestGetDeviceDexTestError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesDexSingleResponse & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DeviceDexTestGetDeviceDexTestVariables = {
+  pathParams: DeviceDexTestGetDeviceDexTestPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetch a single DEX test.
+ */
+export const deviceDexTestGetDeviceDexTest = (
+  variables: DeviceDexTestGetDeviceDexTestVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesDexSingleResponse,
+    DeviceDexTestGetDeviceDexTestError,
+    undefined,
+    {},
+    {},
+    DeviceDexTestGetDeviceDexTestPathParams
+  >({ url: '/accounts/{accountId}/devices/dex_tests/{dexTestId}', method: 'get', ...variables, signal });
+
+export type DeviceDexTestUpdateDeviceDexTestPathParams = {
+  accountId: Schemas.TeamsDevicesIdentifier;
+  dexTestId: Schemas.TeamsDevicesUuid;
+};
+
+export type DeviceDexTestUpdateDeviceDexTestError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesDexSingleResponse & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DeviceDexTestUpdateDeviceDexTestVariables = {
+  body: Schemas.TeamsDevicesDeviceDexTestSchemasHttp;
+  pathParams: DeviceDexTestUpdateDeviceDexTestPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update a DEX test.
+ */
+export const deviceDexTestUpdateDeviceDexTest = (
+  variables: DeviceDexTestUpdateDeviceDexTestVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesDexSingleResponse,
+    DeviceDexTestUpdateDeviceDexTestError,
+    Schemas.TeamsDevicesDeviceDexTestSchemasHttp,
+    {},
+    {},
+    DeviceDexTestUpdateDeviceDexTestPathParams
+  >({ url: '/accounts/{accountId}/devices/dex_tests/{dexTestId}', method: 'put', ...variables, signal });
+
+export type DeviceManagedNetworksListDeviceManagedNetworksPathParams = {
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DeviceManagedNetworksListDeviceManagedNetworksError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesComponentsSchemasResponseCollection & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DeviceManagedNetworksListDeviceManagedNetworksVariables = {
+  pathParams: DeviceManagedNetworksListDeviceManagedNetworksPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a list of managed networks for an account.
+ */
+export const deviceManagedNetworksListDeviceManagedNetworks = (
+  variables: DeviceManagedNetworksListDeviceManagedNetworksVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesComponentsSchemasResponseCollection,
+    DeviceManagedNetworksListDeviceManagedNetworksError,
+    undefined,
+    {},
+    {},
+    DeviceManagedNetworksListDeviceManagedNetworksPathParams
+  >({ url: '/accounts/{accountId}/devices/networks', method: 'get', ...variables, signal });
+
+export type DeviceManagedNetworksCreateDeviceManagedNetworkPathParams = {
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DeviceManagedNetworksCreateDeviceManagedNetworkError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesComponentsSchemasSingleResponse & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DeviceManagedNetworksCreateDeviceManagedNetworkRequestBody = {
+  config: Schemas.TeamsDevicesSchemasConfigRequest;
+  name: Schemas.TeamsDevicesDeviceManagedNetworksComponentsSchemasName;
+  type: Schemas.TeamsDevicesComponentsSchemasType;
+};
+
+export type DeviceManagedNetworksCreateDeviceManagedNetworkVariables = {
+  body: DeviceManagedNetworksCreateDeviceManagedNetworkRequestBody;
+  pathParams: DeviceManagedNetworksCreateDeviceManagedNetworkPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new device managed network.
+ */
+export const deviceManagedNetworksCreateDeviceManagedNetwork = (
+  variables: DeviceManagedNetworksCreateDeviceManagedNetworkVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesComponentsSchemasSingleResponse,
+    DeviceManagedNetworksCreateDeviceManagedNetworkError,
+    DeviceManagedNetworksCreateDeviceManagedNetworkRequestBody,
+    {},
+    {},
+    DeviceManagedNetworksCreateDeviceManagedNetworkPathParams
+  >({ url: '/accounts/{accountId}/devices/networks', method: 'post', ...variables, signal });
+
+export type DeviceManagedNetworksDeleteDeviceManagedNetworkPathParams = {
+  networkId: Schemas.TeamsDevicesUuid;
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DeviceManagedNetworksDeleteDeviceManagedNetworkError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesComponentsSchemasResponseCollection & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DeviceManagedNetworksDeleteDeviceManagedNetworkVariables = {
+  pathParams: DeviceManagedNetworksDeleteDeviceManagedNetworkPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes a device managed network and fetches a list of the remaining device managed networks for an account.
+ */
+export const deviceManagedNetworksDeleteDeviceManagedNetwork = (
+  variables: DeviceManagedNetworksDeleteDeviceManagedNetworkVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesComponentsSchemasResponseCollection,
+    DeviceManagedNetworksDeleteDeviceManagedNetworkError,
+    undefined,
+    {},
+    {},
+    DeviceManagedNetworksDeleteDeviceManagedNetworkPathParams
+  >({ url: '/accounts/{accountId}/devices/networks/{networkId}', method: 'delete', ...variables, signal });
+
+export type DeviceManagedNetworksDeviceManagedNetworkDetailsPathParams = {
+  networkId: Schemas.TeamsDevicesUuid;
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DeviceManagedNetworksDeviceManagedNetworkDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesComponentsSchemasSingleResponse & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DeviceManagedNetworksDeviceManagedNetworkDetailsVariables = {
+  pathParams: DeviceManagedNetworksDeviceManagedNetworkDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches details for a single managed network.
+ */
+export const deviceManagedNetworksDeviceManagedNetworkDetails = (
+  variables: DeviceManagedNetworksDeviceManagedNetworkDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesComponentsSchemasSingleResponse,
+    DeviceManagedNetworksDeviceManagedNetworkDetailsError,
+    undefined,
+    {},
+    {},
+    DeviceManagedNetworksDeviceManagedNetworkDetailsPathParams
+  >({ url: '/accounts/{accountId}/devices/networks/{networkId}', method: 'get', ...variables, signal });
+
+export type DeviceManagedNetworksUpdateDeviceManagedNetworkPathParams = {
+  networkId: Schemas.TeamsDevicesUuid;
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DeviceManagedNetworksUpdateDeviceManagedNetworkError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesComponentsSchemasSingleResponse & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DeviceManagedNetworksUpdateDeviceManagedNetworkRequestBody = {
+  config?: Schemas.TeamsDevicesSchemasConfigRequest;
+  name?: Schemas.TeamsDevicesDeviceManagedNetworksComponentsSchemasName;
+  type?: Schemas.TeamsDevicesComponentsSchemasType;
+};
+
+export type DeviceManagedNetworksUpdateDeviceManagedNetworkVariables = {
+  body?: DeviceManagedNetworksUpdateDeviceManagedNetworkRequestBody;
+  pathParams: DeviceManagedNetworksUpdateDeviceManagedNetworkPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a configured device managed network.
+ */
+export const deviceManagedNetworksUpdateDeviceManagedNetwork = (
+  variables: DeviceManagedNetworksUpdateDeviceManagedNetworkVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesComponentsSchemasSingleResponse,
+    DeviceManagedNetworksUpdateDeviceManagedNetworkError,
+    DeviceManagedNetworksUpdateDeviceManagedNetworkRequestBody,
+    {},
+    {},
+    DeviceManagedNetworksUpdateDeviceManagedNetworkPathParams
+  >({ url: '/accounts/{accountId}/devices/networks/{networkId}', method: 'put', ...variables, signal });
+
+export type DevicesListDeviceSettingsPoliciesPathParams = {
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DevicesListDeviceSettingsPoliciesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesDeviceSettingsResponseCollection & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DevicesListDeviceSettingsPoliciesVariables = {
+  pathParams: DevicesListDeviceSettingsPoliciesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a list of the device settings profiles for an account.
+ */
+export const devicesListDeviceSettingsPolicies = (
+  variables: DevicesListDeviceSettingsPoliciesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesDeviceSettingsResponseCollection,
+    DevicesListDeviceSettingsPoliciesError,
+    undefined,
+    {},
+    {},
+    DevicesListDeviceSettingsPoliciesPathParams
+  >({ url: '/accounts/{accountId}/devices/policies', method: 'get', ...variables, signal });
+
+export type DevicesGetDefaultDeviceSettingsPolicyPathParams = {
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DevicesGetDefaultDeviceSettingsPolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesDefaultDeviceSettingsResponse & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DevicesGetDefaultDeviceSettingsPolicyVariables = {
+  pathParams: DevicesGetDefaultDeviceSettingsPolicyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the default device settings profile for an account.
+ */
+export const devicesGetDefaultDeviceSettingsPolicy = (
+  variables: DevicesGetDefaultDeviceSettingsPolicyVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesDefaultDeviceSettingsResponse,
+    DevicesGetDefaultDeviceSettingsPolicyError,
+    undefined,
+    {},
+    {},
+    DevicesGetDefaultDeviceSettingsPolicyPathParams
+  >({ url: '/accounts/{accountId}/devices/policy', method: 'get', ...variables, signal });
+
+export type DevicesUpdateDefaultDeviceSettingsPolicyPathParams = {
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DevicesUpdateDefaultDeviceSettingsPolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesDefaultDeviceSettingsResponse & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DevicesUpdateDefaultDeviceSettingsPolicyRequestBody = {
+  allow_mode_switch?: Schemas.TeamsDevicesAllowModeSwitch;
+  allow_updates?: Schemas.TeamsDevicesAllowUpdates;
+  allowed_to_leave?: Schemas.TeamsDevicesAllowedToLeave;
+  auto_connect?: Schemas.TeamsDevicesAutoConnect;
+  captive_portal?: Schemas.TeamsDevicesCaptivePortal;
+  disable_auto_fallback?: Schemas.TeamsDevicesDisableAutoFallback;
+  exclude_office_ips?: Schemas.TeamsDevicesExcludeOfficeIps;
+  service_mode_v2?: Schemas.TeamsDevicesServiceModeV2;
+  support_url?: Schemas.TeamsDevicesSupportUrl;
+  switch_locked?: Schemas.TeamsDevicesSwitchLocked;
+  tunnel_protocol?: Schemas.TeamsDevicesTunnelProtocol;
+};
+
+export type DevicesUpdateDefaultDeviceSettingsPolicyVariables = {
+  body?: DevicesUpdateDefaultDeviceSettingsPolicyRequestBody;
+  pathParams: DevicesUpdateDefaultDeviceSettingsPolicyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates the default device settings profile for an account.
+ */
+export const devicesUpdateDefaultDeviceSettingsPolicy = (
+  variables: DevicesUpdateDefaultDeviceSettingsPolicyVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesDefaultDeviceSettingsResponse,
+    DevicesUpdateDefaultDeviceSettingsPolicyError,
+    DevicesUpdateDefaultDeviceSettingsPolicyRequestBody,
+    {},
+    {},
+    DevicesUpdateDefaultDeviceSettingsPolicyPathParams
+  >({ url: '/accounts/{accountId}/devices/policy', method: 'patch', ...variables, signal });
+
+export type DevicesCreateDeviceSettingsPolicyPathParams = {
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DevicesCreateDeviceSettingsPolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesDeviceSettingsResponse & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DevicesCreateDeviceSettingsPolicyRequestBody = {
+  allow_mode_switch?: Schemas.TeamsDevicesAllowModeSwitch;
+  allow_updates?: Schemas.TeamsDevicesAllowUpdates;
+  allowed_to_leave?: Schemas.TeamsDevicesAllowedToLeave;
+  auto_connect?: Schemas.TeamsDevicesAutoConnect;
+  captive_portal?: Schemas.TeamsDevicesCaptivePortal;
+  description?: Schemas.TeamsDevicesSchemasDescription;
+  disable_auto_fallback?: Schemas.TeamsDevicesDisableAutoFallback;
+  /**
+   * Whether the policy will be applied to matching devices.
+   *
+   * @example true
+   */
+  enabled?: boolean;
+  exclude_office_ips?: Schemas.TeamsDevicesExcludeOfficeIps;
+  lan_allow_minutes?: Schemas.TeamsDevicesLanAllowMinutes;
+  lan_allow_subnet_size?: Schemas.TeamsDevicesLanAllowSubnetSize;
+  match: Schemas.TeamsDevicesSchemasMatch;
+  /**
+   * The name of the device settings profile.
+   *
+   * @example Allow Developers
+   * @maxLength 100
+   */
+  name: string;
+  precedence: Schemas.TeamsDevicesPrecedence;
+  service_mode_v2?: Schemas.TeamsDevicesServiceModeV2;
+  support_url?: Schemas.TeamsDevicesSupportUrl;
+  switch_locked?: Schemas.TeamsDevicesSwitchLocked;
+  tunnel_protocol?: Schemas.TeamsDevicesTunnelProtocol;
+};
+
+export type DevicesCreateDeviceSettingsPolicyVariables = {
+  body: DevicesCreateDeviceSettingsPolicyRequestBody;
+  pathParams: DevicesCreateDeviceSettingsPolicyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a device settings profile to be applied to certain devices matching the criteria.
+ */
+export const devicesCreateDeviceSettingsPolicy = (
+  variables: DevicesCreateDeviceSettingsPolicyVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesDeviceSettingsResponse,
+    DevicesCreateDeviceSettingsPolicyError,
+    DevicesCreateDeviceSettingsPolicyRequestBody,
+    {},
+    {},
+    DevicesCreateDeviceSettingsPolicyPathParams
+  >({ url: '/accounts/{accountId}/devices/policy', method: 'post', ...variables, signal });
+
+export type DevicesGetSplitTunnelExcludeListPathParams = {
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DevicesGetSplitTunnelExcludeListError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesSplitTunnelResponseCollection & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DevicesGetSplitTunnelExcludeListVariables = {
+  pathParams: DevicesGetSplitTunnelExcludeListPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the list of routes excluded from the WARP client's tunnel.
+ */
+export const devicesGetSplitTunnelExcludeList = (
+  variables: DevicesGetSplitTunnelExcludeListVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesSplitTunnelResponseCollection,
+    DevicesGetSplitTunnelExcludeListError,
+    undefined,
+    {},
+    {},
+    DevicesGetSplitTunnelExcludeListPathParams
+  >({ url: '/accounts/{accountId}/devices/policy/exclude', method: 'get', ...variables, signal });
+
+export type DevicesSetSplitTunnelExcludeListPathParams = {
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DevicesSetSplitTunnelExcludeListError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesSplitTunnelResponseCollection & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DevicesSetSplitTunnelExcludeListRequestBody = Schemas.TeamsDevicesSplitTunnel[];
+
+export type DevicesSetSplitTunnelExcludeListVariables = {
+  body?: DevicesSetSplitTunnelExcludeListRequestBody;
+  pathParams: DevicesSetSplitTunnelExcludeListPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Sets the list of routes excluded from the WARP client's tunnel.
+ */
+export const devicesSetSplitTunnelExcludeList = (
+  variables: DevicesSetSplitTunnelExcludeListVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesSplitTunnelResponseCollection,
+    DevicesSetSplitTunnelExcludeListError,
+    DevicesSetSplitTunnelExcludeListRequestBody,
+    {},
+    {},
+    DevicesSetSplitTunnelExcludeListPathParams
+  >({ url: '/accounts/{accountId}/devices/policy/exclude', method: 'put', ...variables, signal });
+
+export type DevicesGetLocalDomainFallbackListPathParams = {
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DevicesGetLocalDomainFallbackListError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesFallbackDomainResponseCollection & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DevicesGetLocalDomainFallbackListVariables = {
+  pathParams: DevicesGetLocalDomainFallbackListPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a list of domains to bypass Gateway DNS resolution. These domains will use the specified local DNS resolver instead.
+ */
+export const devicesGetLocalDomainFallbackList = (
+  variables: DevicesGetLocalDomainFallbackListVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesFallbackDomainResponseCollection,
+    DevicesGetLocalDomainFallbackListError,
+    undefined,
+    {},
+    {},
+    DevicesGetLocalDomainFallbackListPathParams
+  >({ url: '/accounts/{accountId}/devices/policy/fallback_domains', method: 'get', ...variables, signal });
+
+export type DevicesSetLocalDomainFallbackListPathParams = {
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DevicesSetLocalDomainFallbackListError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesFallbackDomainResponseCollection & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DevicesSetLocalDomainFallbackListRequestBody = Schemas.TeamsDevicesFallbackDomain[];
+
+export type DevicesSetLocalDomainFallbackListVariables = {
+  body?: DevicesSetLocalDomainFallbackListRequestBody;
+  pathParams: DevicesSetLocalDomainFallbackListPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Sets the list of domains to bypass Gateway DNS resolution. These domains will use the specified local DNS resolver instead.
+ */
+export const devicesSetLocalDomainFallbackList = (
+  variables: DevicesSetLocalDomainFallbackListVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesFallbackDomainResponseCollection,
+    DevicesSetLocalDomainFallbackListError,
+    DevicesSetLocalDomainFallbackListRequestBody,
+    {},
+    {},
+    DevicesSetLocalDomainFallbackListPathParams
+  >({ url: '/accounts/{accountId}/devices/policy/fallback_domains', method: 'put', ...variables, signal });
+
+export type DevicesGetSplitTunnelIncludeListPathParams = {
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DevicesGetSplitTunnelIncludeListError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesSplitTunnelIncludeResponseCollection & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DevicesGetSplitTunnelIncludeListVariables = {
+  pathParams: DevicesGetSplitTunnelIncludeListPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the list of routes included in the WARP client's tunnel.
+ */
+export const devicesGetSplitTunnelIncludeList = (
+  variables: DevicesGetSplitTunnelIncludeListVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesSplitTunnelIncludeResponseCollection,
+    DevicesGetSplitTunnelIncludeListError,
+    undefined,
+    {},
+    {},
+    DevicesGetSplitTunnelIncludeListPathParams
+  >({ url: '/accounts/{accountId}/devices/policy/include', method: 'get', ...variables, signal });
+
+export type DevicesSetSplitTunnelIncludeListPathParams = {
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DevicesSetSplitTunnelIncludeListError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesSplitTunnelIncludeResponseCollection & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DevicesSetSplitTunnelIncludeListRequestBody = Schemas.TeamsDevicesSplitTunnelInclude[];
+
+export type DevicesSetSplitTunnelIncludeListVariables = {
+  body?: DevicesSetSplitTunnelIncludeListRequestBody;
+  pathParams: DevicesSetSplitTunnelIncludeListPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Sets the list of routes included in the WARP client's tunnel.
+ */
+export const devicesSetSplitTunnelIncludeList = (
+  variables: DevicesSetSplitTunnelIncludeListVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesSplitTunnelIncludeResponseCollection,
+    DevicesSetSplitTunnelIncludeListError,
+    DevicesSetSplitTunnelIncludeListRequestBody,
+    {},
+    {},
+    DevicesSetSplitTunnelIncludeListPathParams
+  >({ url: '/accounts/{accountId}/devices/policy/include', method: 'put', ...variables, signal });
+
+export type DevicesDeleteDeviceSettingsPolicyPathParams = {
+  policyId: Schemas.TeamsDevicesSchemasUuid;
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DevicesDeleteDeviceSettingsPolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesDeviceSettingsResponseCollection & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DevicesDeleteDeviceSettingsPolicyVariables = {
+  pathParams: DevicesDeleteDeviceSettingsPolicyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes a device settings profile and fetches a list of the remaining profiles for an account.
+ */
+export const devicesDeleteDeviceSettingsPolicy = (
+  variables: DevicesDeleteDeviceSettingsPolicyVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesDeviceSettingsResponseCollection,
+    DevicesDeleteDeviceSettingsPolicyError,
+    undefined,
+    {},
+    {},
+    DevicesDeleteDeviceSettingsPolicyPathParams
+  >({ url: '/accounts/{accountId}/devices/policy/{policyId}', method: 'delete', ...variables, signal });
+
+export type DevicesGetDeviceSettingsPolicyByIdPathParams = {
+  policyId: Schemas.TeamsDevicesSchemasUuid;
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DevicesGetDeviceSettingsPolicyByIdError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesDeviceSettingsResponse & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DevicesGetDeviceSettingsPolicyByIdVariables = {
+  pathParams: DevicesGetDeviceSettingsPolicyByIdPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a device settings profile by ID.
+ */
+export const devicesGetDeviceSettingsPolicyById = (
+  variables: DevicesGetDeviceSettingsPolicyByIdVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesDeviceSettingsResponse,
+    DevicesGetDeviceSettingsPolicyByIdError,
+    undefined,
+    {},
+    {},
+    DevicesGetDeviceSettingsPolicyByIdPathParams
+  >({ url: '/accounts/{accountId}/devices/policy/{policyId}', method: 'get', ...variables, signal });
+
+export type DevicesUpdateDeviceSettingsPolicyPathParams = {
+  policyId: Schemas.TeamsDevicesSchemasUuid;
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DevicesUpdateDeviceSettingsPolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesDeviceSettingsResponse & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DevicesUpdateDeviceSettingsPolicyRequestBody = {
+  allow_mode_switch?: Schemas.TeamsDevicesAllowModeSwitch;
+  allow_updates?: Schemas.TeamsDevicesAllowUpdates;
+  allowed_to_leave?: Schemas.TeamsDevicesAllowedToLeave;
+  auto_connect?: Schemas.TeamsDevicesAutoConnect;
+  captive_portal?: Schemas.TeamsDevicesCaptivePortal;
+  description?: Schemas.TeamsDevicesSchemasDescription;
+  disable_auto_fallback?: Schemas.TeamsDevicesDisableAutoFallback;
+  /**
+   * Whether the policy will be applied to matching devices.
+   *
+   * @example true
+   */
+  enabled?: boolean;
+  exclude_office_ips?: Schemas.TeamsDevicesExcludeOfficeIps;
+  match?: Schemas.TeamsDevicesSchemasMatch;
+  /**
+   * The name of the device settings profile.
+   *
+   * @example Allow Developers
+   * @maxLength 100
+   */
+  name?: string;
+  precedence?: Schemas.TeamsDevicesPrecedence;
+  service_mode_v2?: Schemas.TeamsDevicesServiceModeV2;
+  support_url?: Schemas.TeamsDevicesSupportUrl;
+  switch_locked?: Schemas.TeamsDevicesSwitchLocked;
+  tunnel_protocol?: Schemas.TeamsDevicesTunnelProtocol;
+};
+
+export type DevicesUpdateDeviceSettingsPolicyVariables = {
+  body?: DevicesUpdateDeviceSettingsPolicyRequestBody;
+  pathParams: DevicesUpdateDeviceSettingsPolicyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a configured device settings profile.
+ */
+export const devicesUpdateDeviceSettingsPolicy = (
+  variables: DevicesUpdateDeviceSettingsPolicyVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesDeviceSettingsResponse,
+    DevicesUpdateDeviceSettingsPolicyError,
+    DevicesUpdateDeviceSettingsPolicyRequestBody,
+    {},
+    {},
+    DevicesUpdateDeviceSettingsPolicyPathParams
+  >({ url: '/accounts/{accountId}/devices/policy/{policyId}', method: 'patch', ...variables, signal });
+
+export type DevicesGetSplitTunnelExcludeListForADeviceSettingsPolicyPathParams = {
+  policyId: Schemas.TeamsDevicesSchemasUuid;
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DevicesGetSplitTunnelExcludeListForADeviceSettingsPolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesSplitTunnelResponseCollection & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DevicesGetSplitTunnelExcludeListForADeviceSettingsPolicyVariables = {
+  pathParams: DevicesGetSplitTunnelExcludeListForADeviceSettingsPolicyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the list of routes excluded from the WARP client's tunnel for a specific device settings profile.
+ */
+export const devicesGetSplitTunnelExcludeListForADeviceSettingsPolicy = (
+  variables: DevicesGetSplitTunnelExcludeListForADeviceSettingsPolicyVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesSplitTunnelResponseCollection,
+    DevicesGetSplitTunnelExcludeListForADeviceSettingsPolicyError,
+    undefined,
+    {},
+    {},
+    DevicesGetSplitTunnelExcludeListForADeviceSettingsPolicyPathParams
+  >({ url: '/accounts/{accountId}/devices/policy/{policyId}/exclude', method: 'get', ...variables, signal });
+
+export type DevicesSetSplitTunnelExcludeListForADeviceSettingsPolicyPathParams = {
+  policyId: Schemas.TeamsDevicesSchemasUuid;
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DevicesSetSplitTunnelExcludeListForADeviceSettingsPolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesSplitTunnelResponseCollection & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DevicesSetSplitTunnelExcludeListForADeviceSettingsPolicyRequestBody = Schemas.TeamsDevicesSplitTunnel[];
+
+export type DevicesSetSplitTunnelExcludeListForADeviceSettingsPolicyVariables = {
+  body?: DevicesSetSplitTunnelExcludeListForADeviceSettingsPolicyRequestBody;
+  pathParams: DevicesSetSplitTunnelExcludeListForADeviceSettingsPolicyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Sets the list of routes excluded from the WARP client's tunnel for a specific device settings profile.
+ */
+export const devicesSetSplitTunnelExcludeListForADeviceSettingsPolicy = (
+  variables: DevicesSetSplitTunnelExcludeListForADeviceSettingsPolicyVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesSplitTunnelResponseCollection,
+    DevicesSetSplitTunnelExcludeListForADeviceSettingsPolicyError,
+    DevicesSetSplitTunnelExcludeListForADeviceSettingsPolicyRequestBody,
+    {},
+    {},
+    DevicesSetSplitTunnelExcludeListForADeviceSettingsPolicyPathParams
+  >({ url: '/accounts/{accountId}/devices/policy/{policyId}/exclude', method: 'put', ...variables, signal });
+
+export type DevicesGetLocalDomainFallbackListForADeviceSettingsPolicyPathParams = {
+  policyId: Schemas.TeamsDevicesSchemasUuid;
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DevicesGetLocalDomainFallbackListForADeviceSettingsPolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesFallbackDomainResponseCollection & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DevicesGetLocalDomainFallbackListForADeviceSettingsPolicyVariables = {
+  pathParams: DevicesGetLocalDomainFallbackListForADeviceSettingsPolicyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the list of domains to bypass Gateway DNS resolution from a specified device settings profile. These domains will use the specified local DNS resolver instead.
+ */
+export const devicesGetLocalDomainFallbackListForADeviceSettingsPolicy = (
+  variables: DevicesGetLocalDomainFallbackListForADeviceSettingsPolicyVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesFallbackDomainResponseCollection,
+    DevicesGetLocalDomainFallbackListForADeviceSettingsPolicyError,
+    undefined,
+    {},
+    {},
+    DevicesGetLocalDomainFallbackListForADeviceSettingsPolicyPathParams
+  >({ url: '/accounts/{accountId}/devices/policy/{policyId}/fallback_domains', method: 'get', ...variables, signal });
+
+export type DevicesSetLocalDomainFallbackListForADeviceSettingsPolicyPathParams = {
+  policyId: Schemas.TeamsDevicesSchemasUuid;
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DevicesSetLocalDomainFallbackListForADeviceSettingsPolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesFallbackDomainResponseCollection & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DevicesSetLocalDomainFallbackListForADeviceSettingsPolicyRequestBody = Schemas.TeamsDevicesFallbackDomain[];
+
+export type DevicesSetLocalDomainFallbackListForADeviceSettingsPolicyVariables = {
+  body?: DevicesSetLocalDomainFallbackListForADeviceSettingsPolicyRequestBody;
+  pathParams: DevicesSetLocalDomainFallbackListForADeviceSettingsPolicyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Sets the list of domains to bypass Gateway DNS resolution. These domains will use the specified local DNS resolver instead. This will only apply to the specified device settings profile.
+ */
+export const devicesSetLocalDomainFallbackListForADeviceSettingsPolicy = (
+  variables: DevicesSetLocalDomainFallbackListForADeviceSettingsPolicyVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesFallbackDomainResponseCollection,
+    DevicesSetLocalDomainFallbackListForADeviceSettingsPolicyError,
+    DevicesSetLocalDomainFallbackListForADeviceSettingsPolicyRequestBody,
+    {},
+    {},
+    DevicesSetLocalDomainFallbackListForADeviceSettingsPolicyPathParams
+  >({ url: '/accounts/{accountId}/devices/policy/{policyId}/fallback_domains', method: 'put', ...variables, signal });
+
+export type DevicesGetSplitTunnelIncludeListForADeviceSettingsPolicyPathParams = {
+  policyId: Schemas.TeamsDevicesSchemasUuid;
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DevicesGetSplitTunnelIncludeListForADeviceSettingsPolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesSplitTunnelIncludeResponseCollection & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DevicesGetSplitTunnelIncludeListForADeviceSettingsPolicyVariables = {
+  pathParams: DevicesGetSplitTunnelIncludeListForADeviceSettingsPolicyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the list of routes included in the WARP client's tunnel for a specific device settings profile.
+ */
+export const devicesGetSplitTunnelIncludeListForADeviceSettingsPolicy = (
+  variables: DevicesGetSplitTunnelIncludeListForADeviceSettingsPolicyVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesSplitTunnelIncludeResponseCollection,
+    DevicesGetSplitTunnelIncludeListForADeviceSettingsPolicyError,
+    undefined,
+    {},
+    {},
+    DevicesGetSplitTunnelIncludeListForADeviceSettingsPolicyPathParams
+  >({ url: '/accounts/{accountId}/devices/policy/{policyId}/include', method: 'get', ...variables, signal });
+
+export type DevicesSetSplitTunnelIncludeListForADeviceSettingsPolicyPathParams = {
+  policyId: Schemas.TeamsDevicesSchemasUuid;
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DevicesSetSplitTunnelIncludeListForADeviceSettingsPolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesSplitTunnelIncludeResponseCollection & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DevicesSetSplitTunnelIncludeListForADeviceSettingsPolicyRequestBody =
+  Schemas.TeamsDevicesSplitTunnelInclude[];
+
+export type DevicesSetSplitTunnelIncludeListForADeviceSettingsPolicyVariables = {
+  body?: DevicesSetSplitTunnelIncludeListForADeviceSettingsPolicyRequestBody;
+  pathParams: DevicesSetSplitTunnelIncludeListForADeviceSettingsPolicyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Sets the list of routes included in the WARP client's tunnel for a specific device settings profile.
+ */
+export const devicesSetSplitTunnelIncludeListForADeviceSettingsPolicy = (
+  variables: DevicesSetSplitTunnelIncludeListForADeviceSettingsPolicyVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesSplitTunnelIncludeResponseCollection,
+    DevicesSetSplitTunnelIncludeListForADeviceSettingsPolicyError,
+    DevicesSetSplitTunnelIncludeListForADeviceSettingsPolicyRequestBody,
+    {},
+    {},
+    DevicesSetSplitTunnelIncludeListForADeviceSettingsPolicyPathParams
+  >({ url: '/accounts/{accountId}/devices/policy/{policyId}/include', method: 'put', ...variables, signal });
+
+export type DevicePostureRulesListDevicePostureRulesPathParams = {
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DevicePostureRulesListDevicePostureRulesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesResponseCollection & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DevicePostureRulesListDevicePostureRulesVariables = {
+  pathParams: DevicePostureRulesListDevicePostureRulesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches device posture rules for a Zero Trust account.
+ */
+export const devicePostureRulesListDevicePostureRules = (
+  variables: DevicePostureRulesListDevicePostureRulesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesResponseCollection,
+    DevicePostureRulesListDevicePostureRulesError,
+    undefined,
+    {},
+    {},
+    DevicePostureRulesListDevicePostureRulesPathParams
+  >({ url: '/accounts/{accountId}/devices/posture', method: 'get', ...variables, signal });
+
+export type DevicePostureRulesCreateDevicePostureRulePathParams = {
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DevicePostureRulesCreateDevicePostureRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesSingleResponse & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DevicePostureRulesCreateDevicePostureRuleRequestBody = {
+  description?: Schemas.TeamsDevicesDescription;
+  expiration?: Schemas.TeamsDevicesExpiration;
+  input?: Schemas.TeamsDevicesInput;
+  match?: Schemas.TeamsDevicesMatch;
+  name: Schemas.TeamsDevicesName;
+  schedule?: Schemas.TeamsDevicesSchedule;
+  type: Schemas.TeamsDevicesType;
+};
+
+export type DevicePostureRulesCreateDevicePostureRuleVariables = {
+  body: DevicePostureRulesCreateDevicePostureRuleRequestBody;
+  pathParams: DevicePostureRulesCreateDevicePostureRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new device posture rule.
+ */
+export const devicePostureRulesCreateDevicePostureRule = (
+  variables: DevicePostureRulesCreateDevicePostureRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesSingleResponse,
+    DevicePostureRulesCreateDevicePostureRuleError,
+    DevicePostureRulesCreateDevicePostureRuleRequestBody,
+    {},
+    {},
+    DevicePostureRulesCreateDevicePostureRulePathParams
+  >({ url: '/accounts/{accountId}/devices/posture', method: 'post', ...variables, signal });
+
+export type DevicePostureIntegrationsListDevicePostureIntegrationsPathParams = {
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DevicePostureIntegrationsListDevicePostureIntegrationsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesSchemasResponseCollection & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DevicePostureIntegrationsListDevicePostureIntegrationsVariables = {
+  pathParams: DevicePostureIntegrationsListDevicePostureIntegrationsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the list of device posture integrations for an account.
+ */
+export const devicePostureIntegrationsListDevicePostureIntegrations = (
+  variables: DevicePostureIntegrationsListDevicePostureIntegrationsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesSchemasResponseCollection,
+    DevicePostureIntegrationsListDevicePostureIntegrationsError,
+    undefined,
+    {},
+    {},
+    DevicePostureIntegrationsListDevicePostureIntegrationsPathParams
+  >({ url: '/accounts/{accountId}/devices/posture/integration', method: 'get', ...variables, signal });
+
+export type DevicePostureIntegrationsCreateDevicePostureIntegrationPathParams = {
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DevicePostureIntegrationsCreateDevicePostureIntegrationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesSchemasSingleResponse & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DevicePostureIntegrationsCreateDevicePostureIntegrationRequestBody = {
+  config: Schemas.TeamsDevicesConfigRequest;
+  interval: Schemas.TeamsDevicesInterval;
+  name: Schemas.TeamsDevicesComponentsSchemasName;
+  type: Schemas.TeamsDevicesSchemasType;
+};
+
+export type DevicePostureIntegrationsCreateDevicePostureIntegrationVariables = {
+  body: DevicePostureIntegrationsCreateDevicePostureIntegrationRequestBody;
+  pathParams: DevicePostureIntegrationsCreateDevicePostureIntegrationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create a new device posture integration.
+ */
+export const devicePostureIntegrationsCreateDevicePostureIntegration = (
+  variables: DevicePostureIntegrationsCreateDevicePostureIntegrationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesSchemasSingleResponse,
+    DevicePostureIntegrationsCreateDevicePostureIntegrationError,
+    DevicePostureIntegrationsCreateDevicePostureIntegrationRequestBody,
+    {},
+    {},
+    DevicePostureIntegrationsCreateDevicePostureIntegrationPathParams
+  >({ url: '/accounts/{accountId}/devices/posture/integration', method: 'post', ...variables, signal });
+
+export type DevicePostureIntegrationsDeleteDevicePostureIntegrationPathParams = {
+  integrationId: Schemas.TeamsDevicesUuid;
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DevicePostureIntegrationsDeleteDevicePostureIntegrationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesSchemasIdResponse & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DevicePostureIntegrationsDeleteDevicePostureIntegrationVariables = {
+  pathParams: DevicePostureIntegrationsDeleteDevicePostureIntegrationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete a configured device posture integration.
+ */
+export const devicePostureIntegrationsDeleteDevicePostureIntegration = (
+  variables: DevicePostureIntegrationsDeleteDevicePostureIntegrationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesSchemasIdResponse,
+    DevicePostureIntegrationsDeleteDevicePostureIntegrationError,
+    undefined,
+    {},
+    {},
+    DevicePostureIntegrationsDeleteDevicePostureIntegrationPathParams
+  >({
+    url: '/accounts/{accountId}/devices/posture/integration/{integrationId}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type DevicePostureIntegrationsDevicePostureIntegrationDetailsPathParams = {
+  integrationId: Schemas.TeamsDevicesUuid;
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DevicePostureIntegrationsDevicePostureIntegrationDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesSchemasSingleResponse & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DevicePostureIntegrationsDevicePostureIntegrationDetailsVariables = {
+  pathParams: DevicePostureIntegrationsDevicePostureIntegrationDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches details for a single device posture integration.
+ */
+export const devicePostureIntegrationsDevicePostureIntegrationDetails = (
+  variables: DevicePostureIntegrationsDevicePostureIntegrationDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesSchemasSingleResponse,
+    DevicePostureIntegrationsDevicePostureIntegrationDetailsError,
+    undefined,
+    {},
+    {},
+    DevicePostureIntegrationsDevicePostureIntegrationDetailsPathParams
+  >({ url: '/accounts/{accountId}/devices/posture/integration/{integrationId}', method: 'get', ...variables, signal });
+
+export type DevicePostureIntegrationsUpdateDevicePostureIntegrationPathParams = {
+  integrationId: Schemas.TeamsDevicesUuid;
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DevicePostureIntegrationsUpdateDevicePostureIntegrationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesSchemasSingleResponse & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DevicePostureIntegrationsUpdateDevicePostureIntegrationRequestBody = {
+  config?: Schemas.TeamsDevicesConfigRequest;
+  interval?: Schemas.TeamsDevicesInterval;
+  name?: Schemas.TeamsDevicesComponentsSchemasName;
+  type?: Schemas.TeamsDevicesSchemasType;
+};
+
+export type DevicePostureIntegrationsUpdateDevicePostureIntegrationVariables = {
+  body?: DevicePostureIntegrationsUpdateDevicePostureIntegrationRequestBody;
+  pathParams: DevicePostureIntegrationsUpdateDevicePostureIntegrationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a configured device posture integration.
+ */
+export const devicePostureIntegrationsUpdateDevicePostureIntegration = (
+  variables: DevicePostureIntegrationsUpdateDevicePostureIntegrationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesSchemasSingleResponse,
+    DevicePostureIntegrationsUpdateDevicePostureIntegrationError,
+    DevicePostureIntegrationsUpdateDevicePostureIntegrationRequestBody,
+    {},
+    {},
+    DevicePostureIntegrationsUpdateDevicePostureIntegrationPathParams
+  >({
+    url: '/accounts/{accountId}/devices/posture/integration/{integrationId}',
+    method: 'patch',
+    ...variables,
+    signal
+  });
+
+export type DevicePostureRulesDeleteDevicePostureRulePathParams = {
+  ruleId: Schemas.TeamsDevicesUuid;
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DevicePostureRulesDeleteDevicePostureRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesIdResponse & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DevicePostureRulesDeleteDevicePostureRuleVariables = {
+  pathParams: DevicePostureRulesDeleteDevicePostureRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes a device posture rule.
+ */
+export const devicePostureRulesDeleteDevicePostureRule = (
+  variables: DevicePostureRulesDeleteDevicePostureRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesIdResponse,
+    DevicePostureRulesDeleteDevicePostureRuleError,
+    undefined,
+    {},
+    {},
+    DevicePostureRulesDeleteDevicePostureRulePathParams
+  >({ url: '/accounts/{accountId}/devices/posture/{ruleId}', method: 'delete', ...variables, signal });
+
+export type DevicePostureRulesDevicePostureRulesDetailsPathParams = {
+  ruleId: Schemas.TeamsDevicesUuid;
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DevicePostureRulesDevicePostureRulesDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesSingleResponse & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DevicePostureRulesDevicePostureRulesDetailsVariables = {
+  pathParams: DevicePostureRulesDevicePostureRulesDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a single device posture rule.
+ */
+export const devicePostureRulesDevicePostureRulesDetails = (
+  variables: DevicePostureRulesDevicePostureRulesDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesSingleResponse,
+    DevicePostureRulesDevicePostureRulesDetailsError,
+    undefined,
+    {},
+    {},
+    DevicePostureRulesDevicePostureRulesDetailsPathParams
+  >({ url: '/accounts/{accountId}/devices/posture/{ruleId}', method: 'get', ...variables, signal });
+
+export type DevicePostureRulesUpdateDevicePostureRulePathParams = {
+  ruleId: Schemas.TeamsDevicesUuid;
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DevicePostureRulesUpdateDevicePostureRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesSingleResponse & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DevicePostureRulesUpdateDevicePostureRuleRequestBody = {
+  description?: Schemas.TeamsDevicesDescription;
+  expiration?: Schemas.TeamsDevicesExpiration;
+  input?: Schemas.TeamsDevicesInput;
+  match?: Schemas.TeamsDevicesMatch;
+  name: Schemas.TeamsDevicesName;
+  schedule?: Schemas.TeamsDevicesSchedule;
+  type: Schemas.TeamsDevicesType;
+};
+
+export type DevicePostureRulesUpdateDevicePostureRuleVariables = {
+  body: DevicePostureRulesUpdateDevicePostureRuleRequestBody;
+  pathParams: DevicePostureRulesUpdateDevicePostureRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a device posture rule.
+ */
+export const devicePostureRulesUpdateDevicePostureRule = (
+  variables: DevicePostureRulesUpdateDevicePostureRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesSingleResponse,
+    DevicePostureRulesUpdateDevicePostureRuleError,
+    DevicePostureRulesUpdateDevicePostureRuleRequestBody,
+    {},
+    {},
+    DevicePostureRulesUpdateDevicePostureRulePathParams
+  >({ url: '/accounts/{accountId}/devices/posture/{ruleId}', method: 'put', ...variables, signal });
+
+export type DevicesRevokeDevicesPathParams = {
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DevicesRevokeDevicesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesApiResponseSingle & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DevicesRevokeDevicesVariables = {
+  body?: Schemas.TeamsDevicesRevokeDevicesRequest;
+  pathParams: DevicesRevokeDevicesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Revokes a list of devices.
+ */
+export const devicesRevokeDevices = (variables: DevicesRevokeDevicesVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.TeamsDevicesApiResponseSingle,
+    DevicesRevokeDevicesError,
+    Schemas.TeamsDevicesRevokeDevicesRequest,
+    {},
+    {},
+    DevicesRevokeDevicesPathParams
+  >({ url: '/accounts/{accountId}/devices/revoke', method: 'post', ...variables, signal });
+
+export type ZeroTrustAccountsGetDeviceSettingsForZeroTrustAccountPathParams = {
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type ZeroTrustAccountsGetDeviceSettingsForZeroTrustAccountError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesZeroTrustAccountDeviceSettingsResponse & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustAccountsGetDeviceSettingsForZeroTrustAccountVariables = {
+  pathParams: ZeroTrustAccountsGetDeviceSettingsForZeroTrustAccountPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Describes the current device settings for a Zero Trust account.
+ */
+export const zeroTrustAccountsGetDeviceSettingsForZeroTrustAccount = (
+  variables: ZeroTrustAccountsGetDeviceSettingsForZeroTrustAccountVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesZeroTrustAccountDeviceSettingsResponse,
+    ZeroTrustAccountsGetDeviceSettingsForZeroTrustAccountError,
+    undefined,
+    {},
+    {},
+    ZeroTrustAccountsGetDeviceSettingsForZeroTrustAccountPathParams
+  >({ url: '/accounts/{accountId}/devices/settings', method: 'get', ...variables, signal });
+
+export type ZeroTrustAccountsPatchDeviceSettingsForTheZeroTrustAccountPathParams = {
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type ZeroTrustAccountsPatchDeviceSettingsForTheZeroTrustAccountError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesZeroTrustAccountDeviceSettingsResponse & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustAccountsPatchDeviceSettingsForTheZeroTrustAccountVariables = {
+  body?: Schemas.TeamsDevicesZeroTrustAccountDeviceSettings;
+  pathParams: ZeroTrustAccountsPatchDeviceSettingsForTheZeroTrustAccountPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Patches the current device settings for a Zero Trust account.
+ */
+export const zeroTrustAccountsPatchDeviceSettingsForTheZeroTrustAccount = (
+  variables: ZeroTrustAccountsPatchDeviceSettingsForTheZeroTrustAccountVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesZeroTrustAccountDeviceSettingsResponse,
+    ZeroTrustAccountsPatchDeviceSettingsForTheZeroTrustAccountError,
+    Schemas.TeamsDevicesZeroTrustAccountDeviceSettings,
+    {},
+    {},
+    ZeroTrustAccountsPatchDeviceSettingsForTheZeroTrustAccountPathParams
+  >({ url: '/accounts/{accountId}/devices/settings', method: 'patch', ...variables, signal });
+
+export type ZeroTrustAccountsUpdateDeviceSettingsForTheZeroTrustAccountPathParams = {
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type ZeroTrustAccountsUpdateDeviceSettingsForTheZeroTrustAccountError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesZeroTrustAccountDeviceSettingsResponse & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustAccountsUpdateDeviceSettingsForTheZeroTrustAccountVariables = {
+  body?: Schemas.TeamsDevicesZeroTrustAccountDeviceSettings;
+  pathParams: ZeroTrustAccountsUpdateDeviceSettingsForTheZeroTrustAccountPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates the current device settings for a Zero Trust account.
+ */
+export const zeroTrustAccountsUpdateDeviceSettingsForTheZeroTrustAccount = (
+  variables: ZeroTrustAccountsUpdateDeviceSettingsForTheZeroTrustAccountVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesZeroTrustAccountDeviceSettingsResponse,
+    ZeroTrustAccountsUpdateDeviceSettingsForTheZeroTrustAccountError,
+    Schemas.TeamsDevicesZeroTrustAccountDeviceSettings,
+    {},
+    {},
+    ZeroTrustAccountsUpdateDeviceSettingsForTheZeroTrustAccountPathParams
+  >({ url: '/accounts/{accountId}/devices/settings', method: 'put', ...variables, signal });
+
+export type DevicesUnrevokeDevicesPathParams = {
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DevicesUnrevokeDevicesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesApiResponseSingle & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DevicesUnrevokeDevicesVariables = {
+  body?: Schemas.TeamsDevicesUnrevokeDevicesRequest;
+  pathParams: DevicesUnrevokeDevicesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Unrevokes a list of devices.
+ */
+export const devicesUnrevokeDevices = (variables: DevicesUnrevokeDevicesVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.TeamsDevicesApiResponseSingle,
+    DevicesUnrevokeDevicesError,
+    Schemas.TeamsDevicesUnrevokeDevicesRequest,
+    {},
+    {},
+    DevicesUnrevokeDevicesPathParams
+  >({ url: '/accounts/{accountId}/devices/unrevoke', method: 'post', ...variables, signal });
+
+export type DevicesDeviceDetailsPathParams = {
+  deviceId: Schemas.TeamsDevicesSchemasUuid;
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DevicesDeviceDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesDeviceResponse & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DevicesDeviceDetailsVariables = {
+  pathParams: DevicesDeviceDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches details for a single device.
+ */
+export const devicesDeviceDetails = (variables: DevicesDeviceDetailsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.TeamsDevicesDeviceResponse,
+    DevicesDeviceDetailsError,
+    undefined,
+    {},
+    {},
+    DevicesDeviceDetailsPathParams
+  >({ url: '/accounts/{accountId}/devices/{deviceId}', method: 'get', ...variables, signal });
+
+export type DevicesListAdminOverrideCodeForDevicePathParams = {
+  deviceId: Schemas.TeamsDevicesSchemasUuid;
+  accountId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DevicesListAdminOverrideCodeForDeviceError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesOverrideCodesResponse & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DevicesListAdminOverrideCodeForDeviceVariables = {
+  pathParams: DevicesListAdminOverrideCodeForDevicePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a one-time use admin override code for a device. This relies on the **Admin Override** setting being enabled in your device configuration.
+ */
+export const devicesListAdminOverrideCodeForDevice = (
+  variables: DevicesListAdminOverrideCodeForDeviceVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesOverrideCodesResponse,
+    DevicesListAdminOverrideCodeForDeviceError,
+    undefined,
+    {},
+    {},
+    DevicesListAdminOverrideCodeForDevicePathParams
+  >({ url: '/accounts/{accountId}/devices/{deviceId}/override_codes', method: 'get', ...variables, signal });
+
+export type DexEndpointsListColosPathParams = {
+  /**
+   * unique identifier linked to an account in the API request path.
+   */
+  accountId: Schemas.DigitalExperienceMonitoringAccountIdentifier;
+};
+
+export type DexEndpointsListColosQueryParams = {
+  /**
+   * Start time for connection period in ISO (RFC3339 - ISO 8601) format
+   *
+   * @example 2023-08-20T20:45:00Z
+   */
+  from: string;
+  /**
+   * End time for connection period in ISO (RFC3339 - ISO 8601) format
+   *
+   * @example 2023-08-24T20:45:00Z
+   */
+  to: string;
+  /**
+   * Type of usage that colos should be sorted by. If unspecified, returns all Cloudflare colos sorted alphabetically.
+   */
+  sortBy?: 'fleet-status-usage' | 'application-tests-usage';
+};
+
+export type DexEndpointsListColosError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DigitalExperienceMonitoringApiResponseCommonFailure;
+}>;
+
+export type DexEndpointsListColosResponse = Schemas.DigitalExperienceMonitoringApiResponseCollection & {
+  result?: Schemas.DigitalExperienceMonitoringColosResponse;
+};
+
+export type DexEndpointsListColosVariables = {
+  pathParams: DexEndpointsListColosPathParams;
+  queryParams: DexEndpointsListColosQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * List Cloudflare colos that account's devices were connected to during a time period, sorted by usage starting from the most used colo. Colos without traffic are also returned and sorted alphabetically.
+ */
+export const dexEndpointsListColos = (variables: DexEndpointsListColosVariables, signal?: AbortSignal) =>
+  fetch<
+    DexEndpointsListColosResponse,
+    DexEndpointsListColosError,
+    undefined,
+    {},
+    DexEndpointsListColosQueryParams,
+    DexEndpointsListColosPathParams
+  >({ url: '/accounts/{accountId}/dex/colos', method: 'get', ...variables, signal });
+
+export type GetCommandsPathParams = {
+  /**
+   * unique identifier linked to an account in the API request path
+   */
+  accountId: Schemas.DigitalExperienceMonitoringAccountIdentifier;
+};
+
+export type GetCommandsQueryParams = {
+  /**
+   * Page number for pagination
+   *
+   * @example 1
+   */
+  page: number;
+  /**
+   * Number of results per page
+   *
+   * @example 50
+   */
+  per_page: number;
+  /**
+   * Start time for the query in ISO (RFC3339 - ISO 8601) format
+   *
+   * @example 2023-08-20T20:45:00Z
+   * @format date-time
+   */
+  from?: string;
+  /**
+   * End time for the query in ISO (RFC3339 - ISO 8601) format
+   *
+   * @example 2023-08-24T20:45:00Z
+   * @format date-time
+   */
+  to?: string;
+  /**
+   * Unique identifier for a device
+   */
+  device_id?: string;
+  /**
+   * Email tied to the device
+   */
+  user_email?: string;
+  /**
+   * Optionally filter executed commands by command type
+   */
+  command_type?: string;
+  /**
+   * Optionally filter executed commands by status
+   */
+  status?: 'PENDING_EXEC' | 'PENDING_UPLOAD' | 'SUCCESS' | 'FAILED';
+};
+
+export type GetCommandsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DigitalExperienceMonitoringApiResponseCommonFailure;
+}>;
+
+export type GetCommandsResponse = Schemas.DigitalExperienceMonitoringApiResponseCollection & {
+  result?: Schemas.DigitalExperienceMonitoringGetCommandsResponse;
+};
+
+export type GetCommandsVariables = {
+  pathParams: GetCommandsPathParams;
+  queryParams: GetCommandsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Retrieves a paginated list of commands issued to devices under the specified account, optionally filtered by time range, device, or other parameters
+ */
+export const getCommands = (variables: GetCommandsVariables, signal?: AbortSignal) =>
+  fetch<GetCommandsResponse, GetCommandsError, undefined, {}, GetCommandsQueryParams, GetCommandsPathParams>({
+    url: '/accounts/{accountId}/dex/commands',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type PostCommandsPathParams = {
+  /**
+   * unique identifier linked to an account in the API request path
+   */
+  accountId: Schemas.DigitalExperienceMonitoringAccountIdentifier;
+};
+
+export type PostCommandsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DigitalExperienceMonitoringApiResponseCommonFailure;
+}>;
+
+export type PostCommandsResponse = Schemas.DigitalExperienceMonitoringApiResponseCollection & {
+  result?: Schemas.DigitalExperienceMonitoringPostCommandsResponse;
+};
+
+export type PostCommandsRequestBody = {
+  /**
+   * List of device-level commands to execute
+   *
+   * @maxItems 20
+   */
+  commands: {
+    command_args?: {
+      /**
+       * List of interfaces to capture packets on
+       */
+      interfaces?: ('default' | 'tunnel')[];
+      /**
+       * Maximum file size (in MB) for the capture file. Specifies the maximum file size of the warp-diag zip artifact that can be uploaded. If the zip artifact exceeds the specified max file size, it will NOT be uploaded
+       *
+       * @default 5
+       * @minimum 1
+       */
+      ['max-file-size-mb']?: number;
+      /**
+       * Maximum number of bytes to save for each packet
+       *
+       * @default 160
+       * @minimum 1
+       */
+      ['packet-size-bytes']?: number;
+      /**
+       * Test an IP address from all included or excluded ranges. Tests an IP address from all included or excluded ranges. Essentially the same as running 'route get <ip>'' and collecting the results. This option may increase the time taken to collect the warp-diag
+       *
+       * @default true
+       */
+      ['test-all-routes']?: boolean;
+      /**
+       * Limit on capture duration (in minutes)
+       *
+       * @default 5
+       * @minimum 1
+       */
+      ['time-limit-min']?: number;
+    };
+    /**
+     * Type of command to execute on the device
+     */
+    command_type: 'pcap' | 'warp-diag';
+    /**
+     * Unique identifier for the device
+     */
+    device_id: string;
+    /**
+     * Email tied to the device
+     */
+    user_email: string;
+  }[];
+};
+
+export type PostCommandsVariables = {
+  body: PostCommandsRequestBody;
+  pathParams: PostCommandsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Initiate commands for up to 10 devices per account
+ */
+export const postCommands = (variables: PostCommandsVariables, signal?: AbortSignal) =>
+  fetch<PostCommandsResponse, PostCommandsError, PostCommandsRequestBody, {}, {}, PostCommandsPathParams>({
+    url: '/accounts/{accountId}/dex/commands',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type GetCommandsQuotaPathParams = {
+  /**
+   * unique identifier linked to an account in the API request path
+   */
+  accountId: Schemas.DigitalExperienceMonitoringAccountIdentifier;
+};
+
+export type GetCommandsQuotaError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DigitalExperienceMonitoringApiResponseCommonFailure;
+}>;
+
+export type GetCommandsQuotaResponse = Schemas.DigitalExperienceMonitoringApiResponseCollection & {
+  result?: Schemas.DigitalExperienceMonitoringGetCommandsQuotaResponse;
+};
+
+export type GetCommandsQuotaVariables = {
+  pathParams: GetCommandsQuotaPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Retrieves the current quota usage and limits for device commands within a specific account, including the time when the quota will reset
+ */
+export const getCommandsQuota = (variables: GetCommandsQuotaVariables, signal?: AbortSignal) =>
+  fetch<GetCommandsQuotaResponse, GetCommandsQuotaError, undefined, {}, {}, GetCommandsQuotaPathParams>({
+    url: '/accounts/{accountId}/dex/commands/quota',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type GetCommandsCommandIdDownloadsFilenamePathParams = {
+  /**
+   * unique identifier linked to an account in the API request path
+   */
+  accountId: Schemas.DigitalExperienceMonitoringAccountIdentifier;
+  /**
+   * Unique identifier for command
+   */
+  commandId: Schemas.DigitalExperienceMonitoringCommandId;
+  /**
+   * The name of the file to be downloaded, including the `.zip` extension
+   */
+  filename: string;
+};
+
+export type GetCommandsCommandIdDownloadsFilenameError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DigitalExperienceMonitoringApiResponseCommonFailure;
+}>;
+
+export type GetCommandsCommandIdDownloadsFilenameVariables = {
+  pathParams: GetCommandsCommandIdDownloadsFilenamePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Downloads artifacts for an executed command. Bulk downloads are not supported
+ */
+export const getCommandsCommandIdDownloadsFilename = (
+  variables: GetCommandsCommandIdDownloadsFilenameVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    undefined,
+    GetCommandsCommandIdDownloadsFilenameError,
+    undefined,
+    {},
+    {},
+    GetCommandsCommandIdDownloadsFilenamePathParams
+  >({
+    url: '/accounts/{accountId}/dex/commands/{commandId}/downloads/{filename}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type DevicesLiveStatusPathParams = {
+  /**
+   * Unique identifier for account
+   */
+  accountId: Schemas.DigitalExperienceMonitoringAccountIdentifier;
+  /**
+   * Unique identifier for device
+   */
+  deviceId: Schemas.DigitalExperienceMonitoringDeviceId;
+};
+
+export type DevicesLiveStatusQueryParams = {
+  /**
+   * Number of minutes before current time
+   */
+  since_minutes: Schemas.DigitalExperienceMonitoringSinceMinutes;
+  /**
+   * Number of minutes before current time
+   */
+  time_now?: Schemas.DigitalExperienceMonitoringTimeNow;
+  /**
+   * List of data centers to filter results
+   */
+  colo?: Schemas.DigitalExperienceMonitoringColo;
+};
+
+export type DevicesLiveStatusError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DigitalExperienceMonitoringApiResponseSingle &
+    Schemas.DigitalExperienceMonitoringApiResponseCommonFailure;
+}>;
+
+export type DevicesLiveStatusVariables = {
+  pathParams: DevicesLiveStatusPathParams;
+  queryParams: DevicesLiveStatusQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the live status of a latest device given device_id from the device_state table
+ */
+export const devicesLiveStatus = (variables: DevicesLiveStatusVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.DigitalExperienceMonitoringDevice,
+    DevicesLiveStatusError,
+    undefined,
+    {},
+    DevicesLiveStatusQueryParams,
+    DevicesLiveStatusPathParams
+  >({ url: '/accounts/{accountId}/dex/devices/{deviceId}/fleet-status/live', method: 'get', ...variables, signal });
+
+export type DexFleetStatusDevicesPathParams = {
+  /**
+   * Unique identifier for account
+   */
+  accountId: Schemas.DigitalExperienceMonitoringAccountIdentifier;
+};
+
+export type DexFleetStatusDevicesQueryParams = {
+  /**
+   * Time range end in ISO format
+   */
+  to: Schemas.DigitalExperienceMonitoringTimestamp;
+  /**
+   * Time range beginning in ISO format
+   */
+  from: Schemas.DigitalExperienceMonitoringTimestamp;
+  /**
+   * Page number
+   */
+  page: Schemas.DigitalExperienceMonitoringPage;
+  /**
+   * Number of results per page
+   */
+  per_page: Schemas.DigitalExperienceMonitoringPerPage;
+  /**
+   * Dimension to sort results by
+   */
+  sort_by?: Schemas.DigitalExperienceMonitoringSortBy;
+  /**
+   * Cloudflare colo
+   */
+  colo?: Schemas.DigitalExperienceMonitoringColo;
+  /**
+   * Device-specific ID, given as UUID v4
+   */
+  device_id?: Schemas.DigitalExperienceMonitoringDeviceId;
+  /**
+   * The mode under which the WARP client is run
+   */
+  mode?: Schemas.DigitalExperienceMonitoringMode;
+  /**
+   * Network status
+   */
+  status?: Schemas.DigitalExperienceMonitoringStatus;
+  /**
+   * Operating system
+   */
+  platform?: Schemas.DigitalExperienceMonitoringPlatform;
+  /**
+   * WARP client version
+   */
+  version?: Schemas.DigitalExperienceMonitoringVersion;
+  /**
+   * Source:
+   *   * `hourly` - device details aggregated hourly, up to 7 days prior
+   *   * `last_seen` - device details, up to 24 hours prior
+   *   * `raw` - device details, up to 7 days prior
+   */
+  source?: Schemas.DigitalExperienceMonitoringSource;
+};
+
+export type DexFleetStatusDevicesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DigitalExperienceMonitoringApiResponseSingle &
+    Schemas.DigitalExperienceMonitoringApiResponseCommonFailure;
+}>;
+
+export type DexFleetStatusDevicesVariables = {
+  pathParams: DexFleetStatusDevicesPathParams;
+  queryParams: DexFleetStatusDevicesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * List details for devices using WARP
+ */
+export const dexFleetStatusDevices = (variables: DexFleetStatusDevicesVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.DigitalExperienceMonitoringFleetStatusDevicesResponse,
+    DexFleetStatusDevicesError,
+    undefined,
+    {},
+    DexFleetStatusDevicesQueryParams,
+    DexFleetStatusDevicesPathParams
+  >({ url: '/accounts/{accountId}/dex/fleet-status/devices', method: 'get', ...variables, signal });
+
+export type DexFleetStatusLivePathParams = {
+  /**
+   * Unique identifier for account
+   */
+  accountId: Schemas.DigitalExperienceMonitoringAccountIdentifier;
+};
+
+export type DexFleetStatusLiveQueryParams = {
+  /**
+   * Number of minutes before current time
+   */
+  since_minutes: Schemas.DigitalExperienceMonitoringSinceMinutes;
+};
+
+export type DexFleetStatusLiveError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DigitalExperienceMonitoringApiResponseSingle &
+    Schemas.DigitalExperienceMonitoringApiResponseCommonFailure;
+}>;
+
+export type DexFleetStatusLiveVariables = {
+  pathParams: DexFleetStatusLivePathParams;
+  queryParams: DexFleetStatusLiveQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * List details for live (up to 60 minutes) devices using WARP
+ */
+export const dexFleetStatusLive = (variables: DexFleetStatusLiveVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.DigitalExperienceMonitoringFleetStatusLiveResponse,
+    DexFleetStatusLiveError,
+    undefined,
+    {},
+    DexFleetStatusLiveQueryParams,
+    DexFleetStatusLivePathParams
+  >({ url: '/accounts/{accountId}/dex/fleet-status/live', method: 'get', ...variables, signal });
+
+export type DexFleetStatusOverTimePathParams = {
+  /**
+   * Unique identifier for account
+   */
+  accountId: Schemas.DigitalExperienceMonitoringAccountIdentifier;
+};
+
+export type DexFleetStatusOverTimeQueryParams = {
+  /**
+   * Time range end in ISO format
+   */
+  to: Schemas.DigitalExperienceMonitoringTimestamp;
+  /**
+   * Time range beginning in ISO format
+   */
+  from: Schemas.DigitalExperienceMonitoringTimestamp;
+  /**
+   * Cloudflare colo
+   */
+  colo?: Schemas.DigitalExperienceMonitoringColo;
+  /**
+   * Device-specific ID, given as UUID v4
+   */
+  device_id?: Schemas.DigitalExperienceMonitoringDeviceId;
+};
+
+export type DexFleetStatusOverTimeError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DigitalExperienceMonitoringApiResponseSingle &
+    Schemas.DigitalExperienceMonitoringApiResponseCommonFailure;
+}>;
+
+export type DexFleetStatusOverTimeVariables = {
+  pathParams: DexFleetStatusOverTimePathParams;
+  queryParams: DexFleetStatusOverTimeQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * List details for devices using WARP, up to 7 days
+ */
+export const dexFleetStatusOverTime = (variables: DexFleetStatusOverTimeVariables, signal?: AbortSignal) =>
+  fetch<
+    undefined,
+    DexFleetStatusOverTimeError,
+    undefined,
+    {},
+    DexFleetStatusOverTimeQueryParams,
+    DexFleetStatusOverTimePathParams
+  >({ url: '/accounts/{accountId}/dex/fleet-status/over-time', method: 'get', ...variables, signal });
+
+export type DexEndpointsHttpTestDetailsPathParams = {
+  /**
+   * unique identifier linked to an account in the API request path.
+   */
+  accountId: Schemas.DigitalExperienceMonitoringAccountIdentifier;
+  /**
+   * unique identifier for a specific test
+   */
+  testId: Schemas.DigitalExperienceMonitoringUuid;
+};
+
+export type DexEndpointsHttpTestDetailsQueryParams = {
+  /**
+   * Optionally filter result stats to a specific device(s). Cannot be used in combination with colo param.
+   */
+  deviceId?: string[];
+  /**
+   * Start time for aggregate metrics in ISO ms
+   *
+   * @example 1689520412000
+   */
+  from: string;
+  /**
+   * End time for aggregate metrics in ISO ms
+   *
+   * @example 1689606812000
+   */
+  to: string;
+  /**
+   * Time interval for aggregate time slots.
+   */
+  interval: 'minute' | 'hour';
+  /**
+   * Optionally filter result stats to a Cloudflare colo. Cannot be used in combination with deviceId param.
+   */
+  colo?: string;
+};
+
+export type DexEndpointsHttpTestDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DigitalExperienceMonitoringApiResponseCommonFailure;
+}>;
+
+export type DexEndpointsHttpTestDetailsResponse = Schemas.DigitalExperienceMonitoringApiResponseSingle & {
+  result?: Schemas.DigitalExperienceMonitoringHttpDetailsResponse;
+};
+
+export type DexEndpointsHttpTestDetailsVariables = {
+  pathParams: DexEndpointsHttpTestDetailsPathParams;
+  queryParams: DexEndpointsHttpTestDetailsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get test details and aggregate performance metrics for an http test for a given time period between 1 hour and 7 days.
+ */
+export const dexEndpointsHttpTestDetails = (variables: DexEndpointsHttpTestDetailsVariables, signal?: AbortSignal) =>
+  fetch<
+    DexEndpointsHttpTestDetailsResponse,
+    DexEndpointsHttpTestDetailsError,
+    undefined,
+    {},
+    DexEndpointsHttpTestDetailsQueryParams,
+    DexEndpointsHttpTestDetailsPathParams
+  >({ url: '/accounts/{accountId}/dex/http-tests/{testId}', method: 'get', ...variables, signal });
+
+export type DexEndpointsHttpTestPercentilesPathParams = {
+  /**
+   * unique identifier linked to an account in the API request path.
+   */
+  accountId: Schemas.DigitalExperienceMonitoringAccountIdentifier;
+  /**
+   * unique identifier for a specific test
+   */
+  testId: Schemas.DigitalExperienceMonitoringUuid;
+};
+
+export type DexEndpointsHttpTestPercentilesQueryParams = {
+  /**
+   * Optionally filter result stats to a specific device(s). Cannot be used in combination with colo param.
+   */
+  deviceId?: string[];
+  /**
+   * Start time for the query in ISO (RFC3339 - ISO 8601) format
+   *
+   * @example 2023-09-20T17:00:00Z
+   */
+  from: string;
+  /**
+   * End time for the query in ISO (RFC3339 - ISO 8601) format
+   *
+   * @example 2023-09-20T17:00:00Z
+   */
+  to: string;
+  /**
+   * Optionally filter result stats to a Cloudflare colo. Cannot be used in combination with deviceId param.
+   */
+  colo?: string;
+};
+
+export type DexEndpointsHttpTestPercentilesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DigitalExperienceMonitoringApiResponseCommonFailure;
+}>;
+
+export type DexEndpointsHttpTestPercentilesResponse = Schemas.DigitalExperienceMonitoringApiResponseSingle & {
+  result?: Schemas.DigitalExperienceMonitoringHttpDetailsPercentilesResponse;
+};
+
+export type DexEndpointsHttpTestPercentilesVariables = {
+  pathParams: DexEndpointsHttpTestPercentilesPathParams;
+  queryParams: DexEndpointsHttpTestPercentilesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get percentiles for an http test for a given time period between 1 hour and 7 days.
+ */
+export const dexEndpointsHttpTestPercentiles = (
+  variables: DexEndpointsHttpTestPercentilesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    DexEndpointsHttpTestPercentilesResponse,
+    DexEndpointsHttpTestPercentilesError,
+    undefined,
+    {},
+    DexEndpointsHttpTestPercentilesQueryParams,
+    DexEndpointsHttpTestPercentilesPathParams
+  >({ url: '/accounts/{accountId}/dex/http-tests/{testId}/percentiles', method: 'get', ...variables, signal });
+
+export type DexEndpointsListTestsOverviewPathParams = {
+  /**
+   * unique identifier linked to an account in the API request path.
+   */
+  accountId: Schemas.DigitalExperienceMonitoringAccountIdentifier;
+};
+
+export type DexEndpointsListTestsOverviewQueryParams = {
+  /**
+   * Optionally filter result stats to a Cloudflare colo. Cannot be used in combination with deviceId param.
+   */
+  colo?: string;
+  /**
+   * Optionally filter results by test name
+   */
+  testName?: string;
+  /**
+   * Optionally filter result stats to a specific device(s). Cannot be used in combination with colo param.
+   */
+  deviceId?: string[];
+  /**
+   * Page number of paginated results
+   *
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * Number of items per page
+   *
+   * @default 10
+   * @maximum 50
+   * @minimum 1
+   */
+  per_page?: number;
+};
+
+export type DexEndpointsListTestsOverviewError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DigitalExperienceMonitoringApiResponseCommonFailure;
+}>;
+
+export type DexEndpointsListTestsOverviewResponse = Schemas.DigitalExperienceMonitoringApiResponseSingle & {
+  result?: Schemas.DigitalExperienceMonitoringTestsResponse;
+  result_info?: Schemas.DigitalExperienceMonitoringResultInfo;
+};
+
+export type DexEndpointsListTestsOverviewVariables = {
+  pathParams: DexEndpointsListTestsOverviewPathParams;
+  queryParams?: DexEndpointsListTestsOverviewQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * List DEX tests with overview metrics
+ */
+export const dexEndpointsListTestsOverview = (
+  variables: DexEndpointsListTestsOverviewVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    DexEndpointsListTestsOverviewResponse,
+    DexEndpointsListTestsOverviewError,
+    undefined,
+    {},
+    DexEndpointsListTestsOverviewQueryParams,
+    DexEndpointsListTestsOverviewPathParams
+  >({ url: '/accounts/{accountId}/dex/tests/overview', method: 'get', ...variables, signal });
+
+export type DexEndpointsTestsUniqueDevicesPathParams = {
+  /**
+   * unique identifier linked to an account in the API request path.
+   */
+  accountId: Schemas.DigitalExperienceMonitoringAccountIdentifier;
+};
+
+export type DexEndpointsTestsUniqueDevicesQueryParams = {
+  /**
+   * Optionally filter results by test name
+   */
+  testName?: string;
+  /**
+   * Optionally filter result stats to a specific device(s). Cannot be used in combination with colo param.
+   */
+  deviceId?: string[];
+};
+
+export type DexEndpointsTestsUniqueDevicesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DigitalExperienceMonitoringApiResponseCommonFailure;
+}>;
+
+export type DexEndpointsTestsUniqueDevicesResponse = Schemas.DigitalExperienceMonitoringApiResponseSingle & {
+  result?: Schemas.DigitalExperienceMonitoringUniqueDevicesResponse;
+};
+
+export type DexEndpointsTestsUniqueDevicesVariables = {
+  pathParams: DexEndpointsTestsUniqueDevicesPathParams;
+  queryParams?: DexEndpointsTestsUniqueDevicesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Returns unique count of devices that have run synthetic application monitoring tests in the past 7 days.
+ */
+export const dexEndpointsTestsUniqueDevices = (
+  variables: DexEndpointsTestsUniqueDevicesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    DexEndpointsTestsUniqueDevicesResponse,
+    DexEndpointsTestsUniqueDevicesError,
+    undefined,
+    {},
+    DexEndpointsTestsUniqueDevicesQueryParams,
+    DexEndpointsTestsUniqueDevicesPathParams
+  >({ url: '/accounts/{accountId}/dex/tests/unique-devices', method: 'get', ...variables, signal });
+
+export type DexEndpointsTracerouteTestResultNetworkPathPathParams = {
+  /**
+   * unique identifier linked to an account
+   */
+  accountId: Schemas.DigitalExperienceMonitoringAccountIdentifier;
+  /**
+   * unique identifier for a specific traceroute test
+   */
+  testResultId: Schemas.DigitalExperienceMonitoringUuid;
+};
+
+export type DexEndpointsTracerouteTestResultNetworkPathError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DigitalExperienceMonitoringApiResponseCommonFailure;
+}>;
+
+export type DexEndpointsTracerouteTestResultNetworkPathResponse =
+  Schemas.DigitalExperienceMonitoringApiResponseSingle & {
+    result?: Schemas.DigitalExperienceMonitoringTracerouteTestResultNetworkPathResponse;
+  };
+
+export type DexEndpointsTracerouteTestResultNetworkPathVariables = {
+  pathParams: DexEndpointsTracerouteTestResultNetworkPathPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a breakdown of hops and performance metrics for a specific traceroute test run
+ */
+export const dexEndpointsTracerouteTestResultNetworkPath = (
+  variables: DexEndpointsTracerouteTestResultNetworkPathVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    DexEndpointsTracerouteTestResultNetworkPathResponse,
+    DexEndpointsTracerouteTestResultNetworkPathError,
+    undefined,
+    {},
+    {},
+    DexEndpointsTracerouteTestResultNetworkPathPathParams
+  >({
+    url: '/accounts/{accountId}/dex/traceroute-test-results/{testResultId}/network-path',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type DexEndpointsTracerouteTestDetailsPathParams = {
+  /**
+   * Unique identifier linked to an account
+   */
+  accountId: Schemas.DigitalExperienceMonitoringAccountIdentifier;
+  /**
+   * Unique identifier for a specific test
+   */
+  testId: Schemas.DigitalExperienceMonitoringUuid;
+};
+
+export type DexEndpointsTracerouteTestDetailsQueryParams = {
+  /**
+   * Optionally filter result stats to a specific device(s). Cannot be used in combination with colo param.
+   */
+  deviceId?: string[];
+  /**
+   * Start time for aggregate metrics in ISO ms
+   *
+   * @example 1689520412000
+   */
+  from: string;
+  /**
+   * End time for aggregate metrics in ISO ms
+   *
+   * @example 1689606812000
+   */
+  to: string;
+  /**
+   * Time interval for aggregate time slots.
+   */
+  interval: 'minute' | 'hour';
+  /**
+   * Optionally filter result stats to a Cloudflare colo. Cannot be used in combination with deviceId param.
+   */
+  colo?: string;
+};
+
+export type DexEndpointsTracerouteTestDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DigitalExperienceMonitoringApiResponseCommonFailure;
+}>;
+
+export type DexEndpointsTracerouteTestDetailsResponse = Schemas.DigitalExperienceMonitoringApiResponseSingle & {
+  result?: Schemas.DigitalExperienceMonitoringTracerouteDetailsResponse;
+};
+
+export type DexEndpointsTracerouteTestDetailsVariables = {
+  pathParams: DexEndpointsTracerouteTestDetailsPathParams;
+  queryParams: DexEndpointsTracerouteTestDetailsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get test details and aggregate performance metrics for an traceroute test for a given time period between 1 hour and 7 days.
+ */
+export const dexEndpointsTracerouteTestDetails = (
+  variables: DexEndpointsTracerouteTestDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    DexEndpointsTracerouteTestDetailsResponse,
+    DexEndpointsTracerouteTestDetailsError,
+    undefined,
+    {},
+    DexEndpointsTracerouteTestDetailsQueryParams,
+    DexEndpointsTracerouteTestDetailsPathParams
+  >({ url: '/accounts/{accountId}/dex/traceroute-tests/{testId}', method: 'get', ...variables, signal });
+
+export type DexEndpointsTracerouteTestNetworkPathPathParams = {
+  /**
+   * unique identifier linked to an account
+   */
+  accountId: Schemas.DigitalExperienceMonitoringAccountIdentifier;
+  /**
+   * unique identifier for a specific test
+   */
+  testId: Schemas.DigitalExperienceMonitoringUuid;
+};
+
+export type DexEndpointsTracerouteTestNetworkPathQueryParams = {
+  /**
+   * Device to filter tracroute result runs to
+   */
+  deviceId: string;
+  /**
+   * Start time for aggregate metrics in ISO ms
+   *
+   * @example 1689520412000
+   */
+  from: string;
+  /**
+   * End time for aggregate metrics in ISO ms
+   *
+   * @example 1689606812000
+   */
+  to: string;
+  /**
+   * Time interval for aggregate time slots.
+   */
+  interval: 'minute' | 'hour';
+};
+
+export type DexEndpointsTracerouteTestNetworkPathError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DigitalExperienceMonitoringApiResponseCommonFailure;
+}>;
+
+export type DexEndpointsTracerouteTestNetworkPathResponse = Schemas.DigitalExperienceMonitoringApiResponseSingle & {
+  result?: Schemas.DigitalExperienceMonitoringTracerouteTestNetworkPathResponse;
+};
+
+export type DexEndpointsTracerouteTestNetworkPathVariables = {
+  pathParams: DexEndpointsTracerouteTestNetworkPathPathParams;
+  queryParams: DexEndpointsTracerouteTestNetworkPathQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a breakdown of metrics by hop for individual traceroute test runs
+ */
+export const dexEndpointsTracerouteTestNetworkPath = (
+  variables: DexEndpointsTracerouteTestNetworkPathVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    DexEndpointsTracerouteTestNetworkPathResponse,
+    DexEndpointsTracerouteTestNetworkPathError,
+    undefined,
+    {},
+    DexEndpointsTracerouteTestNetworkPathQueryParams,
+    DexEndpointsTracerouteTestNetworkPathPathParams
+  >({ url: '/accounts/{accountId}/dex/traceroute-tests/{testId}/network-path', method: 'get', ...variables, signal });
+
+export type DexEndpointsTracerouteTestPercentilesPathParams = {
+  /**
+   * unique identifier linked to an account in the API request path.
+   */
+  accountId: Schemas.DigitalExperienceMonitoringAccountIdentifier;
+  /**
+   * unique identifier for a specific test
+   */
+  testId: Schemas.DigitalExperienceMonitoringUuid;
+};
+
+export type DexEndpointsTracerouteTestPercentilesQueryParams = {
+  /**
+   * Optionally filter result stats to a specific device(s). Cannot be used in combination with colo param.
+   */
+  deviceId?: string[];
+  /**
+   * Start time for the query in ISO (RFC3339 - ISO 8601) format
+   *
+   * @example 2023-09-20T17:00:00Z
+   */
+  from: string;
+  /**
+   * End time for the query in ISO (RFC3339 - ISO 8601) format
+   *
+   * @example 2023-09-20T17:00:00Z
+   */
+  to: string;
+  /**
+   * Optionally filter result stats to a Cloudflare colo. Cannot be used in combination with deviceId param.
+   */
+  colo?: string;
+};
+
+export type DexEndpointsTracerouteTestPercentilesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DigitalExperienceMonitoringApiResponseCommonFailure;
+}>;
+
+export type DexEndpointsTracerouteTestPercentilesResponse = Schemas.DigitalExperienceMonitoringApiResponseSingle & {
+  result?: Schemas.DigitalExperienceMonitoringTracerouteDetailsPercentilesResponse;
+};
+
+export type DexEndpointsTracerouteTestPercentilesVariables = {
+  pathParams: DexEndpointsTracerouteTestPercentilesPathParams;
+  queryParams: DexEndpointsTracerouteTestPercentilesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get percentiles for a traceroute test for a given time period between 1 hour and 7 days.
+ */
+export const dexEndpointsTracerouteTestPercentiles = (
+  variables: DexEndpointsTracerouteTestPercentilesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    DexEndpointsTracerouteTestPercentilesResponse,
+    DexEndpointsTracerouteTestPercentilesError,
+    undefined,
+    {},
+    DexEndpointsTracerouteTestPercentilesQueryParams,
+    DexEndpointsTracerouteTestPercentilesPathParams
+  >({ url: '/accounts/{accountId}/dex/traceroute-tests/{testId}/percentiles', method: 'get', ...variables, signal });
+
+export type DiagnosticsTraceroutePathParams = {
+  accountId: Schemas.MagicTransitIdentifier;
+};
+
+export type DiagnosticsTracerouteError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicTransitTracerouteResponseCollection & Schemas.MagicTransitApiResponseCommonFailure;
+}>;
+
+export type DiagnosticsTracerouteRequestBody = {
+  colos?: Schemas.MagicTransitColos;
+  options?: Schemas.MagicTransitOptions;
+  targets: Schemas.MagicTransitTargets;
+};
+
+export type DiagnosticsTracerouteVariables = {
+  body: DiagnosticsTracerouteRequestBody;
+  pathParams: DiagnosticsTraceroutePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Run traceroutes from Cloudflare colos.
+ */
+export const diagnosticsTraceroute = (variables: DiagnosticsTracerouteVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.MagicTransitTracerouteResponseCollection,
+    DiagnosticsTracerouteError,
+    DiagnosticsTracerouteRequestBody,
+    {},
+    {},
+    DiagnosticsTraceroutePathParams
+  >({ url: '/accounts/{accountId}/diagnostics/traceroute', method: 'post', ...variables, signal });
+
+export type DlpDatasetsReadAllPathParams = {
+  accountId: string;
+};
+
+export type DlpDatasetsReadAllError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpDatasetsReadAllResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpDatasetArray;
+};
+
+export type DlpDatasetsReadAllVariables = {
+  pathParams: DlpDatasetsReadAllPathParams;
+} & FetcherExtraProps;
+
+export const dlpDatasetsReadAll = (variables: DlpDatasetsReadAllVariables, signal?: AbortSignal) =>
+  fetch<DlpDatasetsReadAllResponse, DlpDatasetsReadAllError, undefined, {}, {}, DlpDatasetsReadAllPathParams>({
+    url: '/accounts/{accountId}/dlp/datasets',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type DlpDatasetsCreatePathParams = {
+  accountId: string;
+};
+
+export type DlpDatasetsCreateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpDatasetsCreateResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpDatasetCreation;
+};
+
+export type DlpDatasetsCreateVariables = {
+  body: Schemas.DlpNewDataset;
+  pathParams: DlpDatasetsCreatePathParams;
+} & FetcherExtraProps;
+
+export const dlpDatasetsCreate = (variables: DlpDatasetsCreateVariables, signal?: AbortSignal) =>
+  fetch<DlpDatasetsCreateResponse, DlpDatasetsCreateError, Schemas.DlpNewDataset, {}, {}, DlpDatasetsCreatePathParams>({
+    url: '/accounts/{accountId}/dlp/datasets',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type DlpDatasetsDeletePathParams = {
+  accountId: string;
+  /**
+   * @format uuid
+   */
+  datasetId: string;
+};
+
+export type DlpDatasetsDeleteError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpDatasetsDeleteVariables = {
+  pathParams: DlpDatasetsDeletePathParams;
+} & FetcherExtraProps;
+
+/**
+ * This deletes all versions of the dataset.
+ */
+export const dlpDatasetsDelete = (variables: DlpDatasetsDeleteVariables, signal?: AbortSignal) =>
+  fetch<undefined, DlpDatasetsDeleteError, undefined, {}, {}, DlpDatasetsDeletePathParams>({
+    url: '/accounts/{accountId}/dlp/datasets/{datasetId}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type DlpDatasetsReadPathParams = {
+  accountId: string;
+  /**
+   * @format uuid
+   */
+  datasetId: string;
+};
+
+export type DlpDatasetsReadError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpDatasetsReadResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpDataset;
+};
+
+export type DlpDatasetsReadVariables = {
+  pathParams: DlpDatasetsReadPathParams;
+} & FetcherExtraProps;
+
+export const dlpDatasetsRead = (variables: DlpDatasetsReadVariables, signal?: AbortSignal) =>
+  fetch<DlpDatasetsReadResponse, DlpDatasetsReadError, undefined, {}, {}, DlpDatasetsReadPathParams>({
+    url: '/accounts/{accountId}/dlp/datasets/{datasetId}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type DlpDatasetsUpdatePathParams = {
+  accountId: string;
+  /**
+   * @format uuid
+   */
+  datasetId: string;
+};
+
+export type DlpDatasetsUpdateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpDatasetsUpdateResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpDataset;
+};
+
+export type DlpDatasetsUpdateVariables = {
+  body?: Schemas.DlpDatasetUpdate;
+  pathParams: DlpDatasetsUpdatePathParams;
+} & FetcherExtraProps;
+
+export const dlpDatasetsUpdate = (variables: DlpDatasetsUpdateVariables, signal?: AbortSignal) =>
+  fetch<
+    DlpDatasetsUpdateResponse,
+    DlpDatasetsUpdateError,
+    Schemas.DlpDatasetUpdate,
+    {},
+    {},
+    DlpDatasetsUpdatePathParams
+  >({ url: '/accounts/{accountId}/dlp/datasets/{datasetId}', method: 'put', ...variables, signal });
+
+export type DlpDatasetsCreateVersionPathParams = {
+  accountId: string;
+  /**
+   * @format uuid
+   */
+  datasetId: string;
+};
+
+export type DlpDatasetsCreateVersionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpDatasetsCreateVersionResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpDatasetNewVersion;
+};
+
+export type DlpDatasetsCreateVersionVariables = {
+  pathParams: DlpDatasetsCreateVersionPathParams;
+} & FetcherExtraProps;
+
+export const dlpDatasetsCreateVersion = (variables: DlpDatasetsCreateVersionVariables, signal?: AbortSignal) =>
+  fetch<
+    DlpDatasetsCreateVersionResponse,
+    DlpDatasetsCreateVersionError,
+    undefined,
+    {},
+    {},
+    DlpDatasetsCreateVersionPathParams
+  >({ url: '/accounts/{accountId}/dlp/datasets/{datasetId}/upload', method: 'post', ...variables, signal });
+
+export type DlpDatasetsUploadVersionPathParams = {
+  accountId: string;
+  /**
+   * @format uuid
+   */
+  datasetId: string;
+  /**
+   * @format int64
+   */
+  version: number;
+};
+
+export type DlpDatasetsUploadVersionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpDatasetsUploadVersionResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpDataset;
+};
+
+export type DlpDatasetsUploadVersionVariables = {
+  body?: string;
+  pathParams: DlpDatasetsUploadVersionPathParams;
+} & FetcherExtraProps;
+
+/**
+ * This is used for single-column EDMv1 and Custom Word Lists. The EDM format
+ * can only be created in the Cloudflare dashboard. For other clients, this
+ * operation can only be used for non-secret Custom Word Lists. The body must
+ * be a UTF-8 encoded, newline (NL or CRNL) separated list of words to be matched.
+ */
+export const dlpDatasetsUploadVersion = (variables: DlpDatasetsUploadVersionVariables, signal?: AbortSignal) =>
+  fetch<
+    DlpDatasetsUploadVersionResponse,
+    DlpDatasetsUploadVersionError,
+    string,
+    {},
+    {},
+    DlpDatasetsUploadVersionPathParams
+  >({ url: '/accounts/{accountId}/dlp/datasets/{datasetId}/upload/{version}', method: 'post', ...variables, signal });
+
+export type DlpDatasetsDefineColumnsPathParams = {
+  accountId: string;
+  /**
+   * @format uuid
+   */
+  datasetId: string;
+  /**
+   * @format int64
+   */
+  version: number;
+};
+
+export type DlpDatasetsDefineColumnsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpDatasetsDefineColumnsResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpDatasetColumnArray;
+};
+
+export type DlpDatasetsDefineColumnsRequestBody = Schemas.DlpNewDatasetColumn[];
+
+export type DlpDatasetsDefineColumnsVariables = {
+  body?: DlpDatasetsDefineColumnsRequestBody;
+  pathParams: DlpDatasetsDefineColumnsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * This is used for multi-column EDMv2 datasets. The EDMv2 format can only be
+ * created in the Cloudflare dashboard. The columns in the response appear in
+ * the same order as in the request.
+ */
+export const dlpDatasetsDefineColumns = (variables: DlpDatasetsDefineColumnsVariables, signal?: AbortSignal) =>
+  fetch<
+    DlpDatasetsDefineColumnsResponse,
+    DlpDatasetsDefineColumnsError,
+    DlpDatasetsDefineColumnsRequestBody,
+    {},
+    {},
+    DlpDatasetsDefineColumnsPathParams
+  >({ url: '/accounts/{accountId}/dlp/datasets/{datasetId}/versions/{version}', method: 'post', ...variables, signal });
+
+export type DlpDatasetsUploadDatasetColumnPathParams = {
+  accountId: string;
+  /**
+   * @format uuid
+   */
+  datasetId: string;
+  /**
+   * @format int64
+   */
+  version: number;
+  /**
+   * @format uuid
+   */
+  entryId: string;
+};
+
+export type DlpDatasetsUploadDatasetColumnError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpDatasetsUploadDatasetColumnResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpDatasetColumn;
+};
+
+export type DlpDatasetsUploadDatasetColumnVariables = {
+  body?: string;
+  pathParams: DlpDatasetsUploadDatasetColumnPathParams;
+} & FetcherExtraProps;
+
+/**
+ * This is used for multi-column EDMv2 datasets. The EDMv2 format can only be
+ * created in the Cloudflare dashboard.
+ */
+export const dlpDatasetsUploadDatasetColumn = (
+  variables: DlpDatasetsUploadDatasetColumnVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    DlpDatasetsUploadDatasetColumnResponse,
+    DlpDatasetsUploadDatasetColumnError,
+    string,
+    {},
+    {},
+    DlpDatasetsUploadDatasetColumnPathParams
+  >({
+    url: '/accounts/{accountId}/dlp/datasets/{datasetId}/versions/{version}/entries/{entryId}',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type DlpEmailScannerGetAccountMappingPathParams = {
+  accountId: string;
+};
+
+export type DlpEmailScannerGetAccountMappingError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpEmailScannerGetAccountMappingResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpAddinAccountMapping;
+};
+
+export type DlpEmailScannerGetAccountMappingVariables = {
+  pathParams: DlpEmailScannerGetAccountMappingPathParams;
+} & FetcherExtraProps;
+
+export const dlpEmailScannerGetAccountMapping = (
+  variables: DlpEmailScannerGetAccountMappingVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    DlpEmailScannerGetAccountMappingResponse,
+    DlpEmailScannerGetAccountMappingError,
+    undefined,
+    {},
+    {},
+    DlpEmailScannerGetAccountMappingPathParams
+  >({ url: '/accounts/{accountId}/dlp/email/account_mapping', method: 'get', ...variables, signal });
+
+export type DlpEmailScannerCreateAccountMappingPathParams = {
+  accountId: string;
+};
+
+export type DlpEmailScannerCreateAccountMappingError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpEmailScannerCreateAccountMappingResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpAddinAccountMapping;
+};
+
+export type DlpEmailScannerCreateAccountMappingVariables = {
+  body: Schemas.DlpUpdateAddinAccountMapping;
+  pathParams: DlpEmailScannerCreateAccountMappingPathParams;
+} & FetcherExtraProps;
+
+export const dlpEmailScannerCreateAccountMapping = (
+  variables: DlpEmailScannerCreateAccountMappingVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    DlpEmailScannerCreateAccountMappingResponse,
+    DlpEmailScannerCreateAccountMappingError,
+    Schemas.DlpUpdateAddinAccountMapping,
+    {},
+    {},
+    DlpEmailScannerCreateAccountMappingPathParams
+  >({ url: '/accounts/{accountId}/dlp/email/account_mapping', method: 'post', ...variables, signal });
+
+export type DlpEmailScannerListAllRulesPathParams = {
+  accountId: string;
+};
+
+export type DlpEmailScannerListAllRulesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpEmailScannerListAllRulesResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpEmailRuleArray;
+};
+
+export type DlpEmailScannerListAllRulesVariables = {
+  pathParams: DlpEmailScannerListAllRulesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists all email scanner rules for an account.
+ */
+export const dlpEmailScannerListAllRules = (variables: DlpEmailScannerListAllRulesVariables, signal?: AbortSignal) =>
+  fetch<
+    DlpEmailScannerListAllRulesResponse,
+    DlpEmailScannerListAllRulesError,
+    undefined,
+    {},
+    {},
+    DlpEmailScannerListAllRulesPathParams
+  >({ url: '/accounts/{accountId}/dlp/email/rules', method: 'get', ...variables, signal });
+
+export type DlpEmailScannerUpdateRulePrioritiesPathParams = {
+  accountId: string;
+};
+
+export type DlpEmailScannerUpdateRulePrioritiesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpEmailScannerUpdateRulePrioritiesResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpEmailRule;
+};
+
+export type DlpEmailScannerUpdateRulePrioritiesVariables = {
+  body: Schemas.DlpUpdateEmailRulePriorities;
+  pathParams: DlpEmailScannerUpdateRulePrioritiesPathParams;
+} & FetcherExtraProps;
+
+export const dlpEmailScannerUpdateRulePriorities = (
+  variables: DlpEmailScannerUpdateRulePrioritiesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    DlpEmailScannerUpdateRulePrioritiesResponse,
+    DlpEmailScannerUpdateRulePrioritiesError,
+    Schemas.DlpUpdateEmailRulePriorities,
+    {},
+    {},
+    DlpEmailScannerUpdateRulePrioritiesPathParams
+  >({ url: '/accounts/{accountId}/dlp/email/rules', method: 'patch', ...variables, signal });
+
+export type DlpEmailScannerCreateRulePathParams = {
+  accountId: string;
+};
+
+export type DlpEmailScannerCreateRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpEmailScannerCreateRuleResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpEmailRule;
+};
+
+export type DlpEmailScannerCreateRuleVariables = {
+  body: Schemas.DlpCreateEmailRule;
+  pathParams: DlpEmailScannerCreateRulePathParams;
+} & FetcherExtraProps;
+
+export const dlpEmailScannerCreateRule = (variables: DlpEmailScannerCreateRuleVariables, signal?: AbortSignal) =>
+  fetch<
+    DlpEmailScannerCreateRuleResponse,
+    DlpEmailScannerCreateRuleError,
+    Schemas.DlpCreateEmailRule,
+    {},
+    {},
+    DlpEmailScannerCreateRulePathParams
+  >({ url: '/accounts/{accountId}/dlp/email/rules', method: 'post', ...variables, signal });
+
+export type DlpEmailScannerDeleteRulePathParams = {
+  accountId: string;
+  /**
+   * @format uuid
+   */
+  ruleId: string;
+};
+
+export type DlpEmailScannerDeleteRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpEmailScannerDeleteRuleResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpEmailRule;
+};
+
+export type DlpEmailScannerDeleteRuleVariables = {
+  pathParams: DlpEmailScannerDeleteRulePathParams;
+} & FetcherExtraProps;
+
+export const dlpEmailScannerDeleteRule = (variables: DlpEmailScannerDeleteRuleVariables, signal?: AbortSignal) =>
+  fetch<
+    DlpEmailScannerDeleteRuleResponse,
+    DlpEmailScannerDeleteRuleError,
+    undefined,
+    {},
+    {},
+    DlpEmailScannerDeleteRulePathParams
+  >({ url: '/accounts/{accountId}/dlp/email/rules/{ruleId}', method: 'delete', ...variables, signal });
+
+export type DlpEmailScannerGetRulePathParams = {
+  accountId: string;
+  /**
+   * @format uuid
+   */
+  ruleId: string;
+};
+
+export type DlpEmailScannerGetRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpEmailScannerGetRuleResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpEmailRule;
+};
+
+export type DlpEmailScannerGetRuleVariables = {
+  pathParams: DlpEmailScannerGetRulePathParams;
+} & FetcherExtraProps;
+
+export const dlpEmailScannerGetRule = (variables: DlpEmailScannerGetRuleVariables, signal?: AbortSignal) =>
+  fetch<
+    DlpEmailScannerGetRuleResponse,
+    DlpEmailScannerGetRuleError,
+    undefined,
+    {},
+    {},
+    DlpEmailScannerGetRulePathParams
+  >({ url: '/accounts/{accountId}/dlp/email/rules/{ruleId}', method: 'get', ...variables, signal });
+
+export type DlpEmailScannerUpdateRulePathParams = {
+  accountId: string;
+  /**
+   * @format uuid
+   */
+  ruleId: string;
+};
+
+export type DlpEmailScannerUpdateRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpEmailScannerUpdateRuleResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpEmailRule;
+};
+
+export type DlpEmailScannerUpdateRuleVariables = {
+  body: Schemas.DlpCreateEmailRule;
+  pathParams: DlpEmailScannerUpdateRulePathParams;
+} & FetcherExtraProps;
+
+export const dlpEmailScannerUpdateRule = (variables: DlpEmailScannerUpdateRuleVariables, signal?: AbortSignal) =>
+  fetch<
+    DlpEmailScannerUpdateRuleResponse,
+    DlpEmailScannerUpdateRuleError,
+    Schemas.DlpCreateEmailRule,
+    {},
+    {},
+    DlpEmailScannerUpdateRulePathParams
+  >({ url: '/accounts/{accountId}/dlp/email/rules/{ruleId}', method: 'put', ...variables, signal });
+
+export type DlpEntriesListAllEntriesPathParams = {
+  accountId: string;
+};
+
+export type DlpEntriesListAllEntriesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpEntriesListAllEntriesResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpEntry[];
+};
+
+export type DlpEntriesListAllEntriesVariables = {
+  pathParams: DlpEntriesListAllEntriesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists all DLP entries in an account.
+ */
+export const dlpEntriesListAllEntries = (variables: DlpEntriesListAllEntriesVariables, signal?: AbortSignal) =>
+  fetch<
+    DlpEntriesListAllEntriesResponse,
+    DlpEntriesListAllEntriesError,
+    undefined,
+    {},
+    {},
+    DlpEntriesListAllEntriesPathParams
+  >({ url: '/accounts/{accountId}/dlp/entries', method: 'get', ...variables, signal });
+
+export type DlpEntriesCreateEntryPathParams = {
+  accountId: string;
+};
+
+export type DlpEntriesCreateEntryError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpEntriesCreateEntryResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpCustomEntry;
+};
+
+export type DlpEntriesCreateEntryVariables = {
+  body: Schemas.DlpNewEntry;
+  pathParams: DlpEntriesCreateEntryPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a DLP custom entry.
+ */
+export const dlpEntriesCreateEntry = (variables: DlpEntriesCreateEntryVariables, signal?: AbortSignal) =>
+  fetch<
+    DlpEntriesCreateEntryResponse,
+    DlpEntriesCreateEntryError,
+    Schemas.DlpNewEntry,
+    {},
+    {},
+    DlpEntriesCreateEntryPathParams
+  >({ url: '/accounts/{accountId}/dlp/entries', method: 'post', ...variables, signal });
+
+export type DlpEntriesDeleteEntryPathParams = {
+  accountId: string;
+  /**
+   * @format uuid
+   */
+  entryId: string;
+};
+
+export type DlpEntriesDeleteEntryError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpEntriesDeleteEntryResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpEmpty;
+};
+
+export type DlpEntriesDeleteEntryVariables = {
+  pathParams: DlpEntriesDeleteEntryPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes a DLP custom entry.
+ */
+export const dlpEntriesDeleteEntry = (variables: DlpEntriesDeleteEntryVariables, signal?: AbortSignal) =>
+  fetch<DlpEntriesDeleteEntryResponse, DlpEntriesDeleteEntryError, undefined, {}, {}, DlpEntriesDeleteEntryPathParams>({
+    url: '/accounts/{accountId}/dlp/entries/{entryId}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type DlpEntriesGetDlpEntryPathParams = {
+  accountId: string;
+  /**
+   * @format uuid
+   */
+  entryId: string;
+};
+
+export type DlpEntriesGetDlpEntryError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpEntriesGetDlpEntryResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpEntry;
+};
+
+export type DlpEntriesGetDlpEntryVariables = {
+  pathParams: DlpEntriesGetDlpEntryPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a DLP entry by ID
+ */
+export const dlpEntriesGetDlpEntry = (variables: DlpEntriesGetDlpEntryVariables, signal?: AbortSignal) =>
+  fetch<DlpEntriesGetDlpEntryResponse, DlpEntriesGetDlpEntryError, undefined, {}, {}, DlpEntriesGetDlpEntryPathParams>({
+    url: '/accounts/{accountId}/dlp/entries/{entryId}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type DlpEntriesUpdateEntryPathParams = {
+  accountId: string;
+  /**
+   * @format uuid
+   */
+  entryId: string;
+};
+
+export type DlpEntriesUpdateEntryError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpEntriesUpdateEntryResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpEntry;
+};
+
+export type DlpEntriesUpdateEntryVariables = {
+  body?: Schemas.DlpEntryUpdate;
+  pathParams: DlpEntriesUpdateEntryPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a DLP entry.
+ */
+export const dlpEntriesUpdateEntry = (variables: DlpEntriesUpdateEntryVariables, signal?: AbortSignal) =>
+  fetch<
+    DlpEntriesUpdateEntryResponse,
+    DlpEntriesUpdateEntryError,
+    Schemas.DlpEntryUpdate,
+    {},
+    {},
+    DlpEntriesUpdateEntryPathParams
+  >({ url: '/accounts/{accountId}/dlp/entries/{entryId}', method: 'put', ...variables, signal });
+
+export type DlpLimitsGetPathParams = {
+  accountId: string;
+};
+
+export type DlpLimitsGetError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpLimitsGetResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpLimits;
+};
+
+export type DlpLimitsGetVariables = {
+  pathParams: DlpLimitsGetPathParams;
+} & FetcherExtraProps;
+
+export const dlpLimitsGet = (variables: DlpLimitsGetVariables, signal?: AbortSignal) =>
+  fetch<DlpLimitsGetResponse, DlpLimitsGetError, undefined, {}, {}, DlpLimitsGetPathParams>({
+    url: '/accounts/{accountId}/dlp/limits',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type DlpPatternValidatePathParams = {
+  /**
+   * Account ID
+   */
+  accountId: string;
+};
+
+export type DlpPatternValidateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpPatternValidateResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpRegexValidationResult;
+};
+
+export type DlpPatternValidateVariables = {
+  body: Schemas.DlpRegexValidationQuery;
+  pathParams: DlpPatternValidatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Validates whether this pattern is a valid regular expression. Rejects it if
+ * the regular expression is too complex or can match an unbounded-length
+ * string. The regex will be rejected if it uses `*` or `+`. Bound the maximum
+ * number of characters that can be matched using a range, e.g. `{1,100}`.
+ */
+export const dlpPatternValidate = (variables: DlpPatternValidateVariables, signal?: AbortSignal) =>
+  fetch<
+    DlpPatternValidateResponse,
+    DlpPatternValidateError,
+    Schemas.DlpRegexValidationQuery,
+    {},
+    {},
+    DlpPatternValidatePathParams
+  >({ url: '/accounts/{accountId}/dlp/patterns/validate', method: 'post', ...variables, signal });
+
+export type DlpPayloadLogGetPathParams = {
+  accountId: string;
+};
+
+export type DlpPayloadLogGetError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpPayloadLogGetResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpPayloadLogSetting;
+};
+
+export type DlpPayloadLogGetVariables = {
+  pathParams: DlpPayloadLogGetPathParams;
+} & FetcherExtraProps;
+
+export const dlpPayloadLogGet = (variables: DlpPayloadLogGetVariables, signal?: AbortSignal) =>
+  fetch<DlpPayloadLogGetResponse, DlpPayloadLogGetError, undefined, {}, {}, DlpPayloadLogGetPathParams>({
+    url: '/accounts/{accountId}/dlp/payload_log',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type DlpPayloadLogPutPathParams = {
+  accountId: string;
+};
+
+export type DlpPayloadLogPutError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpPayloadLogPutResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpPayloadLogSetting;
+};
+
+export type DlpPayloadLogPutVariables = {
+  body?: Schemas.DlpPayloadLogSettingUpdate;
+  pathParams: DlpPayloadLogPutPathParams;
+} & FetcherExtraProps;
+
+export const dlpPayloadLogPut = (variables: DlpPayloadLogPutVariables, signal?: AbortSignal) =>
+  fetch<
+    DlpPayloadLogPutResponse,
+    DlpPayloadLogPutError,
+    Schemas.DlpPayloadLogSettingUpdate,
+    {},
+    {},
+    DlpPayloadLogPutPathParams
+  >({ url: '/accounts/{accountId}/dlp/payload_log', method: 'put', ...variables, signal });
+
+export type DlpProfilesListAllProfilesPathParams = {
+  accountId: string;
+};
+
+export type DlpProfilesListAllProfilesQueryParams = {
+  /**
+   * Return all profiles, including those that current account does not have access to.
+   */
+  all?: boolean;
+};
+
+export type DlpProfilesListAllProfilesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpProfilesListAllProfilesResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpProfileArray;
+};
+
+export type DlpProfilesListAllProfilesVariables = {
+  pathParams: DlpProfilesListAllProfilesPathParams;
+  queryParams?: DlpProfilesListAllProfilesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists all DLP profiles in an account.
+ */
+export const dlpProfilesListAllProfiles = (variables: DlpProfilesListAllProfilesVariables, signal?: AbortSignal) =>
+  fetch<
+    DlpProfilesListAllProfilesResponse,
+    DlpProfilesListAllProfilesError,
+    undefined,
+    {},
+    DlpProfilesListAllProfilesQueryParams,
+    DlpProfilesListAllProfilesPathParams
+  >({ url: '/accounts/{accountId}/dlp/profiles', method: 'get', ...variables, signal });
+
+export type DlpProfilesCreateCustomProfilesPathParams = {
+  accountId: string;
+};
+
+export type DlpProfilesCreateCustomProfilesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpProfilesCreateCustomProfilesResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpProfileOrProfileArray;
+};
+
+export type DlpProfilesCreateCustomProfilesVariables = {
+  body?: Schemas.DlpNewCustomProfiles;
+  pathParams: DlpProfilesCreateCustomProfilesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a DLP custom profile.
+ */
+export const dlpProfilesCreateCustomProfiles = (
+  variables: DlpProfilesCreateCustomProfilesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    DlpProfilesCreateCustomProfilesResponse,
+    DlpProfilesCreateCustomProfilesError,
+    Schemas.DlpNewCustomProfiles,
+    {},
+    {},
+    DlpProfilesCreateCustomProfilesPathParams
+  >({ url: '/accounts/{accountId}/dlp/profiles/custom', method: 'post', ...variables, signal });
+
+export type DlpProfilesDeleteCustomProfilePathParams = {
+  accountId: string;
+  /**
+   * @format uuid
+   */
+  profileId: string;
+};
+
+export type DlpProfilesDeleteCustomProfileError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpProfilesDeleteCustomProfileResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpEmpty;
+};
+
+export type DlpProfilesDeleteCustomProfileVariables = {
+  pathParams: DlpProfilesDeleteCustomProfilePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes a DLP custom profile.
+ */
+export const dlpProfilesDeleteCustomProfile = (
+  variables: DlpProfilesDeleteCustomProfileVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    DlpProfilesDeleteCustomProfileResponse,
+    DlpProfilesDeleteCustomProfileError,
+    undefined,
+    {},
+    {},
+    DlpProfilesDeleteCustomProfilePathParams
+  >({ url: '/accounts/{accountId}/dlp/profiles/custom/{profileId}', method: 'delete', ...variables, signal });
+
+export type DlpProfilesGetCustomProfilePathParams = {
+  accountId: string;
+  /**
+   * @format uuid
+   */
+  profileId: string;
+};
+
+export type DlpProfilesGetCustomProfileError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpProfilesGetCustomProfileResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpProfile;
+};
+
+export type DlpProfilesGetCustomProfileVariables = {
+  pathParams: DlpProfilesGetCustomProfilePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a custom DLP profile by id.
+ */
+export const dlpProfilesGetCustomProfile = (variables: DlpProfilesGetCustomProfileVariables, signal?: AbortSignal) =>
+  fetch<
+    DlpProfilesGetCustomProfileResponse,
+    DlpProfilesGetCustomProfileError,
+    undefined,
+    {},
+    {},
+    DlpProfilesGetCustomProfilePathParams
+  >({ url: '/accounts/{accountId}/dlp/profiles/custom/{profileId}', method: 'get', ...variables, signal });
+
+export type DlpProfilesUpdateCustomProfilePathParams = {
+  accountId: string;
+  /**
+   * @format uuid
+   */
+  profileId: string;
+};
+
+export type DlpProfilesUpdateCustomProfileError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpProfilesUpdateCustomProfileResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpProfile;
+};
+
+export type DlpProfilesUpdateCustomProfileVariables = {
+  body: Schemas.DlpCustomProfileUpdate;
+  pathParams: DlpProfilesUpdateCustomProfilePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a DLP custom profile.
+ */
+export const dlpProfilesUpdateCustomProfile = (
+  variables: DlpProfilesUpdateCustomProfileVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    DlpProfilesUpdateCustomProfileResponse,
+    DlpProfilesUpdateCustomProfileError,
+    Schemas.DlpCustomProfileUpdate,
+    {},
+    {},
+    DlpProfilesUpdateCustomProfilePathParams
+  >({ url: '/accounts/{accountId}/dlp/profiles/custom/{profileId}', method: 'put', ...variables, signal });
+
+export type DlpProfilesGetPredefinedProfilePathParams = {
+  accountId: string;
+  /**
+   * @format uuid
+   */
+  profileId: string;
+};
+
+export type DlpProfilesGetPredefinedProfileError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpProfilesGetPredefinedProfileResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpProfile;
+};
+
+export type DlpProfilesGetPredefinedProfileVariables = {
+  pathParams: DlpProfilesGetPredefinedProfilePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a predefined DLP profile by id.
+ */
+export const dlpProfilesGetPredefinedProfile = (
+  variables: DlpProfilesGetPredefinedProfileVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    DlpProfilesGetPredefinedProfileResponse,
+    DlpProfilesGetPredefinedProfileError,
+    undefined,
+    {},
+    {},
+    DlpProfilesGetPredefinedProfilePathParams
+  >({ url: '/accounts/{accountId}/dlp/profiles/predefined/{profileId}', method: 'get', ...variables, signal });
+
+export type DlpProfilesUpdatePredefinedProfilePathParams = {
+  accountId: string;
+  /**
+   * @format uuid
+   */
+  profileId: string;
+};
+
+export type DlpProfilesUpdatePredefinedProfileError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpProfilesUpdatePredefinedProfileResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpProfile;
+};
+
+export type DlpProfilesUpdatePredefinedProfileVariables = {
+  body: Schemas.DlpPredefinedProfileUpdate;
+  pathParams: DlpProfilesUpdatePredefinedProfilePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a DLP predefined profile. Only supports enabling/disabling entries.
+ */
+export const dlpProfilesUpdatePredefinedProfile = (
+  variables: DlpProfilesUpdatePredefinedProfileVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    DlpProfilesUpdatePredefinedProfileResponse,
+    DlpProfilesUpdatePredefinedProfileError,
+    Schemas.DlpPredefinedProfileUpdate,
+    {},
+    {},
+    DlpProfilesUpdatePredefinedProfilePathParams
+  >({ url: '/accounts/{accountId}/dlp/profiles/predefined/{profileId}', method: 'put', ...variables, signal });
+
+export type DlpProfilesGetDlpProfilePathParams = {
+  accountId: string;
+  /**
+   * @format uuid
+   */
+  profileId: string;
+};
+
+export type DlpProfilesGetDlpProfileError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpProfilesGetDlpProfileResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpProfile;
+};
+
+export type DlpProfilesGetDlpProfileVariables = {
+  pathParams: DlpProfilesGetDlpProfilePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a DLP profile by ID
+ */
+export const dlpProfilesGetDlpProfile = (variables: DlpProfilesGetDlpProfileVariables, signal?: AbortSignal) =>
+  fetch<
+    DlpProfilesGetDlpProfileResponse,
+    DlpProfilesGetDlpProfileError,
+    undefined,
+    {},
+    {},
+    DlpProfilesGetDlpProfilePathParams
+  >({ url: '/accounts/{accountId}/dlp/profiles/{profileId}', method: 'get', ...variables, signal });
+
+export type DnsFirewallListDnsFirewallClustersPathParams = {
+  accountId: Schemas.DnsFirewallIdentifier;
+};
+
+export type DnsFirewallListDnsFirewallClustersQueryParams = {
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default 20
+   * @maximum 100
+   * @minimum 1
+   */
+  per_page?: number;
+};
+
+export type DnsFirewallListDnsFirewallClustersError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DnsFirewallDnsFirewallResponseCollection & Schemas.DnsFirewallApiResponseCommonFailure;
+}>;
+
+export type DnsFirewallListDnsFirewallClustersVariables = {
+  pathParams: DnsFirewallListDnsFirewallClustersPathParams;
+  queryParams?: DnsFirewallListDnsFirewallClustersQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * List DNS Firewall clusters for an account
+ */
+export const dnsFirewallListDnsFirewallClusters = (
+  variables: DnsFirewallListDnsFirewallClustersVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.DnsFirewallDnsFirewallResponseCollection,
+    DnsFirewallListDnsFirewallClustersError,
+    undefined,
+    {},
+    DnsFirewallListDnsFirewallClustersQueryParams,
+    DnsFirewallListDnsFirewallClustersPathParams
+  >({ url: '/accounts/{accountId}/dns_firewall', method: 'get', ...variables, signal });
+
+export type DnsFirewallCreateDnsFirewallClusterPathParams = {
+  accountId: Schemas.DnsFirewallIdentifier;
+};
+
+export type DnsFirewallCreateDnsFirewallClusterError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DnsFirewallDnsFirewallSingleResponse & Schemas.DnsFirewallApiResponseCommonFailure;
+}>;
+
+export type DnsFirewallCreateDnsFirewallClusterVariables = {
+  body: Schemas.DnsFirewallDnsFirewallClusterPost;
+  pathParams: DnsFirewallCreateDnsFirewallClusterPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create a DNS Firewall cluster
+ */
+export const dnsFirewallCreateDnsFirewallCluster = (
+  variables: DnsFirewallCreateDnsFirewallClusterVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.DnsFirewallDnsFirewallSingleResponse,
+    DnsFirewallCreateDnsFirewallClusterError,
+    Schemas.DnsFirewallDnsFirewallClusterPost,
+    {},
+    {},
+    DnsFirewallCreateDnsFirewallClusterPathParams
+  >({ url: '/accounts/{accountId}/dns_firewall', method: 'post', ...variables, signal });
+
+export type DnsFirewallDeleteDnsFirewallClusterPathParams = {
+  dnsFirewallId: Schemas.DnsFirewallIdentifier;
+  accountId: Schemas.DnsFirewallIdentifier;
+};
+
+export type DnsFirewallDeleteDnsFirewallClusterError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.DnsFirewallApiResponseSingle & {
+    result?: {
+      id?: Schemas.DnsFirewallIdentifier;
+    };
+  }) &
+    Schemas.DnsFirewallApiResponseCommonFailure;
+}>;
+
+export type DnsFirewallDeleteDnsFirewallClusterResponse = Schemas.DnsFirewallApiResponseSingle & {
+  result?: {
+    id?: Schemas.DnsFirewallIdentifier;
+  };
+};
+
+export type DnsFirewallDeleteDnsFirewallClusterVariables = {
+  pathParams: DnsFirewallDeleteDnsFirewallClusterPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete a DNS Firewall cluster
+ */
+export const dnsFirewallDeleteDnsFirewallCluster = (
+  variables: DnsFirewallDeleteDnsFirewallClusterVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    DnsFirewallDeleteDnsFirewallClusterResponse,
+    DnsFirewallDeleteDnsFirewallClusterError,
+    undefined,
+    {},
+    {},
+    DnsFirewallDeleteDnsFirewallClusterPathParams
+  >({ url: '/accounts/{accountId}/dns_firewall/{dnsFirewallId}', method: 'delete', ...variables, signal });
+
+export type DnsFirewallDnsFirewallClusterDetailsPathParams = {
+  dnsFirewallId: Schemas.DnsFirewallIdentifier;
+  accountId: Schemas.DnsFirewallIdentifier;
+};
+
+export type DnsFirewallDnsFirewallClusterDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DnsFirewallDnsFirewallSingleResponse & Schemas.DnsFirewallApiResponseCommonFailure;
+}>;
+
+export type DnsFirewallDnsFirewallClusterDetailsVariables = {
+  pathParams: DnsFirewallDnsFirewallClusterDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Show a single DNS Firewall cluster for an account
+ */
+export const dnsFirewallDnsFirewallClusterDetails = (
+  variables: DnsFirewallDnsFirewallClusterDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.DnsFirewallDnsFirewallSingleResponse,
+    DnsFirewallDnsFirewallClusterDetailsError,
+    undefined,
+    {},
+    {},
+    DnsFirewallDnsFirewallClusterDetailsPathParams
+  >({ url: '/accounts/{accountId}/dns_firewall/{dnsFirewallId}', method: 'get', ...variables, signal });
+
+export type DnsFirewallUpdateDnsFirewallClusterPathParams = {
+  dnsFirewallId: Schemas.DnsFirewallIdentifier;
+  accountId: Schemas.DnsFirewallIdentifier;
+};
+
+export type DnsFirewallUpdateDnsFirewallClusterError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DnsFirewallDnsFirewallSingleResponse & Schemas.DnsFirewallApiResponseCommonFailure;
+}>;
+
+export type DnsFirewallUpdateDnsFirewallClusterVariables = {
+  body?: Schemas.DnsFirewallDnsFirewallClusterPatch;
+  pathParams: DnsFirewallUpdateDnsFirewallClusterPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Modify the configuration of a DNS Firewall cluster
+ */
+export const dnsFirewallUpdateDnsFirewallCluster = (
+  variables: DnsFirewallUpdateDnsFirewallClusterVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.DnsFirewallDnsFirewallSingleResponse,
+    DnsFirewallUpdateDnsFirewallClusterError,
+    Schemas.DnsFirewallDnsFirewallClusterPatch,
+    {},
+    {},
+    DnsFirewallUpdateDnsFirewallClusterPathParams
+  >({ url: '/accounts/{accountId}/dns_firewall/{dnsFirewallId}', method: 'patch', ...variables, signal });
+
+export type DnsFirewallAnalyticsTablePathParams = {
+  dnsFirewallId: Schemas.DnsAnalyticsIdentifier;
+  accountId: Schemas.DnsAnalyticsIdentifier;
+};
+
+export type DnsFirewallAnalyticsTableQueryParams = {
+  metrics?: Schemas.DnsAnalyticsMetrics;
+  dimensions?: Schemas.DnsAnalyticsDimensions;
+  since?: Schemas.DnsAnalyticsSince;
+  until?: Schemas.DnsAnalyticsUntil;
+  limit?: Schemas.DnsAnalyticsLimit;
+  sort?: Schemas.DnsAnalyticsSort;
+  filters?: Schemas.DnsAnalyticsFilters;
+};
+
+export type DnsFirewallAnalyticsTableError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.DnsAnalyticsApiResponseSingle & {
+    result?: Schemas.DnsAnalyticsReport;
+  }) &
+    Schemas.DnsAnalyticsApiResponseCommonFailure;
+}>;
+
+export type DnsFirewallAnalyticsTableResponse = Schemas.DnsAnalyticsApiResponseSingle & {
+  result?: Schemas.DnsAnalyticsReport;
+};
+
+export type DnsFirewallAnalyticsTableVariables = {
+  pathParams: DnsFirewallAnalyticsTablePathParams;
+  queryParams?: DnsFirewallAnalyticsTableQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Retrieves a list of summarised aggregate metrics over a given time period.
+ *
+ * See [Analytics API properties](https://developers.cloudflare.com/dns/reference/analytics-api-properties/) for detailed information about the available query parameters.
+ */
+export const dnsFirewallAnalyticsTable = (variables: DnsFirewallAnalyticsTableVariables, signal?: AbortSignal) =>
+  fetch<
+    DnsFirewallAnalyticsTableResponse,
+    DnsFirewallAnalyticsTableError,
+    undefined,
+    {},
+    DnsFirewallAnalyticsTableQueryParams,
+    DnsFirewallAnalyticsTablePathParams
+  >({
+    url: '/accounts/{accountId}/dns_firewall/{dnsFirewallId}/dns_analytics/report',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type DnsFirewallAnalyticsByTimePathParams = {
+  dnsFirewallId: Schemas.DnsAnalyticsIdentifier;
+  accountId: Schemas.DnsAnalyticsIdentifier;
+};
+
+export type DnsFirewallAnalyticsByTimeQueryParams = {
+  metrics?: Schemas.DnsAnalyticsMetrics;
+  dimensions?: Schemas.DnsAnalyticsDimensions;
+  since?: Schemas.DnsAnalyticsSince;
+  until?: Schemas.DnsAnalyticsUntil;
+  limit?: Schemas.DnsAnalyticsLimit;
+  sort?: Schemas.DnsAnalyticsSort;
+  filters?: Schemas.DnsAnalyticsFilters;
+  time_delta?: Schemas.DnsAnalyticsTimeDelta;
+};
+
+export type DnsFirewallAnalyticsByTimeError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.DnsAnalyticsApiResponseSingle & {
+    result?: Schemas.DnsAnalyticsReportBytime;
+  }) &
+    Schemas.DnsAnalyticsApiResponseCommonFailure;
+}>;
+
+export type DnsFirewallAnalyticsByTimeResponse = Schemas.DnsAnalyticsApiResponseSingle & {
+  result?: Schemas.DnsAnalyticsReportBytime;
+};
+
+export type DnsFirewallAnalyticsByTimeVariables = {
+  pathParams: DnsFirewallAnalyticsByTimePathParams;
+  queryParams?: DnsFirewallAnalyticsByTimeQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Retrieves a list of aggregate metrics grouped by time interval.
+ *
+ * See [Analytics API properties](https://developers.cloudflare.com/dns/reference/analytics-api-properties/) for detailed information about the available query parameters.
+ */
+export const dnsFirewallAnalyticsByTime = (variables: DnsFirewallAnalyticsByTimeVariables, signal?: AbortSignal) =>
+  fetch<
+    DnsFirewallAnalyticsByTimeResponse,
+    DnsFirewallAnalyticsByTimeError,
+    undefined,
+    {},
+    DnsFirewallAnalyticsByTimeQueryParams,
+    DnsFirewallAnalyticsByTimePathParams
+  >({
+    url: '/accounts/{accountId}/dns_firewall/{dnsFirewallId}/dns_analytics/report/bytime',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type DnsFirewallShowDnsFirewallClusterReverseDnsPathParams = {
+  dnsFirewallId: Schemas.DnsFirewallIdentifier;
+  accountId: Schemas.DnsFirewallIdentifier;
+};
+
+export type DnsFirewallShowDnsFirewallClusterReverseDnsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DnsFirewallDnsFirewallReverseDnsResponse2 & Schemas.DnsFirewallApiResponseCommonFailure;
+}>;
+
+export type DnsFirewallShowDnsFirewallClusterReverseDnsVariables = {
+  pathParams: DnsFirewallShowDnsFirewallClusterReverseDnsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Show reverse DNS configuration (PTR records) for a DNS Firewall cluster
+ */
+export const dnsFirewallShowDnsFirewallClusterReverseDns = (
+  variables: DnsFirewallShowDnsFirewallClusterReverseDnsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.DnsFirewallDnsFirewallReverseDnsResponse2,
+    DnsFirewallShowDnsFirewallClusterReverseDnsError,
+    undefined,
+    {},
+    {},
+    DnsFirewallShowDnsFirewallClusterReverseDnsPathParams
+  >({ url: '/accounts/{accountId}/dns_firewall/{dnsFirewallId}/reverse_dns', method: 'get', ...variables, signal });
+
+export type DnsFirewallUpdateDnsFirewallClusterReverseDnsPathParams = {
+  dnsFirewallId: Schemas.DnsFirewallIdentifier;
+  accountId: Schemas.DnsFirewallIdentifier;
+};
+
+export type DnsFirewallUpdateDnsFirewallClusterReverseDnsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DnsFirewallDnsFirewallReverseDnsResponse2 & Schemas.DnsFirewallApiResponseCommonFailure;
+}>;
+
+export type DnsFirewallUpdateDnsFirewallClusterReverseDnsVariables = {
+  body?: Schemas.DnsFirewallDnsFirewallReverseDnsPatch;
+  pathParams: DnsFirewallUpdateDnsFirewallClusterReverseDnsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update reverse DNS configuration (PTR records) for a DNS Firewall cluster
+ */
+export const dnsFirewallUpdateDnsFirewallClusterReverseDns = (
+  variables: DnsFirewallUpdateDnsFirewallClusterReverseDnsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.DnsFirewallDnsFirewallReverseDnsResponse2,
+    DnsFirewallUpdateDnsFirewallClusterReverseDnsError,
+    Schemas.DnsFirewallDnsFirewallReverseDnsPatch,
+    {},
+    {},
+    DnsFirewallUpdateDnsFirewallClusterReverseDnsPathParams
+  >({ url: '/accounts/{accountId}/dns_firewall/{dnsFirewallId}/reverse_dns', method: 'patch', ...variables, signal });
+
+export type DnsSettingsForAnAccountListDnsSettingsPathParams = {
+  accountId: Schemas.DnsSettingsIdentifier;
+};
+
+export type DnsSettingsForAnAccountListDnsSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DnsSettingsDnsResponseSingle & Schemas.DnsSettingsApiResponseCommonFailure;
+}>;
+
+export type DnsSettingsForAnAccountListDnsSettingsVariables = {
+  pathParams: DnsSettingsForAnAccountListDnsSettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Show DNS settings for an account
+ */
+export const dnsSettingsForAnAccountListDnsSettings = (
+  variables: DnsSettingsForAnAccountListDnsSettingsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.DnsSettingsDnsResponseSingle,
+    DnsSettingsForAnAccountListDnsSettingsError,
+    undefined,
+    {},
+    {},
+    DnsSettingsForAnAccountListDnsSettingsPathParams
+  >({ url: '/accounts/{accountId}/dns_settings', method: 'get', ...variables, signal });
+
+export type DnsSettingsForAnAccountUpdateDnsSettingsPathParams = {
+  accountId: Schemas.DnsSettingsIdentifier;
+};
+
+export type DnsSettingsForAnAccountUpdateDnsSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DnsSettingsDnsResponseSingle & Schemas.DnsSettingsApiResponseCommonFailure;
+}>;
+
+export type DnsSettingsForAnAccountUpdateDnsSettingsVariables = {
+  body?: Schemas.DnsSettingsAccountSettings;
+  pathParams: DnsSettingsForAnAccountUpdateDnsSettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update DNS settings for an account
+ */
+export const dnsSettingsForAnAccountUpdateDnsSettings = (
+  variables: DnsSettingsForAnAccountUpdateDnsSettingsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.DnsSettingsDnsResponseSingle,
+    DnsSettingsForAnAccountUpdateDnsSettingsError,
+    Schemas.DnsSettingsAccountSettings,
+    {},
+    {},
+    DnsSettingsForAnAccountUpdateDnsSettingsPathParams
+  >({ url: '/accounts/{accountId}/dns_settings', method: 'patch', ...variables, signal });
+
+export type DnsViewsForAnAccountListInternalDnsViewsPathParams = {
+  accountId: Schemas.DnsSettingsIdentifier;
+};
+
+export type DnsViewsForAnAccountListInternalDnsViewsQueryParams = {
+  /**
+   * @example my view
+   */
+  name?: string;
+  /**
+   * @example my view
+   */
+  ['name.exact']?: string;
+  /**
+   * @example view
+   */
+  ['name.contains']?: string;
+  /**
+   * @example my
+   */
+  ['name.startswith']?: string;
+  /**
+   * @example ew
+   */
+  ['name.endswith']?: string;
+  /**
+   * @example ae29bea30e2e427ba9cd8d78b628177b
+   */
+  zone_id?: string;
+  /**
+   * @example www.example.com
+   */
+  zone_name?: string;
+  match?: Schemas.DnsSettingsMatch;
+  page?: Schemas.DnsSettingsPage;
+  per_page?: Schemas.DnsSettingsPerPage;
+  order?: Schemas.DnsSettingsOrder;
+  direction?: Schemas.DnsSettingsDirection;
+};
+
+export type DnsViewsForAnAccountListInternalDnsViewsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DnsSettingsDnsViewResponseCollection & Schemas.DnsSettingsApiResponseCommonFailure;
+}>;
+
+export type DnsViewsForAnAccountListInternalDnsViewsVariables = {
+  pathParams: DnsViewsForAnAccountListInternalDnsViewsPathParams;
+  queryParams?: DnsViewsForAnAccountListInternalDnsViewsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * List DNS Internal Views for an Account
+ */
+export const dnsViewsForAnAccountListInternalDnsViews = (
+  variables: DnsViewsForAnAccountListInternalDnsViewsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.DnsSettingsDnsViewResponseCollection,
+    DnsViewsForAnAccountListInternalDnsViewsError,
+    undefined,
+    {},
+    DnsViewsForAnAccountListInternalDnsViewsQueryParams,
+    DnsViewsForAnAccountListInternalDnsViewsPathParams
+  >({ url: '/accounts/{accountId}/dns_settings/views', method: 'get', ...variables, signal });
+
+export type DnsViewsForAnAccountCreateInternalDnsViewsPathParams = {
+  accountId: Schemas.DnsSettingsIdentifier;
+};
+
+export type DnsViewsForAnAccountCreateInternalDnsViewsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DnsSettingsDnsViewResponseSingle & Schemas.DnsSettingsApiResponseCommonFailure;
+}>;
+
+export type DnsViewsForAnAccountCreateInternalDnsViewsVariables = {
+  body: Schemas.DnsSettingsDnsViewPost;
+  pathParams: DnsViewsForAnAccountCreateInternalDnsViewsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create Internal DNS View for an account
+ */
+export const dnsViewsForAnAccountCreateInternalDnsViews = (
+  variables: DnsViewsForAnAccountCreateInternalDnsViewsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.DnsSettingsDnsViewResponseSingle,
+    DnsViewsForAnAccountCreateInternalDnsViewsError,
+    Schemas.DnsSettingsDnsViewPost,
+    {},
+    {},
+    DnsViewsForAnAccountCreateInternalDnsViewsPathParams
+  >({ url: '/accounts/{accountId}/dns_settings/views', method: 'post', ...variables, signal });
+
+export type DnsViewsForAnAccountDeleteInternalDnsViewPathParams = {
+  accountId: Schemas.DnsSettingsIdentifier;
+  viewId: Schemas.DnsSettingsIdentifier;
+};
+
+export type DnsViewsForAnAccountDeleteInternalDnsViewError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    result: any | null;
+    /**
+     * @example {"code":7003,"message":"No route for the URI"}
+     * @minLength 1
+     */
+    errors: Schemas.DnsSettingsMessages;
+    messages: Schemas.DnsSettingsMessages;
+    /**
+     * Whether the API call was successful
+     *
+     * @example false
+     */
+    success: false;
+  };
+}>;
+
+export type DnsViewsForAnAccountDeleteInternalDnsViewResponse = {
+  result?: {
+    id?: Schemas.DnsSettingsIdentifier;
+  };
+};
+
+export type DnsViewsForAnAccountDeleteInternalDnsViewVariables = {
+  pathParams: DnsViewsForAnAccountDeleteInternalDnsViewPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete an existing Internal DNS View
+ */
+export const dnsViewsForAnAccountDeleteInternalDnsView = (
+  variables: DnsViewsForAnAccountDeleteInternalDnsViewVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    DnsViewsForAnAccountDeleteInternalDnsViewResponse,
+    DnsViewsForAnAccountDeleteInternalDnsViewError,
+    undefined,
+    {},
+    {},
+    DnsViewsForAnAccountDeleteInternalDnsViewPathParams
+  >({ url: '/accounts/{accountId}/dns_settings/views/{viewId}', method: 'delete', ...variables, signal });
+
+export type DnsViewsForAnAccountGetInternalDnsViewPathParams = {
+  accountId: Schemas.DnsSettingsIdentifier;
+  viewId: Schemas.DnsSettingsIdentifier;
+};
+
+export type DnsViewsForAnAccountGetInternalDnsViewError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DnsSettingsDnsViewResponseSingle & Schemas.DnsSettingsApiResponseCommonFailure;
+}>;
+
+export type DnsViewsForAnAccountGetInternalDnsViewVariables = {
+  pathParams: DnsViewsForAnAccountGetInternalDnsViewPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get DNS Internal View
+ */
+export const dnsViewsForAnAccountGetInternalDnsView = (
+  variables: DnsViewsForAnAccountGetInternalDnsViewVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.DnsSettingsDnsViewResponseSingle,
+    DnsViewsForAnAccountGetInternalDnsViewError,
+    undefined,
+    {},
+    {},
+    DnsViewsForAnAccountGetInternalDnsViewPathParams
+  >({ url: '/accounts/{accountId}/dns_settings/views/{viewId}', method: 'get', ...variables, signal });
+
+export type DnsViewsForAnAccountUpdateInternalDnsViewPathParams = {
+  accountId: Schemas.DnsSettingsIdentifier;
+  viewId: Schemas.DnsSettingsIdentifier;
+};
+
+export type DnsViewsForAnAccountUpdateInternalDnsViewError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DnsSettingsDnsViewResponseSingle & Schemas.DnsSettingsApiResponseCommonFailure;
+}>;
+
+export type DnsViewsForAnAccountUpdateInternalDnsViewVariables = {
+  body?: Schemas.DnsSettingsDnsViewPatch;
+  pathParams: DnsViewsForAnAccountUpdateInternalDnsViewPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update an existing Internal DNS View
+ */
+export const dnsViewsForAnAccountUpdateInternalDnsView = (
+  variables: DnsViewsForAnAccountUpdateInternalDnsViewVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.DnsSettingsDnsViewResponseSingle,
+    DnsViewsForAnAccountUpdateInternalDnsViewError,
+    Schemas.DnsSettingsDnsViewPatch,
+    {},
+    {},
+    DnsViewsForAnAccountUpdateInternalDnsViewPathParams
+  >({ url: '/accounts/{accountId}/dns_settings/views/{viewId}', method: 'patch', ...variables, signal });
+
+export type EmailSecurityInvestigatePathParams = {
+  accountId: Schemas.EmailSecurityAccountId;
+};
+
+export type EmailSecurityInvestigateQueryParams = {
+  /**
+   * The beginning of the search date range.
+   * Defaults to `now - 30 days`.
+   *
+   * @format date-time
+   */
+  start?: string;
+  /**
+   * The end of the search date range.
+   * Defaults to `now`.
+   *
+   * @format date-time
+   */
+  end?: string;
+  /**
+   * The space-delimited term used in the query. The search is case-insensitive.
+   *
+   * The content of the following email metadata fields are searched:
+   * * alert_id
+   * * CC
+   * * From (envelope_from)
+   * * From Name
+   * * final_disposition
+   * * md5 hash (of any attachment)
+   * * sha1 hash (of any attachment)
+   * * sha256 hash (of any attachment)
+   * * name (of any attachment)
+   * * Reason
+   * * Received DateTime (yyyy-mm-ddThh:mm:ss)
+   * * Sent DateTime (yyyy-mm-ddThh:mm:ss)
+   * * ReplyTo
+   * * To (envelope_to)
+   * * To Name
+   * * Message-ID
+   * * smtp_helo_server_ip
+   * * smtp_previous_hop_ip
+   * * x_originating_ip
+   * * Subject
+   */
+  query?: string;
+  /**
+   * Determines if the search results will include detections or not.
+   *
+   * @default true
+   */
+  detections_only?: boolean;
+  /**
+   * Determines if the message action log is included in the response.
+   *
+   * @default true
+   */
+  action_log?: boolean;
+  /**
+   * The dispositions the search filters by.
+   */
+  final_disposition?: 'MALICIOUS' | 'SUSPICIOUS' | 'SPOOF' | 'SPAM' | 'BULK';
+  metric?: string;
+  /**
+   * The message actions the search filters by.
+   */
+  message_action?: 'PREVIEW' | 'QUARANTINE_RELEASED' | 'MOVED';
+  recipient?: string;
+  sender?: string;
+  alert_id?: string;
+  /**
+   * The sender domains the search filters by.
+   */
+  domain?: string;
+  message_id?: string;
+  /**
+   * The page number of paginated results.
+   *
+   * @default 1
+   * @format int32
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * The number of results per page.
+   *
+   * @default 20
+   * @format int32
+   * @minimum 1
+   */
+  per_page?: number;
+};
+
+export type EmailSecurityInvestigateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.EmailSecurityClientError;
+}>;
+
+export type EmailSecurityInvestigateResponse = Schemas.EmailSecurityApiResponseCommon & {
+  result: Schemas.EmailSecurityMailsearchMessage[];
+  result_info: Schemas.EmailSecurityResultInfo;
+};
+
+export type EmailSecurityInvestigateVariables = {
+  pathParams: EmailSecurityInvestigatePathParams;
+  queryParams?: EmailSecurityInvestigateQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Returns information for each email that matches the search parameter(s).
+ */
+export const emailSecurityInvestigate = (variables: EmailSecurityInvestigateVariables, signal?: AbortSignal) =>
+  fetch<
+    EmailSecurityInvestigateResponse,
+    EmailSecurityInvestigateError,
+    undefined,
+    {},
+    EmailSecurityInvestigateQueryParams,
+    EmailSecurityInvestigatePathParams
+  >({ url: '/accounts/{accountId}/email-security/investigate', method: 'get', ...variables, signal });
+
+export type EmailSecurityPostBulkMessageMovePathParams = {
+  accountId: Schemas.EmailSecurityAccountId;
+};
+
+export type EmailSecurityPostBulkMessageMoveError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.EmailSecurityClientError;
+}>;
+
+export type EmailSecurityPostBulkMessageMoveResponse = Schemas.EmailSecurityApiResponseCommon & {
+  result: Schemas.EmailSecurityRetractionResponseItem[];
+};
+
+export type EmailSecurityPostBulkMessageMoveRequestBody = {
+  destination: 'Inbox' | 'JunkEmail' | 'DeletedItems' | 'RecoverableItemsDeletions' | 'RecoverableItemsPurges';
+  postfix_ids: Schemas.EmailSecurityPostfixId[];
+};
+
+export type EmailSecurityPostBulkMessageMoveVariables = {
+  body: EmailSecurityPostBulkMessageMoveRequestBody;
+  pathParams: EmailSecurityPostBulkMessageMovePathParams;
+} & FetcherExtraProps;
+
+export const emailSecurityPostBulkMessageMove = (
+  variables: EmailSecurityPostBulkMessageMoveVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    EmailSecurityPostBulkMessageMoveResponse,
+    EmailSecurityPostBulkMessageMoveError,
+    EmailSecurityPostBulkMessageMoveRequestBody,
+    {},
+    {},
+    EmailSecurityPostBulkMessageMovePathParams
+  >({ url: '/accounts/{accountId}/email-security/investigate/move', method: 'post', ...variables, signal });
+
+export type EmailSecurityPostPreviewPathParams = {
+  accountId: Schemas.EmailSecurityAccountId;
+};
+
+export type EmailSecurityPostPreviewError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.EmailSecurityClientError;
+}>;
+
+export type EmailSecurityPostPreviewResponse = Schemas.EmailSecurityApiResponseCommon & {
+  /**
+   * @example {"screenshot":"iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAAAXNSR0IArs4c6QAAAIRlWElmTU0AKgAAAAgABQESAAMAAAABAAEAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAIdpAAQAAAABAAAAWgAAAAAAAABgAAAAAQAAAGAAAAABAAOgAQADAAAAAQABAACgAgAEAAAAAQAAAGCgAwAEAAAAAQAAAGAAAAAAtVTeigAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAVlpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDYuMC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KGV7hBwAACXtJREFUeAHtmwtwXFUZgP9zX7t3b7LNa9M2tGmLDbaWKpL6aBBJHdERQWGkU4u8CraVWmYQYWQUMSoKhZJikYo4Qqc6RVqkKmNHC0K1FGYoM9pqS4FAa9s0aTavfd3d+zq/527YSNvdzWY3m2ySc2c2595z/vOf///+e+4959wTAH5wApwAJ8AJcAKcACfACXACnAAnwAlwApwAJ8AJcAKcACfACXACnAAnwAlwApwAJ8AJcAKcACfACXACnAAnwAlwAhOJABmvzuCz158HXmUp2rCEOlhGbEdFh2qASFAgtiCKMUGgh8FM7IDDp3aQlt12Kfo6rgKAz3ylAQ3rJ/Fg39XYfyx32wUJpJpZ7wiq8LPebuGJaXfuipVKMHJ3YowsRgQC265aE+/quYf2/Le2YDM85aBOn/m7GDHX+m/4W0/B+gpUUNIBwN98rknvif4J+9urC/Tz7OqKBp66+vWSUf9dsvpx62yB0ckpyQDgLxtlS5iyyTx59OuATlFJkOrZYV9l7afItdv/XdSGMigvuQBEHmyqJRLug9DJ+gw2j3y2qIDWcOEPyFef/tHIK8+usaQCEGpdPFd0rEMQC8rZzS5OqXr+JU+JV2+5pjja02sV0mePfm7/I5+eIznm22MF3/U4/p+/L3d23LhxNL0viR7Qs/ETfo/lnIBIsHw0nU/bFiGgLbp0BfnirzanLR/hzJLoAV6QXywJ+C5cNu6N7d/7JD6zat4Is06rbswDENvU/A3sPd6Y1rqxyjRjkDj1zp7RaH5MA3CkpdkL0fAvRsPR4bbhBNtqcNvS7w233nDlxzQAgUp7E+pjPhnNyEw/duRefJLdJEU8pGLo7mptnuuTSJNHkeaBIPhMK/6Gbjm7A7ftfTPV3sGWBQpEu1ekrksxxWgQoLr6Tmbbj4tl34iOgmIbPnsLG8w9hKETajqDiX86sCXJe/1a4D4QEnfF2t/6fjq5UsojFTNQu21v0Z4UIxKA4LqL6nwyfQ3DJ8/JBR7x1wGIEmDfsVzEx1xGO3f+xeT6v7xcDEMKjmystXmRSkPtucJ3nWCy4wZ+0l7wfLsY8F2dBQWg46cfDaDVtw+MSLHsKwm98VDky8UypKAA+BVpF8T7i2Vb6eg1IiPyqE7nUN6joL51jUsw2nVBOqUTLc9TGfi965O++dLlomZvBSICyBoQpdyQVP8R4hFfgAQ+Spb8/PBwfc87AGWadrcR7x5ue+NS3qK2OxQFpcq72jGi7CXGvlGYYUAz7LGi7e6Shftba/x5ma1UB9ZDL2khlz1iuHWGOvJ+BJl65DNDKZ8I5UL17E515a4jri+OEbsoq096l2QeP3iXaR5N4MurH8SWliH5DimQqUHUezMVTah8tVx7wHUIdy6/gv3N7YlhRcHseOsOc9HBKL54S9Z1rrwCcLxlQdWEopzJGfbdGG7Y+XAyABK9MZNYxvx4t2r2vv067l55ayaZvAJgQ0zPpHAi5StT52xjnwfQ9cnWI9kfP5kcZ+8LM9i2EXfffE86kbwCMBuOmiCnXW1I18a4zCO+KuiVrZtSxqMVn5o6zyc1g+/+EF+47uYz6+Y8vg0/vPhygQjLRFH5JLXNWgx3+oGW5GazM33M61o+Z96VnpV//WOqsrF9SbInpK7zStnwVdDqmuQvbHk1VT9rAI63Lq6qJnQTNfRlkAin6kz4VKit/5ZvzZ7ksz/lrPmHy6KsF7CXQoGHp1JXOmoqUnuRMj6CEq0ff6Ay2tVDQ52TB77INmME6lecCd9FLlfUPFUg+oHqRp+Pzk08mtJ1Vg/oallQVlZR/i/a3/GBlNBkSIWqGW2iR7vCs3pX2tksvtQi2frBU1TvLnwEKChgls2ZWv75x7pOC4C7O8GbMNvYGD8wGaAD27QrT2s4KsrON6UVz+8cymd8fZUPYvLzZk9bEzjmUOJZy5VAw29J8+PXnRaAWGvjIQx3z89aM89CEmhwRMUXQVGRmOMC+x5AWOr+2NIKSwl7Ggoish8lRKDsSxplTVnuTwTU2aZzQwCMszehxXYu2AIhCQDKpvvERAImUGIK7jXSePJHWWpRHWw7wQYLcaDolplA0GLnukWddvmmpw+khpnDcQvfXF8DAlkKhnkhmEY52IYKlqGiZWho2z5KDYWtEPtpondGRr3eKlDKFsqDAQhvaLxfCHV/J2OFQgpkL2g152mw6rl4Pg4X0nSx6iL7PwQ4tF0GpXOAYchDIdIxMFIKHkRQKz2m8W4nWzcqz2SDUvfhS5KVO+9vXFhm9B5gd0gm2YLzhepze8G2goiCA6J7dxN31y0bxxKbBcUdz9psJ3ryjgc2d2Gb0m0KaDGTbHbHs/7Ozh1IUGC5wHoDEsthZQjUrWMTBMtheQSphQJYyFKB9Q6Kznup24Mck3Uvk1IITaP73iAtTFkeB+6/oxao8jHWA2ex3lVLEQPEtmqpZVewfxKpQjOmYLx/OpjR6mzqlfqFTyQDEHrogufESN/l2YQnXBmLuhyY+YpBjS/5177WM5R/+I9bA+Cl66ye0DUYbfcMJZ9LuVgz/wQJbrh4uho+wb4R5nUz5NJOact4/WznQ8VHylbuOZDJUNx97Vazu2P5SDMi5bNAKpetpfZkhe8SdyeYEfUVdlZ2ZgBwx5UVjoL7zWB7/ZllI3GNiW425vDVrBkJZeNaR/iUFnns4g+93wd89qpqC+Jtjh4uCvxkW1YMBDNhfvD9DU/Wc0VwBoff+FKz5JDwPrTNrC/Rglm5/zyIkVMF65kICmyHzRPeO5w+2Ow4dE7qumgpmwsIk2JXQw4E43H9n65Y75am8x2HfC2HKgWLEG+1I4BU1L2nBRs5GgrcLZM1t+9vd9vy+jx3j0abbhuypu0TSNnkWPbJBpWtV/w6VS6gsDR1XvQU6Vapa4qkJvrVaRTEMFvAsB2drcewQ/Q5BNj0JOSjA1NtljdFFwY/Srgzlwp1QNaVTx1inNU77dV12gU4qjSoI1XHictn5dla71l5KfnBdIjXl1U2oNcMKTh9SgfaPazthoHaXjswuBQ/8/ZX4ymdHVFHU+tmimoo4Ul4JBmdBFt5khDVBJtbS1junvt0REtO/tx6RLaSjIg+kKZ0oclktCibx//fP0HzCIIlCwnPFLn2+LHJsa8nBYSnnAAnwAlwApwAJ8AJcAKcACfACXACnAAnwAlwApwAJ8AJcAKcACfACXACnAAnwAlwApwAJ8AJcAKcACfACXACk4DA/wDoepVZ2hARhAAAAABJRU5ErkJggg=="}
+   */
+  result: {
+    /**
+     * A base64 encoded PNG image of the email.
+     */
+    screenshot: string;
+  };
+};
+
+export type EmailSecurityPostPreviewRequestBody = {
+  postfix_id: Schemas.EmailSecurityPostfixId;
+};
+
+export type EmailSecurityPostPreviewVariables = {
+  body: EmailSecurityPostPreviewRequestBody;
+  pathParams: EmailSecurityPostPreviewPathParams;
+} & FetcherExtraProps;
+
+export const emailSecurityPostPreview = (variables: EmailSecurityPostPreviewVariables, signal?: AbortSignal) =>
+  fetch<
+    EmailSecurityPostPreviewResponse,
+    EmailSecurityPostPreviewError,
+    EmailSecurityPostPreviewRequestBody,
+    {},
+    {},
+    EmailSecurityPostPreviewPathParams
+  >({ url: '/accounts/{accountId}/email-security/investigate/preview', method: 'post', ...variables, signal });
+
+export type EmailSecurityPostReleasePathParams = {
+  accountId: Schemas.EmailSecurityAccountId;
+};
+
+export type EmailSecurityPostReleaseError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.EmailSecurityClientError;
+}>;
+
+export type EmailSecurityPostReleaseResponse = Schemas.EmailSecurityApiResponseCommon & {
+  result: Schemas.EmailSecurityReleaseResponse[];
+};
+
+export type EmailSecurityPostReleaseRequestBody = Schemas.EmailSecurityPostfixId[];
+
+export type EmailSecurityPostReleaseVariables = {
+  body?: EmailSecurityPostReleaseRequestBody;
+  pathParams: EmailSecurityPostReleasePathParams;
+} & FetcherExtraProps;
+
+export const emailSecurityPostRelease = (variables: EmailSecurityPostReleaseVariables, signal?: AbortSignal) =>
+  fetch<
+    EmailSecurityPostReleaseResponse,
+    EmailSecurityPostReleaseError,
+    EmailSecurityPostReleaseRequestBody,
+    {},
+    {},
+    EmailSecurityPostReleasePathParams
+  >({ url: '/accounts/{accountId}/email-security/investigate/release', method: 'post', ...variables, signal });
+
+export type EmailSecurityGetMessagePathParams = {
+  accountId: Schemas.EmailSecurityAccountId;
+  /**
+   * @example 4Njp3P0STMz2c02Q
+   */
+  postfixId: string;
+};
+
+export type EmailSecurityGetMessageError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.EmailSecurityClientError;
+}>;
+
+export type EmailSecurityGetMessageResponse = Schemas.EmailSecurityApiResponseCommon & {
+  /**
+   * @example {"action_log":[],"alert_id":"4Njp3P0STMz2c02Q-2022-12-30T02:44:49","client_recipients":["email@example.com"],"delivery_mode":"DIRECT","detection_reasons":["Selector is a source of spam/uce : Smtp-Helo-Server-Ip=<b>127.0.0[dot]186</b>"],"edf_hash":null,"final_disposition":"MALICIOUS","from":"d1994@example.com","from_name":"Sender Name","id":"47JJcT1w6GztQV7-email@example.com","is_phish_submission":false,"is_quarantined":false,"message_id":"<4VAZPrAdg7IGNxdt1DWRNu0gvOeL_iZiwP4BQfo4DaE.Yw-woXuugQbeFhBpzwFQtqq_v2v1HOKznoMBqbciQpE@example.com>","postfix_id":"47JJcT1w6GztQV7","sent_date":"2019-11-21T00:22:01","subject":"listen, I highly recommend u to read that email, just to ensure not a thing will take place","threat_categories":["IPReputation","ASNReputation"],"to":["email@example.com"],"to_name":["Recipient Name"],"ts":"2019-11-20T23:22:01","validation":{"comment":null,"dkim":"pass","dmarc":"none","spf":"fail"}}
+   */
+  result: {
+    action_log: void;
+    alert_id?: string | null;
+    client_recipients: string[];
+    delivery_mode?: Schemas.EmailSecurityMessageDeliveryMode & (string | null);
+    detection_reasons: string[];
+    edf_hash?: string | null;
+    final_disposition?: Schemas.EmailSecurityDispositionLabel & (string | null);
+    from?: string | null;
+    from_name?: string | null;
+    is_phish_submission: boolean;
+    is_quarantined: boolean;
+    message_id?: string | null;
+    postfix_id: Schemas.EmailSecurityPostfixId;
+    sent_date?: string | null;
+    subject?: string | null;
+    threat_categories?: string[] | null;
+    to?: string[] | null;
+    to_name?: string[] | null;
+    ts?: string;
+    validation?: {
+      comment?: string | null;
+      dkim?: Schemas.EmailSecurityValidationStatus & (string | null);
+      dmarc?: Schemas.EmailSecurityValidationStatus & (string | null);
+      spf?: Schemas.EmailSecurityValidationStatus & (string | null);
+    } | null;
+    id: string;
+  };
+};
+
+export type EmailSecurityGetMessageVariables = {
+  pathParams: EmailSecurityGetMessagePathParams;
+} & FetcherExtraProps;
+
+export const emailSecurityGetMessage = (variables: EmailSecurityGetMessageVariables, signal?: AbortSignal) =>
+  fetch<
+    EmailSecurityGetMessageResponse,
+    EmailSecurityGetMessageError,
+    undefined,
+    {},
+    {},
+    EmailSecurityGetMessagePathParams
+  >({ url: '/accounts/{accountId}/email-security/investigate/{postfixId}', method: 'get', ...variables, signal });
+
+export type EmailSecurityGetMessageDetectionsPathParams = {
+  accountId: Schemas.EmailSecurityAccountId;
+  /**
+   * @example 4Njp3P0STMz2c02Q
+   */
+  postfixId: string;
+};
+
+export type EmailSecurityGetMessageDetectionsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.EmailSecurityClientError;
+}>;
+
+export type EmailSecurityGetMessageDetectionsResponse = Schemas.EmailSecurityApiResponseCommon & {
+  /**
+   * @example {"action":"QUARANTINED","attachments":[],"final_disposition":"MALICIOUS","headers":[{"name":"From","value":"Sender Name <d1994@example.com>"},{"name":"Subject","value":"listen, I highly recommend u to read that email, just to ensure not a thing will take place"}],"links":[{"href":"https://example.com","text":"Click here!"}],"sender_info":{"as_name":"AS0","as_number":0,"geo":"US/-/-","ip":"127.0.0.1","pld":"example.com"},"threat_categories":[{"description":null,"id":1234,"name":"IP Reputation"}],"validation":{"comment":null,"dkim":"pass","dmarc":"none","spf":"fail"}}
+   */
+  result: {
+    action: string;
+    attachments: Schemas.EmailSecurityAttachment[];
+    final_disposition?: Schemas.EmailSecurityDispositionLabel & (string | null);
+    headers: Schemas.EmailSecurityMessageHeader[];
+    links: Schemas.EmailSecurityLink[];
+    sender_info: {
+      /**
+       * The name of the autonomous system.
+       */
+      as_name?: string | null;
+      /**
+       * The number of the autonomous system.
+       *
+       * @format int64
+       */
+      as_number?: number | null;
+      geo?: string | null;
+      ip?: string | null;
+      pld?: string | null;
+    };
+    threat_categories: Schemas.EmailSecurityThreatCategory[];
+    validation: {
+      comment?: string | null;
+      dkim?: Schemas.EmailSecurityValidationStatus & (string | null);
+      dmarc?: Schemas.EmailSecurityValidationStatus & (string | null);
+      spf?: Schemas.EmailSecurityValidationStatus & (string | null);
+    };
+  };
+};
+
+export type EmailSecurityGetMessageDetectionsVariables = {
+  pathParams: EmailSecurityGetMessageDetectionsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Returns detection details such as threat categories and sender information for non-benign messages.
+ */
+export const emailSecurityGetMessageDetections = (
+  variables: EmailSecurityGetMessageDetectionsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    EmailSecurityGetMessageDetectionsResponse,
+    EmailSecurityGetMessageDetectionsError,
+    undefined,
+    {},
+    {},
+    EmailSecurityGetMessageDetectionsPathParams
+  >({
+    url: '/accounts/{accountId}/email-security/investigate/{postfixId}/detections',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type EmailSecurityPostMessageMovePathParams = {
+  accountId: Schemas.EmailSecurityAccountId;
+  /**
+   * @example 4Njp3P0STMz2c02Q
+   */
+  postfixId: string;
+};
+
+export type EmailSecurityPostMessageMoveError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.EmailSecurityClientError;
+}>;
+
+export type EmailSecurityPostMessageMoveResponse = Schemas.EmailSecurityApiResponseCommon & {
+  result: Schemas.EmailSecurityRetractionResponseItem[];
+};
+
+export type EmailSecurityPostMessageMoveRequestBody = {
+  destination: 'Inbox' | 'JunkEmail' | 'DeletedItems' | 'RecoverableItemsDeletions' | 'RecoverableItemsPurges';
+};
+
+export type EmailSecurityPostMessageMoveVariables = {
+  body: EmailSecurityPostMessageMoveRequestBody;
+  pathParams: EmailSecurityPostMessageMovePathParams;
+} & FetcherExtraProps;
+
+export const emailSecurityPostMessageMove = (variables: EmailSecurityPostMessageMoveVariables, signal?: AbortSignal) =>
+  fetch<
+    EmailSecurityPostMessageMoveResponse,
+    EmailSecurityPostMessageMoveError,
+    EmailSecurityPostMessageMoveRequestBody,
+    {},
+    {},
+    EmailSecurityPostMessageMovePathParams
+  >({ url: '/accounts/{accountId}/email-security/investigate/{postfixId}/move', method: 'post', ...variables, signal });
+
+export type EmailSecurityGetMessagePreviewPathParams = {
+  accountId: Schemas.EmailSecurityAccountId;
+  /**
+   * @example 4Njp3P0STMz2c02Q
+   */
+  postfixId: string;
+};
+
+export type EmailSecurityGetMessagePreviewError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.EmailSecurityClientError;
+}>;
+
+export type EmailSecurityGetMessagePreviewResponse = Schemas.EmailSecurityApiResponseCommon & {
+  /**
+   * @example {"screenshot":"iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAAAXNSR0IArs4c6QAAAIRlWElmTU0AKgAAAAgABQESAAMAAAABAAEAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAIdpAAQAAAABAAAAWgAAAAAAAABgAAAAAQAAAGAAAAABAAOgAQADAAAAAQABAACgAgAEAAAAAQAAAGCgAwAEAAAAAQAAAGAAAAAAtVTeigAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAVlpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDYuMC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KGV7hBwAACXtJREFUeAHtmwtwXFUZgP9zX7t3b7LNa9M2tGmLDbaWKpL6aBBJHdERQWGkU4u8CraVWmYQYWQUMSoKhZJikYo4Qqc6RVqkKmNHC0K1FGYoM9pqS4FAa9s0aTavfd3d+zq/527YSNvdzWY3m2ySc2c2595z/vOf///+e+4959wTAH5wApwAJ8AJcAKcACfACXACnAAnwAlwApwAJ8AJcAKcACfACXACnAAnwAlwApwAJ8AJcAKcACfACXACnAAnwAlwAhOJABmvzuCz158HXmUp2rCEOlhGbEdFh2qASFAgtiCKMUGgh8FM7IDDp3aQlt12Kfo6rgKAz3ylAQ3rJ/Fg39XYfyx32wUJpJpZ7wiq8LPebuGJaXfuipVKMHJ3YowsRgQC265aE+/quYf2/Le2YDM85aBOn/m7GDHX+m/4W0/B+gpUUNIBwN98rknvif4J+9urC/Tz7OqKBp66+vWSUf9dsvpx62yB0ckpyQDgLxtlS5iyyTx59OuATlFJkOrZYV9l7afItdv/XdSGMigvuQBEHmyqJRLug9DJ+gw2j3y2qIDWcOEPyFef/tHIK8+usaQCEGpdPFd0rEMQC8rZzS5OqXr+JU+JV2+5pjja02sV0mePfm7/I5+eIznm22MF3/U4/p+/L3d23LhxNL0viR7Qs/ETfo/lnIBIsHw0nU/bFiGgLbp0BfnirzanLR/hzJLoAV6QXywJ+C5cNu6N7d/7JD6zat4Is06rbswDENvU/A3sPd6Y1rqxyjRjkDj1zp7RaH5MA3CkpdkL0fAvRsPR4bbhBNtqcNvS7w233nDlxzQAgUp7E+pjPhnNyEw/duRefJLdJEU8pGLo7mptnuuTSJNHkeaBIPhMK/6Gbjm7A7ftfTPV3sGWBQpEu1ekrksxxWgQoLr6Tmbbj4tl34iOgmIbPnsLG8w9hKETajqDiX86sCXJe/1a4D4QEnfF2t/6fjq5UsojFTNQu21v0Z4UIxKA4LqL6nwyfQ3DJ8/JBR7x1wGIEmDfsVzEx1xGO3f+xeT6v7xcDEMKjmystXmRSkPtucJ3nWCy4wZ+0l7wfLsY8F2dBQWg46cfDaDVtw+MSLHsKwm98VDky8UypKAA+BVpF8T7i2Vb6eg1IiPyqE7nUN6joL51jUsw2nVBOqUTLc9TGfi965O++dLlomZvBSICyBoQpdyQVP8R4hFfgAQ+Spb8/PBwfc87AGWadrcR7x5ue+NS3qK2OxQFpcq72jGi7CXGvlGYYUAz7LGi7e6Shftba/x5ma1UB9ZDL2khlz1iuHWGOvJ+BJl65DNDKZ8I5UL17E515a4jri+OEbsoq096l2QeP3iXaR5N4MurH8SWliH5DimQqUHUezMVTah8tVx7wHUIdy6/gv3N7YlhRcHseOsOc9HBKL54S9Z1rrwCcLxlQdWEopzJGfbdGG7Y+XAyABK9MZNYxvx4t2r2vv067l55ayaZvAJgQ0zPpHAi5StT52xjnwfQ9cnWI9kfP5kcZ+8LM9i2EXfffE86kbwCMBuOmiCnXW1I18a4zCO+KuiVrZtSxqMVn5o6zyc1g+/+EF+47uYz6+Y8vg0/vPhygQjLRFH5JLXNWgx3+oGW5GazM33M61o+Z96VnpV//WOqsrF9SbInpK7zStnwVdDqmuQvbHk1VT9rAI63Lq6qJnQTNfRlkAin6kz4VKit/5ZvzZ7ksz/lrPmHy6KsF7CXQoGHp1JXOmoqUnuRMj6CEq0ff6Ay2tVDQ52TB77INmME6lecCd9FLlfUPFUg+oHqRp+Pzk08mtJ1Vg/oallQVlZR/i/a3/GBlNBkSIWqGW2iR7vCs3pX2tksvtQi2frBU1TvLnwEKChgls2ZWv75x7pOC4C7O8GbMNvYGD8wGaAD27QrT2s4KsrON6UVz+8cymd8fZUPYvLzZk9bEzjmUOJZy5VAw29J8+PXnRaAWGvjIQx3z89aM89CEmhwRMUXQVGRmOMC+x5AWOr+2NIKSwl7Ggoish8lRKDsSxplTVnuTwTU2aZzQwCMszehxXYu2AIhCQDKpvvERAImUGIK7jXSePJHWWpRHWw7wQYLcaDolplA0GLnukWddvmmpw+khpnDcQvfXF8DAlkKhnkhmEY52IYKlqGiZWho2z5KDYWtEPtpondGRr3eKlDKFsqDAQhvaLxfCHV/J2OFQgpkL2g152mw6rl4Pg4X0nSx6iL7PwQ4tF0GpXOAYchDIdIxMFIKHkRQKz2m8W4nWzcqz2SDUvfhS5KVO+9vXFhm9B5gd0gm2YLzhepze8G2goiCA6J7dxN31y0bxxKbBcUdz9psJ3ryjgc2d2Gb0m0KaDGTbHbHs/7Ozh1IUGC5wHoDEsthZQjUrWMTBMtheQSphQJYyFKB9Q6Kznup24Mck3Uvk1IITaP73iAtTFkeB+6/oxao8jHWA2ex3lVLEQPEtmqpZVewfxKpQjOmYLx/OpjR6mzqlfqFTyQDEHrogufESN/l2YQnXBmLuhyY+YpBjS/5177WM5R/+I9bA+Cl66ye0DUYbfcMJZ9LuVgz/wQJbrh4uho+wb4R5nUz5NJOact4/WznQ8VHylbuOZDJUNx97Vazu2P5SDMi5bNAKpetpfZkhe8SdyeYEfUVdlZ2ZgBwx5UVjoL7zWB7/ZllI3GNiW425vDVrBkJZeNaR/iUFnns4g+93wd89qpqC+Jtjh4uCvxkW1YMBDNhfvD9DU/Wc0VwBoff+FKz5JDwPrTNrC/Rglm5/zyIkVMF65kICmyHzRPeO5w+2Ow4dE7qumgpmwsIk2JXQw4E43H9n65Y75am8x2HfC2HKgWLEG+1I4BU1L2nBRs5GgrcLZM1t+9vd9vy+jx3j0abbhuypu0TSNnkWPbJBpWtV/w6VS6gsDR1XvQU6Vapa4qkJvrVaRTEMFvAsB2drcewQ/Q5BNj0JOSjA1NtljdFFwY/Srgzlwp1QNaVTx1inNU77dV12gU4qjSoI1XHictn5dla71l5KfnBdIjXl1U2oNcMKTh9SgfaPazthoHaXjswuBQ/8/ZX4ymdHVFHU+tmimoo4Ul4JBmdBFt5khDVBJtbS1junvt0REtO/tx6RLaSjIg+kKZ0oclktCibx//fP0HzCIIlCwnPFLn2+LHJsa8nBYSnnAAnwAlwApwAJ8AJcAKcACfACXACnAAnwAlwApwAJ8AJcAKcACfACXACnAAnwAlwApwAJ8AJcAKcACfACXACk4DA/wDoepVZ2hARhAAAAABJRU5ErkJggg=="}
+   */
+  result: {
+    /**
+     * A base64 encoded PNG image of the email.
+     */
+    screenshot: string;
+  };
+};
+
+export type EmailSecurityGetMessagePreviewVariables = {
+  pathParams: EmailSecurityGetMessagePreviewPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Returns a preview of the message body as a base64 encoded PNG image for non-benign messages.
+ */
+export const emailSecurityGetMessagePreview = (
+  variables: EmailSecurityGetMessagePreviewVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    EmailSecurityGetMessagePreviewResponse,
+    EmailSecurityGetMessagePreviewError,
+    undefined,
+    {},
+    {},
+    EmailSecurityGetMessagePreviewPathParams
+  >({
+    url: '/accounts/{accountId}/email-security/investigate/{postfixId}/preview',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type EmailSecurityGetMessageRawPathParams = {
+  accountId: Schemas.EmailSecurityAccountId;
+  /**
+   * @example 4Njp3P0STMz2c02Q
+   */
+  postfixId: string;
+};
+
+export type EmailSecurityGetMessageRawError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.EmailSecurityClientError;
+}>;
+
+export type EmailSecurityGetMessageRawResponse = Schemas.EmailSecurityApiResponseCommon & {
+  /**
+   * @example {"raw":"MIME-Version: 1.0\nContent-Type: text/plain; charset=\"utf-8\"\n\nFrom: sender@example.com\nTo: recipient@example.com\nSubject: Test Email\n\nThis is a test email."}
+   */
+  result: {
+    /**
+     * A UTF-8 encoded eml file of the email.
+     */
+    raw: string;
+  };
+};
+
+export type EmailSecurityGetMessageRawVariables = {
+  pathParams: EmailSecurityGetMessageRawPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Returns the raw eml of any non-benign message.
+ */
+export const emailSecurityGetMessageRaw = (variables: EmailSecurityGetMessageRawVariables, signal?: AbortSignal) =>
+  fetch<
+    EmailSecurityGetMessageRawResponse,
+    EmailSecurityGetMessageRawError,
+    undefined,
+    {},
+    {},
+    EmailSecurityGetMessageRawPathParams
+  >({ url: '/accounts/{accountId}/email-security/investigate/{postfixId}/raw', method: 'get', ...variables, signal });
+
+export type EmailSecurityPostReclassifyPathParams = {
+  accountId: Schemas.EmailSecurityAccountId;
+  /**
+   * @example 4Njp3P0STMz2c02Q
+   */
+  postfixId: string;
+};
+
+export type EmailSecurityPostReclassifyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.EmailSecurityClientError;
+}>;
+
+export type EmailSecurityPostReclassifyResponse = Schemas.EmailSecurityApiResponseCommon & {
+  result: Record<string, any>;
+};
+
+export type EmailSecurityPostReclassifyRequestBody = {
+  /**
+   * Base64 encoded content of the EML file
+   */
+  eml_content?: string | null;
+  expected_disposition: 'NONE' | 'BULK' | 'MALICIOUS' | 'SPAM' | 'SPOOF' | 'SUSPICIOUS';
+};
+
+export type EmailSecurityPostReclassifyVariables = {
+  body: EmailSecurityPostReclassifyRequestBody;
+  pathParams: EmailSecurityPostReclassifyPathParams;
+} & FetcherExtraProps;
+
+export const emailSecurityPostReclassify = (variables: EmailSecurityPostReclassifyVariables, signal?: AbortSignal) =>
+  fetch<
+    EmailSecurityPostReclassifyResponse,
+    EmailSecurityPostReclassifyError,
+    EmailSecurityPostReclassifyRequestBody,
+    {},
+    {},
+    EmailSecurityPostReclassifyPathParams
+  >({
+    url: '/accounts/{accountId}/email-security/investigate/{postfixId}/reclassify',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type EmailSecurityGetMessageTracePathParams = {
+  accountId: Schemas.EmailSecurityAccountId;
+  /**
+   * @example 4Njp3P0STMz2c02Q
+   */
+  postfixId: string;
+};
+
+export type EmailSecurityGetMessageTraceError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.EmailSecurityClientError;
+}>;
+
+export type EmailSecurityGetMessageTraceResponse = Schemas.EmailSecurityApiResponseCommon & {
+  result: {
+    inbound: {
+      lines?: Schemas.EmailSecurityTraceLine[] | null;
+    };
+    outbound: {
+      lines?: Schemas.EmailSecurityTraceLine[] | null;
+    };
+  };
+};
+
+export type EmailSecurityGetMessageTraceVariables = {
+  pathParams: EmailSecurityGetMessageTracePathParams;
+} & FetcherExtraProps;
+
+export const emailSecurityGetMessageTrace = (variables: EmailSecurityGetMessageTraceVariables, signal?: AbortSignal) =>
+  fetch<
+    EmailSecurityGetMessageTraceResponse,
+    EmailSecurityGetMessageTraceError,
+    undefined,
+    {},
+    {},
+    EmailSecurityGetMessageTracePathParams
+  >({ url: '/accounts/{accountId}/email-security/investigate/{postfixId}/trace', method: 'get', ...variables, signal });
+
+export type EmailSecurityListAllowPoliciesPathParams = {
+  accountId: Schemas.EmailSecurityAccountId;
+};
+
+export type EmailSecurityListAllowPoliciesQueryParams = {
+  /**
+   * The page number of paginated results.
+   *
+   * @default 1
+   * @format int32
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * The number of results per page.
+   *
+   * @default 20
+   * @format int32
+   * @minimum 1
+   */
+  per_page?: number;
+  /**
+   * The field to sort by.
+   */
+  order?: 'pattern' | 'created_at';
+  /**
+   * The sorting direction.
+   */
+  direction?: Schemas.EmailSecuritySortingDirection;
+  /**
+   * Allows searching in multiple properties of a record simultaneously.
+   * This parameter is intended for human users, not automation. Its exact
+   * behavior is intentionally left unspecified and is subject to change
+   * in the future.
+   */
+  search?: string;
+  is_sender?: boolean;
+  is_trusted_sender?: boolean;
+  is_recipient?: boolean;
+  is_exempt_recipient?: boolean;
+  is_spoof?: boolean;
+  is_acceptable_sender?: boolean;
+  verify_sender?: boolean;
+  pattern_type?: Schemas.EmailSecurityPatternType;
+};
+
+export type EmailSecurityListAllowPoliciesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.EmailSecurityClientError;
+}>;
+
+export type EmailSecurityListAllowPoliciesResponse = Schemas.EmailSecurityApiResponseCommon & {
+  result: Schemas.EmailSecurityAllowPolicy[];
+  result_info: Schemas.EmailSecurityResultInfo;
+};
+
+export type EmailSecurityListAllowPoliciesVariables = {
+  pathParams: EmailSecurityListAllowPoliciesPathParams;
+  queryParams?: EmailSecurityListAllowPoliciesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists, searches, and sorts an account’s email allow policies.
+ */
+export const emailSecurityListAllowPolicies = (
+  variables: EmailSecurityListAllowPoliciesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    EmailSecurityListAllowPoliciesResponse,
+    EmailSecurityListAllowPoliciesError,
+    undefined,
+    {},
+    EmailSecurityListAllowPoliciesQueryParams,
+    EmailSecurityListAllowPoliciesPathParams
+  >({ url: '/accounts/{accountId}/email-security/settings/allow_policies', method: 'get', ...variables, signal });
+
+export type EmailSecurityCreateAllowPolicyPathParams = {
+  accountId: Schemas.EmailSecurityAccountId;
+};
+
+export type EmailSecurityCreateAllowPolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.EmailSecurityClientError;
+}>;
+
+export type EmailSecurityCreateAllowPolicyResponse = Schemas.EmailSecurityApiResponseCommon & {
+  /**
+   * @example {"comments":"Trust all messages send from test@example.com","created_at":"2023-11-14T22:13:20Z","id":2401,"is_acceptable_sender":false,"is_exempt_recipient":false,"is_recipient":false,"is_regex":false,"is_sender":true,"is_spoof":false,"is_trusted_sender":true,"last_modified":"2023-11-14T22:13:20Z","pattern":"test@example.com","pattern_type":"EMAIL","verify_sender":true}
+   */
+  result: {
+    /**
+     * @maxLength 1024
+     */
+    comments?: string | null;
+    /**
+     * Messages from this sender will be exempted from Spam, Spoof and Bulk dispositions.
+     * Note: This will not exempt messages with Malicious or Suspicious dispositions.
+     */
+    is_acceptable_sender?: boolean;
+    /**
+     * Messages to this recipient will bypass all detections.
+     */
+    is_exempt_recipient?: boolean;
+    /**
+     * @deprecated true
+     */
+    is_recipient?: boolean;
+    is_regex: boolean;
+    /**
+     * @deprecated true
+     */
+    is_sender?: boolean;
+    /**
+     * @deprecated true
+     */
+    is_spoof?: boolean;
+    /**
+     * Messages from this sender will bypass all detections and link following.
+     */
+    is_trusted_sender?: boolean;
+    /**
+     * @maxLength 1024
+     * @minLength 1
+     */
+    pattern: string;
+    pattern_type: Schemas.EmailSecurityPatternType;
+    /**
+     * Enforce DMARC, SPF or DKIM authentication.
+     * When on, Email Security only honors policies that pass authentication.
+     */
+    verify_sender: boolean;
+    /**
+     * @format date-time
+     */
+    created_at: string;
+    id: Schemas.EmailSecurityAllowPolicyId;
+    /**
+     * @format date-time
+     */
+    last_modified: string;
+  };
+};
+
+export type EmailSecurityCreateAllowPolicyVariables = {
+  body: Schemas.EmailSecurityCreateAllowPolicy;
+  pathParams: EmailSecurityCreateAllowPolicyPathParams;
+} & FetcherExtraProps;
+
+export const emailSecurityCreateAllowPolicy = (
+  variables: EmailSecurityCreateAllowPolicyVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    EmailSecurityCreateAllowPolicyResponse,
+    EmailSecurityCreateAllowPolicyError,
+    Schemas.EmailSecurityCreateAllowPolicy,
+    {},
+    {},
+    EmailSecurityCreateAllowPolicyPathParams
+  >({ url: '/accounts/{accountId}/email-security/settings/allow_policies', method: 'post', ...variables, signal });
+
+export type EmailSecurityDeleteAllowPolicyPathParams = {
+  accountId: Schemas.EmailSecurityAccountId;
+  policyId: Schemas.EmailSecurityAllowPolicyId;
+};
+
+export type EmailSecurityDeleteAllowPolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.EmailSecurityClientError;
+}>;
+
+export type EmailSecurityDeleteAllowPolicyResponse = Schemas.EmailSecurityApiResponseCommon & {
+  result: {
+    /**
+     * The unique identifier for the allow policy.
+     *
+     * @example 2401
+     * @format int32
+     */
+    id: number;
+  };
+};
+
+export type EmailSecurityDeleteAllowPolicyVariables = {
+  pathParams: EmailSecurityDeleteAllowPolicyPathParams;
+} & FetcherExtraProps;
+
+export const emailSecurityDeleteAllowPolicy = (
+  variables: EmailSecurityDeleteAllowPolicyVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    EmailSecurityDeleteAllowPolicyResponse,
+    EmailSecurityDeleteAllowPolicyError,
+    undefined,
+    {},
+    {},
+    EmailSecurityDeleteAllowPolicyPathParams
+  >({
+    url: '/accounts/{accountId}/email-security/settings/allow_policies/{policyId}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type EmailSecurityGetAllowPolicyPathParams = {
+  accountId: Schemas.EmailSecurityAccountId;
+  policyId: Schemas.EmailSecurityAllowPolicyId;
+};
+
+export type EmailSecurityGetAllowPolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.EmailSecurityClientError;
+}>;
+
+export type EmailSecurityGetAllowPolicyResponse = Schemas.EmailSecurityApiResponseCommon & {
+  /**
+   * @example {"comments":"Trust all messages send from test@example.com","created_at":"2023-11-14T22:13:20Z","id":2401,"is_acceptable_sender":false,"is_exempt_recipient":false,"is_recipient":false,"is_regex":false,"is_sender":true,"is_spoof":false,"is_trusted_sender":true,"last_modified":"2023-11-14T22:13:20Z","pattern":"test@example.com","pattern_type":"EMAIL","verify_sender":true}
+   */
+  result: {
+    /**
+     * @maxLength 1024
+     */
+    comments?: string | null;
+    /**
+     * Messages from this sender will be exempted from Spam, Spoof and Bulk dispositions.
+     * Note: This will not exempt messages with Malicious or Suspicious dispositions.
+     */
+    is_acceptable_sender?: boolean;
+    /**
+     * Messages to this recipient will bypass all detections.
+     */
+    is_exempt_recipient?: boolean;
+    /**
+     * @deprecated true
+     */
+    is_recipient?: boolean;
+    is_regex: boolean;
+    /**
+     * @deprecated true
+     */
+    is_sender?: boolean;
+    /**
+     * @deprecated true
+     */
+    is_spoof?: boolean;
+    /**
+     * Messages from this sender will bypass all detections and link following.
+     */
+    is_trusted_sender?: boolean;
+    /**
+     * @maxLength 1024
+     * @minLength 1
+     */
+    pattern: string;
+    pattern_type: Schemas.EmailSecurityPatternType;
+    /**
+     * Enforce DMARC, SPF or DKIM authentication.
+     * When on, Email Security only honors policies that pass authentication.
+     */
+    verify_sender: boolean;
+    /**
+     * @format date-time
+     */
+    created_at: string;
+    id: Schemas.EmailSecurityAllowPolicyId;
+    /**
+     * @format date-time
+     */
+    last_modified: string;
+  };
+};
+
+export type EmailSecurityGetAllowPolicyVariables = {
+  pathParams: EmailSecurityGetAllowPolicyPathParams;
+} & FetcherExtraProps;
+
+export const emailSecurityGetAllowPolicy = (variables: EmailSecurityGetAllowPolicyVariables, signal?: AbortSignal) =>
+  fetch<
+    EmailSecurityGetAllowPolicyResponse,
+    EmailSecurityGetAllowPolicyError,
+    undefined,
+    {},
+    {},
+    EmailSecurityGetAllowPolicyPathParams
+  >({
+    url: '/accounts/{accountId}/email-security/settings/allow_policies/{policyId}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type EmailSecurityUpdateAllowPolicyPathParams = {
+  accountId: Schemas.EmailSecurityAccountId;
+  policyId: Schemas.EmailSecurityAllowPolicyId;
+};
+
+export type EmailSecurityUpdateAllowPolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.EmailSecurityClientError;
+}>;
+
+export type EmailSecurityUpdateAllowPolicyResponse = Schemas.EmailSecurityApiResponseCommon & {
+  /**
+   * @example {"comments":"Trust all messages send from test@example.com","created_at":"2023-11-14T22:13:20Z","id":2401,"is_acceptable_sender":false,"is_exempt_recipient":false,"is_recipient":false,"is_regex":false,"is_sender":true,"is_spoof":false,"is_trusted_sender":true,"last_modified":"2023-11-14T22:13:20Z","pattern":"test@example.com","pattern_type":"EMAIL","verify_sender":true}
+   */
+  result: {
+    /**
+     * @maxLength 1024
+     */
+    comments?: string | null;
+    /**
+     * Messages from this sender will be exempted from Spam, Spoof and Bulk dispositions.
+     * Note: This will not exempt messages with Malicious or Suspicious dispositions.
+     */
+    is_acceptable_sender?: boolean;
+    /**
+     * Messages to this recipient will bypass all detections.
+     */
+    is_exempt_recipient?: boolean;
+    /**
+     * @deprecated true
+     */
+    is_recipient?: boolean;
+    is_regex: boolean;
+    /**
+     * @deprecated true
+     */
+    is_sender?: boolean;
+    /**
+     * @deprecated true
+     */
+    is_spoof?: boolean;
+    /**
+     * Messages from this sender will bypass all detections and link following.
+     */
+    is_trusted_sender?: boolean;
+    /**
+     * @maxLength 1024
+     * @minLength 1
+     */
+    pattern: string;
+    pattern_type: Schemas.EmailSecurityPatternType;
+    /**
+     * Enforce DMARC, SPF or DKIM authentication.
+     * When on, Email Security only honors policies that pass authentication.
+     */
+    verify_sender: boolean;
+    /**
+     * @format date-time
+     */
+    created_at: string;
+    id: Schemas.EmailSecurityAllowPolicyId;
+    /**
+     * @format date-time
+     */
+    last_modified: string;
+  };
+};
+
+export type EmailSecurityUpdateAllowPolicyVariables = {
+  body?: Schemas.EmailSecurityUpdateAllowPolicy;
+  pathParams: EmailSecurityUpdateAllowPolicyPathParams;
+} & FetcherExtraProps;
+
+export const emailSecurityUpdateAllowPolicy = (
+  variables: EmailSecurityUpdateAllowPolicyVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    EmailSecurityUpdateAllowPolicyResponse,
+    EmailSecurityUpdateAllowPolicyError,
+    Schemas.EmailSecurityUpdateAllowPolicy,
+    {},
+    {},
+    EmailSecurityUpdateAllowPolicyPathParams
+  >({
+    url: '/accounts/{accountId}/email-security/settings/allow_policies/{policyId}',
+    method: 'patch',
+    ...variables,
+    signal
+  });
+
+export type EmailSecurityListBlockedSendersPathParams = {
+  accountId: Schemas.EmailSecurityAccountId;
+};
+
+export type EmailSecurityListBlockedSendersQueryParams = {
+  /**
+   * The page number of paginated results.
+   *
+   * @default 1
+   * @format int32
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * The number of results per page.
+   *
+   * @default 20
+   * @format int32
+   * @minimum 1
+   */
+  per_page?: number;
+  /**
+   * The field to sort by.
+   */
+  order?: 'pattern' | 'created_at';
+  /**
+   * The sorting direction.
+   */
+  direction?: Schemas.EmailSecuritySortingDirection;
+  /**
+   * Allows searching in multiple properties of a record simultaneously.
+   * This parameter is intended for human users, not automation. Its exact
+   * behavior is intentionally left unspecified and is subject to change
+   * in the future.
+   */
+  search?: string;
+  pattern_type?: Schemas.EmailSecurityPatternType;
+};
+
+export type EmailSecurityListBlockedSendersError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.EmailSecurityClientError;
+}>;
+
+export type EmailSecurityListBlockedSendersResponse = Schemas.EmailSecurityApiResponseCommon & {
+  result: Schemas.EmailSecurityBlockedSender[];
+  result_info: Schemas.EmailSecurityResultInfo;
+};
+
+export type EmailSecurityListBlockedSendersVariables = {
+  pathParams: EmailSecurityListBlockedSendersPathParams;
+  queryParams?: EmailSecurityListBlockedSendersQueryParams;
+} & FetcherExtraProps;
+
+export const emailSecurityListBlockedSenders = (
+  variables: EmailSecurityListBlockedSendersVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    EmailSecurityListBlockedSendersResponse,
+    EmailSecurityListBlockedSendersError,
+    undefined,
+    {},
+    EmailSecurityListBlockedSendersQueryParams,
+    EmailSecurityListBlockedSendersPathParams
+  >({ url: '/accounts/{accountId}/email-security/settings/block_senders', method: 'get', ...variables, signal });
+
+export type EmailSecurityCreateBlockedSenderPathParams = {
+  accountId: Schemas.EmailSecurityAccountId;
+};
+
+export type EmailSecurityCreateBlockedSenderError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.EmailSecurityClientError;
+}>;
+
+export type EmailSecurityCreateBlockedSenderResponse = Schemas.EmailSecurityApiResponseCommon & {
+  /**
+   * @example {"comments":"block sender with email test@example.com","created_at":"2023-11-14T22:13:20Z","id":2402,"is_regex":false,"last_modified":"2023-11-14T22:13:20Z","pattern":"test@example.com","pattern_type":"EMAIL"}
+   */
+  result: {
+    /**
+     * @maxLength 1024
+     */
+    comments?: string | null;
+    is_regex?: boolean;
+    /**
+     * @maxLength 1024
+     * @minLength 1
+     */
+    pattern?: string;
+    pattern_type?: Schemas.EmailSecurityPatternType;
+    /**
+     * @format date-time
+     */
+    created_at: string;
+    id: Schemas.EmailSecurityBlockedSenderId;
+    /**
+     * @format date-time
+     */
+    last_modified: string;
+  };
+};
+
+export type EmailSecurityCreateBlockedSenderVariables = {
+  body: Schemas.EmailSecurityCreateBlockedSender;
+  pathParams: EmailSecurityCreateBlockedSenderPathParams;
+} & FetcherExtraProps;
+
+export const emailSecurityCreateBlockedSender = (
+  variables: EmailSecurityCreateBlockedSenderVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    EmailSecurityCreateBlockedSenderResponse,
+    EmailSecurityCreateBlockedSenderError,
+    Schemas.EmailSecurityCreateBlockedSender,
+    {},
+    {},
+    EmailSecurityCreateBlockedSenderPathParams
+  >({ url: '/accounts/{accountId}/email-security/settings/block_senders', method: 'post', ...variables, signal });
+
+export type EmailSecurityDeleteBlockedSenderPathParams = {
+  accountId: Schemas.EmailSecurityAccountId;
+  patternId: Schemas.EmailSecurityBlockedSenderId;
+};
+
+export type EmailSecurityDeleteBlockedSenderError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.EmailSecurityClientError;
+}>;
+
+export type EmailSecurityDeleteBlockedSenderResponse = Schemas.EmailSecurityApiResponseCommon & {
+  result: {
+    /**
+     * The unique identifier for the allow policy.
+     *
+     * @example 2402
+     * @format int32
+     */
+    id: number;
+  };
+};
+
+export type EmailSecurityDeleteBlockedSenderVariables = {
+  pathParams: EmailSecurityDeleteBlockedSenderPathParams;
+} & FetcherExtraProps;
+
+export const emailSecurityDeleteBlockedSender = (
+  variables: EmailSecurityDeleteBlockedSenderVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    EmailSecurityDeleteBlockedSenderResponse,
+    EmailSecurityDeleteBlockedSenderError,
+    undefined,
+    {},
+    {},
+    EmailSecurityDeleteBlockedSenderPathParams
+  >({
+    url: '/accounts/{accountId}/email-security/settings/block_senders/{patternId}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type EmailSecurityGetBlockedSenderPathParams = {
+  accountId: Schemas.EmailSecurityAccountId;
+  patternId: Schemas.EmailSecurityBlockedSenderId;
+};
+
+export type EmailSecurityGetBlockedSenderError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.EmailSecurityClientError;
+}>;
+
+export type EmailSecurityGetBlockedSenderResponse = Schemas.EmailSecurityApiResponseCommon & {
+  /**
+   * @example {"comments":"block sender with email test@example.com","created_at":"2023-11-14T22:13:20Z","id":2402,"is_regex":false,"last_modified":"2023-11-14T22:13:20Z","pattern":"test@example.com","pattern_type":"EMAIL"}
+   */
+  result: {
+    /**
+     * @maxLength 1024
+     */
+    comments?: string | null;
+    is_regex?: boolean;
+    /**
+     * @maxLength 1024
+     * @minLength 1
+     */
+    pattern?: string;
+    pattern_type?: Schemas.EmailSecurityPatternType;
+    /**
+     * @format date-time
+     */
+    created_at: string;
+    id: Schemas.EmailSecurityBlockedSenderId;
+    /**
+     * @format date-time
+     */
+    last_modified: string;
+  };
+};
+
+export type EmailSecurityGetBlockedSenderVariables = {
+  pathParams: EmailSecurityGetBlockedSenderPathParams;
+} & FetcherExtraProps;
+
+export const emailSecurityGetBlockedSender = (
+  variables: EmailSecurityGetBlockedSenderVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    EmailSecurityGetBlockedSenderResponse,
+    EmailSecurityGetBlockedSenderError,
+    undefined,
+    {},
+    {},
+    EmailSecurityGetBlockedSenderPathParams
+  >({
+    url: '/accounts/{accountId}/email-security/settings/block_senders/{patternId}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type EmailSecurityUpdateBlockedSenderPathParams = {
+  accountId: Schemas.EmailSecurityAccountId;
+  patternId: Schemas.EmailSecurityBlockedSenderId;
+};
+
+export type EmailSecurityUpdateBlockedSenderError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.EmailSecurityClientError;
+}>;
+
+export type EmailSecurityUpdateBlockedSenderResponse = Schemas.EmailSecurityApiResponseCommon & {
+  /**
+   * @example {"comments":"block sender with email test@example.com","created_at":"2023-11-14T22:13:20Z","id":2402,"is_regex":false,"last_modified":"2023-11-14T22:13:20Z","pattern":"test@example.com","pattern_type":"EMAIL"}
+   */
+  result: {
+    /**
+     * @maxLength 1024
+     */
+    comments?: string | null;
+    is_regex?: boolean;
+    /**
+     * @maxLength 1024
+     * @minLength 1
+     */
+    pattern?: string;
+    pattern_type?: Schemas.EmailSecurityPatternType;
+    /**
+     * @format date-time
+     */
+    created_at: string;
+    id: Schemas.EmailSecurityBlockedSenderId;
+    /**
+     * @format date-time
+     */
+    last_modified: string;
+  };
+};
+
+export type EmailSecurityUpdateBlockedSenderVariables = {
+  body?: Schemas.EmailSecurityUpdateBlockedSender;
+  pathParams: EmailSecurityUpdateBlockedSenderPathParams;
+} & FetcherExtraProps;
+
+export const emailSecurityUpdateBlockedSender = (
+  variables: EmailSecurityUpdateBlockedSenderVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    EmailSecurityUpdateBlockedSenderResponse,
+    EmailSecurityUpdateBlockedSenderError,
+    Schemas.EmailSecurityUpdateBlockedSender,
+    {},
+    {},
+    EmailSecurityUpdateBlockedSenderPathParams
+  >({
+    url: '/accounts/{accountId}/email-security/settings/block_senders/{patternId}',
+    method: 'patch',
+    ...variables,
+    signal
+  });
+
+export type EmailSecurityDeleteDomainsPathParams = {
+  accountId: Schemas.EmailSecurityAccountId;
+};
+
+export type EmailSecurityDeleteDomainsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.EmailSecurityClientError;
+}>;
+
+export type EmailSecurityDeleteDomainsResponse = Schemas.EmailSecurityApiResponseCommon & {
+  /**
+   * @minItems 1
+   */
+  result: {
+    /**
+     * The unique identifier for the domain.
+     *
+     * @example 2400
+     * @format int32
+     */
+    id: number;
+  }[];
+};
+
+export type EmailSecurityDeleteDomainsRequestBody = {
+  /**
+   * The unique identifier for the domain.
+   *
+   * @example 2400
+   * @format int32
+   */
+  id: number;
+}[];
+
+export type EmailSecurityDeleteDomainsVariables = {
+  body?: EmailSecurityDeleteDomainsRequestBody;
+  pathParams: EmailSecurityDeleteDomainsPathParams;
+} & FetcherExtraProps;
+
+export const emailSecurityDeleteDomains = (variables: EmailSecurityDeleteDomainsVariables, signal?: AbortSignal) =>
+  fetch<
+    EmailSecurityDeleteDomainsResponse,
+    EmailSecurityDeleteDomainsError,
+    EmailSecurityDeleteDomainsRequestBody,
+    {},
+    {},
+    EmailSecurityDeleteDomainsPathParams
+  >({ url: '/accounts/{accountId}/email-security/settings/domains', method: 'delete', ...variables, signal });
+
+export type EmailSecurityListDomainsPathParams = {
+  accountId: Schemas.EmailSecurityAccountId;
+};
+
+export type EmailSecurityListDomainsQueryParams = {
+  /**
+   * The page number of paginated results.
+   *
+   * @default 1
+   * @format int32
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * The number of results per page.
+   *
+   * @default 20
+   * @format int32
+   * @minimum 1
+   */
+  per_page?: number;
+  /**
+   * The field to sort by.
+   */
+  order?: 'domain' | 'created_at';
+  /**
+   * The sorting direction.
+   */
+  direction?: Schemas.EmailSecuritySortingDirection;
+  /**
+   * Allows searching in multiple properties of a record simultaneously.
+   * This parameter is intended for human users, not automation. Its exact
+   * behavior is intentionally left unspecified and is subject to change
+   * in the future.
+   */
+  search?: string;
+  /**
+   * Filters response to domains with the provided delivery mode.
+   */
+  allowed_delivery_mode?: Schemas.EmailSecurityDeliveryMode;
+  /**
+   * Filters results by the provided domains, allowing for multiple occurrences.
+   */
+  domain?: string[];
+};
+
+export type EmailSecurityListDomainsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.EmailSecurityClientError;
+}>;
+
+export type EmailSecurityListDomainsResponse = Schemas.EmailSecurityApiResponseCommon & {
+  result: Schemas.EmailSecurityDomain[];
+  result_info: Schemas.EmailSecurityResultInfo;
+};
+
+export type EmailSecurityListDomainsVariables = {
+  pathParams: EmailSecurityListDomainsPathParams;
+  queryParams?: EmailSecurityListDomainsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists, searches, and sorts an account’s email domains.
+ */
+export const emailSecurityListDomains = (variables: EmailSecurityListDomainsVariables, signal?: AbortSignal) =>
+  fetch<
+    EmailSecurityListDomainsResponse,
+    EmailSecurityListDomainsError,
+    undefined,
+    {},
+    EmailSecurityListDomainsQueryParams,
+    EmailSecurityListDomainsPathParams
+  >({ url: '/accounts/{accountId}/email-security/settings/domains', method: 'get', ...variables, signal });
+
+export type EmailSecurityDeleteDomainPathParams = {
+  accountId: Schemas.EmailSecurityAccountId;
+  /**
+   * @example 2400
+   * @format int32
+   */
+  domainId: number;
+};
+
+export type EmailSecurityDeleteDomainError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.EmailSecurityClientError;
+}>;
+
+export type EmailSecurityDeleteDomainResponse = Schemas.EmailSecurityApiResponseCommon & {
+  result: {
+    /**
+     * The unique identifier for the domain.
+     *
+     * @example 2400
+     * @format int32
+     */
+    id: number;
+  };
+};
+
+export type EmailSecurityDeleteDomainVariables = {
+  pathParams: EmailSecurityDeleteDomainPathParams;
+} & FetcherExtraProps;
+
+export const emailSecurityDeleteDomain = (variables: EmailSecurityDeleteDomainVariables, signal?: AbortSignal) =>
+  fetch<
+    EmailSecurityDeleteDomainResponse,
+    EmailSecurityDeleteDomainError,
+    undefined,
+    {},
+    {},
+    EmailSecurityDeleteDomainPathParams
+  >({
+    url: '/accounts/{accountId}/email-security/settings/domains/{domainId}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type EmailSecurityGetDomainPathParams = {
+  accountId: Schemas.EmailSecurityAccountId;
+  /**
+   * @example 2400
+   * @format int32
+   */
+  domainId: number;
+};
+
+export type EmailSecurityGetDomainError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.EmailSecurityClientError;
+}>;
+
+export type EmailSecurityGetDomainResponse = Schemas.EmailSecurityApiResponseCommon & {
+  /**
+   * @example {"allowed_delivery_modes":["API"],"created_at":"2023-11-14T22:13:20Z","domain":"example.com","drop_dispositions":["MALICIOUS","SPAM"],"folder":"Inbox","id":2400,"inbox_provider":"Microsoft","integration_id":"a5dbb180-60ea-4578-84bb-d01a5d4e50c3","ip_restrictions":[],"last_modified":"2023-11-14T22:13:20Z","lookback_hops":2,"o365_tenant_id":"c3c3239d-8858-47df-9618-0e2d9bdf6aa8","require_tls_inbound":false,"require_tls_outbound":true,"transport":"example.com"}
+   */
+  result: {
+    allowed_delivery_modes: Schemas.EmailSecurityDeliveryMode[];
+    /**
+     * @format date-time
+     */
+    created_at: string;
+    domain: string;
+    drop_dispositions: Schemas.EmailSecurityDispositionLabel[];
+    folder?: Schemas.EmailSecurityScannableFolder & (string | null);
+    /**
+     * The unique identifier for the domain.
+     *
+     * @example 2400
+     * @format int32
+     */
+    id: number;
+    inbox_provider?: 'Microsoft' | 'Google' | null;
+    /**
+     * @format uuid
+     */
+    integration_id?: string | null;
+    /**
+     * @example 192.0.2.0/24
+     * @example 2001:db8::/32
+     */
+    ip_restrictions: string[];
+    /**
+     * @format date-time
+     */
+    last_modified: string;
+    /**
+     * @format int32
+     */
+    lookback_hops: number;
+    o365_tenant_id?: string | null;
+    require_tls_inbound?: boolean | null;
+    require_tls_outbound?: boolean | null;
+    transport: string;
+  };
+};
+
+export type EmailSecurityGetDomainVariables = {
+  pathParams: EmailSecurityGetDomainPathParams;
+} & FetcherExtraProps;
+
+export const emailSecurityGetDomain = (variables: EmailSecurityGetDomainVariables, signal?: AbortSignal) =>
+  fetch<
+    EmailSecurityGetDomainResponse,
+    EmailSecurityGetDomainError,
+    undefined,
+    {},
+    {},
+    EmailSecurityGetDomainPathParams
+  >({ url: '/accounts/{accountId}/email-security/settings/domains/{domainId}', method: 'get', ...variables, signal });
+
+export type EmailSecurityUpdateDomainPathParams = {
+  accountId: Schemas.EmailSecurityAccountId;
+  /**
+   * @example 2400
+   * @format int32
+   */
+  domainId: number;
+};
+
+export type EmailSecurityUpdateDomainError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.EmailSecurityClientError;
+}>;
+
+export type EmailSecurityUpdateDomainResponse = Schemas.EmailSecurityApiResponseCommon & {
+  /**
+   * @example {"allowed_delivery_modes":["API"],"created_at":"2023-11-14T22:13:20Z","domain":"example.com","drop_dispositions":["MALICIOUS","SPAM"],"folder":"Inbox","id":2400,"inbox_provider":"Microsoft","integration_id":"a5dbb180-60ea-4578-84bb-d01a5d4e50c3","ip_restrictions":[],"last_modified":"2023-11-14T22:13:20Z","lookback_hops":2,"o365_tenant_id":"c3c3239d-8858-47df-9618-0e2d9bdf6aa8","require_tls_inbound":false,"require_tls_outbound":true,"transport":"example.com"}
+   */
+  result: {
+    allowed_delivery_modes: Schemas.EmailSecurityDeliveryMode[];
+    /**
+     * @format date-time
+     */
+    created_at: string;
+    domain: string;
+    drop_dispositions: Schemas.EmailSecurityDispositionLabel[];
+    folder?: Schemas.EmailSecurityScannableFolder & (string | null);
+    /**
+     * The unique identifier for the domain.
+     *
+     * @example 2400
+     * @format int32
+     */
+    id: number;
+    inbox_provider?: 'Microsoft' | 'Google' | null;
+    /**
+     * @format uuid
+     */
+    integration_id?: string | null;
+    /**
+     * @example 192.0.2.0/24
+     * @example 2001:db8::/32
+     */
+    ip_restrictions: string[];
+    /**
+     * @format date-time
+     */
+    last_modified: string;
+    /**
+     * @format int32
+     */
+    lookback_hops: number;
+    o365_tenant_id?: string | null;
+    require_tls_inbound?: boolean | null;
+    require_tls_outbound?: boolean | null;
+    transport: string;
+  };
+};
+
+export type EmailSecurityUpdateDomainRequestBody = {
+  domain?: string | null;
+  drop_dispositions?: Schemas.EmailSecurityDispositionLabel[];
+  folder?: Schemas.EmailSecurityScannableFolder;
+  /**
+   * @format uuid
+   */
+  integration_id?: string | null;
+  /**
+   * @example 192.0.2.0/24
+   * @example 2001:db8::/32
+   */
+  ip_restrictions: string[];
+  /**
+   * @format int32
+   * @maximum 20
+   * @minimum 1
+   */
+  lookback_hops?: number | null;
+  require_tls_inbound?: boolean;
+  require_tls_outbound?: boolean;
+  transport?: string;
+};
+
+export type EmailSecurityUpdateDomainVariables = {
+  body: EmailSecurityUpdateDomainRequestBody;
+  pathParams: EmailSecurityUpdateDomainPathParams;
+} & FetcherExtraProps;
+
+export const emailSecurityUpdateDomain = (variables: EmailSecurityUpdateDomainVariables, signal?: AbortSignal) =>
+  fetch<
+    EmailSecurityUpdateDomainResponse,
+    EmailSecurityUpdateDomainError,
+    EmailSecurityUpdateDomainRequestBody,
+    {},
+    {},
+    EmailSecurityUpdateDomainPathParams
+  >({ url: '/accounts/{accountId}/email-security/settings/domains/{domainId}', method: 'patch', ...variables, signal });
+
+export type EmailSecurityListDisplayNamesPathParams = {
+  accountId: Schemas.EmailSecurityAccountId;
+};
+
+export type EmailSecurityListDisplayNamesQueryParams = {
+  /**
+   * The page number of paginated results.
+   *
+   * @default 1
+   * @format int32
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * The number of results per page.
+   *
+   * @default 20
+   * @format int32
+   * @minimum 1
+   */
+  per_page?: number;
+  /**
+   * The field to sort by.
+   */
+  order?: 'name' | 'email' | 'created_at';
+  /**
+   * The sorting direction.
+   */
+  direction?: Schemas.EmailSecuritySortingDirection;
+  /**
+   * Allows searching in multiple properties of a record simultaneously.
+   * This parameter is intended for human users, not automation. Its exact
+   * behavior is intentionally left unspecified and is subject to change
+   * in the future.
+   */
+  search?: string;
+  provenance?: 'A1S_INTERNAL' | 'SNOOPY-CASB_OFFICE_365' | 'SNOOPY-OFFICE_365' | 'SNOOPY-GOOGLE_DIRECTORY';
+};
+
+export type EmailSecurityListDisplayNamesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.EmailSecurityClientError;
+}>;
+
+export type EmailSecurityListDisplayNamesResponse = Schemas.EmailSecurityApiResponseCommon & {
+  result: Schemas.EmailSecurityDisplayName[];
+  result_info: Schemas.EmailSecurityResultInfo;
+};
+
+export type EmailSecurityListDisplayNamesVariables = {
+  pathParams: EmailSecurityListDisplayNamesPathParams;
+  queryParams?: EmailSecurityListDisplayNamesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists, searches, and sorts entries in the impersonation registry.
+ */
+export const emailSecurityListDisplayNames = (
+  variables: EmailSecurityListDisplayNamesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    EmailSecurityListDisplayNamesResponse,
+    EmailSecurityListDisplayNamesError,
+    undefined,
+    {},
+    EmailSecurityListDisplayNamesQueryParams,
+    EmailSecurityListDisplayNamesPathParams
+  >({
+    url: '/accounts/{accountId}/email-security/settings/impersonation_registry',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type EmailSecurityCreateDisplayNamePathParams = {
+  accountId: Schemas.EmailSecurityAccountId;
+};
+
+export type EmailSecurityCreateDisplayNameError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.EmailSecurityClientError;
+}>;
+
+export type EmailSecurityCreateDisplayNameResponse = Schemas.EmailSecurityApiResponseCommon & {
+  result: Schemas.EmailSecurityDisplayName | Schemas.EmailSecurityDisplayName[];
+};
+
+export type EmailSecurityCreateDisplayNameVariables = {
+  body?: Schemas.EmailSecurityCreateDisplayName | Schemas.EmailSecurityCreateDisplayName[];
+  pathParams: EmailSecurityCreateDisplayNamePathParams;
+} & FetcherExtraProps;
+
+export const emailSecurityCreateDisplayName = (
+  variables: EmailSecurityCreateDisplayNameVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    EmailSecurityCreateDisplayNameResponse,
+    EmailSecurityCreateDisplayNameError,
+    Schemas.EmailSecurityCreateDisplayName | Schemas.EmailSecurityCreateDisplayName[],
+    {},
+    {},
+    EmailSecurityCreateDisplayNamePathParams
+  >({
+    url: '/accounts/{accountId}/email-security/settings/impersonation_registry',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type EmailSecurityDeleteDisplayNamePathParams = {
+  accountId: Schemas.EmailSecurityAccountId;
+  /**
+   * @example 2403
+   * @format int32
+   */
+  displayNameId: number;
+};
+
+export type EmailSecurityDeleteDisplayNameError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.EmailSecurityClientError;
+}>;
+
+export type EmailSecurityDeleteDisplayNameResponse = Schemas.EmailSecurityApiResponseCommon & {
+  result: {
+    /**
+     * @example 2403
+     * @format int32
+     */
+    id: number;
+  };
+};
+
+export type EmailSecurityDeleteDisplayNameVariables = {
+  pathParams: EmailSecurityDeleteDisplayNamePathParams;
+} & FetcherExtraProps;
+
+export const emailSecurityDeleteDisplayName = (
+  variables: EmailSecurityDeleteDisplayNameVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    EmailSecurityDeleteDisplayNameResponse,
+    EmailSecurityDeleteDisplayNameError,
+    undefined,
+    {},
+    {},
+    EmailSecurityDeleteDisplayNamePathParams
+  >({
+    url: '/accounts/{accountId}/email-security/settings/impersonation_registry/{displayNameId}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type EmailSecurityGetDisplayNamePathParams = {
+  accountId: Schemas.EmailSecurityAccountId;
+  /**
+   * @example 2403
+   * @format int32
+   */
+  displayNameId: number;
+};
+
+export type EmailSecurityGetDisplayNameError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.EmailSecurityClientError;
+}>;
+
+export type EmailSecurityGetDisplayNameResponse = Schemas.EmailSecurityApiResponseCommon & {
+  result: {
+    comments?: string | null;
+    /**
+     * @format date-time
+     */
+    created_at: string;
+    /**
+     * @format int64
+     */
+    directory_id?: number | null;
+    /**
+     * @format int32
+     */
+    directory_node_id?: number | null;
+    email?: string | null;
+    /**
+     * @deprecated true
+     */
+    external_directory_node_id?: string | null;
+    /**
+     * @example 2403
+     * @format int32
+     */
+    id: number;
+    is_email_regex: boolean;
+    /**
+     * @format date-time
+     */
+    last_modified: string;
+    name: string;
+    provenance?: string | null;
+  };
+};
+
+export type EmailSecurityGetDisplayNameVariables = {
+  pathParams: EmailSecurityGetDisplayNamePathParams;
+} & FetcherExtraProps;
+
+export const emailSecurityGetDisplayName = (variables: EmailSecurityGetDisplayNameVariables, signal?: AbortSignal) =>
+  fetch<
+    EmailSecurityGetDisplayNameResponse,
+    EmailSecurityGetDisplayNameError,
+    undefined,
+    {},
+    {},
+    EmailSecurityGetDisplayNamePathParams
+  >({
+    url: '/accounts/{accountId}/email-security/settings/impersonation_registry/{displayNameId}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type EmailSecurityUpdateDisplayNamePathParams = {
+  accountId: Schemas.EmailSecurityAccountId;
+  /**
+   * @example 2403
+   * @format int32
+   */
+  displayNameId: number;
+};
+
+export type EmailSecurityUpdateDisplayNameError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.EmailSecurityClientError;
+}>;
+
+export type EmailSecurityUpdateDisplayNameResponse = Schemas.EmailSecurityApiResponseCommon & {
+  result: {
+    comments?: string | null;
+    /**
+     * @format date-time
+     */
+    created_at: string;
+    /**
+     * @format int64
+     */
+    directory_id?: number | null;
+    /**
+     * @format int32
+     */
+    directory_node_id?: number | null;
+    email?: string | null;
+    /**
+     * @deprecated true
+     */
+    external_directory_node_id?: string | null;
+    /**
+     * @example 2403
+     * @format int32
+     */
+    id: number;
+    is_email_regex: boolean;
+    /**
+     * @format date-time
+     */
+    last_modified: string;
+    name: string;
+    provenance?: string | null;
+  };
+};
+
+export type EmailSecurityUpdateDisplayNameRequestBody = {
+  email?: string | null;
+  is_email_regex?: boolean | null;
+  name?: string | null;
+};
+
+export type EmailSecurityUpdateDisplayNameVariables = {
+  body?: EmailSecurityUpdateDisplayNameRequestBody;
+  pathParams: EmailSecurityUpdateDisplayNamePathParams;
+} & FetcherExtraProps;
+
+export const emailSecurityUpdateDisplayName = (
+  variables: EmailSecurityUpdateDisplayNameVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    EmailSecurityUpdateDisplayNameResponse,
+    EmailSecurityUpdateDisplayNameError,
+    EmailSecurityUpdateDisplayNameRequestBody,
+    {},
+    {},
+    EmailSecurityUpdateDisplayNamePathParams
+  >({
+    url: '/accounts/{accountId}/email-security/settings/impersonation_registry/{displayNameId}',
+    method: 'patch',
+    ...variables,
+    signal
+  });
+
+export type EmailSecurityListTrustedDomainsPathParams = {
+  accountId: Schemas.EmailSecurityAccountId;
+};
+
+export type EmailSecurityListTrustedDomainsQueryParams = {
+  /**
+   * The page number of paginated results.
+   *
+   * @default 1
+   * @format int32
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * The number of results per page.
+   *
+   * @default 20
+   * @format int32
+   * @minimum 1
+   */
+  per_page?: number;
+  /**
+   * The field to sort by.
+   */
+  order?: 'pattern' | 'created_at';
+  /**
+   * The sorting direction.
+   */
+  direction?: Schemas.EmailSecuritySortingDirection;
+  /**
+   * Allows searching in multiple properties of a record simultaneously.
+   * This parameter is intended for human users, not automation. Its exact
+   * behavior is intentionally left unspecified and is subject to change
+   * in the future.
+   */
+  search?: string;
+  is_recent?: boolean;
+  is_similarity?: boolean;
+};
+
+export type EmailSecurityListTrustedDomainsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.EmailSecurityClientError;
+}>;
+
+export type EmailSecurityListTrustedDomainsResponse = Schemas.EmailSecurityApiResponseCommon & {
+  result: Schemas.EmailSecurityTrustedDomain[];
+  result_info: Schemas.EmailSecurityResultInfo;
+};
+
+export type EmailSecurityListTrustedDomainsVariables = {
+  pathParams: EmailSecurityListTrustedDomainsPathParams;
+  queryParams?: EmailSecurityListTrustedDomainsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists, searches, and sorts an account’s trusted email domains.
+ */
+export const emailSecurityListTrustedDomains = (
+  variables: EmailSecurityListTrustedDomainsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    EmailSecurityListTrustedDomainsResponse,
+    EmailSecurityListTrustedDomainsError,
+    undefined,
+    {},
+    EmailSecurityListTrustedDomainsQueryParams,
+    EmailSecurityListTrustedDomainsPathParams
+  >({ url: '/accounts/{accountId}/email-security/settings/trusted_domains', method: 'get', ...variables, signal });
+
+export type EmailSecurityCreateTrustedDomainPathParams = {
+  accountId: Schemas.EmailSecurityAccountId;
+};
+
+export type EmailSecurityCreateTrustedDomainError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.EmailSecurityClientError;
+}>;
+
+export type EmailSecurityCreateTrustedDomainResponse = Schemas.EmailSecurityApiResponseCommon & {
+  result: Schemas.EmailSecurityTrustedDomain | Schemas.EmailSecurityTrustedDomain[];
+};
+
+export type EmailSecurityCreateTrustedDomainVariables = {
+  body?: Schemas.EmailSecurityCreateTrustedDomain | Schemas.EmailSecurityCreateTrustedDomain[];
+  pathParams: EmailSecurityCreateTrustedDomainPathParams;
+} & FetcherExtraProps;
+
+export const emailSecurityCreateTrustedDomain = (
+  variables: EmailSecurityCreateTrustedDomainVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    EmailSecurityCreateTrustedDomainResponse,
+    EmailSecurityCreateTrustedDomainError,
+    Schemas.EmailSecurityCreateTrustedDomain | Schemas.EmailSecurityCreateTrustedDomain[],
+    {},
+    {},
+    EmailSecurityCreateTrustedDomainPathParams
+  >({ url: '/accounts/{accountId}/email-security/settings/trusted_domains', method: 'post', ...variables, signal });
+
+export type EmailSecurityDeleteTrustedDomainPathParams = {
+  accountId: Schemas.EmailSecurityAccountId;
+  trustedDomainId: Schemas.EmailSecurityTrustedDomainId;
+};
+
+export type EmailSecurityDeleteTrustedDomainError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.EmailSecurityClientError;
+}>;
+
+export type EmailSecurityDeleteTrustedDomainResponse = Schemas.EmailSecurityApiResponseCommon & {
+  result: {
+    /**
+     * The unique identifier for the trusted domain.
+     *
+     * @example 2401
+     * @format int32
+     */
+    id: number;
+  };
+};
+
+export type EmailSecurityDeleteTrustedDomainVariables = {
+  pathParams: EmailSecurityDeleteTrustedDomainPathParams;
+} & FetcherExtraProps;
+
+export const emailSecurityDeleteTrustedDomain = (
+  variables: EmailSecurityDeleteTrustedDomainVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    EmailSecurityDeleteTrustedDomainResponse,
+    EmailSecurityDeleteTrustedDomainError,
+    undefined,
+    {},
+    {},
+    EmailSecurityDeleteTrustedDomainPathParams
+  >({
+    url: '/accounts/{accountId}/email-security/settings/trusted_domains/{trustedDomainId}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type EmailSecurityGetTrustedDomainPathParams = {
+  accountId: Schemas.EmailSecurityAccountId;
+  trustedDomainId: Schemas.EmailSecurityTrustedDomainId;
+};
+
+export type EmailSecurityGetTrustedDomainError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.EmailSecurityClientError;
+}>;
+
+export type EmailSecurityGetTrustedDomainResponse = Schemas.EmailSecurityApiResponseCommon & {
+  /**
+   * @example {"comments":null,"created_at":"2023-11-14T22:13:20Z","id":2401,"is_recent":true,"is_regex":false,"is_similarity":false,"last_modified":"2023-11-14T22:13:20Z","pattern":"example.com"}
+   */
+  result: {
+    /**
+     * @maxLength 1024
+     */
+    comments?: string | null;
+    /**
+     * Select to prevent recently registered domains from triggering a
+     * Suspicious or Malicious disposition.
+     */
+    is_recent?: boolean;
+    is_regex?: boolean;
+    /**
+     * Select for partner or other approved domains that have similar
+     * spelling to your connected domains. Prevents listed domains from
+     * triggering a Spoof disposition.
+     */
+    is_similarity?: boolean;
+    /**
+     * @maxLength 1024
+     * @minLength 1
+     */
+    pattern: string;
+    /**
+     * @format date-time
+     */
+    created_at: string;
+    /**
+     * The unique identifier for the trusted domain.
+     *
+     * @example 2401
+     * @format int32
+     */
+    id: number;
+    /**
+     * @format date-time
+     */
+    last_modified: string;
+  };
+};
+
+export type EmailSecurityGetTrustedDomainVariables = {
+  pathParams: EmailSecurityGetTrustedDomainPathParams;
+} & FetcherExtraProps;
+
+export const emailSecurityGetTrustedDomain = (
+  variables: EmailSecurityGetTrustedDomainVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    EmailSecurityGetTrustedDomainResponse,
+    EmailSecurityGetTrustedDomainError,
+    undefined,
+    {},
+    {},
+    EmailSecurityGetTrustedDomainPathParams
+  >({
+    url: '/accounts/{accountId}/email-security/settings/trusted_domains/{trustedDomainId}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type EmailSecurityUpdateTrustedDomainPathParams = {
+  accountId: Schemas.EmailSecurityAccountId;
+  trustedDomainId: Schemas.EmailSecurityTrustedDomainId;
+};
+
+export type EmailSecurityUpdateTrustedDomainError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.EmailSecurityClientError;
+}>;
+
+export type EmailSecurityUpdateTrustedDomainResponse = Schemas.EmailSecurityApiResponseCommon & {
+  /**
+   * @example {"comments":null,"created_at":"2023-11-14T22:13:20Z","id":2401,"is_recent":true,"is_regex":false,"is_similarity":false,"last_modified":"2023-11-14T22:13:20Z","pattern":"example.com"}
+   */
+  result: {
+    /**
+     * @maxLength 1024
+     */
+    comments?: string | null;
+    /**
+     * Select to prevent recently registered domains from triggering a
+     * Suspicious or Malicious disposition.
+     */
+    is_recent?: boolean;
+    is_regex?: boolean;
+    /**
+     * Select for partner or other approved domains that have similar
+     * spelling to your connected domains. Prevents listed domains from
+     * triggering a Spoof disposition.
+     */
+    is_similarity?: boolean;
+    /**
+     * @maxLength 1024
+     * @minLength 1
+     */
+    pattern: string;
+    /**
+     * @format date-time
+     */
+    created_at: string;
+    /**
+     * The unique identifier for the trusted domain.
+     *
+     * @example 2401
+     * @format int32
+     */
+    id: number;
+    /**
+     * @format date-time
+     */
+    last_modified: string;
+  };
+};
+
+export type EmailSecurityUpdateTrustedDomainRequestBody = {
+  /**
+   * @maxLength 1024
+   */
+  comments?: string | null;
+  /**
+   * Select to prevent recently registered domains from triggering a
+   * Suspicious or Malicious disposition.
+   */
+  is_recent?: boolean | null;
+  is_regex?: boolean | null;
+  /**
+   * Select for partner or other approved domains that have similar
+   * spelling to your connected domains. Prevents listed domains from
+   * triggering a Spoof disposition.
+   */
+  is_similarity?: boolean | null;
+  /**
+   * @maxLength 1024
+   * @minLength 1
+   */
+  pattern?: string | null;
+};
+
+export type EmailSecurityUpdateTrustedDomainVariables = {
+  body?: EmailSecurityUpdateTrustedDomainRequestBody;
+  pathParams: EmailSecurityUpdateTrustedDomainPathParams;
+} & FetcherExtraProps;
+
+export const emailSecurityUpdateTrustedDomain = (
+  variables: EmailSecurityUpdateTrustedDomainVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    EmailSecurityUpdateTrustedDomainResponse,
+    EmailSecurityUpdateTrustedDomainError,
+    EmailSecurityUpdateTrustedDomainRequestBody,
+    {},
+    {},
+    EmailSecurityUpdateTrustedDomainPathParams
+  >({
+    url: '/accounts/{accountId}/email-security/settings/trusted_domains/{trustedDomainId}',
+    method: 'patch',
+    ...variables,
+    signal
+  });
+
+export type EmailSecuritySubmissionsPathParams = {
+  accountId: Schemas.EmailSecurityAccountId;
+};
+
+export type EmailSecuritySubmissionsQueryParams = {
+  /**
+   * The beginning of the search date range.
+   * Defaults to `now - 30 days`.
+   *
+   * @format date-time
+   */
+  start?: string;
+  /**
+   * The end of the search date range.
+   * Defaults to `now`.
+   *
+   * @format date-time
+   */
+  end?: string;
+  type?: 'TEAM' | 'USER';
+  submission_id?: string;
+  /**
+   * The page number of paginated results.
+   *
+   * @default 1
+   * @format int32
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * The number of results per page.
+   *
+   * @default 20
+   * @format int32
+   * @minimum 1
+   */
+  per_page?: number;
+};
+
+export type EmailSecuritySubmissionsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.EmailSecurityClientError;
+}>;
+
+export type EmailSecuritySubmissionsResponse = Schemas.EmailSecurityApiResponseCommon & {
+  result: Schemas.EmailSecuritySubmission[];
+};
+
+export type EmailSecuritySubmissionsVariables = {
+  pathParams: EmailSecuritySubmissionsPathParams;
+  queryParams?: EmailSecuritySubmissionsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * This endpoint returns information for submissions to made to reclassify emails.
+ */
+export const emailSecuritySubmissions = (variables: EmailSecuritySubmissionsVariables, signal?: AbortSignal) =>
+  fetch<
+    EmailSecuritySubmissionsResponse,
+    EmailSecuritySubmissionsError,
+    undefined,
+    {},
+    EmailSecuritySubmissionsQueryParams,
+    EmailSecuritySubmissionsPathParams
+  >({ url: '/accounts/{accountId}/email-security/submissions', method: 'get', ...variables, signal });
+
+export type EmailRoutingDestinationAddressesListDestinationAddressesPathParams = {
+  accountId: Schemas.EmailIdentifier;
+};
+
+export type EmailRoutingDestinationAddressesListDestinationAddressesQueryParams = {
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default 20
+   * @maximum 50
+   * @minimum 5
+   */
+  per_page?: number;
+  /**
+   * @default asc
+   * @example asc
+   */
+  direction?: 'asc' | 'desc';
+  /**
+   * @default true
+   * @example true
+   */
+  verified?: true | false;
+};
+
+export type EmailRoutingDestinationAddressesListDestinationAddressesError = Fetcher.ErrorWrapper<undefined>;
+
+export type EmailRoutingDestinationAddressesListDestinationAddressesVariables = {
+  pathParams: EmailRoutingDestinationAddressesListDestinationAddressesPathParams;
+  queryParams?: EmailRoutingDestinationAddressesListDestinationAddressesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists existing destination addresses.
+ */
+export const emailRoutingDestinationAddressesListDestinationAddresses = (
+  variables: EmailRoutingDestinationAddressesListDestinationAddressesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.EmailDestinationAddressesResponseCollection,
+    EmailRoutingDestinationAddressesListDestinationAddressesError,
+    undefined,
+    {},
+    EmailRoutingDestinationAddressesListDestinationAddressesQueryParams,
+    EmailRoutingDestinationAddressesListDestinationAddressesPathParams
+  >({ url: '/accounts/{accountId}/email/routing/addresses', method: 'get', ...variables, signal });
+
+export type EmailRoutingDestinationAddressesCreateADestinationAddressPathParams = {
+  accountId: Schemas.EmailIdentifier;
+};
+
+export type EmailRoutingDestinationAddressesCreateADestinationAddressError = Fetcher.ErrorWrapper<undefined>;
+
+export type EmailRoutingDestinationAddressesCreateADestinationAddressVariables = {
+  body: Schemas.EmailCreateDestinationAddressProperties;
+  pathParams: EmailRoutingDestinationAddressesCreateADestinationAddressPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create a destination address to forward your emails to. Destination addresses need to be verified before they can be used.
+ */
+export const emailRoutingDestinationAddressesCreateADestinationAddress = (
+  variables: EmailRoutingDestinationAddressesCreateADestinationAddressVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.EmailDestinationAddressResponseSingle,
+    EmailRoutingDestinationAddressesCreateADestinationAddressError,
+    Schemas.EmailCreateDestinationAddressProperties,
+    {},
+    {},
+    EmailRoutingDestinationAddressesCreateADestinationAddressPathParams
+  >({ url: '/accounts/{accountId}/email/routing/addresses', method: 'post', ...variables, signal });
+
+export type EmailRoutingDestinationAddressesDeleteDestinationAddressPathParams = {
+  destinationAddressIdentifier: Schemas.EmailDestinationAddressIdentifier;
+  accountId: Schemas.EmailIdentifier;
+};
+
+export type EmailRoutingDestinationAddressesDeleteDestinationAddressError = Fetcher.ErrorWrapper<undefined>;
+
+export type EmailRoutingDestinationAddressesDeleteDestinationAddressVariables = {
+  pathParams: EmailRoutingDestinationAddressesDeleteDestinationAddressPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes a specific destination address.
+ */
+export const emailRoutingDestinationAddressesDeleteDestinationAddress = (
+  variables: EmailRoutingDestinationAddressesDeleteDestinationAddressVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.EmailDestinationAddressResponseSingle,
+    EmailRoutingDestinationAddressesDeleteDestinationAddressError,
+    undefined,
+    {},
+    {},
+    EmailRoutingDestinationAddressesDeleteDestinationAddressPathParams
+  >({
+    url: '/accounts/{accountId}/email/routing/addresses/{destinationAddressIdentifier}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type EmailRoutingDestinationAddressesGetADestinationAddressPathParams = {
+  destinationAddressIdentifier: Schemas.EmailDestinationAddressIdentifier;
+  accountId: Schemas.EmailIdentifier;
+};
+
+export type EmailRoutingDestinationAddressesGetADestinationAddressError = Fetcher.ErrorWrapper<undefined>;
+
+export type EmailRoutingDestinationAddressesGetADestinationAddressVariables = {
+  pathParams: EmailRoutingDestinationAddressesGetADestinationAddressPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets information for a specific destination email already created.
+ */
+export const emailRoutingDestinationAddressesGetADestinationAddress = (
+  variables: EmailRoutingDestinationAddressesGetADestinationAddressVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.EmailDestinationAddressResponseSingle,
+    EmailRoutingDestinationAddressesGetADestinationAddressError,
+    undefined,
+    {},
+    {},
+    EmailRoutingDestinationAddressesGetADestinationAddressPathParams
+  >({
+    url: '/accounts/{accountId}/email/routing/addresses/{destinationAddressIdentifier}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type R2GetEventNotificationConfigsPathParams = {
+  bucketName: Schemas.R2BucketName;
+  accountId: Schemas.R2AccountIdentifier;
+};
+
+export type R2GetEventNotificationConfigsHeaders = {
+  /**
+   * @default default
+   */
+  ['cf-r2-jurisdiction']?: 'default' | 'eu' | 'fedramp';
+};
+
+export type R2GetEventNotificationConfigsError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: Schemas.R2V4ResponseFailure;
+    }
+  | {
+      status: 404;
+      payload: Schemas.R2V4ResponseFailure;
+    }
+>;
+
+export type R2GetEventNotificationConfigsResponse = {
+  errors: Schemas.R2Errors;
+  messages: Schemas.R2Messages;
+  result: Schemas.R2BucketConfig;
+  /**
+   * Whether the API call was successful
+   */
+  success: true;
+};
+
+export type R2GetEventNotificationConfigsVariables = {
+  headers?: R2GetEventNotificationConfigsHeaders;
+  pathParams: R2GetEventNotificationConfigsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * List all event notification rules for a bucket.
+ */
+export const r2GetEventNotificationConfigs = (
+  variables: R2GetEventNotificationConfigsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    R2GetEventNotificationConfigsResponse,
+    R2GetEventNotificationConfigsError,
+    undefined,
+    R2GetEventNotificationConfigsHeaders,
+    {},
+    R2GetEventNotificationConfigsPathParams
+  >({
+    url: '/accounts/{accountId}/event_notifications/r2/{bucketName}/configuration',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type R2EventNotificationDeleteConfigPathParams = {
+  queueId: Schemas.R2QueueIdentifier;
+  bucketName: Schemas.R2BucketName;
+  accountId: Schemas.R2AccountIdentifier;
+};
+
+export type R2EventNotificationDeleteConfigHeaders = {
+  /**
+   * @default default
+   */
+  ['cf-r2-jurisdiction']?: 'default' | 'eu' | 'fedramp';
+};
+
+export type R2EventNotificationDeleteConfigError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.R2V4ResponseFailure;
+}>;
+
+export type R2EventNotificationDeleteConfigResponse = Schemas.R2V4Response & Record<string, any>;
+
+export type R2EventNotificationDeleteConfigRequestBody = {
+  /**
+   * Array of rule ids to delete
+   */
+  ruleIds?: string[];
+};
+
+export type R2EventNotificationDeleteConfigVariables = {
+  body?: R2EventNotificationDeleteConfigRequestBody;
+  headers?: R2EventNotificationDeleteConfigHeaders;
+  pathParams: R2EventNotificationDeleteConfigPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete an event notification rule. **If no body is provided, all rules for specified queue will be deleted**.
+ */
+export const r2EventNotificationDeleteConfig = (
+  variables: R2EventNotificationDeleteConfigVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    R2EventNotificationDeleteConfigResponse,
+    R2EventNotificationDeleteConfigError,
+    R2EventNotificationDeleteConfigRequestBody,
+    R2EventNotificationDeleteConfigHeaders,
+    {},
+    R2EventNotificationDeleteConfigPathParams
+  >({
+    url: '/accounts/{accountId}/event_notifications/r2/{bucketName}/configuration/queues/{queueId}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type R2PutEventNotificationConfigPathParams = {
+  queueId: Schemas.R2QueueIdentifier;
+  bucketName: Schemas.R2BucketName;
+  accountId: Schemas.R2AccountIdentifier;
+};
+
+export type R2PutEventNotificationConfigHeaders = {
+  /**
+   * @default default
+   */
+  ['cf-r2-jurisdiction']?: 'default' | 'eu' | 'fedramp';
+};
+
+export type R2PutEventNotificationConfigError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.R2V4ResponseFailure;
+}>;
+
+export type R2PutEventNotificationConfigResponse = Schemas.R2V4Response & Record<string, any>;
+
+export type R2PutEventNotificationConfigRequestBody = {
+  /**
+   * Array of rules to drive notifications
+   */
+  rules?: Schemas.R2Rule[];
+};
+
+export type R2PutEventNotificationConfigVariables = {
+  body?: R2PutEventNotificationConfigRequestBody;
+  headers?: R2PutEventNotificationConfigHeaders;
+  pathParams: R2PutEventNotificationConfigPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create event notification rule.
+ */
+export const r2PutEventNotificationConfig = (variables: R2PutEventNotificationConfigVariables, signal?: AbortSignal) =>
+  fetch<
+    R2PutEventNotificationConfigResponse,
+    R2PutEventNotificationConfigError,
+    R2PutEventNotificationConfigRequestBody,
+    R2PutEventNotificationConfigHeaders,
+    {},
+    R2PutEventNotificationConfigPathParams
+  >({
+    url: '/accounts/{accountId}/event_notifications/r2/{bucketName}/configuration/queues/{queueId}',
+    method: 'put',
+    ...variables,
+    signal
+  });
+
+export type IpAccessRulesForAnAccountListIpAccessRulesPathParams = {
+  accountId: Schemas.FirewallAccountIdentifier;
+};
+
+export type IpAccessRulesForAnAccountListIpAccessRulesQueryParams = {
+  mode?: Schemas.FirewallSchemasMode;
+  /**
+   * @example ip
+   */
+  ['configuration.target']?: 'ip' | 'ip_range' | 'asn' | 'country';
+  /**
+   * @example 198.51.100.4
+   */
+  ['configuration.value']?: string;
+  /**
+   * @example my note
+   */
+  notes?: string;
+  /**
+   * @default all
+   */
+  match?: 'any' | 'all';
+  /**
+   * @example 1
+   */
+  page?: number;
+  /**
+   * @example 20
+   */
+  per_page?: number;
+  /**
+   * @example mode
+   */
+  order?: 'configuration.target' | 'configuration.value' | 'mode';
+  /**
+   * @example desc
+   */
+  direction?: 'asc' | 'desc';
+};
+
+export type IpAccessRulesForAnAccountListIpAccessRulesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallResponseCollection & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type IpAccessRulesForAnAccountListIpAccessRulesVariables = {
+  pathParams: IpAccessRulesForAnAccountListIpAccessRulesPathParams;
+  queryParams?: IpAccessRulesForAnAccountListIpAccessRulesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches IP Access rules of an account. These rules apply to all the zones in the account. You can filter the results using several optional parameters.
+ */
+export const ipAccessRulesForAnAccountListIpAccessRules = (
+  variables: IpAccessRulesForAnAccountListIpAccessRulesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.FirewallResponseCollection,
+    IpAccessRulesForAnAccountListIpAccessRulesError,
+    undefined,
+    {},
+    IpAccessRulesForAnAccountListIpAccessRulesQueryParams,
+    IpAccessRulesForAnAccountListIpAccessRulesPathParams
+  >({ url: '/accounts/{accountId}/firewall/access_rules/rules', method: 'get', ...variables, signal });
+
+export type IpAccessRulesForAnAccountCreateAnIpAccessRulePathParams = {
+  accountId: Schemas.FirewallAccountIdentifier;
+};
+
+export type IpAccessRulesForAnAccountCreateAnIpAccessRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallResponseSingle & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type IpAccessRulesForAnAccountCreateAnIpAccessRuleRequestBody = {
+  configuration: Schemas.FirewallConfiguration;
+  mode: Schemas.FirewallSchemasMode;
+  notes?: Schemas.FirewallNotes;
+};
+
+export type IpAccessRulesForAnAccountCreateAnIpAccessRuleVariables = {
+  body: IpAccessRulesForAnAccountCreateAnIpAccessRuleRequestBody;
+  pathParams: IpAccessRulesForAnAccountCreateAnIpAccessRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new IP Access rule for an account. The rule will apply to all zones in the account.
+ *
+ * Note: To create an IP Access rule that applies to a single zone, refer to the [IP Access rules for a zone](#ip-access-rules-for-a-zone) endpoints.
+ */
+export const ipAccessRulesForAnAccountCreateAnIpAccessRule = (
+  variables: IpAccessRulesForAnAccountCreateAnIpAccessRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.FirewallResponseSingle,
+    IpAccessRulesForAnAccountCreateAnIpAccessRuleError,
+    IpAccessRulesForAnAccountCreateAnIpAccessRuleRequestBody,
+    {},
+    {},
+    IpAccessRulesForAnAccountCreateAnIpAccessRulePathParams
+  >({ url: '/accounts/{accountId}/firewall/access_rules/rules', method: 'post', ...variables, signal });
+
+export type IpAccessRulesForAnAccountDeleteAnIpAccessRulePathParams = {
+  ruleId: Schemas.FirewallRuleIdentifier;
+  accountId: Schemas.FirewallAccountIdentifier;
+};
+
+export type IpAccessRulesForAnAccountDeleteAnIpAccessRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallApiResponseSingleId & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type IpAccessRulesForAnAccountDeleteAnIpAccessRuleVariables = {
+  pathParams: IpAccessRulesForAnAccountDeleteAnIpAccessRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes an existing IP Access rule defined at the account level.
+ *
+ * Note: This operation will affect all zones in the account.
+ */
+export const ipAccessRulesForAnAccountDeleteAnIpAccessRule = (
+  variables: IpAccessRulesForAnAccountDeleteAnIpAccessRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.FirewallApiResponseSingleId,
+    IpAccessRulesForAnAccountDeleteAnIpAccessRuleError,
+    undefined,
+    {},
+    {},
+    IpAccessRulesForAnAccountDeleteAnIpAccessRulePathParams
+  >({ url: '/accounts/{accountId}/firewall/access_rules/rules/{ruleId}', method: 'delete', ...variables, signal });
+
+export type IpAccessRulesForAnAccountGetAnIpAccessRulePathParams = {
+  ruleId: Schemas.FirewallRuleIdentifier;
+  accountId: Schemas.FirewallAccountIdentifier;
+};
+
+export type IpAccessRulesForAnAccountGetAnIpAccessRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallResponseSingle & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type IpAccessRulesForAnAccountGetAnIpAccessRuleVariables = {
+  pathParams: IpAccessRulesForAnAccountGetAnIpAccessRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the details of an IP Access rule defined at the account level.
+ */
+export const ipAccessRulesForAnAccountGetAnIpAccessRule = (
+  variables: IpAccessRulesForAnAccountGetAnIpAccessRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.FirewallResponseSingle,
+    IpAccessRulesForAnAccountGetAnIpAccessRuleError,
+    undefined,
+    {},
+    {},
+    IpAccessRulesForAnAccountGetAnIpAccessRulePathParams
+  >({ url: '/accounts/{accountId}/firewall/access_rules/rules/{ruleId}', method: 'get', ...variables, signal });
+
+export type IpAccessRulesForAnAccountUpdateAnIpAccessRulePathParams = {
+  ruleId: Schemas.FirewallRuleIdentifier;
+  accountId: Schemas.FirewallAccountIdentifier;
+};
+
+export type IpAccessRulesForAnAccountUpdateAnIpAccessRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallResponseSingle & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type IpAccessRulesForAnAccountUpdateAnIpAccessRuleVariables = {
+  body: Schemas.FirewallSchemasRule;
+  pathParams: IpAccessRulesForAnAccountUpdateAnIpAccessRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates an IP Access rule defined at the account level.
+ *
+ * Note: This operation will affect all zones in the account.
+ */
+export const ipAccessRulesForAnAccountUpdateAnIpAccessRule = (
+  variables: IpAccessRulesForAnAccountUpdateAnIpAccessRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.FirewallResponseSingle,
+    IpAccessRulesForAnAccountUpdateAnIpAccessRuleError,
+    Schemas.FirewallSchemasRule,
+    {},
+    {},
+    IpAccessRulesForAnAccountUpdateAnIpAccessRulePathParams
+  >({ url: '/accounts/{accountId}/firewall/access_rules/rules/{ruleId}', method: 'patch', ...variables, signal });
+
+export type ZeroTrustAccountsGetZeroTrustAccountInformationPathParams = {
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustAccountsGetZeroTrustAccountInformationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Record<string, any> &
+    Schemas.ZeroTrustGatewayGatewayAccount &
+    Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustAccountsGetZeroTrustAccountInformationVariables = {
+  pathParams: ZeroTrustAccountsGetZeroTrustAccountInformationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets information about the current Zero Trust account.
+ */
+export const zeroTrustAccountsGetZeroTrustAccountInformation = (
+  variables: ZeroTrustAccountsGetZeroTrustAccountInformationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewayGatewayAccount,
+    ZeroTrustAccountsGetZeroTrustAccountInformationError,
+    undefined,
+    {},
+    {},
+    ZeroTrustAccountsGetZeroTrustAccountInformationPathParams
+  >({ url: '/accounts/{accountId}/gateway', method: 'get', ...variables, signal });
+
+export type ZeroTrustAccountsCreateZeroTrustAccountPathParams = {
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustAccountsCreateZeroTrustAccountError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Record<string, any> &
+    Schemas.ZeroTrustGatewayGatewayAccount &
+    Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustAccountsCreateZeroTrustAccountVariables = {
+  pathParams: ZeroTrustAccountsCreateZeroTrustAccountPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a Zero Trust account with an existing Cloudflare account.
+ */
+export const zeroTrustAccountsCreateZeroTrustAccount = (
+  variables: ZeroTrustAccountsCreateZeroTrustAccountVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewayGatewayAccount,
+    ZeroTrustAccountsCreateZeroTrustAccountError,
+    undefined,
+    {},
+    {},
+    ZeroTrustAccountsCreateZeroTrustAccountPathParams
+  >({ url: '/accounts/{accountId}/gateway', method: 'post', ...variables, signal });
+
+export type ZeroTrustGatewayApplicationAndApplicationTypeMappingsListApplicationAndApplicationTypeMappingsPathParams = {
+  accountId: Schemas.ZeroTrustGatewaySchemasIdentifier;
+};
+
+export type ZeroTrustGatewayApplicationAndApplicationTypeMappingsListApplicationAndApplicationTypeMappingsError =
+  Fetcher.ErrorWrapper<{
+    status: 400;
+    payload: Schemas.ZeroTrustGatewayAppTypesComponentsSchemasResponseCollection &
+      Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+  }>;
+
+export type ZeroTrustGatewayApplicationAndApplicationTypeMappingsListApplicationAndApplicationTypeMappingsVariables = {
+  pathParams: ZeroTrustGatewayApplicationAndApplicationTypeMappingsListApplicationAndApplicationTypeMappingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches all application and application type mappings.
+ */
+export const zeroTrustGatewayApplicationAndApplicationTypeMappingsListApplicationAndApplicationTypeMappings = (
+  variables: ZeroTrustGatewayApplicationAndApplicationTypeMappingsListApplicationAndApplicationTypeMappingsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewayAppTypesComponentsSchemasResponseCollection,
+    ZeroTrustGatewayApplicationAndApplicationTypeMappingsListApplicationAndApplicationTypeMappingsError,
+    undefined,
+    {},
+    {},
+    ZeroTrustGatewayApplicationAndApplicationTypeMappingsListApplicationAndApplicationTypeMappingsPathParams
+  >({ url: '/accounts/{accountId}/gateway/app_types', method: 'get', ...variables, signal });
+
+export type ZeroTrustGetAuditSshSettingsPathParams = {
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustGetAuditSshSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZeroTrustGatewayAuditSshSettingsComponentsSchemasSingleResponse &
+    Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustGetAuditSshSettingsVariables = {
+  pathParams: ZeroTrustGetAuditSshSettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets all Zero Trust Audit SSH and SSH with Access for Infrastructure settings for an account.
+ */
+export const zeroTrustGetAuditSshSettings = (variables: ZeroTrustGetAuditSshSettingsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.ZeroTrustGatewayAuditSshSettingsComponentsSchemasSingleResponse,
+    ZeroTrustGetAuditSshSettingsError,
+    undefined,
+    {},
+    {},
+    ZeroTrustGetAuditSshSettingsPathParams
+  >({ url: '/accounts/{accountId}/gateway/audit_ssh_settings', method: 'get', ...variables, signal });
+
+export type ZeroTrustUpdateAuditSshSettingsPathParams = {
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustUpdateAuditSshSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZeroTrustGatewayAuditSshSettingsComponentsSchemasSingleResponse &
+    Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustUpdateAuditSshSettingsRequestBody = {
+  public_key: Schemas.ZeroTrustGatewayPublicKey;
+};
+
+export type ZeroTrustUpdateAuditSshSettingsVariables = {
+  body: ZeroTrustUpdateAuditSshSettingsRequestBody;
+  pathParams: ZeroTrustUpdateAuditSshSettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates Zero Trust Audit SSH and SSH with Access for Infrastructure settings for an account.
+ */
+export const zeroTrustUpdateAuditSshSettings = (
+  variables: ZeroTrustUpdateAuditSshSettingsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewayAuditSshSettingsComponentsSchemasSingleResponse,
+    ZeroTrustUpdateAuditSshSettingsError,
+    ZeroTrustUpdateAuditSshSettingsRequestBody,
+    {},
+    {},
+    ZeroTrustUpdateAuditSshSettingsPathParams
+  >({ url: '/accounts/{accountId}/gateway/audit_ssh_settings', method: 'put', ...variables, signal });
+
+export type ZeroTrustRotateSshAccountSeedPathParams = {
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustRotateSshAccountSeedError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZeroTrustGatewayAuditSshSettingsComponentsSchemasSingleResponse &
+    Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustRotateSshAccountSeedVariables = {
+  pathParams: ZeroTrustRotateSshAccountSeedPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Rotates the SSH account seed that is used for generating the host key identity when connecting through the Cloudflare SSH Proxy.
+ */
+export const zeroTrustRotateSshAccountSeed = (
+  variables: ZeroTrustRotateSshAccountSeedVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewayAuditSshSettingsComponentsSchemasSingleResponse,
+    ZeroTrustRotateSshAccountSeedError,
+    undefined,
+    {},
+    {},
+    ZeroTrustRotateSshAccountSeedPathParams
+  >({ url: '/accounts/{accountId}/gateway/audit_ssh_settings/rotate_seed', method: 'post', ...variables, signal });
+
+export type ZeroTrustGatewayCategoriesListCategoriesPathParams = {
+  accountId: Schemas.ZeroTrustGatewaySchemasIdentifier;
+};
+
+export type ZeroTrustGatewayCategoriesListCategoriesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZeroTrustGatewayCategoriesComponentsSchemasResponseCollection &
+    Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustGatewayCategoriesListCategoriesVariables = {
+  pathParams: ZeroTrustGatewayCategoriesListCategoriesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a list of all categories.
+ */
+export const zeroTrustGatewayCategoriesListCategories = (
+  variables: ZeroTrustGatewayCategoriesListCategoriesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewayCategoriesComponentsSchemasResponseCollection,
+    ZeroTrustGatewayCategoriesListCategoriesError,
+    undefined,
+    {},
+    {},
+    ZeroTrustGatewayCategoriesListCategoriesPathParams
+  >({ url: '/accounts/{accountId}/gateway/categories', method: 'get', ...variables, signal });
+
+export type ZeroTrustCertificatesListZeroTrustCertificatesPathParams = {
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustCertificatesListZeroTrustCertificatesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZeroTrustGatewayResponseCollection & Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustCertificatesListZeroTrustCertificatesVariables = {
+  pathParams: ZeroTrustCertificatesListZeroTrustCertificatesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches all Zero Trust certificates for an account.
+ */
+export const zeroTrustCertificatesListZeroTrustCertificates = (
+  variables: ZeroTrustCertificatesListZeroTrustCertificatesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewayResponseCollection,
+    ZeroTrustCertificatesListZeroTrustCertificatesError,
+    undefined,
+    {},
+    {},
+    ZeroTrustCertificatesListZeroTrustCertificatesPathParams
+  >({ url: '/accounts/{accountId}/gateway/certificates', method: 'get', ...variables, signal });
+
+export type ZeroTrustCertificatesCreateZeroTrustCertificatePathParams = {
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustCertificatesCreateZeroTrustCertificateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZeroTrustGatewaySingleResponse & Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustCertificatesCreateZeroTrustCertificateVariables = {
+  body?: Schemas.ZeroTrustGatewayGenerateCertRequest;
+  pathParams: ZeroTrustCertificatesCreateZeroTrustCertificatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new Zero Trust certificate.
+ */
+export const zeroTrustCertificatesCreateZeroTrustCertificate = (
+  variables: ZeroTrustCertificatesCreateZeroTrustCertificateVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewaySingleResponse,
+    ZeroTrustCertificatesCreateZeroTrustCertificateError,
+    Schemas.ZeroTrustGatewayGenerateCertRequest,
+    {},
+    {},
+    ZeroTrustCertificatesCreateZeroTrustCertificatePathParams
+  >({ url: '/accounts/{accountId}/gateway/certificates', method: 'post', ...variables, signal });
+
+export type ZeroTrustCertificatesDeleteZeroTrustCertificatePathParams = {
+  certificateId: Schemas.ZeroTrustGatewayUuid;
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustCertificatesDeleteZeroTrustCertificateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZeroTrustGatewaySingleResponse & Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustCertificatesDeleteZeroTrustCertificateVariables = {
+  pathParams: ZeroTrustCertificatesDeleteZeroTrustCertificatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes a gateway-managed Zero Trust certificate. A certificate must be deactivated from the edge (inactive) before it is deleted.
+ */
+export const zeroTrustCertificatesDeleteZeroTrustCertificate = (
+  variables: ZeroTrustCertificatesDeleteZeroTrustCertificateVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewaySingleResponse,
+    ZeroTrustCertificatesDeleteZeroTrustCertificateError,
+    undefined,
+    {},
+    {},
+    ZeroTrustCertificatesDeleteZeroTrustCertificatePathParams
+  >({ url: '/accounts/{accountId}/gateway/certificates/{certificateId}', method: 'delete', ...variables, signal });
+
+export type ZeroTrustCertificatesZeroTrustCertificateDetailsPathParams = {
+  certificateId: Schemas.ZeroTrustGatewayUuid;
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustCertificatesZeroTrustCertificateDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZeroTrustGatewaySingleResponse & Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustCertificatesZeroTrustCertificateDetailsVariables = {
+  pathParams: ZeroTrustCertificatesZeroTrustCertificateDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a single Zero Trust certificate.
+ */
+export const zeroTrustCertificatesZeroTrustCertificateDetails = (
+  variables: ZeroTrustCertificatesZeroTrustCertificateDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewaySingleResponse,
+    ZeroTrustCertificatesZeroTrustCertificateDetailsError,
+    undefined,
+    {},
+    {},
+    ZeroTrustCertificatesZeroTrustCertificateDetailsPathParams
+  >({ url: '/accounts/{accountId}/gateway/certificates/{certificateId}', method: 'get', ...variables, signal });
+
+export type ZeroTrustCertificatesActivateZeroTrustCertificatePathParams = {
+  certificateId: Schemas.ZeroTrustGatewayUuid;
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustCertificatesActivateZeroTrustCertificateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZeroTrustGatewaySingleResponse & Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustCertificatesActivateZeroTrustCertificateVariables = {
+  pathParams: ZeroTrustCertificatesActivateZeroTrustCertificatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Binds a single Zero Trust certificate to the edge.
+ */
+export const zeroTrustCertificatesActivateZeroTrustCertificate = (
+  variables: ZeroTrustCertificatesActivateZeroTrustCertificateVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewaySingleResponse,
+    ZeroTrustCertificatesActivateZeroTrustCertificateError,
+    undefined,
+    {},
+    {},
+    ZeroTrustCertificatesActivateZeroTrustCertificatePathParams
+  >({
+    url: '/accounts/{accountId}/gateway/certificates/{certificateId}/activate',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type ZeroTrustCertificatesDeactivateZeroTrustCertificatePathParams = {
+  certificateId: Schemas.ZeroTrustGatewayUuid;
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustCertificatesDeactivateZeroTrustCertificateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZeroTrustGatewaySingleResponse & Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustCertificatesDeactivateZeroTrustCertificateVariables = {
+  pathParams: ZeroTrustCertificatesDeactivateZeroTrustCertificatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Unbinds a single Zero Trust certificate from the edge
+ */
+export const zeroTrustCertificatesDeactivateZeroTrustCertificate = (
+  variables: ZeroTrustCertificatesDeactivateZeroTrustCertificateVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewaySingleResponse,
+    ZeroTrustCertificatesDeactivateZeroTrustCertificateError,
+    undefined,
+    {},
+    {},
+    ZeroTrustCertificatesDeactivateZeroTrustCertificatePathParams
+  >({
+    url: '/accounts/{accountId}/gateway/certificates/{certificateId}/deactivate',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type ZeroTrustAccountsGetZeroTrustAccountConfigurationPathParams = {
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustAccountsGetZeroTrustAccountConfigurationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZeroTrustGatewayGatewayAccountConfig & Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustAccountsGetZeroTrustAccountConfigurationVariables = {
+  pathParams: ZeroTrustAccountsGetZeroTrustAccountConfigurationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the current Zero Trust account configuration.
+ */
+export const zeroTrustAccountsGetZeroTrustAccountConfiguration = (
+  variables: ZeroTrustAccountsGetZeroTrustAccountConfigurationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewayGatewayAccountConfig,
+    ZeroTrustAccountsGetZeroTrustAccountConfigurationError,
+    undefined,
+    {},
+    {},
+    ZeroTrustAccountsGetZeroTrustAccountConfigurationPathParams
+  >({ url: '/accounts/{accountId}/gateway/configuration', method: 'get', ...variables, signal });
+
+export type ZeroTrustAccountsPatchZeroTrustAccountConfigurationPathParams = {
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustAccountsPatchZeroTrustAccountConfigurationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZeroTrustGatewayGatewayAccountConfig & Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustAccountsPatchZeroTrustAccountConfigurationVariables = {
+  body?: Schemas.ZeroTrustGatewayGatewayAccountSettings;
+  pathParams: ZeroTrustAccountsPatchZeroTrustAccountConfigurationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Patches the current Zero Trust account configuration. This endpoint can update a single subcollection of settings such as `antivirus`, `tls_decrypt`, `activity_log`, `block_page`, `browser_isolation`, `fips`, `body_scanning`, or `certificate`, without updating the entire configuration object. Returns an error if any collection of settings is not properly configured.
+ */
+export const zeroTrustAccountsPatchZeroTrustAccountConfiguration = (
+  variables: ZeroTrustAccountsPatchZeroTrustAccountConfigurationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewayGatewayAccountConfig,
+    ZeroTrustAccountsPatchZeroTrustAccountConfigurationError,
+    Schemas.ZeroTrustGatewayGatewayAccountSettings,
+    {},
+    {},
+    ZeroTrustAccountsPatchZeroTrustAccountConfigurationPathParams
+  >({ url: '/accounts/{accountId}/gateway/configuration', method: 'patch', ...variables, signal });
+
+export type ZeroTrustAccountsUpdateZeroTrustAccountConfigurationPathParams = {
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustAccountsUpdateZeroTrustAccountConfigurationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZeroTrustGatewayGatewayAccountConfig & Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustAccountsUpdateZeroTrustAccountConfigurationVariables = {
+  body?: Schemas.ZeroTrustGatewayGatewayAccountSettings;
+  pathParams: ZeroTrustAccountsUpdateZeroTrustAccountConfigurationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates the current Zero Trust account configuration.
+ */
+export const zeroTrustAccountsUpdateZeroTrustAccountConfiguration = (
+  variables: ZeroTrustAccountsUpdateZeroTrustAccountConfigurationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewayGatewayAccountConfig,
+    ZeroTrustAccountsUpdateZeroTrustAccountConfigurationError,
+    Schemas.ZeroTrustGatewayGatewayAccountSettings,
+    {},
+    {},
+    ZeroTrustAccountsUpdateZeroTrustAccountConfigurationPathParams
+  >({ url: '/accounts/{accountId}/gateway/configuration', method: 'put', ...variables, signal });
+
+export type ZeroTrustAccountsGetZeroTrustCertificateConfigurationPathParams = {
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustAccountsGetZeroTrustCertificateConfigurationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZeroTrustGatewayCustomCertificateSettings & Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustAccountsGetZeroTrustCertificateConfigurationVariables = {
+  pathParams: ZeroTrustAccountsGetZeroTrustCertificateConfigurationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the current Zero Trust certificate configuration.
+ */
+export const zeroTrustAccountsGetZeroTrustCertificateConfiguration = (
+  variables: ZeroTrustAccountsGetZeroTrustCertificateConfigurationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewayCustomCertificateSettings,
+    ZeroTrustAccountsGetZeroTrustCertificateConfigurationError,
+    undefined,
+    {},
+    {},
+    ZeroTrustAccountsGetZeroTrustCertificateConfigurationPathParams
+  >({ url: '/accounts/{accountId}/gateway/configuration/custom_certificate', method: 'get', ...variables, signal });
+
+export type ZeroTrustListsListZeroTrustListsPathParams = {
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustListsListZeroTrustListsQueryParams = {
+  type?: Schemas.ZeroTrustGatewaySchemasType;
+};
+
+export type ZeroTrustListsListZeroTrustListsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZeroTrustGatewaySchemasResponseCollection & Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustListsListZeroTrustListsVariables = {
+  pathParams: ZeroTrustListsListZeroTrustListsPathParams;
+  queryParams?: ZeroTrustListsListZeroTrustListsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches all Zero Trust lists for an account.
+ */
+export const zeroTrustListsListZeroTrustLists = (
+  variables: ZeroTrustListsListZeroTrustListsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewaySchemasResponseCollection,
+    ZeroTrustListsListZeroTrustListsError,
+    undefined,
+    {},
+    ZeroTrustListsListZeroTrustListsQueryParams,
+    ZeroTrustListsListZeroTrustListsPathParams
+  >({ url: '/accounts/{accountId}/gateway/lists', method: 'get', ...variables, signal });
+
+export type ZeroTrustListsCreateZeroTrustListPathParams = {
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustListsCreateZeroTrustListError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZeroTrustGatewaySingleResponseWithListItems & Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustListsCreateZeroTrustListRequestBody = {
+  description?: Schemas.ZeroTrustGatewayDescription;
+  items?: Schemas.ZeroTrustGatewayItems;
+  name: Schemas.ZeroTrustGatewayName;
+  type: Schemas.ZeroTrustGatewaySchemasType;
+};
+
+export type ZeroTrustListsCreateZeroTrustListVariables = {
+  body: ZeroTrustListsCreateZeroTrustListRequestBody;
+  pathParams: ZeroTrustListsCreateZeroTrustListPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new Zero Trust list.
+ */
+export const zeroTrustListsCreateZeroTrustList = (
+  variables: ZeroTrustListsCreateZeroTrustListVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewaySingleResponseWithListItems,
+    ZeroTrustListsCreateZeroTrustListError,
+    ZeroTrustListsCreateZeroTrustListRequestBody,
+    {},
+    {},
+    ZeroTrustListsCreateZeroTrustListPathParams
+  >({ url: '/accounts/{accountId}/gateway/lists', method: 'post', ...variables, signal });
+
+export type ZeroTrustListsDeleteZeroTrustListPathParams = {
+  listId: Schemas.ZeroTrustGatewaySchemasUuid;
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustListsDeleteZeroTrustListError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZeroTrustGatewayEmptyResponse & Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustListsDeleteZeroTrustListVariables = {
+  pathParams: ZeroTrustListsDeleteZeroTrustListPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes a Zero Trust list.
+ */
+export const zeroTrustListsDeleteZeroTrustList = (
+  variables: ZeroTrustListsDeleteZeroTrustListVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewayEmptyResponse,
+    ZeroTrustListsDeleteZeroTrustListError,
+    undefined,
+    {},
+    {},
+    ZeroTrustListsDeleteZeroTrustListPathParams
+  >({ url: '/accounts/{accountId}/gateway/lists/{listId}', method: 'delete', ...variables, signal });
+
+export type ZeroTrustListsZeroTrustListDetailsPathParams = {
+  listId: Schemas.ZeroTrustGatewaySchemasUuid;
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustListsZeroTrustListDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZeroTrustGatewaySchemasSingleResponse & Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustListsZeroTrustListDetailsVariables = {
+  pathParams: ZeroTrustListsZeroTrustListDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a single Zero Trust list.
+ */
+export const zeroTrustListsZeroTrustListDetails = (
+  variables: ZeroTrustListsZeroTrustListDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewaySchemasSingleResponse,
+    ZeroTrustListsZeroTrustListDetailsError,
+    undefined,
+    {},
+    {},
+    ZeroTrustListsZeroTrustListDetailsPathParams
+  >({ url: '/accounts/{accountId}/gateway/lists/{listId}', method: 'get', ...variables, signal });
+
+export type ZeroTrustListsPatchZeroTrustListPathParams = {
+  listId: Schemas.ZeroTrustGatewaySchemasUuid;
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustListsPatchZeroTrustListError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZeroTrustGatewaySchemasSingleResponse & Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustListsPatchZeroTrustListRequestBody = {
+  append?: Schemas.ZeroTrustGatewayItems;
+  /**
+   * A list of the item values you want to remove.
+   */
+  remove?: Schemas.ZeroTrustGatewayValue[];
+};
+
+export type ZeroTrustListsPatchZeroTrustListVariables = {
+  body?: ZeroTrustListsPatchZeroTrustListRequestBody;
+  pathParams: ZeroTrustListsPatchZeroTrustListPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Appends or removes an item from a configured Zero Trust list.
+ */
+export const zeroTrustListsPatchZeroTrustList = (
+  variables: ZeroTrustListsPatchZeroTrustListVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewaySchemasSingleResponse,
+    ZeroTrustListsPatchZeroTrustListError,
+    ZeroTrustListsPatchZeroTrustListRequestBody,
+    {},
+    {},
+    ZeroTrustListsPatchZeroTrustListPathParams
+  >({ url: '/accounts/{accountId}/gateway/lists/{listId}', method: 'patch', ...variables, signal });
+
+export type ZeroTrustListsUpdateZeroTrustListPathParams = {
+  listId: Schemas.ZeroTrustGatewaySchemasUuid;
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustListsUpdateZeroTrustListError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZeroTrustGatewaySchemasSingleResponse & Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustListsUpdateZeroTrustListRequestBody = {
+  description?: Schemas.ZeroTrustGatewayDescription;
+  items?: Schemas.ZeroTrustGatewayItems;
+  name: Schemas.ZeroTrustGatewayName;
+};
+
+export type ZeroTrustListsUpdateZeroTrustListVariables = {
+  body: ZeroTrustListsUpdateZeroTrustListRequestBody;
+  pathParams: ZeroTrustListsUpdateZeroTrustListPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a configured Zero Trust list. Skips updating list items if not included in the payload.
+ */
+export const zeroTrustListsUpdateZeroTrustList = (
+  variables: ZeroTrustListsUpdateZeroTrustListVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewaySchemasSingleResponse,
+    ZeroTrustListsUpdateZeroTrustListError,
+    ZeroTrustListsUpdateZeroTrustListRequestBody,
+    {},
+    {},
+    ZeroTrustListsUpdateZeroTrustListPathParams
+  >({ url: '/accounts/{accountId}/gateway/lists/{listId}', method: 'put', ...variables, signal });
+
+export type ZeroTrustListsZeroTrustListItemsPathParams = {
+  listId: Schemas.ZeroTrustGatewaySchemasUuid;
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustListsZeroTrustListItemsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZeroTrustGatewayListItemResponseCollection & Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustListsZeroTrustListItemsVariables = {
+  pathParams: ZeroTrustListsZeroTrustListItemsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches all items in a single Zero Trust list.
+ */
+export const zeroTrustListsZeroTrustListItems = (
+  variables: ZeroTrustListsZeroTrustListItemsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewayListItemResponseCollection,
+    ZeroTrustListsZeroTrustListItemsError,
+    undefined,
+    {},
+    {},
+    ZeroTrustListsZeroTrustListItemsPathParams
+  >({ url: '/accounts/{accountId}/gateway/lists/{listId}/items', method: 'get', ...variables, signal });
+
+export type ZeroTrustGatewayLocationsListZeroTrustGatewayLocationsPathParams = {
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustGatewayLocationsListZeroTrustGatewayLocationsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZeroTrustGatewayComponentsSchemasResponseCollection &
+    Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustGatewayLocationsListZeroTrustGatewayLocationsVariables = {
+  pathParams: ZeroTrustGatewayLocationsListZeroTrustGatewayLocationsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches Zero Trust Gateway locations for an account.
+ */
+export const zeroTrustGatewayLocationsListZeroTrustGatewayLocations = (
+  variables: ZeroTrustGatewayLocationsListZeroTrustGatewayLocationsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewayComponentsSchemasResponseCollection,
+    ZeroTrustGatewayLocationsListZeroTrustGatewayLocationsError,
+    undefined,
+    {},
+    {},
+    ZeroTrustGatewayLocationsListZeroTrustGatewayLocationsPathParams
+  >({ url: '/accounts/{accountId}/gateway/locations', method: 'get', ...variables, signal });
+
+export type ZeroTrustGatewayLocationsCreateZeroTrustGatewayLocationPathParams = {
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustGatewayLocationsCreateZeroTrustGatewayLocationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZeroTrustGatewayComponentsSchemasSingleResponse & Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustGatewayLocationsCreateZeroTrustGatewayLocationRequestBody = {
+  client_default?: Schemas.ZeroTrustGatewayClientDefault;
+  dns_destination_ips_id?: Schemas.ZeroTrustGatewayDnsDestinationIpsIdWrite;
+  ecs_support?: Schemas.ZeroTrustGatewayEcsSupport;
+  endpoints?: Schemas.ZeroTrustGatewayEndpoints;
+  name: Schemas.ZeroTrustGatewaySchemasName;
+  networks?: Schemas.ZeroTrustGatewayIpv4Networks;
+};
+
+export type ZeroTrustGatewayLocationsCreateZeroTrustGatewayLocationVariables = {
+  body: ZeroTrustGatewayLocationsCreateZeroTrustGatewayLocationRequestBody;
+  pathParams: ZeroTrustGatewayLocationsCreateZeroTrustGatewayLocationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new Zero Trust Gateway location.
+ */
+export const zeroTrustGatewayLocationsCreateZeroTrustGatewayLocation = (
+  variables: ZeroTrustGatewayLocationsCreateZeroTrustGatewayLocationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewayComponentsSchemasSingleResponse,
+    ZeroTrustGatewayLocationsCreateZeroTrustGatewayLocationError,
+    ZeroTrustGatewayLocationsCreateZeroTrustGatewayLocationRequestBody,
+    {},
+    {},
+    ZeroTrustGatewayLocationsCreateZeroTrustGatewayLocationPathParams
+  >({ url: '/accounts/{accountId}/gateway/locations', method: 'post', ...variables, signal });
+
+export type ZeroTrustGatewayLocationsDeleteZeroTrustGatewayLocationPathParams = {
+  locationId: Schemas.ZeroTrustGatewayComponentsSchemasUuid;
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustGatewayLocationsDeleteZeroTrustGatewayLocationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZeroTrustGatewayEmptyResponse & Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustGatewayLocationsDeleteZeroTrustGatewayLocationVariables = {
+  pathParams: ZeroTrustGatewayLocationsDeleteZeroTrustGatewayLocationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes a configured Zero Trust Gateway location.
+ */
+export const zeroTrustGatewayLocationsDeleteZeroTrustGatewayLocation = (
+  variables: ZeroTrustGatewayLocationsDeleteZeroTrustGatewayLocationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewayEmptyResponse,
+    ZeroTrustGatewayLocationsDeleteZeroTrustGatewayLocationError,
+    undefined,
+    {},
+    {},
+    ZeroTrustGatewayLocationsDeleteZeroTrustGatewayLocationPathParams
+  >({ url: '/accounts/{accountId}/gateway/locations/{locationId}', method: 'delete', ...variables, signal });
+
+export type ZeroTrustGatewayLocationsZeroTrustGatewayLocationDetailsPathParams = {
+  locationId: Schemas.ZeroTrustGatewayComponentsSchemasUuid;
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustGatewayLocationsZeroTrustGatewayLocationDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZeroTrustGatewayComponentsSchemasSingleResponse & Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustGatewayLocationsZeroTrustGatewayLocationDetailsVariables = {
+  pathParams: ZeroTrustGatewayLocationsZeroTrustGatewayLocationDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a single Zero Trust Gateway location.
+ */
+export const zeroTrustGatewayLocationsZeroTrustGatewayLocationDetails = (
+  variables: ZeroTrustGatewayLocationsZeroTrustGatewayLocationDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewayComponentsSchemasSingleResponse,
+    ZeroTrustGatewayLocationsZeroTrustGatewayLocationDetailsError,
+    undefined,
+    {},
+    {},
+    ZeroTrustGatewayLocationsZeroTrustGatewayLocationDetailsPathParams
+  >({ url: '/accounts/{accountId}/gateway/locations/{locationId}', method: 'get', ...variables, signal });
+
+export type ZeroTrustGatewayLocationsUpdateZeroTrustGatewayLocationPathParams = {
+  locationId: Schemas.ZeroTrustGatewayComponentsSchemasUuid;
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustGatewayLocationsUpdateZeroTrustGatewayLocationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZeroTrustGatewayComponentsSchemasSingleResponse & Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustGatewayLocationsUpdateZeroTrustGatewayLocationRequestBody = {
+  client_default?: Schemas.ZeroTrustGatewayClientDefault;
+  dns_destination_ips_id?: Schemas.ZeroTrustGatewayDnsDestinationIpsIdWrite;
+  ecs_support?: Schemas.ZeroTrustGatewayEcsSupport;
+  endpoints?: Schemas.ZeroTrustGatewayEndpoints;
+  name: Schemas.ZeroTrustGatewaySchemasName;
+  networks?: Schemas.ZeroTrustGatewayIpv4Networks;
+};
+
+export type ZeroTrustGatewayLocationsUpdateZeroTrustGatewayLocationVariables = {
+  body: ZeroTrustGatewayLocationsUpdateZeroTrustGatewayLocationRequestBody;
+  pathParams: ZeroTrustGatewayLocationsUpdateZeroTrustGatewayLocationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a configured Zero Trust Gateway location.
+ */
+export const zeroTrustGatewayLocationsUpdateZeroTrustGatewayLocation = (
+  variables: ZeroTrustGatewayLocationsUpdateZeroTrustGatewayLocationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewayComponentsSchemasSingleResponse,
+    ZeroTrustGatewayLocationsUpdateZeroTrustGatewayLocationError,
+    ZeroTrustGatewayLocationsUpdateZeroTrustGatewayLocationRequestBody,
+    {},
+    {},
+    ZeroTrustGatewayLocationsUpdateZeroTrustGatewayLocationPathParams
+  >({ url: '/accounts/{accountId}/gateway/locations/{locationId}', method: 'put', ...variables, signal });
+
+export type ZeroTrustAccountsGetLoggingSettingsForTheZeroTrustAccountPathParams = {
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustAccountsGetLoggingSettingsForTheZeroTrustAccountError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZeroTrustGatewayGatewayAccountLoggingSettingsResponse &
+    Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustAccountsGetLoggingSettingsForTheZeroTrustAccountVariables = {
+  pathParams: ZeroTrustAccountsGetLoggingSettingsForTheZeroTrustAccountPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the current logging settings for Zero Trust account.
+ */
+export const zeroTrustAccountsGetLoggingSettingsForTheZeroTrustAccount = (
+  variables: ZeroTrustAccountsGetLoggingSettingsForTheZeroTrustAccountVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewayGatewayAccountLoggingSettingsResponse,
+    ZeroTrustAccountsGetLoggingSettingsForTheZeroTrustAccountError,
+    undefined,
+    {},
+    {},
+    ZeroTrustAccountsGetLoggingSettingsForTheZeroTrustAccountPathParams
+  >({ url: '/accounts/{accountId}/gateway/logging', method: 'get', ...variables, signal });
+
+export type ZeroTrustAccountsUpdateLoggingSettingsForTheZeroTrustAccountPathParams = {
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustAccountsUpdateLoggingSettingsForTheZeroTrustAccountError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZeroTrustGatewayGatewayAccountLoggingSettingsResponse &
+    Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustAccountsUpdateLoggingSettingsForTheZeroTrustAccountVariables = {
+  body?: Schemas.ZeroTrustGatewayGatewayAccountLoggingSettings;
+  pathParams: ZeroTrustAccountsUpdateLoggingSettingsForTheZeroTrustAccountPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates logging settings for the current Zero Trust account.
+ */
+export const zeroTrustAccountsUpdateLoggingSettingsForTheZeroTrustAccount = (
+  variables: ZeroTrustAccountsUpdateLoggingSettingsForTheZeroTrustAccountVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewayGatewayAccountLoggingSettingsResponse,
+    ZeroTrustAccountsUpdateLoggingSettingsForTheZeroTrustAccountError,
+    Schemas.ZeroTrustGatewayGatewayAccountLoggingSettings,
+    {},
+    {},
+    ZeroTrustAccountsUpdateLoggingSettingsForTheZeroTrustAccountPathParams
+  >({ url: '/accounts/{accountId}/gateway/logging', method: 'put', ...variables, signal });
+
+export type ZeroTrustGatewayProxyEndpointsListProxyEndpointsPathParams = {
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustGatewayProxyEndpointsListProxyEndpointsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZeroTrustGatewayProxyEndpointsComponentsSchemasSingleResponse &
+    Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustGatewayProxyEndpointsListProxyEndpointsVariables = {
+  pathParams: ZeroTrustGatewayProxyEndpointsListProxyEndpointsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches all Zero Trust Gateway proxy endpoints for an account.
+ */
+export const zeroTrustGatewayProxyEndpointsListProxyEndpoints = (
+  variables: ZeroTrustGatewayProxyEndpointsListProxyEndpointsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewayProxyEndpointsComponentsSchemasSingleResponse,
+    ZeroTrustGatewayProxyEndpointsListProxyEndpointsError,
+    undefined,
+    {},
+    {},
+    ZeroTrustGatewayProxyEndpointsListProxyEndpointsPathParams
+  >({ url: '/accounts/{accountId}/gateway/proxy_endpoints', method: 'get', ...variables, signal });
+
+export type ZeroTrustGatewayProxyEndpointsCreateProxyEndpointPathParams = {
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustGatewayProxyEndpointsCreateProxyEndpointError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZeroTrustGatewayProxyEndpointsComponentsSchemasSingleResponse &
+    Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustGatewayProxyEndpointsCreateProxyEndpointRequestBody = {
+  ips: Schemas.ZeroTrustGatewayIps;
+  name: Schemas.ZeroTrustGatewayProxyEndpointsComponentsSchemasName;
+};
+
+export type ZeroTrustGatewayProxyEndpointsCreateProxyEndpointVariables = {
+  body: ZeroTrustGatewayProxyEndpointsCreateProxyEndpointRequestBody;
+  pathParams: ZeroTrustGatewayProxyEndpointsCreateProxyEndpointPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new Zero Trust Gateway proxy endpoint.
+ */
+export const zeroTrustGatewayProxyEndpointsCreateProxyEndpoint = (
+  variables: ZeroTrustGatewayProxyEndpointsCreateProxyEndpointVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewayProxyEndpointsComponentsSchemasSingleResponse,
+    ZeroTrustGatewayProxyEndpointsCreateProxyEndpointError,
+    ZeroTrustGatewayProxyEndpointsCreateProxyEndpointRequestBody,
+    {},
+    {},
+    ZeroTrustGatewayProxyEndpointsCreateProxyEndpointPathParams
+  >({ url: '/accounts/{accountId}/gateway/proxy_endpoints', method: 'post', ...variables, signal });
+
+export type ZeroTrustGatewayProxyEndpointsDeleteProxyEndpointPathParams = {
+  proxyEndpointId: Schemas.ZeroTrustGatewayComponentsSchemasUuid;
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustGatewayProxyEndpointsDeleteProxyEndpointError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Record<string, any> &
+    Schemas.ZeroTrustGatewayEmptyResponse &
+    Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustGatewayProxyEndpointsDeleteProxyEndpointVariables = {
+  pathParams: ZeroTrustGatewayProxyEndpointsDeleteProxyEndpointPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes a configured Zero Trust Gateway proxy endpoint.
+ */
+export const zeroTrustGatewayProxyEndpointsDeleteProxyEndpoint = (
+  variables: ZeroTrustGatewayProxyEndpointsDeleteProxyEndpointVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewayEmptyResponse,
+    ZeroTrustGatewayProxyEndpointsDeleteProxyEndpointError,
+    undefined,
+    {},
+    {},
+    ZeroTrustGatewayProxyEndpointsDeleteProxyEndpointPathParams
+  >({ url: '/accounts/{accountId}/gateway/proxy_endpoints/{proxyEndpointId}', method: 'delete', ...variables, signal });
+
+export type ZeroTrustGatewayProxyEndpointsProxyEndpointDetailsPathParams = {
+  proxyEndpointId: Schemas.ZeroTrustGatewayComponentsSchemasUuid;
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustGatewayProxyEndpointsProxyEndpointDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Record<string, any> &
+    Schemas.ZeroTrustGatewayProxyEndpointsComponentsSchemasResponseCollection &
+    Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustGatewayProxyEndpointsProxyEndpointDetailsVariables = {
+  pathParams: ZeroTrustGatewayProxyEndpointsProxyEndpointDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a single Zero Trust Gateway proxy endpoint.
+ */
+export const zeroTrustGatewayProxyEndpointsProxyEndpointDetails = (
+  variables: ZeroTrustGatewayProxyEndpointsProxyEndpointDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewayProxyEndpointsComponentsSchemasResponseCollection,
+    ZeroTrustGatewayProxyEndpointsProxyEndpointDetailsError,
+    undefined,
+    {},
+    {},
+    ZeroTrustGatewayProxyEndpointsProxyEndpointDetailsPathParams
+  >({ url: '/accounts/{accountId}/gateway/proxy_endpoints/{proxyEndpointId}', method: 'get', ...variables, signal });
+
+export type ZeroTrustGatewayProxyEndpointsUpdateProxyEndpointPathParams = {
+  proxyEndpointId: Schemas.ZeroTrustGatewayComponentsSchemasUuid;
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustGatewayProxyEndpointsUpdateProxyEndpointError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZeroTrustGatewayProxyEndpointsComponentsSchemasSingleResponse &
+    Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustGatewayProxyEndpointsUpdateProxyEndpointRequestBody = {
+  ips?: Schemas.ZeroTrustGatewayIps;
+  name?: Schemas.ZeroTrustGatewayProxyEndpointsComponentsSchemasName;
+};
+
+export type ZeroTrustGatewayProxyEndpointsUpdateProxyEndpointVariables = {
+  body?: ZeroTrustGatewayProxyEndpointsUpdateProxyEndpointRequestBody;
+  pathParams: ZeroTrustGatewayProxyEndpointsUpdateProxyEndpointPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a configured Zero Trust Gateway proxy endpoint.
+ */
+export const zeroTrustGatewayProxyEndpointsUpdateProxyEndpoint = (
+  variables: ZeroTrustGatewayProxyEndpointsUpdateProxyEndpointVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewayProxyEndpointsComponentsSchemasSingleResponse,
+    ZeroTrustGatewayProxyEndpointsUpdateProxyEndpointError,
+    ZeroTrustGatewayProxyEndpointsUpdateProxyEndpointRequestBody,
+    {},
+    {},
+    ZeroTrustGatewayProxyEndpointsUpdateProxyEndpointPathParams
+  >({ url: '/accounts/{accountId}/gateway/proxy_endpoints/{proxyEndpointId}', method: 'patch', ...variables, signal });
+
+export type ZeroTrustGatewayRulesListZeroTrustGatewayRulesPathParams = {
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustGatewayRulesListZeroTrustGatewayRulesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Record<string, any> &
+    Schemas.ZeroTrustGatewayRulesComponentsSchemasResponseCollection &
+    Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustGatewayRulesListZeroTrustGatewayRulesVariables = {
+  pathParams: ZeroTrustGatewayRulesListZeroTrustGatewayRulesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the Zero Trust Gateway rules for an account.
+ */
+export const zeroTrustGatewayRulesListZeroTrustGatewayRules = (
+  variables: ZeroTrustGatewayRulesListZeroTrustGatewayRulesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewayRulesComponentsSchemasResponseCollection,
+    ZeroTrustGatewayRulesListZeroTrustGatewayRulesError,
+    undefined,
+    {},
+    {},
+    ZeroTrustGatewayRulesListZeroTrustGatewayRulesPathParams
+  >({ url: '/accounts/{accountId}/gateway/rules', method: 'get', ...variables, signal });
+
+export type ZeroTrustGatewayRulesCreateZeroTrustGatewayRulePathParams = {
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustGatewayRulesCreateZeroTrustGatewayRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Record<string, any> &
+    Schemas.ZeroTrustGatewayRulesComponentsSchemasSingleResponse &
+    Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustGatewayRulesCreateZeroTrustGatewayRuleRequestBody = {
+  action: Schemas.ZeroTrustGatewayAction;
+  description?: Schemas.ZeroTrustGatewaySchemasDescription;
+  device_posture?: Schemas.ZeroTrustGatewayDevicePosture;
+  enabled?: Schemas.ZeroTrustGatewayEnabled;
+  expiration?: Schemas.ZeroTrustGatewayExpiration;
+  filters?: Schemas.ZeroTrustGatewayFilters;
+  identity?: Schemas.ZeroTrustGatewayIdentity;
+  name: Schemas.ZeroTrustGatewayComponentsSchemasName;
+  precedence?: Schemas.ZeroTrustGatewayPrecedence;
+  rule_settings?: Schemas.ZeroTrustGatewayRuleSettings;
+  schedule?: Schemas.ZeroTrustGatewaySchedule;
+  traffic?: Schemas.ZeroTrustGatewayTraffic;
+};
+
+export type ZeroTrustGatewayRulesCreateZeroTrustGatewayRuleVariables = {
+  body: ZeroTrustGatewayRulesCreateZeroTrustGatewayRuleRequestBody;
+  pathParams: ZeroTrustGatewayRulesCreateZeroTrustGatewayRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new Zero Trust Gateway rule.
+ */
+export const zeroTrustGatewayRulesCreateZeroTrustGatewayRule = (
+  variables: ZeroTrustGatewayRulesCreateZeroTrustGatewayRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewayRulesComponentsSchemasSingleResponse,
+    ZeroTrustGatewayRulesCreateZeroTrustGatewayRuleError,
+    ZeroTrustGatewayRulesCreateZeroTrustGatewayRuleRequestBody,
+    {},
+    {},
+    ZeroTrustGatewayRulesCreateZeroTrustGatewayRulePathParams
+  >({ url: '/accounts/{accountId}/gateway/rules', method: 'post', ...variables, signal });
+
+export type ZeroTrustGatewayRulesDeleteZeroTrustGatewayRulePathParams = {
+  ruleId: Schemas.ZeroTrustGatewayRulesComponentsSchemasUuid;
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustGatewayRulesDeleteZeroTrustGatewayRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZeroTrustGatewayEmptyResponse & Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustGatewayRulesDeleteZeroTrustGatewayRuleVariables = {
+  pathParams: ZeroTrustGatewayRulesDeleteZeroTrustGatewayRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes a Zero Trust Gateway rule.
+ */
+export const zeroTrustGatewayRulesDeleteZeroTrustGatewayRule = (
+  variables: ZeroTrustGatewayRulesDeleteZeroTrustGatewayRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewayEmptyResponse,
+    ZeroTrustGatewayRulesDeleteZeroTrustGatewayRuleError,
+    undefined,
+    {},
+    {},
+    ZeroTrustGatewayRulesDeleteZeroTrustGatewayRulePathParams
+  >({ url: '/accounts/{accountId}/gateway/rules/{ruleId}', method: 'delete', ...variables, signal });
+
+export type ZeroTrustGatewayRulesZeroTrustGatewayRuleDetailsPathParams = {
+  ruleId: Schemas.ZeroTrustGatewayRulesComponentsSchemasUuid;
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustGatewayRulesZeroTrustGatewayRuleDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Record<string, any> &
+    Schemas.ZeroTrustGatewayRulesComponentsSchemasSingleResponse &
+    Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustGatewayRulesZeroTrustGatewayRuleDetailsVariables = {
+  pathParams: ZeroTrustGatewayRulesZeroTrustGatewayRuleDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a single Zero Trust Gateway rule.
+ */
+export const zeroTrustGatewayRulesZeroTrustGatewayRuleDetails = (
+  variables: ZeroTrustGatewayRulesZeroTrustGatewayRuleDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewayRulesComponentsSchemasSingleResponse,
+    ZeroTrustGatewayRulesZeroTrustGatewayRuleDetailsError,
+    undefined,
+    {},
+    {},
+    ZeroTrustGatewayRulesZeroTrustGatewayRuleDetailsPathParams
+  >({ url: '/accounts/{accountId}/gateway/rules/{ruleId}', method: 'get', ...variables, signal });
+
+export type ZeroTrustGatewayRulesUpdateZeroTrustGatewayRulePathParams = {
+  ruleId: Schemas.ZeroTrustGatewayRulesComponentsSchemasUuid;
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustGatewayRulesUpdateZeroTrustGatewayRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Record<string, any> &
+    Schemas.ZeroTrustGatewayRulesComponentsSchemasSingleResponse &
+    Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustGatewayRulesUpdateZeroTrustGatewayRuleRequestBody = {
+  action: Schemas.ZeroTrustGatewayAction;
+  description?: Schemas.ZeroTrustGatewaySchemasDescription;
+  device_posture?: Schemas.ZeroTrustGatewayDevicePosture;
+  enabled?: Schemas.ZeroTrustGatewayEnabled;
+  expiration?: Schemas.ZeroTrustGatewayExpiration;
+  filters?: Schemas.ZeroTrustGatewayFilters;
+  identity?: Schemas.ZeroTrustGatewayIdentity;
+  name: Schemas.ZeroTrustGatewayComponentsSchemasName;
+  precedence?: Schemas.ZeroTrustGatewayPrecedence;
+  rule_settings?: Schemas.ZeroTrustGatewayRuleSettings;
+  schedule?: Schemas.ZeroTrustGatewaySchedule;
+  traffic?: Schemas.ZeroTrustGatewayTraffic;
+};
+
+export type ZeroTrustGatewayRulesUpdateZeroTrustGatewayRuleVariables = {
+  body: ZeroTrustGatewayRulesUpdateZeroTrustGatewayRuleRequestBody;
+  pathParams: ZeroTrustGatewayRulesUpdateZeroTrustGatewayRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a configured Zero Trust Gateway rule.
+ */
+export const zeroTrustGatewayRulesUpdateZeroTrustGatewayRule = (
+  variables: ZeroTrustGatewayRulesUpdateZeroTrustGatewayRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewayRulesComponentsSchemasSingleResponse,
+    ZeroTrustGatewayRulesUpdateZeroTrustGatewayRuleError,
+    ZeroTrustGatewayRulesUpdateZeroTrustGatewayRuleRequestBody,
+    {},
+    {},
+    ZeroTrustGatewayRulesUpdateZeroTrustGatewayRulePathParams
+  >({ url: '/accounts/{accountId}/gateway/rules/{ruleId}', method: 'put', ...variables, signal });
+
+export type ZeroTrustGatewayRulesResetExpirationZeroTrustGatewayRulePathParams = {
+  ruleId: Schemas.ZeroTrustGatewayRulesComponentsSchemasUuid;
+  accountId: Schemas.ZeroTrustGatewayIdentifier;
+};
+
+export type ZeroTrustGatewayRulesResetExpirationZeroTrustGatewayRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZeroTrustGatewayRulesComponentsSchemasSingleResponse &
+    Schemas.ZeroTrustGatewayApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustGatewayRulesResetExpirationZeroTrustGatewayRuleVariables = {
+  pathParams: ZeroTrustGatewayRulesResetExpirationZeroTrustGatewayRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Resets the expiration of a Zero Trust Gateway Rule if its duration has elapsed and it has a default duration.
+ *
+ * The Zero Trust Gateway Rule must have values for both `expiration.expires_at` and `expiration.duration`.
+ */
+export const zeroTrustGatewayRulesResetExpirationZeroTrustGatewayRule = (
+  variables: ZeroTrustGatewayRulesResetExpirationZeroTrustGatewayRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZeroTrustGatewayRulesComponentsSchemasSingleResponse,
+    ZeroTrustGatewayRulesResetExpirationZeroTrustGatewayRuleError,
+    undefined,
+    {},
+    {},
+    ZeroTrustGatewayRulesResetExpirationZeroTrustGatewayRulePathParams
+  >({ url: '/accounts/{accountId}/gateway/rules/{ruleId}/reset_expiration', method: 'post', ...variables, signal });
+
+export type ListHyperdrivePathParams = {
+  accountId: Schemas.HyperdriveIdentifier;
+};
+
+export type ListHyperdriveError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.HyperdriveApiResponseCommonFailure;
+}>;
+
+export type ListHyperdriveResponse = Schemas.HyperdriveApiResponseCollection & {
+  result?: Schemas.HyperdriveHyperdriveConfigResponse[];
+};
+
+export type ListHyperdriveVariables = {
+  pathParams: ListHyperdrivePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Returns a list of Hyperdrives
+ */
+export const listHyperdrive = (variables: ListHyperdriveVariables, signal?: AbortSignal) =>
+  fetch<ListHyperdriveResponse, ListHyperdriveError, undefined, {}, {}, ListHyperdrivePathParams>({
+    url: '/accounts/{accountId}/hyperdrive/configs',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type CreateHyperdrivePathParams = {
+  accountId: Schemas.HyperdriveIdentifier;
+};
+
+export type CreateHyperdriveError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.HyperdriveApiResponseCommonFailure;
+}>;
+
+export type CreateHyperdriveResponse = Schemas.HyperdriveApiResponseSingle & {
+  result?: Schemas.HyperdriveHyperdriveConfigResponse;
+};
+
+export type CreateHyperdriveVariables = {
+  body: Schemas.HyperdriveHyperdriveConfig;
+  pathParams: CreateHyperdrivePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates and returns a new Hyperdrive configuration.
+ */
+export const createHyperdrive = (variables: CreateHyperdriveVariables, signal?: AbortSignal) =>
+  fetch<
+    CreateHyperdriveResponse,
+    CreateHyperdriveError,
+    Schemas.HyperdriveHyperdriveConfig,
+    {},
+    {},
+    CreateHyperdrivePathParams
+  >({ url: '/accounts/{accountId}/hyperdrive/configs', method: 'post', ...variables, signal });
+
+export type DeleteHyperdrivePathParams = {
+  accountId: Schemas.HyperdriveIdentifier;
+  hyperdriveId: Schemas.HyperdriveIdentifier;
+};
+
+export type DeleteHyperdriveError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.HyperdriveApiResponseCommonFailure;
+}>;
+
+export type DeleteHyperdriveResponse = Schemas.HyperdriveApiResponseSingle & {
+  result?: Record<string, any> | null;
+};
+
+export type DeleteHyperdriveVariables = {
+  pathParams: DeleteHyperdrivePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes the specified Hyperdrive.
+ */
+export const deleteHyperdrive = (variables: DeleteHyperdriveVariables, signal?: AbortSignal) =>
+  fetch<DeleteHyperdriveResponse, DeleteHyperdriveError, undefined, {}, {}, DeleteHyperdrivePathParams>({
+    url: '/accounts/{accountId}/hyperdrive/configs/{hyperdriveId}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type GetHyperdrivePathParams = {
+  accountId: Schemas.HyperdriveIdentifier;
+  hyperdriveId: Schemas.HyperdriveIdentifier;
+};
+
+export type GetHyperdriveError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.HyperdriveApiResponseCommonFailure;
+}>;
+
+export type GetHyperdriveResponse = Schemas.HyperdriveApiResponseSingle & {
+  result?: Schemas.HyperdriveHyperdriveConfigResponse;
+};
+
+export type GetHyperdriveVariables = {
+  pathParams: GetHyperdrivePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Returns the specified Hyperdrive configuration.
+ */
+export const getHyperdrive = (variables: GetHyperdriveVariables, signal?: AbortSignal) =>
+  fetch<GetHyperdriveResponse, GetHyperdriveError, undefined, {}, {}, GetHyperdrivePathParams>({
+    url: '/accounts/{accountId}/hyperdrive/configs/{hyperdriveId}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type PatchHyperdrivePathParams = {
+  accountId: Schemas.HyperdriveIdentifier;
+  hyperdriveId: Schemas.HyperdriveIdentifier;
+};
+
+export type PatchHyperdriveError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.HyperdriveApiResponseCommonFailure;
+}>;
+
+export type PatchHyperdriveResponse = {
+  errors: Schemas.HyperdriveMessages;
+  messages: Schemas.HyperdriveMessages;
+  result: Schemas.HyperdriveHyperdriveConfigResponse;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type PatchHyperdriveVariables = {
+  body?: Schemas.HyperdriveHyperdriveConfigPatch;
+  pathParams: PatchHyperdrivePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Patches and returns the specified Hyperdrive configuration. Custom caching settings are not kept if caching is disabled.
+ */
+export const patchHyperdrive = (variables: PatchHyperdriveVariables, signal?: AbortSignal) =>
+  fetch<
+    PatchHyperdriveResponse,
+    PatchHyperdriveError,
+    Schemas.HyperdriveHyperdriveConfigPatch,
+    {},
+    {},
+    PatchHyperdrivePathParams
+  >({ url: '/accounts/{accountId}/hyperdrive/configs/{hyperdriveId}', method: 'patch', ...variables, signal });
+
+export type UpdateHyperdrivePathParams = {
+  accountId: Schemas.HyperdriveIdentifier;
+  hyperdriveId: Schemas.HyperdriveIdentifier;
+};
+
+export type UpdateHyperdriveError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.HyperdriveApiResponseCommonFailure;
+}>;
+
+export type UpdateHyperdriveResponse = Schemas.HyperdriveApiResponseSingle & {
+  result?: Schemas.HyperdriveHyperdriveConfigResponse;
+};
+
+export type UpdateHyperdriveVariables = {
+  body: Schemas.HyperdriveHyperdriveConfig;
+  pathParams: UpdateHyperdrivePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates and returns the specified Hyperdrive configuration.
+ */
+export const updateHyperdrive = (variables: UpdateHyperdriveVariables, signal?: AbortSignal) =>
+  fetch<
+    UpdateHyperdriveResponse,
+    UpdateHyperdriveError,
+    Schemas.HyperdriveHyperdriveConfig,
+    {},
+    {},
+    UpdateHyperdrivePathParams
+  >({ url: '/accounts/{accountId}/hyperdrive/configs/{hyperdriveId}', method: 'put', ...variables, signal });
+
+export type AccountPermissionGroupListPathParams = {
+  accountId: Schemas.IamAccountIdentifier;
+};
+
+export type AccountPermissionGroupListQueryParams = {
+  /**
+   * @example 6d7f2f5f5b1d4a0e9081fdc98d432fd1
+   * @maxLength 32
+   * @minLength 32
+   */
+  id?: string;
+  /**
+   * @example NameOfThePermissionGroup
+   */
+  name?: string;
+  /**
+   * @example labelOfThePermissionGroup
+   */
+  label?: string;
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default 20
+   * @maximum 50
+   * @minimum 5
+   */
+  per_page?: number;
+};
+
+export type AccountPermissionGroupListError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type AccountPermissionGroupListVariables = {
+  pathParams: AccountPermissionGroupListPathParams;
+  queryParams?: AccountPermissionGroupListQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * List all the permissions groups for an account.
+ */
+export const accountPermissionGroupList = (variables: AccountPermissionGroupListVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.IamCollectionPermissionGroupsResponse,
+    AccountPermissionGroupListError,
+    undefined,
+    {},
+    AccountPermissionGroupListQueryParams,
+    AccountPermissionGroupListPathParams
+  >({ url: '/accounts/{accountId}/iam/permission_groups', method: 'get', ...variables, signal });
+
+export type AccountPermissionGroupDetailsPathParams = {
+  accountId: Schemas.IamAccountIdentifier;
+  permissionGroupId: Schemas.IamPermissionGroupComponentsSchemasIdentifier;
+};
+
+export type AccountPermissionGroupDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type AccountPermissionGroupDetailsVariables = {
+  pathParams: AccountPermissionGroupDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get information about a specific permission group in an account.
+ */
+export const accountPermissionGroupDetails = (
+  variables: AccountPermissionGroupDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.IamPermissionGroup,
+    AccountPermissionGroupDetailsError,
+    undefined,
+    {},
+    {},
+    AccountPermissionGroupDetailsPathParams
+  >({ url: '/accounts/{accountId}/iam/permission_groups/{permissionGroupId}', method: 'get', ...variables, signal });
+
+export type AccountResourceGroupListPathParams = {
+  accountId: Schemas.IamAccountIdentifier;
+};
+
+export type AccountResourceGroupListQueryParams = {
+  /**
+   * @example 6d7f2f5f5b1d4a0e9081fdc98d432fd1
+   * @maxLength 32
+   * @minLength 32
+   */
+  id?: string;
+  /**
+   * @example NameOfTheResourceGroup
+   */
+  name?: string;
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default 20
+   * @maximum 50
+   * @minimum 5
+   */
+  per_page?: number;
+};
+
+export type AccountResourceGroupListError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type AccountResourceGroupListVariables = {
+  pathParams: AccountResourceGroupListPathParams;
+  queryParams?: AccountResourceGroupListQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * List all the resource groups for an account.
+ */
+export const accountResourceGroupList = (variables: AccountResourceGroupListVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.IamCollectionResourceGroupsResponse,
+    AccountResourceGroupListError,
+    undefined,
+    {},
+    AccountResourceGroupListQueryParams,
+    AccountResourceGroupListPathParams
+  >({ url: '/accounts/{accountId}/iam/resource_groups', method: 'get', ...variables, signal });
+
+export type AccountResourceGroupCreatePathParams = {
+  accountId: Schemas.IamAccountIdentifier;
+};
+
+export type AccountResourceGroupCreateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type AccountResourceGroupCreateVariables = {
+  body: Schemas.IamCreateResourceGroup;
+  pathParams: AccountResourceGroupCreatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create a new Resource Group under the specified account.
+ */
+export const accountResourceGroupCreate = (variables: AccountResourceGroupCreateVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.IamCreatedResourceGroupResponse,
+    AccountResourceGroupCreateError,
+    Schemas.IamCreateResourceGroup,
+    {},
+    {},
+    AccountResourceGroupCreatePathParams
+  >({ url: '/accounts/{accountId}/iam/resource_groups', method: 'post', ...variables, signal });
+
+export type AccountResourceGroupDeletePathParams = {
+  accountId: Schemas.IamAccountIdentifier;
+  resourceGroupId: Schemas.IamResourceGroupComponentsSchemasIdentifier;
+};
+
+export type AccountResourceGroupDeleteError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type AccountResourceGroupDeleteVariables = {
+  pathParams: AccountResourceGroupDeletePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Remove a resource group from an account.
+ */
+export const accountResourceGroupDelete = (variables: AccountResourceGroupDeleteVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.IamApiResponseSingleId,
+    AccountResourceGroupDeleteError,
+    undefined,
+    {},
+    {},
+    AccountResourceGroupDeletePathParams
+  >({ url: '/accounts/{accountId}/iam/resource_groups/{resourceGroupId}', method: 'delete', ...variables, signal });
+
+export type AccountResourceGroupDetailsPathParams = {
+  accountId: Schemas.IamAccountIdentifier;
+  resourceGroupId: Schemas.IamResourceGroupComponentsSchemasIdentifier;
+};
+
+export type AccountResourceGroupDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type AccountResourceGroupDetailsVariables = {
+  pathParams: AccountResourceGroupDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get information about a specific resource group in an account.
+ */
+export const accountResourceGroupDetails = (variables: AccountResourceGroupDetailsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.IamResourceGroup,
+    AccountResourceGroupDetailsError,
+    undefined,
+    {},
+    {},
+    AccountResourceGroupDetailsPathParams
+  >({ url: '/accounts/{accountId}/iam/resource_groups/{resourceGroupId}', method: 'get', ...variables, signal });
+
+export type AccountResourceGroupUpdatePathParams = {
+  accountId: Schemas.IamAccountIdentifier;
+  resourceGroupId: Schemas.IamResourceGroupComponentsSchemasIdentifier;
+};
+
+export type AccountResourceGroupUpdateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type AccountResourceGroupUpdateVariables = {
+  body: Schemas.IamCreateResourceGroup;
+  pathParams: AccountResourceGroupUpdatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Modify an existing resource group.
+ */
+export const accountResourceGroupUpdate = (variables: AccountResourceGroupUpdateVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.IamResourceGroup,
+    AccountResourceGroupUpdateError,
+    Schemas.IamCreateResourceGroup,
+    {},
+    {},
+    AccountResourceGroupUpdatePathParams
+  >({ url: '/accounts/{accountId}/iam/resource_groups/{resourceGroupId}', method: 'put', ...variables, signal });
+
+export type CloudflareImagesListImagesPathParams = {
+  accountId: Schemas.ImagesAccountIdentifier;
+};
+
+export type CloudflareImagesListImagesQueryParams = {
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default 1000
+   * @maximum 10000
+   * @minimum 10
+   */
+  per_page?: number;
+};
+
+export type CloudflareImagesListImagesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ImagesImagesListResponse & Schemas.ImagesApiResponseCommonFailure;
+}>;
+
+export type CloudflareImagesListImagesVariables = {
+  pathParams: CloudflareImagesListImagesPathParams;
+  queryParams?: CloudflareImagesListImagesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * List up to 100 images with one request. Use the optional parameters below to get a specific range of images.
+ */
+export const cloudflareImagesListImages = (variables: CloudflareImagesListImagesVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.ImagesImagesListResponse,
+    CloudflareImagesListImagesError,
+    undefined,
+    {},
+    CloudflareImagesListImagesQueryParams,
+    CloudflareImagesListImagesPathParams
+  >({ url: '/accounts/{accountId}/images/v1', method: 'get', ...variables, signal });
+
+export type CloudflareImagesUploadAnImageViaUrlPathParams = {
+  accountId: Schemas.ImagesAccountIdentifier;
+};
+
+export type CloudflareImagesUploadAnImageViaUrlError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ImagesImageResponseSingle & Schemas.ImagesApiResponseCommonFailure;
+}>;
+
+export type CloudflareImagesUploadAnImageViaUrlVariables = {
+  body?: Schemas.ImagesImageBasicUpload;
+  pathParams: CloudflareImagesUploadAnImageViaUrlPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Upload an image with up to 10 Megabytes using a single HTTP POST (multipart/form-data) request.
+ * An image can be uploaded by sending an image file or passing an accessible to an API url.
+ */
+export const cloudflareImagesUploadAnImageViaUrl = (
+  variables: CloudflareImagesUploadAnImageViaUrlVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ImagesImageResponseSingle,
+    CloudflareImagesUploadAnImageViaUrlError,
+    Schemas.ImagesImageBasicUpload,
+    {},
+    {},
+    CloudflareImagesUploadAnImageViaUrlPathParams
+  >({ url: '/accounts/{accountId}/images/v1', method: 'post', ...variables, signal });
+
+export type CloudflareImagesKeysListSigningKeysPathParams = {
+  accountId: Schemas.ImagesAccountIdentifier;
+};
+
+export type CloudflareImagesKeysListSigningKeysError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ImagesImageKeyResponseCollection & Schemas.ImagesApiResponseCommonFailure;
+}>;
+
+export type CloudflareImagesKeysListSigningKeysVariables = {
+  pathParams: CloudflareImagesKeysListSigningKeysPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists your signing keys. These can be found on your Cloudflare Images dashboard.
+ */
+export const cloudflareImagesKeysListSigningKeys = (
+  variables: CloudflareImagesKeysListSigningKeysVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ImagesImageKeyResponseCollection,
+    CloudflareImagesKeysListSigningKeysError,
+    undefined,
+    {},
+    {},
+    CloudflareImagesKeysListSigningKeysPathParams
+  >({ url: '/accounts/{accountId}/images/v1/keys', method: 'get', ...variables, signal });
+
+export type CloudflareImagesKeysDeleteSigningKeyPathParams = {
+  signingKeyName: Schemas.ImagesSigningKeyIdentifier;
+  accountId: Schemas.ImagesAccountIdentifier;
+};
+
+export type CloudflareImagesKeysDeleteSigningKeyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ImagesImageKeyResponseCollection & Schemas.ImagesApiResponseCommonFailure;
+}>;
+
+export type CloudflareImagesKeysDeleteSigningKeyVariables = {
+  pathParams: CloudflareImagesKeysDeleteSigningKeyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete signing key with specified name. Returns all keys available.
+ * When last key is removed, a new default signing key will be generated.
+ */
+export const cloudflareImagesKeysDeleteSigningKey = (
+  variables: CloudflareImagesKeysDeleteSigningKeyVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ImagesImageKeyResponseCollection,
+    CloudflareImagesKeysDeleteSigningKeyError,
+    undefined,
+    {},
+    {},
+    CloudflareImagesKeysDeleteSigningKeyPathParams
+  >({ url: '/accounts/{accountId}/images/v1/keys/{signingKeyName}', method: 'delete', ...variables, signal });
+
+export type CloudflareImagesKeysAddSigningKeyPathParams = {
+  signingKeyName: Schemas.ImagesSigningKeyIdentifier;
+  accountId: Schemas.ImagesAccountIdentifier;
+};
+
+export type CloudflareImagesKeysAddSigningKeyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ImagesImageKeyResponseCollection & Schemas.ImagesApiResponseCommonFailure;
+}>;
+
+export type CloudflareImagesKeysAddSigningKeyVariables = {
+  pathParams: CloudflareImagesKeysAddSigningKeyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create a new signing key with specified name. Returns all keys available.
+ */
+export const cloudflareImagesKeysAddSigningKey = (
+  variables: CloudflareImagesKeysAddSigningKeyVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ImagesImageKeyResponseCollection,
+    CloudflareImagesKeysAddSigningKeyError,
+    undefined,
+    {},
+    {},
+    CloudflareImagesKeysAddSigningKeyPathParams
+  >({ url: '/accounts/{accountId}/images/v1/keys/{signingKeyName}', method: 'put', ...variables, signal });
+
+export type CloudflareImagesImagesUsageStatisticsPathParams = {
+  accountId: Schemas.ImagesAccountIdentifier;
+};
+
+export type CloudflareImagesImagesUsageStatisticsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ImagesImagesStatsResponse & Schemas.ImagesApiResponseCommonFailure;
+}>;
+
+export type CloudflareImagesImagesUsageStatisticsVariables = {
+  pathParams: CloudflareImagesImagesUsageStatisticsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetch usage statistics details for Cloudflare Images.
+ */
+export const cloudflareImagesImagesUsageStatistics = (
+  variables: CloudflareImagesImagesUsageStatisticsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ImagesImagesStatsResponse,
+    CloudflareImagesImagesUsageStatisticsError,
+    undefined,
+    {},
+    {},
+    CloudflareImagesImagesUsageStatisticsPathParams
+  >({ url: '/accounts/{accountId}/images/v1/stats', method: 'get', ...variables, signal });
+
+export type CloudflareImagesVariantsListVariantsPathParams = {
+  accountId: Schemas.ImagesAccountIdentifier;
+};
+
+export type CloudflareImagesVariantsListVariantsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ImagesImageVariantListResponse & Schemas.ImagesApiResponseCommonFailure;
+}>;
+
+export type CloudflareImagesVariantsListVariantsVariables = {
+  pathParams: CloudflareImagesVariantsListVariantsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists existing variants.
+ */
+export const cloudflareImagesVariantsListVariants = (
+  variables: CloudflareImagesVariantsListVariantsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ImagesImageVariantListResponse,
+    CloudflareImagesVariantsListVariantsError,
+    undefined,
+    {},
+    {},
+    CloudflareImagesVariantsListVariantsPathParams
+  >({ url: '/accounts/{accountId}/images/v1/variants', method: 'get', ...variables, signal });
+
+export type CloudflareImagesVariantsCreateAVariantPathParams = {
+  accountId: Schemas.ImagesAccountIdentifier;
+};
+
+export type CloudflareImagesVariantsCreateAVariantError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ImagesImageVariantSimpleResponse & Schemas.ImagesApiResponseCommonFailure;
+}>;
+
+export type CloudflareImagesVariantsCreateAVariantVariables = {
+  body: Schemas.ImagesImageVariantDefinition;
+  pathParams: CloudflareImagesVariantsCreateAVariantPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Specify variants that allow you to resize images for different use cases.
+ */
+export const cloudflareImagesVariantsCreateAVariant = (
+  variables: CloudflareImagesVariantsCreateAVariantVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ImagesImageVariantSimpleResponse,
+    CloudflareImagesVariantsCreateAVariantError,
+    Schemas.ImagesImageVariantDefinition,
+    {},
+    {},
+    CloudflareImagesVariantsCreateAVariantPathParams
+  >({ url: '/accounts/{accountId}/images/v1/variants', method: 'post', ...variables, signal });
+
+export type CloudflareImagesVariantsDeleteAVariantPathParams = {
+  variantId: Schemas.ImagesImageVariantIdentifier;
+  accountId: Schemas.ImagesAccountIdentifier;
+};
+
+export type CloudflareImagesVariantsDeleteAVariantError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ImagesDeletedResponse & Schemas.ImagesApiResponseCommonFailure;
+}>;
+
+export type CloudflareImagesVariantsDeleteAVariantVariables = {
+  pathParams: CloudflareImagesVariantsDeleteAVariantPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deleting a variant purges the cache for all images associated with the variant.
+ */
+export const cloudflareImagesVariantsDeleteAVariant = (
+  variables: CloudflareImagesVariantsDeleteAVariantVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ImagesDeletedResponse,
+    CloudflareImagesVariantsDeleteAVariantError,
+    undefined,
+    {},
+    {},
+    CloudflareImagesVariantsDeleteAVariantPathParams
+  >({ url: '/accounts/{accountId}/images/v1/variants/{variantId}', method: 'delete', ...variables, signal });
+
+export type CloudflareImagesVariantsVariantDetailsPathParams = {
+  variantId: Schemas.ImagesImageVariantIdentifier;
+  accountId: Schemas.ImagesAccountIdentifier;
+};
+
+export type CloudflareImagesVariantsVariantDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ImagesImageVariantSimpleResponse & Schemas.ImagesApiResponseCommonFailure;
+}>;
+
+export type CloudflareImagesVariantsVariantDetailsVariables = {
+  pathParams: CloudflareImagesVariantsVariantDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetch details for a single variant.
+ */
+export const cloudflareImagesVariantsVariantDetails = (
+  variables: CloudflareImagesVariantsVariantDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ImagesImageVariantSimpleResponse,
+    CloudflareImagesVariantsVariantDetailsError,
+    undefined,
+    {},
+    {},
+    CloudflareImagesVariantsVariantDetailsPathParams
+  >({ url: '/accounts/{accountId}/images/v1/variants/{variantId}', method: 'get', ...variables, signal });
+
+export type CloudflareImagesVariantsUpdateAVariantPathParams = {
+  variantId: Schemas.ImagesImageVariantIdentifier;
+  accountId: Schemas.ImagesAccountIdentifier;
+};
+
+export type CloudflareImagesVariantsUpdateAVariantError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ImagesImageVariantSimpleResponse & Schemas.ImagesApiResponseCommonFailure;
+}>;
+
+export type CloudflareImagesVariantsUpdateAVariantVariables = {
+  body: Schemas.ImagesImageVariantPatchRequest;
+  pathParams: CloudflareImagesVariantsUpdateAVariantPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updating a variant purges the cache for all images associated with the variant.
+ */
+export const cloudflareImagesVariantsUpdateAVariant = (
+  variables: CloudflareImagesVariantsUpdateAVariantVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ImagesImageVariantSimpleResponse,
+    CloudflareImagesVariantsUpdateAVariantError,
+    Schemas.ImagesImageVariantPatchRequest,
+    {},
+    {},
+    CloudflareImagesVariantsUpdateAVariantPathParams
+  >({ url: '/accounts/{accountId}/images/v1/variants/{variantId}', method: 'patch', ...variables, signal });
+
+export type CloudflareImagesDeleteImagePathParams = {
+  imageId: Schemas.ImagesImageIdentifier;
+  accountId: Schemas.ImagesAccountIdentifier;
+};
+
+export type CloudflareImagesDeleteImageError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ImagesDeletedResponse & Schemas.ImagesApiResponseCommonFailure;
+}>;
+
+export type CloudflareImagesDeleteImageVariables = {
+  pathParams: CloudflareImagesDeleteImagePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete an image on Cloudflare Images. On success, all copies of the image are deleted and purged from cache.
+ */
+export const cloudflareImagesDeleteImage = (variables: CloudflareImagesDeleteImageVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.ImagesDeletedResponse,
+    CloudflareImagesDeleteImageError,
+    undefined,
+    {},
+    {},
+    CloudflareImagesDeleteImagePathParams
+  >({ url: '/accounts/{accountId}/images/v1/{imageId}', method: 'delete', ...variables, signal });
+
+export type CloudflareImagesImageDetailsPathParams = {
+  imageId: Schemas.ImagesImageIdentifier;
+  accountId: Schemas.ImagesAccountIdentifier;
+};
+
+export type CloudflareImagesImageDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ImagesImageResponseSingle & Schemas.ImagesApiResponseCommonFailure;
+}>;
+
+export type CloudflareImagesImageDetailsVariables = {
+  pathParams: CloudflareImagesImageDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetch details for a single image.
+ */
+export const cloudflareImagesImageDetails = (variables: CloudflareImagesImageDetailsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.ImagesImageResponseSingle,
+    CloudflareImagesImageDetailsError,
+    undefined,
+    {},
+    {},
+    CloudflareImagesImageDetailsPathParams
+  >({ url: '/accounts/{accountId}/images/v1/{imageId}', method: 'get', ...variables, signal });
+
+export type CloudflareImagesUpdateImagePathParams = {
+  imageId: Schemas.ImagesImageIdentifier;
+  accountId: Schemas.ImagesAccountIdentifier;
+};
+
+export type CloudflareImagesUpdateImageError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ImagesImageResponseSingle & Schemas.ImagesApiResponseCommonFailure;
+}>;
+
+export type CloudflareImagesUpdateImageVariables = {
+  body?: Schemas.ImagesImagePatchRequest;
+  pathParams: CloudflareImagesUpdateImagePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update image access control. On access control change, all copies of the image are purged from cache.
+ */
+export const cloudflareImagesUpdateImage = (variables: CloudflareImagesUpdateImageVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.ImagesImageResponseSingle,
+    CloudflareImagesUpdateImageError,
+    Schemas.ImagesImagePatchRequest,
+    {},
+    {},
+    CloudflareImagesUpdateImagePathParams
+  >({ url: '/accounts/{accountId}/images/v1/{imageId}', method: 'patch', ...variables, signal });
+
+export type CloudflareImagesBaseImagePathParams = {
+  imageId: Schemas.ImagesImageIdentifier;
+  accountId: Schemas.ImagesAccountIdentifier;
+};
+
+export type CloudflareImagesBaseImageError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ImagesImageResponseBlob & Schemas.ImagesApiResponseCommonFailure;
+}>;
+
+export type CloudflareImagesBaseImageVariables = {
+  pathParams: CloudflareImagesBaseImagePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetch base image. For most images this will be the originally uploaded file. For larger images it can be a near-lossless version of the original.
+ */
+export const cloudflareImagesBaseImage = (variables: CloudflareImagesBaseImageVariables, signal?: AbortSignal) =>
+  fetch<undefined, CloudflareImagesBaseImageError, undefined, {}, {}, CloudflareImagesBaseImagePathParams>({
+    url: '/accounts/{accountId}/images/v1/{imageId}/blob',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type CloudflareImagesListImagesV2PathParams = {
+  accountId: Schemas.ImagesAccountIdentifier;
+};
+
+export type CloudflareImagesListImagesV2QueryParams = {
+  continuation_token?: string | null;
+  /**
+   * @default 1000
+   * @maximum 10000
+   * @minimum 10
+   */
+  per_page?: number;
+  /**
+   * @default desc
+   */
+  sort_order?: 'asc' | 'desc';
+};
+
+export type CloudflareImagesListImagesV2Error = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ImagesImagesListResponseV2 & Schemas.ImagesApiResponseCommonFailure;
+}>;
+
+export type CloudflareImagesListImagesV2Variables = {
+  pathParams: CloudflareImagesListImagesV2PathParams;
+  queryParams?: CloudflareImagesListImagesV2QueryParams;
+} & FetcherExtraProps;
+
+/**
+ * List up to 10000 images with one request. Use the optional parameters below to get a specific range of images.
+ * Endpoint returns continuation_token if more images are present.
+ */
+export const cloudflareImagesListImagesV2 = (variables: CloudflareImagesListImagesV2Variables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.ImagesImagesListResponseV2,
+    CloudflareImagesListImagesV2Error,
+    undefined,
+    {},
+    CloudflareImagesListImagesV2QueryParams,
+    CloudflareImagesListImagesV2PathParams
+  >({ url: '/accounts/{accountId}/images/v2', method: 'get', ...variables, signal });
+
+export type CloudflareImagesCreateAuthenticatedDirectUploadUrlV2PathParams = {
+  accountId: Schemas.ImagesAccountIdentifier;
+};
+
+export type CloudflareImagesCreateAuthenticatedDirectUploadUrlV2Error = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ImagesImageDirectUploadResponseV2 & Schemas.ImagesApiResponseCommonFailure;
+}>;
+
+export type CloudflareImagesCreateAuthenticatedDirectUploadUrlV2Variables = {
+  body?: Schemas.ImagesImageDirectUploadRequestV2;
+  pathParams: CloudflareImagesCreateAuthenticatedDirectUploadUrlV2PathParams;
+} & FetcherExtraProps;
+
+/**
+ * Direct uploads allow users to upload images without API keys. A common use case are web apps, client-side applications, or mobile devices where users upload content directly to Cloudflare Images. This method creates a draft record for a future image. It returns an upload URL and an image identifier. To verify if the image itself has been uploaded, send an image details request (accounts/:account_identifier/images/v1/:identifier), and check that the `draft: true` property is not present.
+ */
+export const cloudflareImagesCreateAuthenticatedDirectUploadUrlV2 = (
+  variables: CloudflareImagesCreateAuthenticatedDirectUploadUrlV2Variables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ImagesImageDirectUploadResponseV2,
+    CloudflareImagesCreateAuthenticatedDirectUploadUrlV2Error,
+    Schemas.ImagesImageDirectUploadRequestV2,
+    {},
+    {},
+    CloudflareImagesCreateAuthenticatedDirectUploadUrlV2PathParams
+  >({ url: '/accounts/{accountId}/images/v2/direct_upload', method: 'post', ...variables, signal });
+
+export type InfraTargetsListPathParams = {
+  accountId: Schemas.InfraAccountTag;
+};
+
+export type InfraTargetsListQueryParams = {
+  /**
+   * Hostname of a target
+   */
+  hostname?: string | null;
+  /**
+   * Partial match to the hostname of a target
+   */
+  hostname_contains?: string | null;
+  /**
+   * Private virtual network identifier of the target
+   *
+   * @format uuid
+   */
+  virtual_network_id?: string | null;
+  /**
+   * IPv4 address of the target
+   */
+  ip_v4?: string | null;
+  /**
+   * IPv6 address of the target
+   */
+  ip_v6?: string | null;
+  /**
+   * Date and time at which the target was created before (inclusive)
+   *
+   * @format date-time
+   */
+  created_before?: string | null;
+  /**
+   * Date and time at which the target was created after (inclusive)
+   *
+   * @format date-time
+   */
+  created_after?: string | null;
+  /**
+   * Date and time at which the target was modified before (inclusive)
+   *
+   * @format date-time
+   */
+  modified_before?: string | null;
+  /**
+   * Date and time at which the target was modified after (inclusive)
+   *
+   * @format date-time
+   */
+  modified_after?: string | null;
+  /**
+   * Filters for targets that have any of the following IP addresses. Specify
+   * `ips` multiple times in query parameter to build list of candidates.
+   */
+  ips?: string[];
+  /**
+   * Current page in the response
+   *
+   * @default 1
+   * @format int32
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * Max amount of entries returned per page
+   *
+   * @default 1000
+   * @format int32
+   * @maximum 1000
+   * @minimum 1
+   */
+  per_page?: number;
+  /**
+   * The field to sort by.
+   */
+  order?: 'hostname' | 'created_at';
+  /**
+   * The sorting direction.
+   */
+  direction?: Schemas.InfraSortingDirection;
+};
+
+export type InfraTargetsListError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.InfraApiResponseCommonFailure;
+}>;
+
+export type InfraTargetsListResponse = Schemas.InfraApiResponseCollection & {
+  result?: Schemas.InfraTargetArray;
+};
+
+export type InfraTargetsListVariables = {
+  pathParams: InfraTargetsListPathParams;
+  queryParams?: InfraTargetsListQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists and sorts an account’s targets. Filters are optional and are ORed
+ * together. However, when a timestamp is specified with both its before and
+ * after counterparts, the timestamp filters are ANDed.
+ */
+export const infraTargetsList = (variables: InfraTargetsListVariables, signal?: AbortSignal) =>
+  fetch<
+    InfraTargetsListResponse,
+    InfraTargetsListError,
+    undefined,
+    {},
+    InfraTargetsListQueryParams,
+    InfraTargetsListPathParams
+  >({ url: '/accounts/{accountId}/infrastructure/targets', method: 'get', ...variables, signal });
+
+export type InfraTargetsPostPathParams = {
+  accountId: Schemas.InfraAccountTag;
+};
+
+export type InfraTargetsPostError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.InfraApiResponseCommonFailure;
+}>;
+
+export type InfraTargetsPostResponse = Schemas.InfraApiResponseSingle & {
+  result?: Schemas.InfraTarget;
+};
+
+export type InfraTargetsPostRequestBody = {
+  /**
+   * A non-unique field that refers to a target. Case insensitive, maximum
+   * length of 255 characters, supports the use of special characters dash
+   * and period, does not support spaces, and must start and end with an
+   * alphanumeric character.
+   *
+   * @example infra-access-target
+   */
+  hostname: string;
+  ip: Schemas.InfraIPInfo;
+};
+
+export type InfraTargetsPostVariables = {
+  body: InfraTargetsPostRequestBody;
+  pathParams: InfraTargetsPostPathParams;
+} & FetcherExtraProps;
+
+export const infraTargetsPost = (variables: InfraTargetsPostVariables, signal?: AbortSignal) =>
+  fetch<
+    InfraTargetsPostResponse,
+    InfraTargetsPostError,
+    InfraTargetsPostRequestBody,
+    {},
+    {},
+    InfraTargetsPostPathParams
+  >({ url: '/accounts/{accountId}/infrastructure/targets', method: 'post', ...variables, signal });
+
+export type InfraTargetsDeleteBatchPathParams = {
+  accountId: Schemas.InfraAccountTag;
+};
+
+export type InfraTargetsDeleteBatchError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.InfraApiResponseCommonFailure;
+}>;
+
+export type InfraTargetsDeleteBatchRequestBody = {
+  target_ids: Schemas.InfraTargetId[];
+};
+
+export type InfraTargetsDeleteBatchVariables = {
+  body: InfraTargetsDeleteBatchRequestBody;
+  pathParams: InfraTargetsDeleteBatchPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Removes one or more targets.
+ */
+export const infraTargetsDeleteBatch = (variables: InfraTargetsDeleteBatchVariables, signal?: AbortSignal) =>
+  fetch<
+    undefined,
+    InfraTargetsDeleteBatchError,
+    InfraTargetsDeleteBatchRequestBody,
+    {},
+    {},
+    InfraTargetsDeleteBatchPathParams
+  >({ url: '/accounts/{accountId}/infrastructure/targets/batch', method: 'delete', ...variables, signal });
+
+export type InfraTargetsPutBatchPathParams = {
+  accountId: Schemas.InfraAccountTag;
+};
+
+export type InfraTargetsPutBatchError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.InfraApiResponseCommonFailure;
+}>;
+
+export type InfraTargetsPutBatchResponse = Schemas.InfraTarget[];
+
+export type InfraTargetsPutBatchRequestBody = {
+  /**
+   * A non-unique field that refers to a target. Case insensitive, maximum
+   * length of 255 characters, supports the use of special characters dash
+   * and period, does not support spaces, and must start and end with an
+   * alphanumeric character.
+   *
+   * @example infra-access-target
+   */
+  hostname: string;
+  ip: Schemas.InfraIPInfo;
+}[];
+
+export type InfraTargetsPutBatchVariables = {
+  body?: InfraTargetsPutBatchRequestBody;
+  pathParams: InfraTargetsPutBatchPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Adds one or more targets.
+ */
+export const infraTargetsPutBatch = (variables: InfraTargetsPutBatchVariables, signal?: AbortSignal) =>
+  fetch<
+    InfraTargetsPutBatchResponse,
+    InfraTargetsPutBatchError,
+    InfraTargetsPutBatchRequestBody,
+    {},
+    {},
+    InfraTargetsPutBatchPathParams
+  >({ url: '/accounts/{accountId}/infrastructure/targets/batch', method: 'put', ...variables, signal });
+
+export type InfraTargetsDeletePathParams = {
+  accountId: Schemas.InfraAccountTag;
+  targetId: Schemas.InfraTargetId;
+};
+
+export type InfraTargetsDeleteError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.InfraApiResponseCommonFailure;
+}>;
+
+export type InfraTargetsDeleteVariables = {
+  pathParams: InfraTargetsDeletePathParams;
+} & FetcherExtraProps;
+
+export const infraTargetsDelete = (variables: InfraTargetsDeleteVariables, signal?: AbortSignal) =>
+  fetch<undefined, InfraTargetsDeleteError, undefined, {}, {}, InfraTargetsDeletePathParams>({
+    url: '/accounts/{accountId}/infrastructure/targets/{targetId}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type InfraTargetsGetPathParams = {
+  accountId: Schemas.InfraAccountTag;
+  targetId: Schemas.InfraTargetId;
+};
+
+export type InfraTargetsGetError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.InfraApiResponseCommonFailure;
+}>;
+
+export type InfraTargetsGetResponse = Schemas.InfraApiResponseSingle & {
+  result?: Schemas.InfraTarget;
+};
+
+export type InfraTargetsGetVariables = {
+  pathParams: InfraTargetsGetPathParams;
+} & FetcherExtraProps;
+
+export const infraTargetsGet = (variables: InfraTargetsGetVariables, signal?: AbortSignal) =>
+  fetch<InfraTargetsGetResponse, InfraTargetsGetError, undefined, {}, {}, InfraTargetsGetPathParams>({
+    url: '/accounts/{accountId}/infrastructure/targets/{targetId}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type InfraTargetsPutPathParams = {
+  accountId: Schemas.InfraAccountTag;
+  targetId: Schemas.InfraTargetId;
+};
+
+export type InfraTargetsPutError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.InfraApiResponseCommonFailure;
+}>;
+
+export type InfraTargetsPutResponse = Schemas.InfraApiResponseSingle & {
+  result?: Schemas.InfraTarget;
+};
+
+export type InfraTargetsPutRequestBody = {
+  /**
+   * A non-unique field that refers to a target. Case insensitive, maximum
+   * length of 255 characters, supports the use of special characters dash
+   * and period, does not support spaces, and must start and end with an
+   * alphanumeric character.
+   *
+   * @example infra-access-target
+   */
+  hostname: string;
+  ip: Schemas.InfraIPInfo;
+};
+
+export type InfraTargetsPutVariables = {
+  body: InfraTargetsPutRequestBody;
+  pathParams: InfraTargetsPutPathParams;
+} & FetcherExtraProps;
+
+export const infraTargetsPut = (variables: InfraTargetsPutVariables, signal?: AbortSignal) =>
+  fetch<InfraTargetsPutResponse, InfraTargetsPutError, InfraTargetsPutRequestBody, {}, {}, InfraTargetsPutPathParams>({
+    url: '/accounts/{accountId}/infrastructure/targets/{targetId}',
+    method: 'put',
+    ...variables,
+    signal
+  });
+
+export type AsnIntelligenceGetAsnOverviewPathParams = {
+  asn: Schemas.IntelAsn;
+  accountId: Schemas.IntelIdentifier;
+};
+
+export type AsnIntelligenceGetAsnOverviewError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IntelAsnComponentsSchemasResponse & Schemas.IntelApiResponseCommonFailure;
+}>;
+
+export type AsnIntelligenceGetAsnOverviewVariables = {
+  pathParams: AsnIntelligenceGetAsnOverviewPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets an overview of the Autonomous System Number (ASN) and a list of subnets for it.
+ */
+export const asnIntelligenceGetAsnOverview = (
+  variables: AsnIntelligenceGetAsnOverviewVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.IntelAsnComponentsSchemasResponse,
+    AsnIntelligenceGetAsnOverviewError,
+    undefined,
+    {},
+    {},
+    AsnIntelligenceGetAsnOverviewPathParams
+  >({ url: '/accounts/{accountId}/intel/asn/{asn}', method: 'get', ...variables, signal });
+
+export type AsnIntelligenceGetAsnSubnetsPathParams = {
+  asn: Schemas.IntelAsn;
+  accountId: Schemas.IntelIdentifier;
+};
+
+export type AsnIntelligenceGetAsnSubnetsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    asn?: Schemas.IntelAsn;
+    count?: Schemas.IntelCount;
+    ip_count_total?: number;
+    page?: Schemas.IntelPage;
+    per_page?: Schemas.IntelPerPage;
+    /**
+     * @example 192.0.2.0/24
+     * @example 2001:DB8::/32
+     */
+    subnets?: string[];
+  } & Schemas.IntelApiResponseCommonFailure;
+}>;
+
+export type AsnIntelligenceGetAsnSubnetsResponse = {
+  asn?: Schemas.IntelAsn;
+  count?: Schemas.IntelCount;
+  ip_count_total?: number;
+  page?: Schemas.IntelPage;
+  per_page?: Schemas.IntelPerPage;
+  /**
+   * @example 192.0.2.0/24
+   * @example 2001:DB8::/32
+   */
+  subnets?: string[];
+};
+
+export type AsnIntelligenceGetAsnSubnetsVariables = {
+  pathParams: AsnIntelligenceGetAsnSubnetsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get ASN Subnets
+ */
+export const asnIntelligenceGetAsnSubnets = (variables: AsnIntelligenceGetAsnSubnetsVariables, signal?: AbortSignal) =>
+  fetch<
+    AsnIntelligenceGetAsnSubnetsResponse,
+    AsnIntelligenceGetAsnSubnetsError,
+    undefined,
+    {},
+    {},
+    AsnIntelligenceGetAsnSubnetsPathParams
+  >({ url: '/accounts/{accountId}/intel/asn/{asn}/subnets', method: 'get', ...variables, signal });
+
+export type GetSecurityCenterIssueTypesPathParams = {
+  accountId: Schemas.SecurityCenterIdentifier;
+};
+
+export type GetSecurityCenterIssueTypesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SecurityCenterApiResponseCommonFailure;
+}>;
+
+export type GetSecurityCenterIssueTypesResponse = Schemas.SecurityCenterApiResponseCommon & {
+  result?: string[];
+};
+
+export type GetSecurityCenterIssueTypesVariables = {
+  pathParams: GetSecurityCenterIssueTypesPathParams;
+} & FetcherExtraProps;
+
+export const getSecurityCenterIssueTypes = (variables: GetSecurityCenterIssueTypesVariables, signal?: AbortSignal) =>
+  fetch<
+    GetSecurityCenterIssueTypesResponse,
+    GetSecurityCenterIssueTypesError,
+    undefined,
+    {},
+    {},
+    GetSecurityCenterIssueTypesPathParams
+  >({ url: '/accounts/{accountId}/intel/attack-surface-report/issue-types', method: 'get', ...variables, signal });
+
+export type GetSecurityCenterIssuesPathParams = {
+  accountId: Schemas.SecurityCenterIdentifier;
+};
+
+export type GetSecurityCenterIssuesQueryParams = {
+  dismissed?: Schemas.SecurityCenterDismissed;
+  issue_class?: Schemas.SecurityCenterIssueClasses;
+  issue_type?: Schemas.SecurityCenterIssueTypes;
+  product?: Schemas.SecurityCenterProducts;
+  severity?: Schemas.SecurityCenterSeverityQueryParam;
+  subject?: Schemas.SecurityCenterSubjects;
+  ['issue_class~neq']?: Schemas.SecurityCenterIssueClasses;
+  ['issue_type~neq']?: Schemas.SecurityCenterIssueTypes;
+  ['product~neq']?: Schemas.SecurityCenterProducts;
+  ['severity~neq']?: Schemas.SecurityCenterSeverityQueryParam;
+  ['subject~neq']?: Schemas.SecurityCenterSubjects;
+  /**
+   * Current page within paginated list of results
+   *
+   * @default 1
+   * @example 1
+   */
+  page?: Schemas.SecurityCenterPage;
+  /**
+   * Number of results per page of results
+   *
+   * @default 25
+   * @example 25
+   * @maximum 1000
+   * @minimum 1
+   */
+  per_page?: Schemas.SecurityCenterPerPage;
+};
+
+export type GetSecurityCenterIssuesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SecurityCenterApiResponseCommonFailure;
+}>;
+
+export type GetSecurityCenterIssuesResponse = Schemas.SecurityCenterApiResponseCommon & {
+  result?: {
+    count?: Schemas.SecurityCenterCount;
+    issues?: Schemas.SecurityCenterIssue[];
+    page?: Schemas.SecurityCenterPage;
+    per_page?: Schemas.SecurityCenterPerPage;
+  };
+};
+
+export type GetSecurityCenterIssuesVariables = {
+  pathParams: GetSecurityCenterIssuesPathParams;
+  queryParams?: GetSecurityCenterIssuesQueryParams;
+} & FetcherExtraProps;
+
+export const getSecurityCenterIssues = (variables: GetSecurityCenterIssuesVariables, signal?: AbortSignal) =>
+  fetch<
+    GetSecurityCenterIssuesResponse,
+    GetSecurityCenterIssuesError,
+    undefined,
+    {},
+    GetSecurityCenterIssuesQueryParams,
+    GetSecurityCenterIssuesPathParams
+  >({ url: '/accounts/{accountId}/intel/attack-surface-report/issues', method: 'get', ...variables, signal });
+
+export type GetSecurityCenterIssueCountsByClassPathParams = {
+  accountId: Schemas.SecurityCenterIdentifier;
+};
+
+export type GetSecurityCenterIssueCountsByClassQueryParams = {
+  dismissed?: Schemas.SecurityCenterDismissed;
+  issue_class?: Schemas.SecurityCenterIssueClasses;
+  issue_type?: Schemas.SecurityCenterIssueTypes;
+  product?: Schemas.SecurityCenterProducts;
+  severity?: Schemas.SecurityCenterSeverityQueryParam;
+  subject?: Schemas.SecurityCenterSubjects;
+  ['issue_class~neq']?: Schemas.SecurityCenterIssueClasses;
+  ['issue_type~neq']?: Schemas.SecurityCenterIssueTypes;
+  ['product~neq']?: Schemas.SecurityCenterProducts;
+  ['severity~neq']?: Schemas.SecurityCenterSeverityQueryParam;
+  ['subject~neq']?: Schemas.SecurityCenterSubjects;
+};
+
+export type GetSecurityCenterIssueCountsByClassError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SecurityCenterApiResponseCommonFailure;
+}>;
+
+export type GetSecurityCenterIssueCountsByClassVariables = {
+  pathParams: GetSecurityCenterIssueCountsByClassPathParams;
+  queryParams?: GetSecurityCenterIssueCountsByClassQueryParams;
+} & FetcherExtraProps;
+
+export const getSecurityCenterIssueCountsByClass = (
+  variables: GetSecurityCenterIssueCountsByClassVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.SecurityCenterValueCountsResponse,
+    GetSecurityCenterIssueCountsByClassError,
+    undefined,
+    {},
+    GetSecurityCenterIssueCountsByClassQueryParams,
+    GetSecurityCenterIssueCountsByClassPathParams
+  >({ url: '/accounts/{accountId}/intel/attack-surface-report/issues/class', method: 'get', ...variables, signal });
+
+export type GetSecurityCenterIssueCountsBySeverityPathParams = {
+  accountId: Schemas.SecurityCenterIdentifier;
+};
+
+export type GetSecurityCenterIssueCountsBySeverityQueryParams = {
+  dismissed?: Schemas.SecurityCenterDismissed;
+  issue_class?: Schemas.SecurityCenterIssueClasses;
+  issue_type?: Schemas.SecurityCenterIssueTypes;
+  product?: Schemas.SecurityCenterProducts;
+  severity?: Schemas.SecurityCenterSeverityQueryParam;
+  subject?: Schemas.SecurityCenterSubjects;
+  ['issue_class~neq']?: Schemas.SecurityCenterIssueClasses;
+  ['issue_type~neq']?: Schemas.SecurityCenterIssueTypes;
+  ['product~neq']?: Schemas.SecurityCenterProducts;
+  ['severity~neq']?: Schemas.SecurityCenterSeverityQueryParam;
+  ['subject~neq']?: Schemas.SecurityCenterSubjects;
+};
+
+export type GetSecurityCenterIssueCountsBySeverityError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SecurityCenterApiResponseCommonFailure;
+}>;
+
+export type GetSecurityCenterIssueCountsBySeverityVariables = {
+  pathParams: GetSecurityCenterIssueCountsBySeverityPathParams;
+  queryParams?: GetSecurityCenterIssueCountsBySeverityQueryParams;
+} & FetcherExtraProps;
+
+export const getSecurityCenterIssueCountsBySeverity = (
+  variables: GetSecurityCenterIssueCountsBySeverityVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.SecurityCenterValueCountsResponse,
+    GetSecurityCenterIssueCountsBySeverityError,
+    undefined,
+    {},
+    GetSecurityCenterIssueCountsBySeverityQueryParams,
+    GetSecurityCenterIssueCountsBySeverityPathParams
+  >({ url: '/accounts/{accountId}/intel/attack-surface-report/issues/severity', method: 'get', ...variables, signal });
+
+export type GetSecurityCenterIssueCountsByTypePathParams = {
+  accountId: Schemas.SecurityCenterIdentifier;
+};
+
+export type GetSecurityCenterIssueCountsByTypeQueryParams = {
+  dismissed?: Schemas.SecurityCenterDismissed;
+  issue_class?: Schemas.SecurityCenterIssueClasses;
+  issue_type?: Schemas.SecurityCenterIssueTypes;
+  product?: Schemas.SecurityCenterProducts;
+  severity?: Schemas.SecurityCenterSeverityQueryParam;
+  subject?: Schemas.SecurityCenterSubjects;
+  ['issue_class~neq']?: Schemas.SecurityCenterIssueClasses;
+  ['issue_type~neq']?: Schemas.SecurityCenterIssueTypes;
+  ['product~neq']?: Schemas.SecurityCenterProducts;
+  ['severity~neq']?: Schemas.SecurityCenterSeverityQueryParam;
+  ['subject~neq']?: Schemas.SecurityCenterSubjects;
+};
+
+export type GetSecurityCenterIssueCountsByTypeError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SecurityCenterApiResponseCommonFailure;
+}>;
+
+export type GetSecurityCenterIssueCountsByTypeVariables = {
+  pathParams: GetSecurityCenterIssueCountsByTypePathParams;
+  queryParams?: GetSecurityCenterIssueCountsByTypeQueryParams;
+} & FetcherExtraProps;
+
+export const getSecurityCenterIssueCountsByType = (
+  variables: GetSecurityCenterIssueCountsByTypeVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.SecurityCenterValueCountsResponse,
+    GetSecurityCenterIssueCountsByTypeError,
+    undefined,
+    {},
+    GetSecurityCenterIssueCountsByTypeQueryParams,
+    GetSecurityCenterIssueCountsByTypePathParams
+  >({ url: '/accounts/{accountId}/intel/attack-surface-report/issues/type', method: 'get', ...variables, signal });
+
+export type ArchiveSecurityCenterInsightPathParams = {
+  accountId: Schemas.SecurityCenterIdentifier;
+  issueId: string;
+};
+
+export type ArchiveSecurityCenterInsightError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SecurityCenterApiResponseCommonFailure;
+}>;
+
+export type ArchiveSecurityCenterInsightResponse = Schemas.SecurityCenterApiResponseSingle;
+
+export type ArchiveSecurityCenterInsightRequestBody = {
+  /**
+   * @default true
+   */
+  dismiss?: boolean;
+};
+
+export type ArchiveSecurityCenterInsightVariables = {
+  body?: ArchiveSecurityCenterInsightRequestBody;
+  pathParams: ArchiveSecurityCenterInsightPathParams;
+} & FetcherExtraProps;
+
+export const archiveSecurityCenterInsight = (variables: ArchiveSecurityCenterInsightVariables, signal?: AbortSignal) =>
+  fetch<
+    ArchiveSecurityCenterInsightResponse,
+    ArchiveSecurityCenterInsightError,
+    ArchiveSecurityCenterInsightRequestBody,
+    {},
+    {},
+    ArchiveSecurityCenterInsightPathParams
+  >({
+    url: '/accounts/{accountId}/intel/attack-surface-report/{issueId}/dismiss',
+    method: 'put',
+    ...variables,
+    signal
+  });
+
+export type PassiveDnsByIpGetPassiveDnsByIpPathParams = {
+  accountId: Schemas.IntelIdentifier;
+};
+
+export type PassiveDnsByIpGetPassiveDnsByIpQueryParams = {
+  start_end_params?: Schemas.IntelStartEndParams;
+  ipv4?: string;
+  /**
+   * @example 1
+   */
+  page?: number;
+  /**
+   * @example 20
+   */
+  per_page?: number;
+};
+
+export type PassiveDnsByIpGetPassiveDnsByIpError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IntelComponentsSchemasSingleResponse & Schemas.IntelApiResponseCommonFailure;
+}>;
+
+export type PassiveDnsByIpGetPassiveDnsByIpVariables = {
+  pathParams: PassiveDnsByIpGetPassiveDnsByIpPathParams;
+  queryParams?: PassiveDnsByIpGetPassiveDnsByIpQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets a list of all the domains that have resolved to a specific IP address.
+ */
+export const passiveDnsByIpGetPassiveDnsByIp = (
+  variables: PassiveDnsByIpGetPassiveDnsByIpVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.IntelComponentsSchemasSingleResponse,
+    PassiveDnsByIpGetPassiveDnsByIpError,
+    undefined,
+    {},
+    PassiveDnsByIpGetPassiveDnsByIpQueryParams,
+    PassiveDnsByIpGetPassiveDnsByIpPathParams
+  >({ url: '/accounts/{accountId}/intel/dns', method: 'get', ...variables, signal });
+
+export type DomainIntelligenceGetDomainDetailsPathParams = {
+  accountId: Schemas.IntelIdentifier;
+};
+
+export type DomainIntelligenceGetDomainDetailsQueryParams = {
+  domain?: string;
+};
+
+export type DomainIntelligenceGetDomainDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IntelSingleResponse & Schemas.IntelApiResponseCommonFailure;
+}>;
+
+export type DomainIntelligenceGetDomainDetailsVariables = {
+  pathParams: DomainIntelligenceGetDomainDetailsPathParams;
+  queryParams?: DomainIntelligenceGetDomainDetailsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets security details and statistics about a domain.
+ */
+export const domainIntelligenceGetDomainDetails = (
+  variables: DomainIntelligenceGetDomainDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.IntelSingleResponse,
+    DomainIntelligenceGetDomainDetailsError,
+    undefined,
+    {},
+    DomainIntelligenceGetDomainDetailsQueryParams,
+    DomainIntelligenceGetDomainDetailsPathParams
+  >({ url: '/accounts/{accountId}/intel/domain', method: 'get', ...variables, signal });
+
+export type DomainHistoryGetDomainHistoryPathParams = {
+  accountId: Schemas.IntelIdentifier;
+};
+
+export type DomainHistoryGetDomainHistoryQueryParams = {
+  /**
+   * @example example.com
+   */
+  domain?: void;
+};
+
+export type DomainHistoryGetDomainHistoryError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IntelResponse & Schemas.IntelApiResponseCommonFailure;
+}>;
+
+export type DomainHistoryGetDomainHistoryVariables = {
+  pathParams: DomainHistoryGetDomainHistoryPathParams;
+  queryParams?: DomainHistoryGetDomainHistoryQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets historical security threat and content categories currently and previously assigned to a domain.
+ */
+export const domainHistoryGetDomainHistory = (
+  variables: DomainHistoryGetDomainHistoryVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.IntelResponse,
+    DomainHistoryGetDomainHistoryError,
+    undefined,
+    {},
+    DomainHistoryGetDomainHistoryQueryParams,
+    DomainHistoryGetDomainHistoryPathParams
+  >({ url: '/accounts/{accountId}/intel/domain-history', method: 'get', ...variables, signal });
+
+export type DomainIntelligenceGetMultipleDomainDetailsPathParams = {
+  accountId: Schemas.IntelIdentifier;
+};
+
+export type DomainIntelligenceGetMultipleDomainDetailsQueryParams = {
+  domain?: void;
+};
+
+export type DomainIntelligenceGetMultipleDomainDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IntelCollectionResponse & Schemas.IntelApiResponseCommonFailure;
+}>;
+
+export type DomainIntelligenceGetMultipleDomainDetailsVariables = {
+  pathParams: DomainIntelligenceGetMultipleDomainDetailsPathParams;
+  queryParams?: DomainIntelligenceGetMultipleDomainDetailsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Same as summary
+ */
+export const domainIntelligenceGetMultipleDomainDetails = (
+  variables: DomainIntelligenceGetMultipleDomainDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.IntelCollectionResponse,
+    DomainIntelligenceGetMultipleDomainDetailsError,
+    undefined,
+    {},
+    DomainIntelligenceGetMultipleDomainDetailsQueryParams,
+    DomainIntelligenceGetMultipleDomainDetailsPathParams
+  >({ url: '/accounts/{accountId}/intel/domain/bulk', method: 'get', ...variables, signal });
+
+export type CustomIndicatorFeedsGetIndicatorFeedsPathParams = {
+  accountId: Schemas.CustomIndicatorFeedsIdentifier;
+};
+
+export type CustomIndicatorFeedsGetIndicatorFeedsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CustomIndicatorFeedsIndicatorFeedResponse & Schemas.CustomIndicatorFeedsApiResponseCommonFailure;
+}>;
+
+export type CustomIndicatorFeedsGetIndicatorFeedsVariables = {
+  pathParams: CustomIndicatorFeedsGetIndicatorFeedsPathParams;
+} & FetcherExtraProps;
+
+export const customIndicatorFeedsGetIndicatorFeeds = (
+  variables: CustomIndicatorFeedsGetIndicatorFeedsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.CustomIndicatorFeedsIndicatorFeedResponse,
+    CustomIndicatorFeedsGetIndicatorFeedsError,
+    undefined,
+    {},
+    {},
+    CustomIndicatorFeedsGetIndicatorFeedsPathParams
+  >({ url: '/accounts/{accountId}/intel/indicator-feeds', method: 'get', ...variables, signal });
+
+export type CustomIndicatorFeedsCreateIndicatorFeedsPathParams = {
+  accountId: Schemas.CustomIndicatorFeedsIdentifier;
+};
+
+export type CustomIndicatorFeedsCreateIndicatorFeedsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CustomIndicatorFeedsCreateFeedResponse & Schemas.CustomIndicatorFeedsApiResponseCommonFailure;
+}>;
+
+export type CustomIndicatorFeedsCreateIndicatorFeedsVariables = {
+  body?: Schemas.CustomIndicatorFeedsCreateFeed;
+  pathParams: CustomIndicatorFeedsCreateIndicatorFeedsPathParams;
+} & FetcherExtraProps;
+
+export const customIndicatorFeedsCreateIndicatorFeeds = (
+  variables: CustomIndicatorFeedsCreateIndicatorFeedsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.CustomIndicatorFeedsCreateFeedResponse,
+    CustomIndicatorFeedsCreateIndicatorFeedsError,
+    Schemas.CustomIndicatorFeedsCreateFeed,
+    {},
+    {},
+    CustomIndicatorFeedsCreateIndicatorFeedsPathParams
+  >({ url: '/accounts/{accountId}/intel/indicator-feeds', method: 'post', ...variables, signal });
+
+export type CustomIndicatorFeedsAddPermissionPathParams = {
+  accountId: Schemas.CustomIndicatorFeedsIdentifier;
+};
+
+export type CustomIndicatorFeedsAddPermissionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CustomIndicatorFeedsPermissionsResponse & Schemas.CustomIndicatorFeedsApiResponseCommonFailure;
+}>;
+
+export type CustomIndicatorFeedsAddPermissionVariables = {
+  body?: Schemas.CustomIndicatorFeedsPermissionsRequest;
+  pathParams: CustomIndicatorFeedsAddPermissionPathParams;
+} & FetcherExtraProps;
+
+export const customIndicatorFeedsAddPermission = (
+  variables: CustomIndicatorFeedsAddPermissionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.CustomIndicatorFeedsPermissionsResponse,
+    CustomIndicatorFeedsAddPermissionError,
+    Schemas.CustomIndicatorFeedsPermissionsRequest,
+    {},
+    {},
+    CustomIndicatorFeedsAddPermissionPathParams
+  >({ url: '/accounts/{accountId}/intel/indicator-feeds/permissions/add', method: 'put', ...variables, signal });
+
+export type CustomIndicatorFeedsRemovePermissionPathParams = {
+  accountId: Schemas.CustomIndicatorFeedsIdentifier;
+};
+
+export type CustomIndicatorFeedsRemovePermissionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CustomIndicatorFeedsPermissionsResponse & Schemas.CustomIndicatorFeedsApiResponseCommonFailure;
+}>;
+
+export type CustomIndicatorFeedsRemovePermissionVariables = {
+  body?: Schemas.CustomIndicatorFeedsPermissionsRequest;
+  pathParams: CustomIndicatorFeedsRemovePermissionPathParams;
+} & FetcherExtraProps;
+
+export const customIndicatorFeedsRemovePermission = (
+  variables: CustomIndicatorFeedsRemovePermissionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.CustomIndicatorFeedsPermissionsResponse,
+    CustomIndicatorFeedsRemovePermissionError,
+    Schemas.CustomIndicatorFeedsPermissionsRequest,
+    {},
+    {},
+    CustomIndicatorFeedsRemovePermissionPathParams
+  >({ url: '/accounts/{accountId}/intel/indicator-feeds/permissions/remove', method: 'put', ...variables, signal });
+
+export type CustomIndicatorFeedsViewPermissionsPathParams = {
+  accountId: Schemas.CustomIndicatorFeedsIdentifier;
+};
+
+export type CustomIndicatorFeedsViewPermissionsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CustomIndicatorFeedsPermissionListItemResponse &
+    Schemas.CustomIndicatorFeedsApiResponseCommonFailure;
+}>;
+
+export type CustomIndicatorFeedsViewPermissionsVariables = {
+  pathParams: CustomIndicatorFeedsViewPermissionsPathParams;
+} & FetcherExtraProps;
+
+export const customIndicatorFeedsViewPermissions = (
+  variables: CustomIndicatorFeedsViewPermissionsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.CustomIndicatorFeedsPermissionListItemResponse,
+    CustomIndicatorFeedsViewPermissionsError,
+    undefined,
+    {},
+    {},
+    CustomIndicatorFeedsViewPermissionsPathParams
+  >({ url: '/accounts/{accountId}/intel/indicator-feeds/permissions/view', method: 'get', ...variables, signal });
+
+export type CustomIndicatorFeedsGetIndicatorFeedMetadataPathParams = {
+  accountId: Schemas.CustomIndicatorFeedsIdentifier;
+  feedId: Schemas.CustomIndicatorFeedsFeedId;
+};
+
+export type CustomIndicatorFeedsGetIndicatorFeedMetadataError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CustomIndicatorFeedsIndicatorFeedMetadataResponse &
+    Schemas.CustomIndicatorFeedsApiResponseCommonFailure;
+}>;
+
+export type CustomIndicatorFeedsGetIndicatorFeedMetadataVariables = {
+  pathParams: CustomIndicatorFeedsGetIndicatorFeedMetadataPathParams;
+} & FetcherExtraProps;
+
+export const customIndicatorFeedsGetIndicatorFeedMetadata = (
+  variables: CustomIndicatorFeedsGetIndicatorFeedMetadataVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.CustomIndicatorFeedsIndicatorFeedMetadataResponse,
+    CustomIndicatorFeedsGetIndicatorFeedMetadataError,
+    undefined,
+    {},
+    {},
+    CustomIndicatorFeedsGetIndicatorFeedMetadataPathParams
+  >({ url: '/accounts/{accountId}/intel/indicator-feeds/{feedId}', method: 'get', ...variables, signal });
+
+export type CustomIndicatorFeedsUpdateIndicatorFeedMetadataPathParams = {
+  accountId: Schemas.CustomIndicatorFeedsIdentifier;
+  feedId: Schemas.CustomIndicatorFeedsFeedId;
+};
+
+export type CustomIndicatorFeedsUpdateIndicatorFeedMetadataError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CustomIndicatorFeedsUpdatePublicFieldResponse & Schemas.CustomIndicatorFeedsApiResponseCommonFailure;
+}>;
+
+export type CustomIndicatorFeedsUpdateIndicatorFeedMetadataVariables = {
+  body?: Schemas.CustomIndicatorFeedsUpdatePublicFieldRequest;
+  pathParams: CustomIndicatorFeedsUpdateIndicatorFeedMetadataPathParams;
+} & FetcherExtraProps;
+
+export const customIndicatorFeedsUpdateIndicatorFeedMetadata = (
+  variables: CustomIndicatorFeedsUpdateIndicatorFeedMetadataVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.CustomIndicatorFeedsUpdatePublicFieldResponse,
+    CustomIndicatorFeedsUpdateIndicatorFeedMetadataError,
+    Schemas.CustomIndicatorFeedsUpdatePublicFieldRequest,
+    {},
+    {},
+    CustomIndicatorFeedsUpdateIndicatorFeedMetadataPathParams
+  >({ url: '/accounts/{accountId}/intel/indicator-feeds/{feedId}', method: 'put', ...variables, signal });
+
+export type CustomIndicatorFeedsGetIndicatorFeedDataPathParams = {
+  accountId: Schemas.CustomIndicatorFeedsIdentifier;
+  feedId: Schemas.CustomIndicatorFeedsFeedId;
+};
+
+export type CustomIndicatorFeedsGetIndicatorFeedDataError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CustomIndicatorFeedsApiResponseCommonFailure;
+}>;
+
+export type CustomIndicatorFeedsGetIndicatorFeedDataVariables = {
+  pathParams: CustomIndicatorFeedsGetIndicatorFeedDataPathParams;
+} & FetcherExtraProps;
+
+export const customIndicatorFeedsGetIndicatorFeedData = (
+  variables: CustomIndicatorFeedsGetIndicatorFeedDataVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    undefined,
+    CustomIndicatorFeedsGetIndicatorFeedDataError,
+    undefined,
+    {},
+    {},
+    CustomIndicatorFeedsGetIndicatorFeedDataPathParams
+  >({ url: '/accounts/{accountId}/intel/indicator-feeds/{feedId}/data', method: 'get', ...variables, signal });
+
+export type CustomIndicatorFeedsUpdateIndicatorFeedDataPathParams = {
+  accountId: Schemas.CustomIndicatorFeedsIdentifier;
+  feedId: Schemas.CustomIndicatorFeedsFeedId;
+};
+
+export type CustomIndicatorFeedsUpdateIndicatorFeedDataError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CustomIndicatorFeedsApiResponseCommonFailure;
+}>;
+
+export type CustomIndicatorFeedsUpdateIndicatorFeedDataRequestBody = {
+  /**
+   * The file to upload
+   *
+   * @example @/Users/me/test.stix2
+   */
+  source?: string;
+};
+
+export type CustomIndicatorFeedsUpdateIndicatorFeedDataVariables = {
+  body?: CustomIndicatorFeedsUpdateIndicatorFeedDataRequestBody;
+  pathParams: CustomIndicatorFeedsUpdateIndicatorFeedDataPathParams;
+} & FetcherExtraProps;
+
+export const customIndicatorFeedsUpdateIndicatorFeedData = (
+  variables: CustomIndicatorFeedsUpdateIndicatorFeedDataVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.CustomIndicatorFeedsUpdateFeedResponse,
+    CustomIndicatorFeedsUpdateIndicatorFeedDataError,
+    CustomIndicatorFeedsUpdateIndicatorFeedDataRequestBody,
+    {},
+    {},
+    CustomIndicatorFeedsUpdateIndicatorFeedDataPathParams
+  >({ url: '/accounts/{accountId}/intel/indicator-feeds/{feedId}/snapshot', method: 'put', ...variables, signal });
+
+export type CustomIndicatorFeedsDownloadIndicatorFeedDataPathParams = {
+  accountId: Schemas.CustomIndicatorFeedsIdentifier;
+  feedId: Schemas.CustomIndicatorFeedsFeedId;
+};
+
+export type CustomIndicatorFeedsDownloadIndicatorFeedDataError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CustomIndicatorFeedsApiResponseCommonFailure;
+}>;
+
+export type CustomIndicatorFeedsDownloadIndicatorFeedDataVariables = {
+  pathParams: CustomIndicatorFeedsDownloadIndicatorFeedDataPathParams;
+} & FetcherExtraProps;
+
+export const customIndicatorFeedsDownloadIndicatorFeedData = (
+  variables: CustomIndicatorFeedsDownloadIndicatorFeedDataVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.CustomIndicatorFeedsUpdateFeedResponse,
+    CustomIndicatorFeedsDownloadIndicatorFeedDataError,
+    undefined,
+    {},
+    {},
+    CustomIndicatorFeedsDownloadIndicatorFeedDataPathParams
+  >({ url: '/accounts/{accountId}/intel/indicator_feeds/{feedId}/download', method: 'get', ...variables, signal });
+
+export type IpIntelligenceGetIpOverviewPathParams = {
+  accountId: Schemas.IntelIdentifier;
+};
+
+export type IpIntelligenceGetIpOverviewQueryParams = {
+  ipv4?: string;
+  ipv6?: string;
+};
+
+export type IpIntelligenceGetIpOverviewError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IntelSchemasResponse & Schemas.IntelApiResponseCommonFailure;
+}>;
+
+export type IpIntelligenceGetIpOverviewVariables = {
+  pathParams: IpIntelligenceGetIpOverviewPathParams;
+  queryParams?: IpIntelligenceGetIpOverviewQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets the geolocation, ASN, infrastructure type of the ASN, and any security threat categories of an IP address.
+ */
+export const ipIntelligenceGetIpOverview = (variables: IpIntelligenceGetIpOverviewVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.IntelSchemasResponse,
+    IpIntelligenceGetIpOverviewError,
+    undefined,
+    {},
+    IpIntelligenceGetIpOverviewQueryParams,
+    IpIntelligenceGetIpOverviewPathParams
+  >({ url: '/accounts/{accountId}/intel/ip', method: 'get', ...variables, signal });
+
+export type IpListGetIpListsPathParams = {
+  accountId: Schemas.IntelIdentifier;
+};
+
+export type IpListGetIpListsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IntelComponentsSchemasResponse & Schemas.IntelApiResponseCommonFailure;
+}>;
+
+export type IpListGetIpListsVariables = {
+  pathParams: IpListGetIpListsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get IP Lists
+ */
+export const ipListGetIpLists = (variables: IpListGetIpListsVariables, signal?: AbortSignal) =>
+  fetch<Schemas.IntelComponentsSchemasResponse, IpListGetIpListsError, undefined, {}, {}, IpListGetIpListsPathParams>({
+    url: '/accounts/{accountId}/intel/ip-list',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type MiscategorizationCreateMiscategorizationPathParams = {
+  accountId: Schemas.IntelIdentifier;
+};
+
+export type MiscategorizationCreateMiscategorizationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IntelApiResponseSingle & Schemas.IntelApiResponseCommonFailure;
+}>;
+
+export type MiscategorizationCreateMiscategorizationVariables = {
+  body?: Schemas.IntelMiscategorization;
+  pathParams: MiscategorizationCreateMiscategorizationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Allows you to submit requests to change a domain’s category.
+ */
+export const miscategorizationCreateMiscategorization = (
+  variables: MiscategorizationCreateMiscategorizationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.IntelApiResponseSingle,
+    MiscategorizationCreateMiscategorizationError,
+    Schemas.IntelMiscategorization,
+    {},
+    {},
+    MiscategorizationCreateMiscategorizationPathParams
+  >({ url: '/accounts/{accountId}/intel/miscategorization', method: 'post', ...variables, signal });
+
+export type SinkholeConfigGetSinkholesPathParams = {
+  accountId: Schemas.IntelSinkholesIdentifier;
+};
+
+export type SinkholeConfigGetSinkholesError = Fetcher.ErrorWrapper<undefined>;
+
+export type SinkholeConfigGetSinkholesVariables = {
+  pathParams: SinkholeConfigGetSinkholesPathParams;
+} & FetcherExtraProps;
+
+export const sinkholeConfigGetSinkholes = (variables: SinkholeConfigGetSinkholesVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.IntelSinkholesGetSinkholesResponse,
+    SinkholeConfigGetSinkholesError,
+    undefined,
+    {},
+    {},
+    SinkholeConfigGetSinkholesPathParams
+  >({ url: '/accounts/{accountId}/intel/sinkholes', method: 'get', ...variables, signal });
+
+export type WhoisRecordGetWhoisRecordPathParams = {
+  accountId: Schemas.CloudforceOneWhoisIdentifier;
+};
+
+export type WhoisRecordGetWhoisRecordQueryParams = {
+  domain?: string;
+};
+
+export type WhoisRecordGetWhoisRecordError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CloudforceOneWhoisSchemasSingleResponse & Schemas.CloudforceOneWhoisApiResponseCommonFailure;
+}>;
+
+export type WhoisRecordGetWhoisRecordVariables = {
+  pathParams: WhoisRecordGetWhoisRecordPathParams;
+  queryParams?: WhoisRecordGetWhoisRecordQueryParams;
+} & FetcherExtraProps;
+
+export const whoisRecordGetWhoisRecord = (variables: WhoisRecordGetWhoisRecordVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.CloudforceOneWhoisSchemasSingleResponse,
+    WhoisRecordGetWhoisRecordError,
+    undefined,
+    {},
+    WhoisRecordGetWhoisRecordQueryParams,
+    WhoisRecordGetWhoisRecordPathParams
+  >({ url: '/accounts/{accountId}/intel/whois', method: 'get', ...variables, signal });
+
+export type AccountLoadBalancerMonitorsListMonitorsPathParams = {
+  accountId: Schemas.LoadBalancingComponentsSchemasIdentifier;
+};
+
+export type AccountLoadBalancerMonitorsListMonitorsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingMonitorResponseCollection & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type AccountLoadBalancerMonitorsListMonitorsVariables = {
+  pathParams: AccountLoadBalancerMonitorsListMonitorsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * List configured monitors for an account.
+ */
+export const accountLoadBalancerMonitorsListMonitors = (
+  variables: AccountLoadBalancerMonitorsListMonitorsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LoadBalancingMonitorResponseCollection,
+    AccountLoadBalancerMonitorsListMonitorsError,
+    undefined,
+    {},
+    {},
+    AccountLoadBalancerMonitorsListMonitorsPathParams
+  >({ url: '/accounts/{accountId}/load_balancers/monitors', method: 'get', ...variables, signal });
+
+export type AccountLoadBalancerMonitorsCreateMonitorPathParams = {
+  accountId: Schemas.LoadBalancingComponentsSchemasIdentifier;
+};
+
+export type AccountLoadBalancerMonitorsCreateMonitorError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingMonitorResponseSingle & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type AccountLoadBalancerMonitorsCreateMonitorRequestBody = Schemas.LoadBalancingMonitorEditable;
+
+export type AccountLoadBalancerMonitorsCreateMonitorVariables = {
+  body?: AccountLoadBalancerMonitorsCreateMonitorRequestBody;
+  pathParams: AccountLoadBalancerMonitorsCreateMonitorPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create a configured monitor.
+ */
+export const accountLoadBalancerMonitorsCreateMonitor = (
+  variables: AccountLoadBalancerMonitorsCreateMonitorVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LoadBalancingMonitorResponseSingle,
+    AccountLoadBalancerMonitorsCreateMonitorError,
+    AccountLoadBalancerMonitorsCreateMonitorRequestBody,
+    {},
+    {},
+    AccountLoadBalancerMonitorsCreateMonitorPathParams
+  >({ url: '/accounts/{accountId}/load_balancers/monitors', method: 'post', ...variables, signal });
+
+export type AccountLoadBalancerMonitorsDeleteMonitorPathParams = {
+  monitorId: Schemas.LoadBalancingIdentifier;
+  accountId: Schemas.LoadBalancingComponentsSchemasIdentifier;
+};
+
+export type AccountLoadBalancerMonitorsDeleteMonitorError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingIdResponse & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type AccountLoadBalancerMonitorsDeleteMonitorVariables = {
+  pathParams: AccountLoadBalancerMonitorsDeleteMonitorPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete a configured monitor.
+ */
+export const accountLoadBalancerMonitorsDeleteMonitor = (
+  variables: AccountLoadBalancerMonitorsDeleteMonitorVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LoadBalancingIdResponse,
+    AccountLoadBalancerMonitorsDeleteMonitorError,
+    undefined,
+    {},
+    {},
+    AccountLoadBalancerMonitorsDeleteMonitorPathParams
+  >({ url: '/accounts/{accountId}/load_balancers/monitors/{monitorId}', method: 'delete', ...variables, signal });
+
+export type AccountLoadBalancerMonitorsMonitorDetailsPathParams = {
+  monitorId: Schemas.LoadBalancingIdentifier;
+  accountId: Schemas.LoadBalancingComponentsSchemasIdentifier;
+};
+
+export type AccountLoadBalancerMonitorsMonitorDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingMonitorResponseSingle & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type AccountLoadBalancerMonitorsMonitorDetailsVariables = {
+  pathParams: AccountLoadBalancerMonitorsMonitorDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * List a single configured monitor for an account.
+ */
+export const accountLoadBalancerMonitorsMonitorDetails = (
+  variables: AccountLoadBalancerMonitorsMonitorDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LoadBalancingMonitorResponseSingle,
+    AccountLoadBalancerMonitorsMonitorDetailsError,
+    undefined,
+    {},
+    {},
+    AccountLoadBalancerMonitorsMonitorDetailsPathParams
+  >({ url: '/accounts/{accountId}/load_balancers/monitors/{monitorId}', method: 'get', ...variables, signal });
+
+export type AccountLoadBalancerMonitorsPatchMonitorPathParams = {
+  monitorId: Schemas.LoadBalancingIdentifier;
+  accountId: Schemas.LoadBalancingComponentsSchemasIdentifier;
+};
+
+export type AccountLoadBalancerMonitorsPatchMonitorError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingMonitorResponseSingle & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type AccountLoadBalancerMonitorsPatchMonitorRequestBody = Schemas.LoadBalancingMonitorEditable;
+
+export type AccountLoadBalancerMonitorsPatchMonitorVariables = {
+  body?: AccountLoadBalancerMonitorsPatchMonitorRequestBody;
+  pathParams: AccountLoadBalancerMonitorsPatchMonitorPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Apply changes to an existing monitor, overwriting the supplied properties.
+ */
+export const accountLoadBalancerMonitorsPatchMonitor = (
+  variables: AccountLoadBalancerMonitorsPatchMonitorVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LoadBalancingMonitorResponseSingle,
+    AccountLoadBalancerMonitorsPatchMonitorError,
+    AccountLoadBalancerMonitorsPatchMonitorRequestBody,
+    {},
+    {},
+    AccountLoadBalancerMonitorsPatchMonitorPathParams
+  >({ url: '/accounts/{accountId}/load_balancers/monitors/{monitorId}', method: 'patch', ...variables, signal });
+
+export type AccountLoadBalancerMonitorsUpdateMonitorPathParams = {
+  monitorId: Schemas.LoadBalancingIdentifier;
+  accountId: Schemas.LoadBalancingComponentsSchemasIdentifier;
+};
+
+export type AccountLoadBalancerMonitorsUpdateMonitorError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingMonitorResponseSingle & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type AccountLoadBalancerMonitorsUpdateMonitorRequestBody = Schemas.LoadBalancingMonitorEditable;
+
+export type AccountLoadBalancerMonitorsUpdateMonitorVariables = {
+  body?: AccountLoadBalancerMonitorsUpdateMonitorRequestBody;
+  pathParams: AccountLoadBalancerMonitorsUpdateMonitorPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Modify a configured monitor.
+ */
+export const accountLoadBalancerMonitorsUpdateMonitor = (
+  variables: AccountLoadBalancerMonitorsUpdateMonitorVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LoadBalancingMonitorResponseSingle,
+    AccountLoadBalancerMonitorsUpdateMonitorError,
+    AccountLoadBalancerMonitorsUpdateMonitorRequestBody,
+    {},
+    {},
+    AccountLoadBalancerMonitorsUpdateMonitorPathParams
+  >({ url: '/accounts/{accountId}/load_balancers/monitors/{monitorId}', method: 'put', ...variables, signal });
+
+export type AccountLoadBalancerMonitorsPreviewMonitorPathParams = {
+  monitorId: Schemas.LoadBalancingIdentifier;
+  accountId: Schemas.LoadBalancingComponentsSchemasIdentifier;
+};
+
+export type AccountLoadBalancerMonitorsPreviewMonitorError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingPreviewResponse & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type AccountLoadBalancerMonitorsPreviewMonitorRequestBody = Schemas.LoadBalancingMonitorEditable;
+
+export type AccountLoadBalancerMonitorsPreviewMonitorVariables = {
+  body?: AccountLoadBalancerMonitorsPreviewMonitorRequestBody;
+  pathParams: AccountLoadBalancerMonitorsPreviewMonitorPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Preview pools using the specified monitor with provided monitor details. The returned preview_id can be used in the preview endpoint to retrieve the results.
+ */
+export const accountLoadBalancerMonitorsPreviewMonitor = (
+  variables: AccountLoadBalancerMonitorsPreviewMonitorVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LoadBalancingPreviewResponse,
+    AccountLoadBalancerMonitorsPreviewMonitorError,
+    AccountLoadBalancerMonitorsPreviewMonitorRequestBody,
+    {},
+    {},
+    AccountLoadBalancerMonitorsPreviewMonitorPathParams
+  >({ url: '/accounts/{accountId}/load_balancers/monitors/{monitorId}/preview', method: 'post', ...variables, signal });
+
+export type AccountLoadBalancerMonitorsListMonitorReferencesPathParams = {
+  monitorId: Schemas.LoadBalancingIdentifier;
+  accountId: Schemas.LoadBalancingComponentsSchemasIdentifier;
+};
+
+export type AccountLoadBalancerMonitorsListMonitorReferencesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingMonitorReferencesResponse & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type AccountLoadBalancerMonitorsListMonitorReferencesVariables = {
+  pathParams: AccountLoadBalancerMonitorsListMonitorReferencesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the list of resources that reference the provided monitor.
+ */
+export const accountLoadBalancerMonitorsListMonitorReferences = (
+  variables: AccountLoadBalancerMonitorsListMonitorReferencesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LoadBalancingMonitorReferencesResponse,
+    AccountLoadBalancerMonitorsListMonitorReferencesError,
+    undefined,
+    {},
+    {},
+    AccountLoadBalancerMonitorsListMonitorReferencesPathParams
+  >({
+    url: '/accounts/{accountId}/load_balancers/monitors/{monitorId}/references',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type AccountLoadBalancerPoolsListPoolsPathParams = {
+  accountId: Schemas.LoadBalancingComponentsSchemasIdentifier;
+};
+
+export type AccountLoadBalancerPoolsListPoolsQueryParams = {
+  monitor?: string;
+};
+
+export type AccountLoadBalancerPoolsListPoolsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingSchemasResponseCollection & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type AccountLoadBalancerPoolsListPoolsVariables = {
+  pathParams: AccountLoadBalancerPoolsListPoolsPathParams;
+  queryParams?: AccountLoadBalancerPoolsListPoolsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * List configured pools.
+ */
+export const accountLoadBalancerPoolsListPools = (
+  variables: AccountLoadBalancerPoolsListPoolsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LoadBalancingSchemasResponseCollection,
+    AccountLoadBalancerPoolsListPoolsError,
+    undefined,
+    {},
+    AccountLoadBalancerPoolsListPoolsQueryParams,
+    AccountLoadBalancerPoolsListPoolsPathParams
+  >({ url: '/accounts/{accountId}/load_balancers/pools', method: 'get', ...variables, signal });
+
+export type AccountLoadBalancerPoolsPatchPoolsPathParams = {
+  accountId: Schemas.LoadBalancingComponentsSchemasIdentifier;
+};
+
+export type AccountLoadBalancerPoolsPatchPoolsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingSchemasResponseCollection & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type AccountLoadBalancerPoolsPatchPoolsRequestBody = {
+  notification_email?: Schemas.LoadBalancingPatchPoolsNotificationEmail;
+};
+
+export type AccountLoadBalancerPoolsPatchPoolsVariables = {
+  body?: AccountLoadBalancerPoolsPatchPoolsRequestBody;
+  pathParams: AccountLoadBalancerPoolsPatchPoolsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Apply changes to a number of existing pools, overwriting the supplied properties. Pools are ordered by ascending `name`. Returns the list of affected pools. Supports the standard pagination query parameters, either `limit`/`offset` or `per_page`/`page`.
+ */
+export const accountLoadBalancerPoolsPatchPools = (
+  variables: AccountLoadBalancerPoolsPatchPoolsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LoadBalancingSchemasResponseCollection,
+    AccountLoadBalancerPoolsPatchPoolsError,
+    AccountLoadBalancerPoolsPatchPoolsRequestBody,
+    {},
+    {},
+    AccountLoadBalancerPoolsPatchPoolsPathParams
+  >({ url: '/accounts/{accountId}/load_balancers/pools', method: 'patch', ...variables, signal });
+
+export type AccountLoadBalancerPoolsCreatePoolPathParams = {
+  accountId: Schemas.LoadBalancingComponentsSchemasIdentifier;
+};
+
+export type AccountLoadBalancerPoolsCreatePoolError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingSchemasSingleResponse & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type AccountLoadBalancerPoolsCreatePoolRequestBody = {
+  description?: Schemas.LoadBalancingSchemasDescription;
+  enabled?: Schemas.LoadBalancingEnabled;
+  latitude?: Schemas.LoadBalancingLatitude;
+  load_shedding?: Schemas.LoadBalancingLoadShedding;
+  longitude?: Schemas.LoadBalancingLongitude;
+  minimum_origins?: Schemas.LoadBalancingMinimumOrigins;
+  monitor?: Schemas.LoadBalancingMonitorId;
+  name: Schemas.LoadBalancingName;
+  notification_email?: Schemas.LoadBalancingNotificationEmail;
+  notification_filter?: Schemas.LoadBalancingNotificationFilter;
+  origin_steering?: Schemas.LoadBalancingOriginSteering;
+  origins: Schemas.LoadBalancingOrigins;
+};
+
+export type AccountLoadBalancerPoolsCreatePoolVariables = {
+  body: AccountLoadBalancerPoolsCreatePoolRequestBody;
+  pathParams: AccountLoadBalancerPoolsCreatePoolPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create a new pool.
+ */
+export const accountLoadBalancerPoolsCreatePool = (
+  variables: AccountLoadBalancerPoolsCreatePoolVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LoadBalancingSchemasSingleResponse,
+    AccountLoadBalancerPoolsCreatePoolError,
+    AccountLoadBalancerPoolsCreatePoolRequestBody,
+    {},
+    {},
+    AccountLoadBalancerPoolsCreatePoolPathParams
+  >({ url: '/accounts/{accountId}/load_balancers/pools', method: 'post', ...variables, signal });
+
+export type AccountLoadBalancerPoolsDeletePoolPathParams = {
+  poolId: Schemas.LoadBalancingSchemasIdentifier;
+  accountId: Schemas.LoadBalancingComponentsSchemasIdentifier;
+};
+
+export type AccountLoadBalancerPoolsDeletePoolError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingSchemasIdResponse & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type AccountLoadBalancerPoolsDeletePoolVariables = {
+  pathParams: AccountLoadBalancerPoolsDeletePoolPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete a configured pool.
+ */
+export const accountLoadBalancerPoolsDeletePool = (
+  variables: AccountLoadBalancerPoolsDeletePoolVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LoadBalancingSchemasIdResponse,
+    AccountLoadBalancerPoolsDeletePoolError,
+    undefined,
+    {},
+    {},
+    AccountLoadBalancerPoolsDeletePoolPathParams
+  >({ url: '/accounts/{accountId}/load_balancers/pools/{poolId}', method: 'delete', ...variables, signal });
+
+export type AccountLoadBalancerPoolsPoolDetailsPathParams = {
+  poolId: Schemas.LoadBalancingSchemasIdentifier;
+  accountId: Schemas.LoadBalancingComponentsSchemasIdentifier;
+};
+
+export type AccountLoadBalancerPoolsPoolDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingSchemasSingleResponse & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type AccountLoadBalancerPoolsPoolDetailsVariables = {
+  pathParams: AccountLoadBalancerPoolsPoolDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetch a single configured pool.
+ */
+export const accountLoadBalancerPoolsPoolDetails = (
+  variables: AccountLoadBalancerPoolsPoolDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LoadBalancingSchemasSingleResponse,
+    AccountLoadBalancerPoolsPoolDetailsError,
+    undefined,
+    {},
+    {},
+    AccountLoadBalancerPoolsPoolDetailsPathParams
+  >({ url: '/accounts/{accountId}/load_balancers/pools/{poolId}', method: 'get', ...variables, signal });
+
+export type AccountLoadBalancerPoolsPatchPoolPathParams = {
+  poolId: Schemas.LoadBalancingSchemasIdentifier;
+  accountId: Schemas.LoadBalancingComponentsSchemasIdentifier;
+};
+
+export type AccountLoadBalancerPoolsPatchPoolError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingSchemasSingleResponse & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type AccountLoadBalancerPoolsPatchPoolRequestBody = {
+  check_regions?: Schemas.LoadBalancingCheckRegions;
+  description?: Schemas.LoadBalancingSchemasDescription;
+  disabled_at?: Schemas.LoadBalancingSchemasDisabledAt;
+  enabled?: Schemas.LoadBalancingEnabled;
+  latitude?: Schemas.LoadBalancingLatitude;
+  load_shedding?: Schemas.LoadBalancingLoadShedding;
+  longitude?: Schemas.LoadBalancingLongitude;
+  minimum_origins?: Schemas.LoadBalancingMinimumOrigins;
+  monitor?: Schemas.LoadBalancingMonitorId;
+  name?: Schemas.LoadBalancingName;
+  notification_email?: Schemas.LoadBalancingNotificationEmail;
+  notification_filter?: Schemas.LoadBalancingNotificationFilter;
+  origin_steering?: Schemas.LoadBalancingOriginSteering;
+  origins?: Schemas.LoadBalancingOrigins;
+};
+
+export type AccountLoadBalancerPoolsPatchPoolVariables = {
+  body?: AccountLoadBalancerPoolsPatchPoolRequestBody;
+  pathParams: AccountLoadBalancerPoolsPatchPoolPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Apply changes to an existing pool, overwriting the supplied properties.
+ */
+export const accountLoadBalancerPoolsPatchPool = (
+  variables: AccountLoadBalancerPoolsPatchPoolVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LoadBalancingSchemasSingleResponse,
+    AccountLoadBalancerPoolsPatchPoolError,
+    AccountLoadBalancerPoolsPatchPoolRequestBody,
+    {},
+    {},
+    AccountLoadBalancerPoolsPatchPoolPathParams
+  >({ url: '/accounts/{accountId}/load_balancers/pools/{poolId}', method: 'patch', ...variables, signal });
+
+export type AccountLoadBalancerPoolsUpdatePoolPathParams = {
+  poolId: Schemas.LoadBalancingSchemasIdentifier;
+  accountId: Schemas.LoadBalancingComponentsSchemasIdentifier;
+};
+
+export type AccountLoadBalancerPoolsUpdatePoolError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingSchemasSingleResponse & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type AccountLoadBalancerPoolsUpdatePoolRequestBody = {
+  check_regions?: Schemas.LoadBalancingCheckRegions;
+  description?: Schemas.LoadBalancingSchemasDescription;
+  disabled_at?: Schemas.LoadBalancingSchemasDisabledAt;
+  enabled?: Schemas.LoadBalancingEnabled;
+  latitude?: Schemas.LoadBalancingLatitude;
+  load_shedding?: Schemas.LoadBalancingLoadShedding;
+  longitude?: Schemas.LoadBalancingLongitude;
+  minimum_origins?: Schemas.LoadBalancingMinimumOrigins;
+  monitor?: Schemas.LoadBalancingMonitorId;
+  name: Schemas.LoadBalancingName;
+  notification_email?: Schemas.LoadBalancingNotificationEmail;
+  notification_filter?: Schemas.LoadBalancingNotificationFilter;
+  origin_steering?: Schemas.LoadBalancingOriginSteering;
+  origins: Schemas.LoadBalancingOrigins;
+};
+
+export type AccountLoadBalancerPoolsUpdatePoolVariables = {
+  body: AccountLoadBalancerPoolsUpdatePoolRequestBody;
+  pathParams: AccountLoadBalancerPoolsUpdatePoolPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Modify a configured pool.
+ */
+export const accountLoadBalancerPoolsUpdatePool = (
+  variables: AccountLoadBalancerPoolsUpdatePoolVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LoadBalancingSchemasSingleResponse,
+    AccountLoadBalancerPoolsUpdatePoolError,
+    AccountLoadBalancerPoolsUpdatePoolRequestBody,
+    {},
+    {},
+    AccountLoadBalancerPoolsUpdatePoolPathParams
+  >({ url: '/accounts/{accountId}/load_balancers/pools/{poolId}', method: 'put', ...variables, signal });
+
+export type AccountLoadBalancerPoolsPoolHealthDetailsPathParams = {
+  poolId: Schemas.LoadBalancingSchemasIdentifier;
+  accountId: Schemas.LoadBalancingComponentsSchemasIdentifier;
+};
+
+export type AccountLoadBalancerPoolsPoolHealthDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingHealthDetails & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type AccountLoadBalancerPoolsPoolHealthDetailsVariables = {
+  pathParams: AccountLoadBalancerPoolsPoolHealthDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetch the latest pool health status for a single pool.
+ */
+export const accountLoadBalancerPoolsPoolHealthDetails = (
+  variables: AccountLoadBalancerPoolsPoolHealthDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LoadBalancingHealthDetails,
+    AccountLoadBalancerPoolsPoolHealthDetailsError,
+    undefined,
+    {},
+    {},
+    AccountLoadBalancerPoolsPoolHealthDetailsPathParams
+  >({ url: '/accounts/{accountId}/load_balancers/pools/{poolId}/health', method: 'get', ...variables, signal });
+
+export type AccountLoadBalancerPoolsPreviewPoolPathParams = {
+  poolId: Schemas.LoadBalancingSchemasIdentifier;
+  accountId: Schemas.LoadBalancingComponentsSchemasIdentifier;
+};
+
+export type AccountLoadBalancerPoolsPreviewPoolError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingPreviewResponse & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type AccountLoadBalancerPoolsPreviewPoolRequestBody = Schemas.LoadBalancingMonitorEditable;
+
+export type AccountLoadBalancerPoolsPreviewPoolVariables = {
+  body?: AccountLoadBalancerPoolsPreviewPoolRequestBody;
+  pathParams: AccountLoadBalancerPoolsPreviewPoolPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Preview pool health using provided monitor details. The returned preview_id can be used in the preview endpoint to retrieve the results.
+ */
+export const accountLoadBalancerPoolsPreviewPool = (
+  variables: AccountLoadBalancerPoolsPreviewPoolVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LoadBalancingPreviewResponse,
+    AccountLoadBalancerPoolsPreviewPoolError,
+    AccountLoadBalancerPoolsPreviewPoolRequestBody,
+    {},
+    {},
+    AccountLoadBalancerPoolsPreviewPoolPathParams
+  >({ url: '/accounts/{accountId}/load_balancers/pools/{poolId}/preview', method: 'post', ...variables, signal });
+
+export type AccountLoadBalancerPoolsListPoolReferencesPathParams = {
+  poolId: Schemas.LoadBalancingSchemasIdentifier;
+  accountId: Schemas.LoadBalancingComponentsSchemasIdentifier;
+};
+
+export type AccountLoadBalancerPoolsListPoolReferencesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingPoolsReferencesResponse & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type AccountLoadBalancerPoolsListPoolReferencesVariables = {
+  pathParams: AccountLoadBalancerPoolsListPoolReferencesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the list of resources that reference the provided pool.
+ */
+export const accountLoadBalancerPoolsListPoolReferences = (
+  variables: AccountLoadBalancerPoolsListPoolReferencesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LoadBalancingPoolsReferencesResponse,
+    AccountLoadBalancerPoolsListPoolReferencesError,
+    undefined,
+    {},
+    {},
+    AccountLoadBalancerPoolsListPoolReferencesPathParams
+  >({ url: '/accounts/{accountId}/load_balancers/pools/{poolId}/references', method: 'get', ...variables, signal });
+
+export type AccountLoadBalancerMonitorsPreviewResultPathParams = {
+  previewId: Schemas.LoadBalancingSchemasPreviewId;
+  accountId: Schemas.LoadBalancingComponentsSchemasIdentifier;
+};
+
+export type AccountLoadBalancerMonitorsPreviewResultError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingPreviewResultResponse & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type AccountLoadBalancerMonitorsPreviewResultVariables = {
+  pathParams: AccountLoadBalancerMonitorsPreviewResultPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the result of a previous preview operation using the provided preview_id.
+ */
+export const accountLoadBalancerMonitorsPreviewResult = (
+  variables: AccountLoadBalancerMonitorsPreviewResultVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LoadBalancingPreviewResultResponse,
+    AccountLoadBalancerMonitorsPreviewResultError,
+    undefined,
+    {},
+    {},
+    AccountLoadBalancerMonitorsPreviewResultPathParams
+  >({ url: '/accounts/{accountId}/load_balancers/preview/{previewId}', method: 'get', ...variables, signal });
+
+export type LoadBalancerRegionsListRegionsPathParams = {
+  accountId: Schemas.LoadBalancingComponentsSchemasIdentifier;
+};
+
+export type LoadBalancerRegionsListRegionsQueryParams = {
+  subdivision_code?: Schemas.LoadBalancingSubdivisionCodeA2;
+  subdivision_code_a2?: Schemas.LoadBalancingSubdivisionCodeA2;
+  /**
+   * @example US
+   */
+  country_code_a2?: string;
+};
+
+export type LoadBalancerRegionsListRegionsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingRegionComponentsSchemasResponseCollection &
+    Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type LoadBalancerRegionsListRegionsVariables = {
+  pathParams: LoadBalancerRegionsListRegionsPathParams;
+  queryParams?: LoadBalancerRegionsListRegionsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * List all region mappings.
+ */
+export const loadBalancerRegionsListRegions = (
+  variables: LoadBalancerRegionsListRegionsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LoadBalancingRegionComponentsSchemasResponseCollection,
+    LoadBalancerRegionsListRegionsError,
+    undefined,
+    {},
+    LoadBalancerRegionsListRegionsQueryParams,
+    LoadBalancerRegionsListRegionsPathParams
+  >({ url: '/accounts/{accountId}/load_balancers/regions', method: 'get', ...variables, signal });
+
+export type LoadBalancerRegionsGetRegionPathParams = {
+  regionId: Schemas.LoadBalancingRegionCode;
+  accountId: Schemas.LoadBalancingComponentsSchemasIdentifier;
+};
+
+export type LoadBalancerRegionsGetRegionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingComponentsSchemasSingleResponse & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type LoadBalancerRegionsGetRegionVariables = {
+  pathParams: LoadBalancerRegionsGetRegionPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a single region mapping.
+ */
+export const loadBalancerRegionsGetRegion = (variables: LoadBalancerRegionsGetRegionVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.LoadBalancingComponentsSchemasSingleResponse,
+    LoadBalancerRegionsGetRegionError,
+    undefined,
+    {},
+    {},
+    LoadBalancerRegionsGetRegionPathParams
+  >({ url: '/accounts/{accountId}/load_balancers/regions/{regionId}', method: 'get', ...variables, signal });
+
+export type AccountLoadBalancerSearchSearchResourcesPathParams = {
+  accountId: Schemas.LoadBalancingComponentsSchemasIdentifier;
+};
+
+export type AccountLoadBalancerSearchSearchResourcesQueryParams = {
+  search_params?: Schemas.LoadBalancingSearchParams;
+  /**
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default 25
+   * @maximum 1000
+   * @minimum 1
+   */
+  per_page?: number;
+};
+
+export type AccountLoadBalancerSearchSearchResourcesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.LoadBalancingApiPaginatedResponseCollection & Schemas.LoadBalancingSearchResult) &
+    Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type AccountLoadBalancerSearchSearchResourcesResponse = Schemas.LoadBalancingApiPaginatedResponseCollection &
+  Schemas.LoadBalancingSearchResult;
+
+export type AccountLoadBalancerSearchSearchResourcesVariables = {
+  pathParams: AccountLoadBalancerSearchSearchResourcesPathParams;
+  queryParams?: AccountLoadBalancerSearchSearchResourcesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Search for Load Balancing resources.
+ */
+export const accountLoadBalancerSearchSearchResources = (
+  variables: AccountLoadBalancerSearchSearchResourcesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    AccountLoadBalancerSearchSearchResourcesResponse,
+    AccountLoadBalancerSearchSearchResourcesError,
+    undefined,
+    {},
+    AccountLoadBalancerSearchSearchResourcesQueryParams,
+    AccountLoadBalancerSearchSearchResourcesPathParams
+  >({ url: '/accounts/{accountId}/load_balancers/search', method: 'get', ...variables, signal });
+
+export type GetAccountsAccountIdLogpushDatasetsDatasetIdFieldsPathParams = {
+  datasetId: Schemas.LogpushDataset;
+  accountId: Schemas.LogpushIdentifier;
+};
+
+export type GetAccountsAccountIdLogpushDatasetsDatasetIdFieldsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LogpushApiResponseCommonFailure;
+}>;
+
+export type GetAccountsAccountIdLogpushDatasetsDatasetIdFieldsVariables = {
+  pathParams: GetAccountsAccountIdLogpushDatasetsDatasetIdFieldsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists all fields available for a dataset. The response result is an object with key-value pairs, where keys are field names, and values are descriptions.
+ */
+export const getAccountsAccountIdLogpushDatasetsDatasetIdFields = (
+  variables: GetAccountsAccountIdLogpushDatasetsDatasetIdFieldsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LogpushLogpushFieldResponseCollection,
+    GetAccountsAccountIdLogpushDatasetsDatasetIdFieldsError,
+    undefined,
+    {},
+    {},
+    GetAccountsAccountIdLogpushDatasetsDatasetIdFieldsPathParams
+  >({ url: '/accounts/{accountId}/logpush/datasets/{datasetId}/fields', method: 'get', ...variables, signal });
+
+export type GetAccountsAccountIdLogpushDatasetsDatasetIdJobsPathParams = {
+  datasetId: Schemas.LogpushDataset;
+  accountId: Schemas.LogpushIdentifier;
+};
+
+export type GetAccountsAccountIdLogpushDatasetsDatasetIdJobsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LogpushApiResponseCommonFailure;
+}>;
+
+export type GetAccountsAccountIdLogpushDatasetsDatasetIdJobsVariables = {
+  pathParams: GetAccountsAccountIdLogpushDatasetsDatasetIdJobsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists Logpush jobs for an account for a dataset.
+ */
+export const getAccountsAccountIdLogpushDatasetsDatasetIdJobs = (
+  variables: GetAccountsAccountIdLogpushDatasetsDatasetIdJobsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LogpushLogpushJobResponseCollection,
+    GetAccountsAccountIdLogpushDatasetsDatasetIdJobsError,
+    undefined,
+    {},
+    {},
+    GetAccountsAccountIdLogpushDatasetsDatasetIdJobsPathParams
+  >({ url: '/accounts/{accountId}/logpush/datasets/{datasetId}/jobs', method: 'get', ...variables, signal });
+
+export type GetAccountsAccountIdLogpushJobsPathParams = {
+  accountId: Schemas.LogpushIdentifier;
+};
+
+export type GetAccountsAccountIdLogpushJobsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LogpushApiResponseCommonFailure;
+}>;
+
+export type GetAccountsAccountIdLogpushJobsVariables = {
+  pathParams: GetAccountsAccountIdLogpushJobsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists Logpush jobs for an account.
+ */
+export const getAccountsAccountIdLogpushJobs = (
+  variables: GetAccountsAccountIdLogpushJobsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LogpushLogpushJobResponseCollection,
+    GetAccountsAccountIdLogpushJobsError,
+    undefined,
+    {},
+    {},
+    GetAccountsAccountIdLogpushJobsPathParams
+  >({ url: '/accounts/{accountId}/logpush/jobs', method: 'get', ...variables, signal });
+
+export type PostAccountsAccountIdLogpushJobsPathParams = {
+  accountId: Schemas.LogpushIdentifier;
+};
+
+export type PostAccountsAccountIdLogpushJobsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LogpushApiResponseCommonFailure;
+}>;
+
+export type PostAccountsAccountIdLogpushJobsRequestBody = {
+  dataset?: Schemas.LogpushDataset;
+  destination_conf: Schemas.LogpushDestinationConf;
+  enabled?: Schemas.LogpushEnabled;
+  frequency?: Schemas.LogpushFrequency;
+  kind?: Schemas.LogpushKind;
+  logpull_options?: Schemas.LogpushLogpullOptions;
+  max_upload_bytes?: Schemas.LogpushMaxUploadBytes;
+  max_upload_interval_seconds?: Schemas.LogpushMaxUploadIntervalSeconds;
+  max_upload_records?: Schemas.LogpushMaxUploadRecords;
+  name?: Schemas.LogpushName;
+  output_options?: Schemas.LogpushOutputOptions;
+  ownership_challenge?: Schemas.LogpushOwnershipChallenge;
+};
+
+export type PostAccountsAccountIdLogpushJobsVariables = {
+  body: PostAccountsAccountIdLogpushJobsRequestBody;
+  pathParams: PostAccountsAccountIdLogpushJobsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new Logpush job for an account.
+ */
+export const postAccountsAccountIdLogpushJobs = (
+  variables: PostAccountsAccountIdLogpushJobsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LogpushLogpushJobResponseSingle,
+    PostAccountsAccountIdLogpushJobsError,
+    PostAccountsAccountIdLogpushJobsRequestBody,
+    {},
+    {},
+    PostAccountsAccountIdLogpushJobsPathParams
+  >({ url: '/accounts/{accountId}/logpush/jobs', method: 'post', ...variables, signal });
+
+export type DeleteAccountsAccountIdLogpushJobsJobIdPathParams = {
+  jobId: Schemas.LogpushId;
+  accountId: Schemas.LogpushIdentifier;
+};
+
+export type DeleteAccountsAccountIdLogpushJobsJobIdError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LogpushApiResponseCommonFailure;
+}>;
+
+export type DeleteAccountsAccountIdLogpushJobsJobIdResponse = Schemas.LogpushApiResponseCommon & {
+  result?: {
+    id?: Schemas.LogpushId;
+  };
+};
+
+export type DeleteAccountsAccountIdLogpushJobsJobIdVariables = {
+  pathParams: DeleteAccountsAccountIdLogpushJobsJobIdPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes a Logpush job.
+ */
+export const deleteAccountsAccountIdLogpushJobsJobId = (
+  variables: DeleteAccountsAccountIdLogpushJobsJobIdVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    DeleteAccountsAccountIdLogpushJobsJobIdResponse,
+    DeleteAccountsAccountIdLogpushJobsJobIdError,
+    undefined,
+    {},
+    {},
+    DeleteAccountsAccountIdLogpushJobsJobIdPathParams
+  >({ url: '/accounts/{accountId}/logpush/jobs/{jobId}', method: 'delete', ...variables, signal });
+
+export type GetAccountsAccountIdLogpushJobsJobIdPathParams = {
+  jobId: Schemas.LogpushId;
+  accountId: Schemas.LogpushIdentifier;
+};
+
+export type GetAccountsAccountIdLogpushJobsJobIdError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LogpushApiResponseCommonFailure;
+}>;
+
+export type GetAccountsAccountIdLogpushJobsJobIdVariables = {
+  pathParams: GetAccountsAccountIdLogpushJobsJobIdPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets the details of a Logpush job.
+ */
+export const getAccountsAccountIdLogpushJobsJobId = (
+  variables: GetAccountsAccountIdLogpushJobsJobIdVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LogpushLogpushJobResponseSingle,
+    GetAccountsAccountIdLogpushJobsJobIdError,
+    undefined,
+    {},
+    {},
+    GetAccountsAccountIdLogpushJobsJobIdPathParams
+  >({ url: '/accounts/{accountId}/logpush/jobs/{jobId}', method: 'get', ...variables, signal });
+
+export type PutAccountsAccountIdLogpushJobsJobIdPathParams = {
+  jobId: Schemas.LogpushId;
+  accountId: Schemas.LogpushIdentifier;
+};
+
+export type PutAccountsAccountIdLogpushJobsJobIdError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LogpushApiResponseCommonFailure;
+}>;
+
+export type PutAccountsAccountIdLogpushJobsJobIdRequestBody = {
+  destination_conf?: Schemas.LogpushDestinationConf;
+  enabled?: Schemas.LogpushEnabled;
+  frequency?: Schemas.LogpushFrequency;
+  kind?: Schemas.LogpushKind;
+  logpull_options?: Schemas.LogpushLogpullOptions;
+  max_upload_bytes?: Schemas.LogpushMaxUploadBytes;
+  max_upload_interval_seconds?: Schemas.LogpushMaxUploadIntervalSeconds;
+  max_upload_records?: Schemas.LogpushMaxUploadRecords;
+  name?: Schemas.LogpushName;
+  output_options?: Schemas.LogpushOutputOptions;
+  ownership_challenge?: Schemas.LogpushOwnershipChallenge;
+};
+
+export type PutAccountsAccountIdLogpushJobsJobIdVariables = {
+  body?: PutAccountsAccountIdLogpushJobsJobIdRequestBody;
+  pathParams: PutAccountsAccountIdLogpushJobsJobIdPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a Logpush job.
+ */
+export const putAccountsAccountIdLogpushJobsJobId = (
+  variables: PutAccountsAccountIdLogpushJobsJobIdVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LogpushLogpushJobResponseSingle,
+    PutAccountsAccountIdLogpushJobsJobIdError,
+    PutAccountsAccountIdLogpushJobsJobIdRequestBody,
+    {},
+    {},
+    PutAccountsAccountIdLogpushJobsJobIdPathParams
+  >({ url: '/accounts/{accountId}/logpush/jobs/{jobId}', method: 'put', ...variables, signal });
+
+export type PostAccountsAccountIdLogpushOwnershipPathParams = {
+  accountId: Schemas.LogpushIdentifier;
+};
+
+export type PostAccountsAccountIdLogpushOwnershipError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LogpushApiResponseCommonFailure;
+}>;
+
+export type PostAccountsAccountIdLogpushOwnershipRequestBody = {
+  destination_conf: Schemas.LogpushDestinationConf;
+};
+
+export type PostAccountsAccountIdLogpushOwnershipVariables = {
+  body: PostAccountsAccountIdLogpushOwnershipRequestBody;
+  pathParams: PostAccountsAccountIdLogpushOwnershipPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets a new ownership challenge sent to your destination.
+ */
+export const postAccountsAccountIdLogpushOwnership = (
+  variables: PostAccountsAccountIdLogpushOwnershipVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LogpushGetOwnershipResponse,
+    PostAccountsAccountIdLogpushOwnershipError,
+    PostAccountsAccountIdLogpushOwnershipRequestBody,
+    {},
+    {},
+    PostAccountsAccountIdLogpushOwnershipPathParams
+  >({ url: '/accounts/{accountId}/logpush/ownership', method: 'post', ...variables, signal });
+
+export type PostAccountsAccountIdLogpushOwnershipValidatePathParams = {
+  accountId: Schemas.LogpushIdentifier;
+};
+
+export type PostAccountsAccountIdLogpushOwnershipValidateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LogpushApiResponseCommonFailure;
+}>;
+
+export type PostAccountsAccountIdLogpushOwnershipValidateRequestBody = {
+  destination_conf: Schemas.LogpushDestinationConf;
+  ownership_challenge: Schemas.LogpushOwnershipChallenge;
+};
+
+export type PostAccountsAccountIdLogpushOwnershipValidateVariables = {
+  body: PostAccountsAccountIdLogpushOwnershipValidateRequestBody;
+  pathParams: PostAccountsAccountIdLogpushOwnershipValidatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Validates ownership challenge of the destination.
+ */
+export const postAccountsAccountIdLogpushOwnershipValidate = (
+  variables: PostAccountsAccountIdLogpushOwnershipValidateVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LogpushValidateOwnershipResponse,
+    PostAccountsAccountIdLogpushOwnershipValidateError,
+    PostAccountsAccountIdLogpushOwnershipValidateRequestBody,
+    {},
+    {},
+    PostAccountsAccountIdLogpushOwnershipValidatePathParams
+  >({ url: '/accounts/{accountId}/logpush/ownership/validate', method: 'post', ...variables, signal });
+
+export type DeleteAccountsAccountIdLogpushValidateDestinationPathParams = {
+  accountId: Schemas.LogpushIdentifier;
+};
+
+export type DeleteAccountsAccountIdLogpushValidateDestinationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LogpushApiResponseCommonFailure;
+}>;
+
+export type DeleteAccountsAccountIdLogpushValidateDestinationRequestBody = {
+  destination_conf: Schemas.LogpushDestinationConf;
+};
+
+export type DeleteAccountsAccountIdLogpushValidateDestinationVariables = {
+  body: DeleteAccountsAccountIdLogpushValidateDestinationRequestBody;
+  pathParams: DeleteAccountsAccountIdLogpushValidateDestinationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Validates destination.
+ */
+export const deleteAccountsAccountIdLogpushValidateDestination = (
+  variables: DeleteAccountsAccountIdLogpushValidateDestinationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LogpushValidateResponse,
+    DeleteAccountsAccountIdLogpushValidateDestinationError,
+    DeleteAccountsAccountIdLogpushValidateDestinationRequestBody,
+    {},
+    {},
+    DeleteAccountsAccountIdLogpushValidateDestinationPathParams
+  >({ url: '/accounts/{accountId}/logpush/validate/destination', method: 'post', ...variables, signal });
+
+export type DeleteAccountsAccountIdLogpushValidateDestinationExistsPathParams = {
+  accountId: Schemas.LogpushIdentifier;
+};
+
+export type DeleteAccountsAccountIdLogpushValidateDestinationExistsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LogpushApiResponseCommonFailure;
+}>;
+
+export type DeleteAccountsAccountIdLogpushValidateDestinationExistsRequestBody = {
+  destination_conf: Schemas.LogpushDestinationConf;
+};
+
+export type DeleteAccountsAccountIdLogpushValidateDestinationExistsVariables = {
+  body: DeleteAccountsAccountIdLogpushValidateDestinationExistsRequestBody;
+  pathParams: DeleteAccountsAccountIdLogpushValidateDestinationExistsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Checks if there is an existing job with a destination.
+ */
+export const deleteAccountsAccountIdLogpushValidateDestinationExists = (
+  variables: DeleteAccountsAccountIdLogpushValidateDestinationExistsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LogpushDestinationExistsResponse,
+    DeleteAccountsAccountIdLogpushValidateDestinationExistsError,
+    DeleteAccountsAccountIdLogpushValidateDestinationExistsRequestBody,
+    {},
+    {},
+    DeleteAccountsAccountIdLogpushValidateDestinationExistsPathParams
+  >({ url: '/accounts/{accountId}/logpush/validate/destination/exists', method: 'post', ...variables, signal });
+
+export type PostAccountsAccountIdLogpushValidateOriginPathParams = {
+  accountId: Schemas.LogpushIdentifier;
+};
+
+export type PostAccountsAccountIdLogpushValidateOriginError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LogpushApiResponseCommonFailure;
+}>;
+
+export type PostAccountsAccountIdLogpushValidateOriginRequestBody = {
+  logpull_options: Schemas.LogpushLogpullOptions;
+};
+
+export type PostAccountsAccountIdLogpushValidateOriginVariables = {
+  body: PostAccountsAccountIdLogpushValidateOriginRequestBody;
+  pathParams: PostAccountsAccountIdLogpushValidateOriginPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Validates logpull origin with logpull_options.
+ */
+export const postAccountsAccountIdLogpushValidateOrigin = (
+  variables: PostAccountsAccountIdLogpushValidateOriginVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LogpushValidateResponse,
+    PostAccountsAccountIdLogpushValidateOriginError,
+    PostAccountsAccountIdLogpushValidateOriginRequestBody,
+    {},
+    {},
+    PostAccountsAccountIdLogpushValidateOriginPathParams
+  >({ url: '/accounts/{accountId}/logpush/validate/origin', method: 'post', ...variables, signal });
+
+export type AuditLogsV2GetAccountAuditLogsPathParams = {
+  /**
+   * @example a67e14daa5f8dceeb91fe5449ba496ef
+   */
+  accountId: string;
+};
+
+export type AuditLogsV2GetAccountAuditLogsQueryParams = {
+  account_name?: string;
+  /**
+   * @example success
+   */
+  action_result?: 'success' | 'failure';
+  /**
+   * @example create
+   */
+  action_type?: 'create' | 'delete' | 'view' | 'update';
+  /**
+   * @example api_key
+   */
+  actor_context?: 'api_key' | 'api_token' | 'dash' | 'oauth' | 'origin_ca_key';
+  /**
+   * @example alice@example.com
+   * @format email
+   */
+  actor_email?: string;
+  /**
+   * @example 1d20c3afe174f18b642710cec6298a9d
+   */
+  actor_id?: string;
+  /**
+   * @example 17.168.228.63
+   */
+  actor_ip_address?: string;
+  /**
+   * @example 144cdb2e39c55e203cf225d8d8208647
+   */
+  actor_token_id?: string;
+  /**
+   * @example Test Token
+   */
+  actor_token_name?: string;
+  /**
+   * @example account
+   */
+  actor_type?: 'cloudflare_admin' | 'account' | 'user';
+  /**
+   * @example f174be97-19b1-40d6-954d-70cd5fbd52db
+   */
+  audit_log_id?: string;
+  /**
+   * @example 8e8dd2156ef28414
+   */
+  raw_cf_ray_id?: string;
+  /**
+   * @example GET
+   */
+  raw_method?: string;
+  /**
+   * @example 200
+   */
+  raw_status_code?: number;
+  raw_uri?: string;
+  resource_id?: string;
+  /**
+   * @example Stream
+   */
+  resource_product?: string;
+  /**
+   * @example Video
+   */
+  resource_type?: string;
+  /**
+   * @example accounts
+   */
+  resource_scope?: 'accounts' | 'user' | 'zones';
+  zone_id?: string;
+  /**
+   * @example example.com
+   */
+  zone_name?: string;
+  /**
+   * Filters actions based on a given timestamp in the format yyyy-mm-dd, returning only logs that occurred on and after the specified date.
+   *
+   * @example 2024-10-30
+   * @format date
+   */
+  since: string;
+  /**
+   * Filters actions based on a given timestamp in the format yyyy-mm-dd, returning only logs that occurred on and before the specified date.
+   *
+   * @example 2024-10-31
+   * @format date
+   */
+  before: string;
+  /**
+   * @default desc
+   * @example desc
+   */
+  direction?: 'desc' | 'asc';
+  /**
+   * @default 100
+   * @example 25
+   * @maximum 1000
+   * @minimum 1
+   */
+  limit?: number;
+  /**
+   * @example Q1buH-__DQqqig7SVYXT-SsMOTGY2Z3Y80W-fGgva7yaDdmPKveucH5ddOcHsJRhNb-xUK8agZQqkJSMAENGO8NU6g==
+   */
+  cursor?: string;
+};
+
+export type AuditLogsV2GetAccountAuditLogsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AaaSchemasApiResponseCommonFailure;
+}>;
+
+export type AuditLogsV2GetAccountAuditLogsVariables = {
+  pathParams: AuditLogsV2GetAccountAuditLogsPathParams;
+  queryParams: AuditLogsV2GetAccountAuditLogsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets a list of audit logs for an account. <br />  <br /> This is the beta release of Audit Logs Version 2. Since this is a beta version, there may be gaps or missing entries in the available audit logs. Be aware of the following limitations.  <br /> <ul> <li>Audit logs are available only for the past 30 days. <br /></li> <li>Error handling is not yet implemented.  <br /> </li> </ul>
+ */
+export const auditLogsV2GetAccountAuditLogs = (
+  variables: AuditLogsV2GetAccountAuditLogsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AaaAuditLogsV2ResponseCollection,
+    AuditLogsV2GetAccountAuditLogsError,
+    undefined,
+    {},
+    AuditLogsV2GetAccountAuditLogsQueryParams,
+    AuditLogsV2GetAccountAuditLogsPathParams
+  >({ url: '/accounts/{accountId}/logs/audit', method: 'get', ...variables, signal });
+
+export type DeleteAccountsAccountIdLogsControlCmbConfigPathParams = {
+  accountId: Schemas.LogcontrolIdentifier;
+};
+
+export type DeleteAccountsAccountIdLogsControlCmbConfigError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LogcontrolApiResponseCommonFailure;
+}>;
+
+export type DeleteAccountsAccountIdLogsControlCmbConfigResponse = Schemas.LogcontrolApiResponseCommon & {
+  result?: any | null;
+};
+
+export type DeleteAccountsAccountIdLogsControlCmbConfigVariables = {
+  pathParams: DeleteAccountsAccountIdLogsControlCmbConfigPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes CMB config.
+ */
+export const deleteAccountsAccountIdLogsControlCmbConfig = (
+  variables: DeleteAccountsAccountIdLogsControlCmbConfigVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    DeleteAccountsAccountIdLogsControlCmbConfigResponse,
+    DeleteAccountsAccountIdLogsControlCmbConfigError,
+    undefined,
+    {},
+    {},
+    DeleteAccountsAccountIdLogsControlCmbConfigPathParams
+  >({ url: '/accounts/{accountId}/logs/control/cmb/config', method: 'delete', ...variables, signal });
+
+export type GetAccountsAccountIdLogsControlCmbConfigPathParams = {
+  accountId: Schemas.LogcontrolIdentifier;
+};
+
+export type GetAccountsAccountIdLogsControlCmbConfigError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LogcontrolApiResponseCommonFailure;
+}>;
+
+export type GetAccountsAccountIdLogsControlCmbConfigVariables = {
+  pathParams: GetAccountsAccountIdLogsControlCmbConfigPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets CMB config.
+ */
+export const getAccountsAccountIdLogsControlCmbConfig = (
+  variables: GetAccountsAccountIdLogsControlCmbConfigVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LogcontrolCmbConfigResponseSingle,
+    GetAccountsAccountIdLogsControlCmbConfigError,
+    undefined,
+    {},
+    {},
+    GetAccountsAccountIdLogsControlCmbConfigPathParams
+  >({ url: '/accounts/{accountId}/logs/control/cmb/config', method: 'get', ...variables, signal });
+
+export type PostAccountsAccountIdLogsControlCmbConfigPathParams = {
+  accountId: Schemas.LogcontrolIdentifier;
+};
+
+export type PostAccountsAccountIdLogsControlCmbConfigError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LogcontrolApiResponseCommonFailure;
+}>;
+
+export type PostAccountsAccountIdLogsControlCmbConfigVariables = {
+  body?: Schemas.LogcontrolCmbConfig;
+  pathParams: PostAccountsAccountIdLogsControlCmbConfigPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates CMB config.
+ */
+export const postAccountsAccountIdLogsControlCmbConfig = (
+  variables: PostAccountsAccountIdLogsControlCmbConfigVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LogcontrolCmbConfigResponseSingle,
+    PostAccountsAccountIdLogsControlCmbConfigError,
+    Schemas.LogcontrolCmbConfig,
+    {},
+    {},
+    PostAccountsAccountIdLogsControlCmbConfigPathParams
+  >({ url: '/accounts/{accountId}/logs/control/cmb/config', method: 'post', ...variables, signal });
+
+export type MagicAccountAppsListAppsPathParams = {
+  accountId: Schemas.MagicIdentifier;
+};
+
+export type MagicAccountAppsListAppsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicAccountAppsListAppsVariables = {
+  pathParams: MagicAccountAppsListAppsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists Apps associated with an account.
+ */
+export const magicAccountAppsListApps = (variables: MagicAccountAppsListAppsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.MagicAppsCollectionResponse,
+    MagicAccountAppsListAppsError,
+    undefined,
+    {},
+    {},
+    MagicAccountAppsListAppsPathParams
+  >({ url: '/accounts/{accountId}/magic/apps', method: 'get', ...variables, signal });
+
+export type MagicAccountAppsAddAppPathParams = {
+  accountId: Schemas.MagicIdentifier;
+};
+
+export type MagicAccountAppsAddAppError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicAccountAppsAddAppVariables = {
+  body: Schemas.MagicAppAddSingleRequest;
+  pathParams: MagicAccountAppsAddAppPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new App for an account
+ */
+export const magicAccountAppsAddApp = (variables: MagicAccountAppsAddAppVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.MagicAppSingleResponse,
+    MagicAccountAppsAddAppError,
+    Schemas.MagicAppAddSingleRequest,
+    {},
+    {},
+    MagicAccountAppsAddAppPathParams
+  >({ url: '/accounts/{accountId}/magic/apps', method: 'post', ...variables, signal });
+
+export type MagicAccountAppsDeleteAppPathParams = {
+  accountId: Schemas.MagicIdentifier;
+  accountAppId: Schemas.MagicIdentifier;
+};
+
+export type MagicAccountAppsDeleteAppError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicAccountAppsDeleteAppVariables = {
+  pathParams: MagicAccountAppsDeleteAppPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes specific Account App.
+ */
+export const magicAccountAppsDeleteApp = (variables: MagicAccountAppsDeleteAppVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.MagicAppSingleResponse,
+    MagicAccountAppsDeleteAppError,
+    undefined,
+    {},
+    {},
+    MagicAccountAppsDeleteAppPathParams
+  >({ url: '/accounts/{accountId}/magic/apps/{accountAppId}', method: 'delete', ...variables, signal });
+
+export type MagicAccountAppsUpdateAppPathParams = {
+  accountId: Schemas.MagicIdentifier;
+  accountAppId: Schemas.MagicIdentifier;
+};
+
+export type MagicAccountAppsUpdateAppError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicAccountAppsUpdateAppVariables = {
+  body?: Schemas.MagicAppUpdateRequest;
+  pathParams: MagicAccountAppsUpdateAppPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates an Account App
+ */
+export const magicAccountAppsUpdateApp = (variables: MagicAccountAppsUpdateAppVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.MagicAppSingleResponse,
+    MagicAccountAppsUpdateAppError,
+    Schemas.MagicAppUpdateRequest,
+    {},
+    {},
+    MagicAccountAppsUpdateAppPathParams
+  >({ url: '/accounts/{accountId}/magic/apps/{accountAppId}', method: 'put', ...variables, signal });
+
+export type MagicInterconnectsListInterconnectsPathParams = {
+  accountId: Schemas.MagicIdentifier;
+};
+
+export type MagicInterconnectsListInterconnectsHeaders = {
+  /**
+   * If true, the health check target in the response body will be presented using the new object format. Defaults to false.
+   */
+  ['x-magic-new-hc-target']?: boolean;
+};
+
+export type MagicInterconnectsListInterconnectsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicComponentsSchemasTunnelsCollectionResponse & Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicInterconnectsListInterconnectsVariables = {
+  headers?: MagicInterconnectsListInterconnectsHeaders;
+  pathParams: MagicInterconnectsListInterconnectsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists interconnects associated with an account.
+ */
+export const magicInterconnectsListInterconnects = (
+  variables: MagicInterconnectsListInterconnectsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicComponentsSchemasTunnelsCollectionResponse,
+    MagicInterconnectsListInterconnectsError,
+    undefined,
+    MagicInterconnectsListInterconnectsHeaders,
+    {},
+    MagicInterconnectsListInterconnectsPathParams
+  >({ url: '/accounts/{accountId}/magic/cf_interconnects', method: 'get', ...variables, signal });
+
+export type MagicInterconnectsUpdateMultipleInterconnectsPathParams = {
+  accountId: Schemas.MagicIdentifier;
+};
+
+export type MagicInterconnectsUpdateMultipleInterconnectsHeaders = {
+  /**
+   * If true, the health check target in the request and response bodies will be presented using the new object format. Defaults to false.
+   */
+  ['x-magic-new-hc-target']?: boolean;
+};
+
+export type MagicInterconnectsUpdateMultipleInterconnectsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicComponentsSchemasModifiedTunnelsCollectionResponse & Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicInterconnectsUpdateMultipleInterconnectsVariables = {
+  body: void;
+  headers?: MagicInterconnectsUpdateMultipleInterconnectsHeaders;
+  pathParams: MagicInterconnectsUpdateMultipleInterconnectsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates multiple interconnects associated with an account. Use `?validate_only=true` as an optional query parameter to only run validation without persisting changes.
+ */
+export const magicInterconnectsUpdateMultipleInterconnects = (
+  variables: MagicInterconnectsUpdateMultipleInterconnectsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicComponentsSchemasModifiedTunnelsCollectionResponse,
+    MagicInterconnectsUpdateMultipleInterconnectsError,
+    void,
+    MagicInterconnectsUpdateMultipleInterconnectsHeaders,
+    {},
+    MagicInterconnectsUpdateMultipleInterconnectsPathParams
+  >({ url: '/accounts/{accountId}/magic/cf_interconnects', method: 'put', ...variables, signal });
+
+export type MagicInterconnectsListInterconnectDetailsPathParams = {
+  cfInterconnectId: Schemas.MagicIdentifier;
+  accountId: Schemas.MagicIdentifier;
+};
+
+export type MagicInterconnectsListInterconnectDetailsHeaders = {
+  /**
+   * If true, the health check target in the response body will be presented using the new object format. Defaults to false.
+   */
+  ['x-magic-new-hc-target']?: boolean;
+};
+
+export type MagicInterconnectsListInterconnectDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicComponentsSchemasTunnelSingleResponse & Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicInterconnectsListInterconnectDetailsVariables = {
+  headers?: MagicInterconnectsListInterconnectDetailsHeaders;
+  pathParams: MagicInterconnectsListInterconnectDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists details for a specific interconnect.
+ */
+export const magicInterconnectsListInterconnectDetails = (
+  variables: MagicInterconnectsListInterconnectDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicComponentsSchemasTunnelSingleResponse,
+    MagicInterconnectsListInterconnectDetailsError,
+    undefined,
+    MagicInterconnectsListInterconnectDetailsHeaders,
+    {},
+    MagicInterconnectsListInterconnectDetailsPathParams
+  >({ url: '/accounts/{accountId}/magic/cf_interconnects/{cfInterconnectId}', method: 'get', ...variables, signal });
+
+export type MagicInterconnectsUpdateInterconnectPathParams = {
+  cfInterconnectId: Schemas.MagicIdentifier;
+  accountId: Schemas.MagicIdentifier;
+};
+
+export type MagicInterconnectsUpdateInterconnectHeaders = {
+  /**
+   * If true, the health check target in the request and response bodies will be presented using the new object format. Defaults to false.
+   */
+  ['x-magic-new-hc-target']?: boolean;
+};
+
+export type MagicInterconnectsUpdateInterconnectError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicComponentsSchemasTunnelModifiedResponse & Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicInterconnectsUpdateInterconnectVariables = {
+  body?: Schemas.MagicInterconnectTunnelUpdateRequest;
+  headers?: MagicInterconnectsUpdateInterconnectHeaders;
+  pathParams: MagicInterconnectsUpdateInterconnectPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a specific interconnect associated with an account. Use `?validate_only=true` as an optional query parameter to only run validation without persisting changes.
+ */
+export const magicInterconnectsUpdateInterconnect = (
+  variables: MagicInterconnectsUpdateInterconnectVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicComponentsSchemasTunnelModifiedResponse,
+    MagicInterconnectsUpdateInterconnectError,
+    Schemas.MagicInterconnectTunnelUpdateRequest,
+    MagicInterconnectsUpdateInterconnectHeaders,
+    {},
+    MagicInterconnectsUpdateInterconnectPathParams
+  >({ url: '/accounts/{accountId}/magic/cf_interconnects/{cfInterconnectId}', method: 'put', ...variables, signal });
+
+export type MconnConnectorListPathParams = {
+  accountId: Schemas.MconnAccountId;
+};
+
+export type MconnConnectorListError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: Schemas.MconnBadResponse;
+    }
+  | {
+      status: 401;
+      payload: Schemas.MconnBadResponse;
+    }
+  | {
+      status: 403;
+      payload: Schemas.MconnBadResponse;
+    }
+  | {
+      status: 500;
+      payload: Schemas.MconnBadResponse;
+    }
+>;
+
+export type MconnConnectorListVariables = {
+  pathParams: MconnConnectorListPathParams;
+} & FetcherExtraProps;
+
+export const mconnConnectorList = (variables: MconnConnectorListVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.MconnCustomerConnectorListResponse,
+    MconnConnectorListError,
+    undefined,
+    {},
+    {},
+    MconnConnectorListPathParams
+  >({ url: '/accounts/{accountId}/magic/connectors', method: 'get', ...variables, signal });
+
+export type MconnConnectorFetchPathParams = {
+  accountId: Schemas.MconnAccountId;
+  connectorId: Schemas.MconnUuid;
+};
+
+export type MconnConnectorFetchError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: Schemas.MconnBadResponse;
+    }
+  | {
+      status: 401;
+      payload: Schemas.MconnBadResponse;
+    }
+  | {
+      status: 403;
+      payload: Schemas.MconnBadResponse;
+    }
+  | {
+      status: 500;
+      payload: Schemas.MconnBadResponse;
+    }
+>;
+
+export type MconnConnectorFetchVariables = {
+  pathParams: MconnConnectorFetchPathParams;
+} & FetcherExtraProps;
+
+export const mconnConnectorFetch = (variables: MconnConnectorFetchVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.MconnCustomerConnectorFetchResponse,
+    MconnConnectorFetchError,
+    undefined,
+    {},
+    {},
+    MconnConnectorFetchPathParams
+  >({ url: '/accounts/{accountId}/magic/connectors/{connectorId}', method: 'get', ...variables, signal });
+
+export type MconnConnectorUpdatePathParams = {
+  accountId: Schemas.MconnAccountId;
+  connectorId: Schemas.MconnUuid;
+};
+
+export type MconnConnectorUpdateError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: Schemas.MconnBadResponse;
+    }
+  | {
+      status: 401;
+      payload: Schemas.MconnBadResponse;
+    }
+  | {
+      status: 403;
+      payload: Schemas.MconnBadResponse;
+    }
+  | {
+      status: 500;
+      payload: Schemas.MconnBadResponse;
+    }
+>;
+
+export type MconnConnectorUpdateVariables = {
+  body?: Schemas.MconnCustomerConnectorUpdateRequest;
+  pathParams: MconnConnectorUpdatePathParams;
+} & FetcherExtraProps;
+
+export const mconnConnectorUpdate = (variables: MconnConnectorUpdateVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.MconnCustomerConnectorUpdateResponse,
+    MconnConnectorUpdateError,
+    Schemas.MconnCustomerConnectorUpdateRequest,
+    {},
+    {},
+    MconnConnectorUpdatePathParams
+  >({ url: '/accounts/{accountId}/magic/connectors/{connectorId}', method: 'patch', ...variables, signal });
+
+export type MconnConnectorReplacePathParams = {
+  accountId: Schemas.MconnAccountId;
+  connectorId: Schemas.MconnUuid;
+};
+
+export type MconnConnectorReplaceError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: Schemas.MconnBadResponse;
+    }
+  | {
+      status: 401;
+      payload: Schemas.MconnBadResponse;
+    }
+  | {
+      status: 403;
+      payload: Schemas.MconnBadResponse;
+    }
+  | {
+      status: 500;
+      payload: Schemas.MconnBadResponse;
+    }
+>;
+
+export type MconnConnectorReplaceVariables = {
+  body?: Schemas.MconnCustomerConnectorUpdateRequest;
+  pathParams: MconnConnectorReplacePathParams;
+} & FetcherExtraProps;
+
+export const mconnConnectorReplace = (variables: MconnConnectorReplaceVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.MconnCustomerConnectorUpdateResponse,
+    MconnConnectorReplaceError,
+    Schemas.MconnCustomerConnectorUpdateRequest,
+    {},
+    {},
+    MconnConnectorReplacePathParams
+  >({ url: '/accounts/{accountId}/magic/connectors/{connectorId}', method: 'put', ...variables, signal });
+
+export type MagicGreTunnelsListGreTunnelsPathParams = {
+  accountId: Schemas.MagicIdentifier;
+};
+
+export type MagicGreTunnelsListGreTunnelsHeaders = {
+  /**
+   * If true, the health check target in the response body will be presented using the new object format. Defaults to false.
+   */
+  ['x-magic-new-hc-target']?: boolean;
+};
+
+export type MagicGreTunnelsListGreTunnelsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicTunnelsCollectionResponse & Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicGreTunnelsListGreTunnelsVariables = {
+  headers?: MagicGreTunnelsListGreTunnelsHeaders;
+  pathParams: MagicGreTunnelsListGreTunnelsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists GRE tunnels associated with an account.
+ */
+export const magicGreTunnelsListGreTunnels = (
+  variables: MagicGreTunnelsListGreTunnelsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicTunnelsCollectionResponse,
+    MagicGreTunnelsListGreTunnelsError,
+    undefined,
+    MagicGreTunnelsListGreTunnelsHeaders,
+    {},
+    MagicGreTunnelsListGreTunnelsPathParams
+  >({ url: '/accounts/{accountId}/magic/gre_tunnels', method: 'get', ...variables, signal });
+
+export type MagicGreTunnelsCreateGreTunnelsPathParams = {
+  accountId: Schemas.MagicIdentifier;
+};
+
+export type MagicGreTunnelsCreateGreTunnelsHeaders = {
+  /**
+   * If true, the health check target in the request and response bodies will be presented using the new object format. Defaults to false.
+   */
+  ['x-magic-new-hc-target']?: boolean;
+};
+
+export type MagicGreTunnelsCreateGreTunnelsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicTunnelsCollectionResponse & Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicGreTunnelsCreateGreTunnelsVariables = {
+  body: void;
+  headers?: MagicGreTunnelsCreateGreTunnelsHeaders;
+  pathParams: MagicGreTunnelsCreateGreTunnelsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates new GRE tunnels. Use `?validate_only=true` as an optional query parameter to only run validation without persisting changes.
+ */
+export const magicGreTunnelsCreateGreTunnels = (
+  variables: MagicGreTunnelsCreateGreTunnelsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicTunnelsCollectionResponse,
+    MagicGreTunnelsCreateGreTunnelsError,
+    void,
+    MagicGreTunnelsCreateGreTunnelsHeaders,
+    {},
+    MagicGreTunnelsCreateGreTunnelsPathParams
+  >({ url: '/accounts/{accountId}/magic/gre_tunnels', method: 'post', ...variables, signal });
+
+export type MagicGreTunnelsUpdateMultipleGreTunnelsPathParams = {
+  accountId: Schemas.MagicIdentifier;
+};
+
+export type MagicGreTunnelsUpdateMultipleGreTunnelsHeaders = {
+  /**
+   * If true, the health check target in the request and response bodies will be presented using the new object format. Defaults to false.
+   */
+  ['x-magic-new-hc-target']?: boolean;
+};
+
+export type MagicGreTunnelsUpdateMultipleGreTunnelsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicModifiedTunnelsCollectionResponse & Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicGreTunnelsUpdateMultipleGreTunnelsVariables = {
+  body: void;
+  headers?: MagicGreTunnelsUpdateMultipleGreTunnelsHeaders;
+  pathParams: MagicGreTunnelsUpdateMultipleGreTunnelsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates multiple GRE tunnels. Use `?validate_only=true` as an optional query parameter to only run validation without persisting changes.
+ */
+export const magicGreTunnelsUpdateMultipleGreTunnels = (
+  variables: MagicGreTunnelsUpdateMultipleGreTunnelsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicModifiedTunnelsCollectionResponse,
+    MagicGreTunnelsUpdateMultipleGreTunnelsError,
+    void,
+    MagicGreTunnelsUpdateMultipleGreTunnelsHeaders,
+    {},
+    MagicGreTunnelsUpdateMultipleGreTunnelsPathParams
+  >({ url: '/accounts/{accountId}/magic/gre_tunnels', method: 'put', ...variables, signal });
+
+export type MagicGreTunnelsDeleteGreTunnelPathParams = {
+  greTunnelId: Schemas.MagicIdentifier;
+  accountId: Schemas.MagicIdentifier;
+};
+
+export type MagicGreTunnelsDeleteGreTunnelHeaders = {
+  /**
+   * If true, the health check target in the response body will be presented using the new object format. Defaults to false.
+   */
+  ['x-magic-new-hc-target']?: boolean;
+};
+
+export type MagicGreTunnelsDeleteGreTunnelError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicTunnelDeletedResponse & Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicGreTunnelsDeleteGreTunnelVariables = {
+  headers?: MagicGreTunnelsDeleteGreTunnelHeaders;
+  pathParams: MagicGreTunnelsDeleteGreTunnelPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Disables and removes a specific static GRE tunnel. Use `?validate_only=true` as an optional query parameter to only run validation without persisting changes.
+ */
+export const magicGreTunnelsDeleteGreTunnel = (
+  variables: MagicGreTunnelsDeleteGreTunnelVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicTunnelDeletedResponse,
+    MagicGreTunnelsDeleteGreTunnelError,
+    undefined,
+    MagicGreTunnelsDeleteGreTunnelHeaders,
+    {},
+    MagicGreTunnelsDeleteGreTunnelPathParams
+  >({ url: '/accounts/{accountId}/magic/gre_tunnels/{greTunnelId}', method: 'delete', ...variables, signal });
+
+export type MagicGreTunnelsListGreTunnelDetailsPathParams = {
+  greTunnelId: Schemas.MagicIdentifier;
+  accountId: Schemas.MagicIdentifier;
+};
+
+export type MagicGreTunnelsListGreTunnelDetailsHeaders = {
+  /**
+   * If true, the health check target in the response body will be presented using the new object format. Defaults to false.
+   */
+  ['x-magic-new-hc-target']?: boolean;
+};
+
+export type MagicGreTunnelsListGreTunnelDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicTunnelSingleResponse & Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicGreTunnelsListGreTunnelDetailsVariables = {
+  headers?: MagicGreTunnelsListGreTunnelDetailsHeaders;
+  pathParams: MagicGreTunnelsListGreTunnelDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists informtion for a specific GRE tunnel.
+ */
+export const magicGreTunnelsListGreTunnelDetails = (
+  variables: MagicGreTunnelsListGreTunnelDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicTunnelSingleResponse,
+    MagicGreTunnelsListGreTunnelDetailsError,
+    undefined,
+    MagicGreTunnelsListGreTunnelDetailsHeaders,
+    {},
+    MagicGreTunnelsListGreTunnelDetailsPathParams
+  >({ url: '/accounts/{accountId}/magic/gre_tunnels/{greTunnelId}', method: 'get', ...variables, signal });
+
+export type MagicGreTunnelsUpdateGreTunnelPathParams = {
+  greTunnelId: Schemas.MagicIdentifier;
+  accountId: Schemas.MagicIdentifier;
+};
+
+export type MagicGreTunnelsUpdateGreTunnelHeaders = {
+  /**
+   * If true, the health check target in the request and response bodies will be presented using the new object format. Defaults to false.
+   */
+  ['x-magic-new-hc-target']?: boolean;
+};
+
+export type MagicGreTunnelsUpdateGreTunnelError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicTunnelModifiedResponse & Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicGreTunnelsUpdateGreTunnelVariables = {
+  body?: Schemas.MagicGreTunnelUpdateRequest;
+  headers?: MagicGreTunnelsUpdateGreTunnelHeaders;
+  pathParams: MagicGreTunnelsUpdateGreTunnelPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a specific GRE tunnel. Use `?validate_only=true` as an optional query parameter to only run validation without persisting changes.
+ */
+export const magicGreTunnelsUpdateGreTunnel = (
+  variables: MagicGreTunnelsUpdateGreTunnelVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicTunnelModifiedResponse,
+    MagicGreTunnelsUpdateGreTunnelError,
+    Schemas.MagicGreTunnelUpdateRequest,
+    MagicGreTunnelsUpdateGreTunnelHeaders,
+    {},
+    MagicGreTunnelsUpdateGreTunnelPathParams
+  >({ url: '/accounts/{accountId}/magic/gre_tunnels/{greTunnelId}', method: 'put', ...variables, signal });
+
+export type MagicIpsecTunnelsListIpsecTunnelsPathParams = {
+  accountId: Schemas.MagicIdentifier;
+};
+
+export type MagicIpsecTunnelsListIpsecTunnelsHeaders = {
+  /**
+   * If true, the health check target in the response body will be presented using the new object format. Defaults to false.
+   */
+  ['x-magic-new-hc-target']?: boolean;
+};
+
+export type MagicIpsecTunnelsListIpsecTunnelsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicSchemasTunnelsCollectionResponse & Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicIpsecTunnelsListIpsecTunnelsVariables = {
+  headers?: MagicIpsecTunnelsListIpsecTunnelsHeaders;
+  pathParams: MagicIpsecTunnelsListIpsecTunnelsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists IPsec tunnels associated with an account.
+ */
+export const magicIpsecTunnelsListIpsecTunnels = (
+  variables: MagicIpsecTunnelsListIpsecTunnelsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicSchemasTunnelsCollectionResponse,
+    MagicIpsecTunnelsListIpsecTunnelsError,
+    undefined,
+    MagicIpsecTunnelsListIpsecTunnelsHeaders,
+    {},
+    MagicIpsecTunnelsListIpsecTunnelsPathParams
+  >({ url: '/accounts/{accountId}/magic/ipsec_tunnels', method: 'get', ...variables, signal });
+
+export type MagicIpsecTunnelsCreateIpsecTunnelsPathParams = {
+  accountId: Schemas.MagicIdentifier;
+};
+
+export type MagicIpsecTunnelsCreateIpsecTunnelsHeaders = {
+  /**
+   * If true, the health check target in the request and response bodies will be presented using the new object format. Defaults to false.
+   */
+  ['x-magic-new-hc-target']?: boolean;
+};
+
+export type MagicIpsecTunnelsCreateIpsecTunnelsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicSchemasTunnelsCollectionResponse & Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicIpsecTunnelsCreateIpsecTunnelsVariables = {
+  body?: Schemas.MagicIpsecTunnelAddRequest;
+  headers?: MagicIpsecTunnelsCreateIpsecTunnelsHeaders;
+  pathParams: MagicIpsecTunnelsCreateIpsecTunnelsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates new IPsec tunnels associated with an account. Use `?validate_only=true` as an optional query parameter to only run validation without persisting changes.
+ */
+export const magicIpsecTunnelsCreateIpsecTunnels = (
+  variables: MagicIpsecTunnelsCreateIpsecTunnelsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicSchemasTunnelsCollectionResponse,
+    MagicIpsecTunnelsCreateIpsecTunnelsError,
+    Schemas.MagicIpsecTunnelAddRequest,
+    MagicIpsecTunnelsCreateIpsecTunnelsHeaders,
+    {},
+    MagicIpsecTunnelsCreateIpsecTunnelsPathParams
+  >({ url: '/accounts/{accountId}/magic/ipsec_tunnels', method: 'post', ...variables, signal });
+
+export type MagicIpsecTunnelsUpdateMultipleIpsecTunnelsPathParams = {
+  accountId: Schemas.MagicIdentifier;
+};
+
+export type MagicIpsecTunnelsUpdateMultipleIpsecTunnelsHeaders = {
+  /**
+   * If true, the health check target in the request and response bodies will be presented using the new object format. Defaults to false.
+   */
+  ['x-magic-new-hc-target']?: boolean;
+};
+
+export type MagicIpsecTunnelsUpdateMultipleIpsecTunnelsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicSchemasModifiedTunnelsCollectionResponse & Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicIpsecTunnelsUpdateMultipleIpsecTunnelsVariables = {
+  body: void;
+  headers?: MagicIpsecTunnelsUpdateMultipleIpsecTunnelsHeaders;
+  pathParams: MagicIpsecTunnelsUpdateMultipleIpsecTunnelsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update multiple IPsec tunnels associated with an account. Use `?validate_only=true` as an optional query parameter to only run validation without persisting changes.
+ */
+export const magicIpsecTunnelsUpdateMultipleIpsecTunnels = (
+  variables: MagicIpsecTunnelsUpdateMultipleIpsecTunnelsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicSchemasModifiedTunnelsCollectionResponse,
+    MagicIpsecTunnelsUpdateMultipleIpsecTunnelsError,
+    void,
+    MagicIpsecTunnelsUpdateMultipleIpsecTunnelsHeaders,
+    {},
+    MagicIpsecTunnelsUpdateMultipleIpsecTunnelsPathParams
+  >({ url: '/accounts/{accountId}/magic/ipsec_tunnels', method: 'put', ...variables, signal });
+
+export type MagicIpsecTunnelsDeleteIpsecTunnelPathParams = {
+  ipsecTunnelId: Schemas.MagicIdentifier;
+  accountId: Schemas.MagicIdentifier;
+};
+
+export type MagicIpsecTunnelsDeleteIpsecTunnelHeaders = {
+  /**
+   * If true, the health check target in the response body will be presented using the new object format. Defaults to false.
+   */
+  ['x-magic-new-hc-target']?: boolean;
+};
+
+export type MagicIpsecTunnelsDeleteIpsecTunnelError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicSchemasTunnelDeletedResponse & Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicIpsecTunnelsDeleteIpsecTunnelVariables = {
+  headers?: MagicIpsecTunnelsDeleteIpsecTunnelHeaders;
+  pathParams: MagicIpsecTunnelsDeleteIpsecTunnelPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Disables and removes a specific static IPsec Tunnel associated with an account. Use `?validate_only=true` as an optional query parameter to only run validation without persisting changes.
+ */
+export const magicIpsecTunnelsDeleteIpsecTunnel = (
+  variables: MagicIpsecTunnelsDeleteIpsecTunnelVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicSchemasTunnelDeletedResponse,
+    MagicIpsecTunnelsDeleteIpsecTunnelError,
+    undefined,
+    MagicIpsecTunnelsDeleteIpsecTunnelHeaders,
+    {},
+    MagicIpsecTunnelsDeleteIpsecTunnelPathParams
+  >({ url: '/accounts/{accountId}/magic/ipsec_tunnels/{ipsecTunnelId}', method: 'delete', ...variables, signal });
+
+export type MagicIpsecTunnelsListIpsecTunnelDetailsPathParams = {
+  ipsecTunnelId: Schemas.MagicIdentifier;
+  accountId: Schemas.MagicIdentifier;
+};
+
+export type MagicIpsecTunnelsListIpsecTunnelDetailsHeaders = {
+  /**
+   * If true, the health check target in the response body will be presented using the new object format. Defaults to false.
+   */
+  ['x-magic-new-hc-target']?: boolean;
+};
+
+export type MagicIpsecTunnelsListIpsecTunnelDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicSchemasTunnelSingleResponse & Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicIpsecTunnelsListIpsecTunnelDetailsVariables = {
+  headers?: MagicIpsecTunnelsListIpsecTunnelDetailsHeaders;
+  pathParams: MagicIpsecTunnelsListIpsecTunnelDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists details for a specific IPsec tunnel.
+ */
+export const magicIpsecTunnelsListIpsecTunnelDetails = (
+  variables: MagicIpsecTunnelsListIpsecTunnelDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicSchemasTunnelSingleResponse,
+    MagicIpsecTunnelsListIpsecTunnelDetailsError,
+    undefined,
+    MagicIpsecTunnelsListIpsecTunnelDetailsHeaders,
+    {},
+    MagicIpsecTunnelsListIpsecTunnelDetailsPathParams
+  >({ url: '/accounts/{accountId}/magic/ipsec_tunnels/{ipsecTunnelId}', method: 'get', ...variables, signal });
+
+export type MagicIpsecTunnelsUpdateIpsecTunnelPathParams = {
+  ipsecTunnelId: Schemas.MagicIdentifier;
+  accountId: Schemas.MagicIdentifier;
+};
+
+export type MagicIpsecTunnelsUpdateIpsecTunnelHeaders = {
+  /**
+   * If true, the health check target in the request and response bodies will be presented using the new object format. Defaults to false.
+   */
+  ['x-magic-new-hc-target']?: boolean;
+};
+
+export type MagicIpsecTunnelsUpdateIpsecTunnelError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicSchemasTunnelModifiedResponse & Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicIpsecTunnelsUpdateIpsecTunnelVariables = {
+  body: Schemas.MagicIpsecTunnelAddSingleRequest;
+  headers?: MagicIpsecTunnelsUpdateIpsecTunnelHeaders;
+  pathParams: MagicIpsecTunnelsUpdateIpsecTunnelPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a specific IPsec tunnel associated with an account. Use `?validate_only=true` as an optional query parameter to only run validation without persisting changes.
+ */
+export const magicIpsecTunnelsUpdateIpsecTunnel = (
+  variables: MagicIpsecTunnelsUpdateIpsecTunnelVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicSchemasTunnelModifiedResponse,
+    MagicIpsecTunnelsUpdateIpsecTunnelError,
+    Schemas.MagicIpsecTunnelAddSingleRequest,
+    MagicIpsecTunnelsUpdateIpsecTunnelHeaders,
+    {},
+    MagicIpsecTunnelsUpdateIpsecTunnelPathParams
+  >({ url: '/accounts/{accountId}/magic/ipsec_tunnels/{ipsecTunnelId}', method: 'put', ...variables, signal });
+
+export type MagicIpsecTunnelsGeneratePreSharedKeyPskForIpsecTunnelsPathParams = {
+  ipsecTunnelId: Schemas.MagicIdentifier;
+  accountId: Schemas.MagicIdentifier;
+};
+
+export type MagicIpsecTunnelsGeneratePreSharedKeyPskForIpsecTunnelsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicPskGenerationResponse & Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicIpsecTunnelsGeneratePreSharedKeyPskForIpsecTunnelsVariables = {
+  pathParams: MagicIpsecTunnelsGeneratePreSharedKeyPskForIpsecTunnelsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Generates a Pre Shared Key for a specific IPsec tunnel used in the IKE session. Use `?validate_only=true` as an optional query parameter to only run validation without persisting changes. After a PSK is generated, the PSK is immediately persisted to Cloudflare's edge and cannot be retrieved later. Note the PSK in a safe place.
+ */
+export const magicIpsecTunnelsGeneratePreSharedKeyPskForIpsecTunnels = (
+  variables: MagicIpsecTunnelsGeneratePreSharedKeyPskForIpsecTunnelsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicPskGenerationResponse,
+    MagicIpsecTunnelsGeneratePreSharedKeyPskForIpsecTunnelsError,
+    undefined,
+    {},
+    {},
+    MagicIpsecTunnelsGeneratePreSharedKeyPskForIpsecTunnelsPathParams
+  >({
+    url: '/accounts/{accountId}/magic/ipsec_tunnels/{ipsecTunnelId}/psk_generate',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type MagicStaticRoutesDeleteManyRoutesPathParams = {
+  accountId: Schemas.MagicIdentifier;
+};
+
+export type MagicStaticRoutesDeleteManyRoutesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicMultipleRouteDeleteResponse & Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicStaticRoutesDeleteManyRoutesVariables = {
+  body: Schemas.MagicRouteDeleteManyRequest;
+  pathParams: MagicStaticRoutesDeleteManyRoutesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete multiple Magic static routes.
+ */
+export const magicStaticRoutesDeleteManyRoutes = (
+  variables: MagicStaticRoutesDeleteManyRoutesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicMultipleRouteDeleteResponse,
+    MagicStaticRoutesDeleteManyRoutesError,
+    Schemas.MagicRouteDeleteManyRequest,
+    {},
+    {},
+    MagicStaticRoutesDeleteManyRoutesPathParams
+  >({ url: '/accounts/{accountId}/magic/routes', method: 'delete', ...variables, signal });
+
+export type MagicStaticRoutesListRoutesPathParams = {
+  accountId: Schemas.MagicIdentifier;
+};
+
+export type MagicStaticRoutesListRoutesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicRoutesCollectionResponse & Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicStaticRoutesListRoutesVariables = {
+  pathParams: MagicStaticRoutesListRoutesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * List all Magic static routes.
+ */
+export const magicStaticRoutesListRoutes = (variables: MagicStaticRoutesListRoutesVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.MagicRoutesCollectionResponse,
+    MagicStaticRoutesListRoutesError,
+    undefined,
+    {},
+    {},
+    MagicStaticRoutesListRoutesPathParams
+  >({ url: '/accounts/{accountId}/magic/routes', method: 'get', ...variables, signal });
+
+export type MagicStaticRoutesCreateRoutesPathParams = {
+  accountId: Schemas.MagicIdentifier;
+};
+
+export type MagicStaticRoutesCreateRoutesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicRoutesCollectionResponse & Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicStaticRoutesCreateRoutesVariables = {
+  body: void;
+  pathParams: MagicStaticRoutesCreateRoutesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new Magic static route. Use `?validate_only=true` as an optional query parameter to run validation only without persisting changes.
+ */
+export const magicStaticRoutesCreateRoutes = (
+  variables: MagicStaticRoutesCreateRoutesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicRoutesCollectionResponse,
+    MagicStaticRoutesCreateRoutesError,
+    void,
+    {},
+    {},
+    MagicStaticRoutesCreateRoutesPathParams
+  >({ url: '/accounts/{accountId}/magic/routes', method: 'post', ...variables, signal });
+
+export type MagicStaticRoutesUpdateManyRoutesPathParams = {
+  accountId: Schemas.MagicIdentifier;
+};
+
+export type MagicStaticRoutesUpdateManyRoutesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicMultipleRouteModifiedResponse & Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicStaticRoutesUpdateManyRoutesVariables = {
+  body: Schemas.MagicRouteUpdateManyRequest;
+  pathParams: MagicStaticRoutesUpdateManyRoutesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update multiple Magic static routes. Use `?validate_only=true` as an optional query parameter to run validation only without persisting changes. Only fields for a route that need to be changed need be provided.
+ */
+export const magicStaticRoutesUpdateManyRoutes = (
+  variables: MagicStaticRoutesUpdateManyRoutesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicMultipleRouteModifiedResponse,
+    MagicStaticRoutesUpdateManyRoutesError,
+    Schemas.MagicRouteUpdateManyRequest,
+    {},
+    {},
+    MagicStaticRoutesUpdateManyRoutesPathParams
+  >({ url: '/accounts/{accountId}/magic/routes', method: 'put', ...variables, signal });
+
+export type MagicStaticRoutesDeleteRoutePathParams = {
+  routeId: Schemas.MagicIdentifier;
+  accountId: Schemas.MagicIdentifier;
+};
+
+export type MagicStaticRoutesDeleteRouteError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicRouteDeletedResponse & Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicStaticRoutesDeleteRouteVariables = {
+  pathParams: MagicStaticRoutesDeleteRoutePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Disable and remove a specific Magic static route.
+ */
+export const magicStaticRoutesDeleteRoute = (variables: MagicStaticRoutesDeleteRouteVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.MagicRouteDeletedResponse,
+    MagicStaticRoutesDeleteRouteError,
+    undefined,
+    {},
+    {},
+    MagicStaticRoutesDeleteRoutePathParams
+  >({ url: '/accounts/{accountId}/magic/routes/{routeId}', method: 'delete', ...variables, signal });
+
+export type MagicStaticRoutesRouteDetailsPathParams = {
+  routeId: Schemas.MagicIdentifier;
+  accountId: Schemas.MagicIdentifier;
+};
+
+export type MagicStaticRoutesRouteDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicRouteSingleResponse & Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicStaticRoutesRouteDetailsVariables = {
+  pathParams: MagicStaticRoutesRouteDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a specific Magic static route.
+ */
+export const magicStaticRoutesRouteDetails = (
+  variables: MagicStaticRoutesRouteDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicRouteSingleResponse,
+    MagicStaticRoutesRouteDetailsError,
+    undefined,
+    {},
+    {},
+    MagicStaticRoutesRouteDetailsPathParams
+  >({ url: '/accounts/{accountId}/magic/routes/{routeId}', method: 'get', ...variables, signal });
+
+export type MagicStaticRoutesUpdateRoutePathParams = {
+  routeId: Schemas.MagicIdentifier;
+  accountId: Schemas.MagicIdentifier;
+};
+
+export type MagicStaticRoutesUpdateRouteError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicRouteModifiedResponse & Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicStaticRoutesUpdateRouteVariables = {
+  body?: Schemas.MagicRouteUpdateRequest;
+  pathParams: MagicStaticRoutesUpdateRoutePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update a specific Magic static route. Use `?validate_only=true` as an optional query parameter to run validation only without persisting changes.
+ */
+export const magicStaticRoutesUpdateRoute = (variables: MagicStaticRoutesUpdateRouteVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.MagicRouteModifiedResponse,
+    MagicStaticRoutesUpdateRouteError,
+    Schemas.MagicRouteUpdateRequest,
+    {},
+    {},
+    MagicStaticRoutesUpdateRoutePathParams
+  >({ url: '/accounts/{accountId}/magic/routes/{routeId}', method: 'put', ...variables, signal });
+
+export type MagicSitesListSitesPathParams = {
+  accountId: Schemas.MagicIdentifier;
+};
+
+export type MagicSitesListSitesQueryParams = {
+  connector_identifier?: Schemas.MagicIdentifier;
+};
+
+export type MagicSitesListSitesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicSitesListSitesVariables = {
+  pathParams: MagicSitesListSitesPathParams;
+  queryParams?: MagicSitesListSitesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists Sites associated with an account. Use connector_identifier query param to return sites where connector_identifier matches either site.ConnectorID or site.SecondaryConnectorID.
+ */
+export const magicSitesListSites = (variables: MagicSitesListSitesVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.MagicSitesCollectionResponse,
+    MagicSitesListSitesError,
+    undefined,
+    {},
+    MagicSitesListSitesQueryParams,
+    MagicSitesListSitesPathParams
+  >({ url: '/accounts/{accountId}/magic/sites', method: 'get', ...variables, signal });
+
+export type MagicSitesCreateSitePathParams = {
+  accountId: Schemas.MagicIdentifier;
+};
+
+export type MagicSitesCreateSiteError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicSitesCreateSiteVariables = {
+  body: Schemas.MagicSitesAddSingleRequest;
+  pathParams: MagicSitesCreateSitePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new Site
+ */
+export const magicSitesCreateSite = (variables: MagicSitesCreateSiteVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.MagicSiteSingleResponse,
+    MagicSitesCreateSiteError,
+    Schemas.MagicSitesAddSingleRequest,
+    {},
+    {},
+    MagicSitesCreateSitePathParams
+  >({ url: '/accounts/{accountId}/magic/sites', method: 'post', ...variables, signal });
+
+export type MagicSitesDeleteSitePathParams = {
+  siteId: Schemas.MagicIdentifier;
+  accountId: Schemas.MagicIdentifier;
+};
+
+export type MagicSitesDeleteSiteError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicSitesDeleteSiteVariables = {
+  pathParams: MagicSitesDeleteSitePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Remove a specific Site.
+ */
+export const magicSitesDeleteSite = (variables: MagicSitesDeleteSiteVariables, signal?: AbortSignal) =>
+  fetch<Schemas.MagicSiteDeletedResponse, MagicSitesDeleteSiteError, undefined, {}, {}, MagicSitesDeleteSitePathParams>(
+    { url: '/accounts/{accountId}/magic/sites/{siteId}', method: 'delete', ...variables, signal }
+  );
+
+export type MagicSitesSiteDetailsPathParams = {
+  siteId: Schemas.MagicIdentifier;
+  accountId: Schemas.MagicIdentifier;
+};
+
+export type MagicSitesSiteDetailsHeaders = {
+  /**
+   * If true, the health check target in the response body will be presented using the new object format. Defaults to false.
+   */
+  ['x-magic-new-hc-target']?: boolean;
+};
+
+export type MagicSitesSiteDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicSitesSiteDetailsVariables = {
+  headers?: MagicSitesSiteDetailsHeaders;
+  pathParams: MagicSitesSiteDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a specific Site.
+ */
+export const magicSitesSiteDetails = (variables: MagicSitesSiteDetailsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.MagicSiteSingleResponse,
+    MagicSitesSiteDetailsError,
+    undefined,
+    MagicSitesSiteDetailsHeaders,
+    {},
+    MagicSitesSiteDetailsPathParams
+  >({ url: '/accounts/{accountId}/magic/sites/{siteId}', method: 'get', ...variables, signal });
+
+export type MagicSitesPatchSitePathParams = {
+  siteId: Schemas.MagicIdentifier;
+  accountId: Schemas.MagicIdentifier;
+};
+
+export type MagicSitesPatchSiteError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicSitesPatchSiteVariables = {
+  body?: Schemas.MagicSiteUpdateRequest;
+  pathParams: MagicSitesPatchSitePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Patch a specific Site.
+ */
+export const magicSitesPatchSite = (variables: MagicSitesPatchSiteVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.MagicSiteModifiedResponse,
+    MagicSitesPatchSiteError,
+    Schemas.MagicSiteUpdateRequest,
+    {},
+    {},
+    MagicSitesPatchSitePathParams
+  >({ url: '/accounts/{accountId}/magic/sites/{siteId}', method: 'patch', ...variables, signal });
+
+export type MagicSitesUpdateSitePathParams = {
+  siteId: Schemas.MagicIdentifier;
+  accountId: Schemas.MagicIdentifier;
+};
+
+export type MagicSitesUpdateSiteError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicSitesUpdateSiteVariables = {
+  body?: Schemas.MagicSiteUpdateRequest;
+  pathParams: MagicSitesUpdateSitePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update a specific Site.
+ */
+export const magicSitesUpdateSite = (variables: MagicSitesUpdateSiteVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.MagicSiteModifiedResponse,
+    MagicSitesUpdateSiteError,
+    Schemas.MagicSiteUpdateRequest,
+    {},
+    {},
+    MagicSitesUpdateSitePathParams
+  >({ url: '/accounts/{accountId}/magic/sites/{siteId}', method: 'put', ...variables, signal });
+
+export type MagicSiteAclsListAclsPathParams = {
+  accountId: Schemas.MagicIdentifier;
+  siteId: Schemas.MagicIdentifier;
+};
+
+export type MagicSiteAclsListAclsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicSiteAclsListAclsVariables = {
+  pathParams: MagicSiteAclsListAclsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists Site ACLs associated with an account.
+ */
+export const magicSiteAclsListAcls = (variables: MagicSiteAclsListAclsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.MagicAclsCollectionResponse,
+    MagicSiteAclsListAclsError,
+    undefined,
+    {},
+    {},
+    MagicSiteAclsListAclsPathParams
+  >({ url: '/accounts/{accountId}/magic/sites/{siteId}/acls', method: 'get', ...variables, signal });
+
+export type MagicSiteAclsCreateAclPathParams = {
+  accountId: Schemas.MagicIdentifier;
+  siteId: Schemas.MagicIdentifier;
+};
+
+export type MagicSiteAclsCreateAclError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicSiteAclsCreateAclVariables = {
+  body: Schemas.MagicAclsAddSingleRequest;
+  pathParams: MagicSiteAclsCreateAclPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new Site ACL.
+ */
+export const magicSiteAclsCreateAcl = (variables: MagicSiteAclsCreateAclVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.MagicAclSingleResponse,
+    MagicSiteAclsCreateAclError,
+    Schemas.MagicAclsAddSingleRequest,
+    {},
+    {},
+    MagicSiteAclsCreateAclPathParams
+  >({ url: '/accounts/{accountId}/magic/sites/{siteId}/acls', method: 'post', ...variables, signal });
+
+export type MagicSiteAclsDeleteAclPathParams = {
+  siteId: Schemas.MagicIdentifier;
+  accountId: Schemas.MagicIdentifier;
+  aclId: Schemas.MagicIdentifier;
+};
+
+export type MagicSiteAclsDeleteAclError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicSiteAclsDeleteAclVariables = {
+  pathParams: MagicSiteAclsDeleteAclPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Remove a specific Site ACL.
+ */
+export const magicSiteAclsDeleteAcl = (variables: MagicSiteAclsDeleteAclVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.MagicAclDeletedResponse,
+    MagicSiteAclsDeleteAclError,
+    undefined,
+    {},
+    {},
+    MagicSiteAclsDeleteAclPathParams
+  >({ url: '/accounts/{accountId}/magic/sites/{siteId}/acls/{aclId}', method: 'delete', ...variables, signal });
+
+export type MagicSiteAclsAclDetailsPathParams = {
+  siteId: Schemas.MagicIdentifier;
+  accountId: Schemas.MagicIdentifier;
+  aclId: Schemas.MagicIdentifier;
+};
+
+export type MagicSiteAclsAclDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicSiteAclsAclDetailsVariables = {
+  pathParams: MagicSiteAclsAclDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a specific Site ACL.
+ */
+export const magicSiteAclsAclDetails = (variables: MagicSiteAclsAclDetailsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.MagicAclSingleResponse,
+    MagicSiteAclsAclDetailsError,
+    undefined,
+    {},
+    {},
+    MagicSiteAclsAclDetailsPathParams
+  >({ url: '/accounts/{accountId}/magic/sites/{siteId}/acls/{aclId}', method: 'get', ...variables, signal });
+
+export type MagicSiteAclsPatchAclPathParams = {
+  siteId: Schemas.MagicIdentifier;
+  accountId: Schemas.MagicIdentifier;
+  aclId: Schemas.MagicIdentifier;
+};
+
+export type MagicSiteAclsPatchAclError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicSiteAclsPatchAclVariables = {
+  body?: Schemas.MagicAclUpdateRequest;
+  pathParams: MagicSiteAclsPatchAclPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Patch a specific Site ACL.
+ */
+export const magicSiteAclsPatchAcl = (variables: MagicSiteAclsPatchAclVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.MagicAclModifiedResponse,
+    MagicSiteAclsPatchAclError,
+    Schemas.MagicAclUpdateRequest,
+    {},
+    {},
+    MagicSiteAclsPatchAclPathParams
+  >({ url: '/accounts/{accountId}/magic/sites/{siteId}/acls/{aclId}', method: 'patch', ...variables, signal });
+
+export type MagicSiteAclsUpdateAclPathParams = {
+  siteId: Schemas.MagicIdentifier;
+  accountId: Schemas.MagicIdentifier;
+  aclId: Schemas.MagicIdentifier;
+};
+
+export type MagicSiteAclsUpdateAclError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicSiteAclsUpdateAclVariables = {
+  body?: Schemas.MagicAclUpdateRequest;
+  pathParams: MagicSiteAclsUpdateAclPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update a specific Site ACL.
+ */
+export const magicSiteAclsUpdateAcl = (variables: MagicSiteAclsUpdateAclVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.MagicAclModifiedResponse,
+    MagicSiteAclsUpdateAclError,
+    Schemas.MagicAclUpdateRequest,
+    {},
+    {},
+    MagicSiteAclsUpdateAclPathParams
+  >({ url: '/accounts/{accountId}/magic/sites/{siteId}/acls/{aclId}', method: 'put', ...variables, signal });
+
+export type MagicSiteAppConfigsListAppConfigsPathParams = {
+  accountId: Schemas.MagicIdentifier;
+  siteId: Schemas.MagicIdentifier;
+};
+
+export type MagicSiteAppConfigsListAppConfigsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicSiteAppConfigsListAppConfigsVariables = {
+  pathParams: MagicSiteAppConfigsListAppConfigsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists App Configs associated with a site.
+ */
+export const magicSiteAppConfigsListAppConfigs = (
+  variables: MagicSiteAppConfigsListAppConfigsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicAppConfigsCollectionResponse,
+    MagicSiteAppConfigsListAppConfigsError,
+    undefined,
+    {},
+    {},
+    MagicSiteAppConfigsListAppConfigsPathParams
+  >({ url: '/accounts/{accountId}/magic/sites/{siteId}/app_configs', method: 'get', ...variables, signal });
+
+export type MagicSiteAppConfigsAddAppConfigPathParams = {
+  accountId: Schemas.MagicIdentifier;
+  siteId: Schemas.MagicIdentifier;
+};
+
+export type MagicSiteAppConfigsAddAppConfigError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicSiteAppConfigsAddAppConfigVariables = {
+  body?: Schemas.MagicAppConfigAddSingleRequest;
+  pathParams: MagicSiteAppConfigsAddAppConfigPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new App Config for a site
+ */
+export const magicSiteAppConfigsAddAppConfig = (
+  variables: MagicSiteAppConfigsAddAppConfigVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicAppConfigSingleResponse,
+    MagicSiteAppConfigsAddAppConfigError,
+    Schemas.MagicAppConfigAddSingleRequest,
+    {},
+    {},
+    MagicSiteAppConfigsAddAppConfigPathParams
+  >({ url: '/accounts/{accountId}/magic/sites/{siteId}/app_configs', method: 'post', ...variables, signal });
+
+export type MagicSiteAppConfigsDeleteAppConfigPathParams = {
+  accountId: Schemas.MagicIdentifier;
+  siteId: Schemas.MagicIdentifier;
+  appConfigId: Schemas.MagicIdentifier;
+};
+
+export type MagicSiteAppConfigsDeleteAppConfigError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicSiteAppConfigsDeleteAppConfigVariables = {
+  pathParams: MagicSiteAppConfigsDeleteAppConfigPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes specific App Config associated with a site.
+ */
+export const magicSiteAppConfigsDeleteAppConfig = (
+  variables: MagicSiteAppConfigsDeleteAppConfigVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicAppConfigSingleResponse,
+    MagicSiteAppConfigsDeleteAppConfigError,
+    undefined,
+    {},
+    {},
+    MagicSiteAppConfigsDeleteAppConfigPathParams
+  >({
+    url: '/accounts/{accountId}/magic/sites/{siteId}/app_configs/{appConfigId}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type MagicSiteAppConfigsUpdateAppConfigPathParams = {
+  accountId: Schemas.MagicIdentifier;
+  siteId: Schemas.MagicIdentifier;
+  appConfigId: Schemas.MagicIdentifier;
+};
+
+export type MagicSiteAppConfigsUpdateAppConfigError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicSiteAppConfigsUpdateAppConfigVariables = {
+  body?: Schemas.MagicAppConfigUpdateRequest;
+  pathParams: MagicSiteAppConfigsUpdateAppConfigPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates an App Config for a site
+ */
+export const magicSiteAppConfigsUpdateAppConfig = (
+  variables: MagicSiteAppConfigsUpdateAppConfigVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicAppConfigSingleResponse,
+    MagicSiteAppConfigsUpdateAppConfigError,
+    Schemas.MagicAppConfigUpdateRequest,
+    {},
+    {},
+    MagicSiteAppConfigsUpdateAppConfigPathParams
+  >({
+    url: '/accounts/{accountId}/magic/sites/{siteId}/app_configs/{appConfigId}',
+    method: 'put',
+    ...variables,
+    signal
+  });
+
+export type MagicSiteLansListLansPathParams = {
+  accountId: Schemas.MagicIdentifier;
+  siteId: Schemas.MagicIdentifier;
+};
+
+export type MagicSiteLansListLansError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicSiteLansListLansVariables = {
+  pathParams: MagicSiteLansListLansPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists Site LANs associated with an account.
+ */
+export const magicSiteLansListLans = (variables: MagicSiteLansListLansVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.MagicLansCollectionResponse,
+    MagicSiteLansListLansError,
+    undefined,
+    {},
+    {},
+    MagicSiteLansListLansPathParams
+  >({ url: '/accounts/{accountId}/magic/sites/{siteId}/lans', method: 'get', ...variables, signal });
+
+export type MagicSiteLansCreateLanPathParams = {
+  accountId: Schemas.MagicIdentifier;
+  siteId: Schemas.MagicIdentifier;
+};
+
+export type MagicSiteLansCreateLanError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicSiteLansCreateLanVariables = {
+  body: Schemas.MagicLansAddSingleRequest;
+  pathParams: MagicSiteLansCreateLanPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new Site LAN. If the site is in high availability mode, static_addressing is required along with secondary and virtual address.
+ */
+export const magicSiteLansCreateLan = (variables: MagicSiteLansCreateLanVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.MagicLansCollectionResponse,
+    MagicSiteLansCreateLanError,
+    Schemas.MagicLansAddSingleRequest,
+    {},
+    {},
+    MagicSiteLansCreateLanPathParams
+  >({ url: '/accounts/{accountId}/magic/sites/{siteId}/lans', method: 'post', ...variables, signal });
+
+export type MagicSiteLansDeleteLanPathParams = {
+  siteId: Schemas.MagicIdentifier;
+  accountId: Schemas.MagicIdentifier;
+  lanId: Schemas.MagicIdentifier;
+};
+
+export type MagicSiteLansDeleteLanError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicSiteLansDeleteLanVariables = {
+  pathParams: MagicSiteLansDeleteLanPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Remove a specific Site LAN.
+ */
+export const magicSiteLansDeleteLan = (variables: MagicSiteLansDeleteLanVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.MagicLanDeletedResponse,
+    MagicSiteLansDeleteLanError,
+    undefined,
+    {},
+    {},
+    MagicSiteLansDeleteLanPathParams
+  >({ url: '/accounts/{accountId}/magic/sites/{siteId}/lans/{lanId}', method: 'delete', ...variables, signal });
+
+export type MagicSiteLansLanDetailsPathParams = {
+  siteId: Schemas.MagicIdentifier;
+  accountId: Schemas.MagicIdentifier;
+  lanId: Schemas.MagicIdentifier;
+};
+
+export type MagicSiteLansLanDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicSiteLansLanDetailsVariables = {
+  pathParams: MagicSiteLansLanDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a specific Site LAN.
+ */
+export const magicSiteLansLanDetails = (variables: MagicSiteLansLanDetailsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.MagicLanSingleResponse,
+    MagicSiteLansLanDetailsError,
+    undefined,
+    {},
+    {},
+    MagicSiteLansLanDetailsPathParams
+  >({ url: '/accounts/{accountId}/magic/sites/{siteId}/lans/{lanId}', method: 'get', ...variables, signal });
+
+export type MagicSiteLansPatchLanPathParams = {
+  siteId: Schemas.MagicIdentifier;
+  accountId: Schemas.MagicIdentifier;
+  lanId: Schemas.MagicIdentifier;
+};
+
+export type MagicSiteLansPatchLanError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicSiteLansPatchLanVariables = {
+  body?: Schemas.MagicLanUpdateRequest;
+  pathParams: MagicSiteLansPatchLanPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Patch a specific Site LAN.
+ */
+export const magicSiteLansPatchLan = (variables: MagicSiteLansPatchLanVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.MagicLanModifiedResponse,
+    MagicSiteLansPatchLanError,
+    Schemas.MagicLanUpdateRequest,
+    {},
+    {},
+    MagicSiteLansPatchLanPathParams
+  >({ url: '/accounts/{accountId}/magic/sites/{siteId}/lans/{lanId}', method: 'patch', ...variables, signal });
+
+export type MagicSiteLansUpdateLanPathParams = {
+  siteId: Schemas.MagicIdentifier;
+  accountId: Schemas.MagicIdentifier;
+  lanId: Schemas.MagicIdentifier;
+};
+
+export type MagicSiteLansUpdateLanError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicSiteLansUpdateLanVariables = {
+  body?: Schemas.MagicLanUpdateRequest;
+  pathParams: MagicSiteLansUpdateLanPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update a specific Site LAN.
+ */
+export const magicSiteLansUpdateLan = (variables: MagicSiteLansUpdateLanVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.MagicLanModifiedResponse,
+    MagicSiteLansUpdateLanError,
+    Schemas.MagicLanUpdateRequest,
+    {},
+    {},
+    MagicSiteLansUpdateLanPathParams
+  >({ url: '/accounts/{accountId}/magic/sites/{siteId}/lans/{lanId}', method: 'put', ...variables, signal });
+
+export type MagicSiteWansListWansPathParams = {
+  accountId: Schemas.MagicIdentifier;
+  siteId: Schemas.MagicIdentifier;
+};
+
+export type MagicSiteWansListWansError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicSiteWansListWansVariables = {
+  pathParams: MagicSiteWansListWansPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists Site WANs associated with an account.
+ */
+export const magicSiteWansListWans = (variables: MagicSiteWansListWansVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.MagicWansCollectionResponse,
+    MagicSiteWansListWansError,
+    undefined,
+    {},
+    {},
+    MagicSiteWansListWansPathParams
+  >({ url: '/accounts/{accountId}/magic/sites/{siteId}/wans', method: 'get', ...variables, signal });
+
+export type MagicSiteWansCreateWanPathParams = {
+  accountId: Schemas.MagicIdentifier;
+  siteId: Schemas.MagicIdentifier;
+};
+
+export type MagicSiteWansCreateWanError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicSiteWansCreateWanVariables = {
+  body: Schemas.MagicWansAddSingleRequest;
+  pathParams: MagicSiteWansCreateWanPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new Site WAN.
+ */
+export const magicSiteWansCreateWan = (variables: MagicSiteWansCreateWanVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.MagicWansCollectionResponse,
+    MagicSiteWansCreateWanError,
+    Schemas.MagicWansAddSingleRequest,
+    {},
+    {},
+    MagicSiteWansCreateWanPathParams
+  >({ url: '/accounts/{accountId}/magic/sites/{siteId}/wans', method: 'post', ...variables, signal });
+
+export type MagicSiteWansDeleteWanPathParams = {
+  siteId: Schemas.MagicIdentifier;
+  accountId: Schemas.MagicIdentifier;
+  wanId: Schemas.MagicIdentifier;
+};
+
+export type MagicSiteWansDeleteWanError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicSiteWansDeleteWanVariables = {
+  pathParams: MagicSiteWansDeleteWanPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Remove a specific Site WAN.
+ */
+export const magicSiteWansDeleteWan = (variables: MagicSiteWansDeleteWanVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.MagicWanDeletedResponse,
+    MagicSiteWansDeleteWanError,
+    undefined,
+    {},
+    {},
+    MagicSiteWansDeleteWanPathParams
+  >({ url: '/accounts/{accountId}/magic/sites/{siteId}/wans/{wanId}', method: 'delete', ...variables, signal });
+
+export type MagicSiteWansWanDetailsPathParams = {
+  siteId: Schemas.MagicIdentifier;
+  accountId: Schemas.MagicIdentifier;
+  wanId: Schemas.MagicIdentifier;
+};
+
+export type MagicSiteWansWanDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicSiteWansWanDetailsVariables = {
+  pathParams: MagicSiteWansWanDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a specific Site WAN.
+ */
+export const magicSiteWansWanDetails = (variables: MagicSiteWansWanDetailsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.MagicWanSingleResponse,
+    MagicSiteWansWanDetailsError,
+    undefined,
+    {},
+    {},
+    MagicSiteWansWanDetailsPathParams
+  >({ url: '/accounts/{accountId}/magic/sites/{siteId}/wans/{wanId}', method: 'get', ...variables, signal });
+
+export type MagicSiteWansPatchWanPathParams = {
+  siteId: Schemas.MagicIdentifier;
+  accountId: Schemas.MagicIdentifier;
+  wanId: Schemas.MagicIdentifier;
+};
+
+export type MagicSiteWansPatchWanError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicSiteWansPatchWanVariables = {
+  body?: Schemas.MagicWanUpdateRequest;
+  pathParams: MagicSiteWansPatchWanPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Patch a specific Site WAN.
+ */
+export const magicSiteWansPatchWan = (variables: MagicSiteWansPatchWanVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.MagicWanModifiedResponse,
+    MagicSiteWansPatchWanError,
+    Schemas.MagicWanUpdateRequest,
+    {},
+    {},
+    MagicSiteWansPatchWanPathParams
+  >({ url: '/accounts/{accountId}/magic/sites/{siteId}/wans/{wanId}', method: 'patch', ...variables, signal });
+
+export type MagicSiteWansUpdateWanPathParams = {
+  siteId: Schemas.MagicIdentifier;
+  accountId: Schemas.MagicIdentifier;
+  wanId: Schemas.MagicIdentifier;
+};
+
+export type MagicSiteWansUpdateWanError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicApiResponseCommonFailure;
+}>;
+
+export type MagicSiteWansUpdateWanVariables = {
+  body?: Schemas.MagicWanUpdateRequest;
+  pathParams: MagicSiteWansUpdateWanPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update a specific Site WAN.
+ */
+export const magicSiteWansUpdateWan = (variables: MagicSiteWansUpdateWanVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.MagicWanModifiedResponse,
+    MagicSiteWansUpdateWanError,
+    Schemas.MagicWanUpdateRequest,
+    {},
+    {},
+    MagicSiteWansUpdateWanPathParams
+  >({ url: '/accounts/{accountId}/magic/sites/{siteId}/wans/{wanId}', method: 'put', ...variables, signal });
+
+export type AccountMembersListMembersPathParams = {
+  accountId: Schemas.IamAccountIdentifier;
+};
+
+export type AccountMembersListMembersQueryParams = {
+  /**
+   * @example status
+   */
+  order?: 'user.first_name' | 'user.last_name' | 'user.email' | 'status';
+  /**
+   * @example accepted
+   */
+  status?: 'accepted' | 'pending' | 'rejected';
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default 20
+   * @maximum 50
+   * @minimum 5
+   */
+  per_page?: number;
+  /**
+   * @example desc
+   */
+  direction?: 'asc' | 'desc';
+};
+
+export type AccountMembersListMembersError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type AccountMembersListMembersVariables = {
+  pathParams: AccountMembersListMembersPathParams;
+  queryParams?: AccountMembersListMembersQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * List all members of an account.
+ */
+export const accountMembersListMembers = (variables: AccountMembersListMembersVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.IamCollectionMemberResponseWithPolicies,
+    AccountMembersListMembersError,
+    undefined,
+    {},
+    AccountMembersListMembersQueryParams,
+    AccountMembersListMembersPathParams
+  >({ url: '/accounts/{accountId}/members', method: 'get', ...variables, signal });
+
+export type AccountMembersAddMemberPathParams = {
+  accountId: Schemas.IamAccountIdentifier;
+};
+
+export type AccountMembersAddMemberError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type AccountMembersAddMemberVariables = {
+  body?: Schemas.IamCreateMemberWithRoles | Schemas.IamCreateMemberWithPolicies;
+  pathParams: AccountMembersAddMemberPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Add a user to the list of members for this account.
+ */
+export const accountMembersAddMember = (variables: AccountMembersAddMemberVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.IamSingleMemberResponseWithPolicies,
+    AccountMembersAddMemberError,
+    Schemas.IamCreateMemberWithRoles | Schemas.IamCreateMemberWithPolicies,
+    {},
+    {},
+    AccountMembersAddMemberPathParams
+  >({ url: '/accounts/{accountId}/members', method: 'post', ...variables, signal });
+
+export type AccountMembersRemoveMemberPathParams = {
+  memberId: Schemas.IamMembershipComponentsSchemasIdentifier;
+  accountId: Schemas.IamAccountIdentifier;
+};
+
+export type AccountMembersRemoveMemberError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type AccountMembersRemoveMemberVariables = {
+  pathParams: AccountMembersRemoveMemberPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Remove a member from an account.
+ */
+export const accountMembersRemoveMember = (variables: AccountMembersRemoveMemberVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.IamApiResponseSingleId,
+    AccountMembersRemoveMemberError,
+    undefined,
+    {},
+    {},
+    AccountMembersRemoveMemberPathParams
+  >({ url: '/accounts/{accountId}/members/{memberId}', method: 'delete', ...variables, signal });
+
+export type AccountMembersMemberDetailsPathParams = {
+  memberId: Schemas.IamMembershipComponentsSchemasIdentifier;
+  accountId: Schemas.IamAccountIdentifier;
+};
+
+export type AccountMembersMemberDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type AccountMembersMemberDetailsVariables = {
+  pathParams: AccountMembersMemberDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get information about a specific member of an account.
+ */
+export const accountMembersMemberDetails = (variables: AccountMembersMemberDetailsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.IamSingleMemberResponseWithPolicies,
+    AccountMembersMemberDetailsError,
+    undefined,
+    {},
+    {},
+    AccountMembersMemberDetailsPathParams
+  >({ url: '/accounts/{accountId}/members/{memberId}', method: 'get', ...variables, signal });
+
+export type AccountMembersUpdateMemberPathParams = {
+  memberId: Schemas.IamMembershipComponentsSchemasIdentifier;
+  accountId: Schemas.IamAccountIdentifier;
+};
+
+export type AccountMembersUpdateMemberError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type AccountMembersUpdateMemberVariables = {
+  body?: Schemas.IamUpdateMemberWithRoles | Schemas.IamUpdateMemberWithPolicies;
+  pathParams: AccountMembersUpdateMemberPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Modify an account member.
+ */
+export const accountMembersUpdateMember = (variables: AccountMembersUpdateMemberVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.IamSingleMemberResponseWithPolicies,
+    AccountMembersUpdateMemberError,
+    Schemas.IamUpdateMemberWithRoles | Schemas.IamUpdateMemberWithPolicies,
+    {},
+    {},
+    AccountMembersUpdateMemberPathParams
+  >({ url: '/accounts/{accountId}/members/{memberId}', method: 'put', ...variables, signal });
+
+export type MagicNetworkMonitoringConfigurationDeleteAccountConfigurationPathParams = {
+  accountId: Schemas.MagicVisibilityMnmAccountIdentifier;
+};
+
+export type MagicNetworkMonitoringConfigurationDeleteAccountConfigurationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicVisibilityMnmMnmConfigSingleResponse & Schemas.MagicVisibilityMnmApiResponseCommonFailure;
+}>;
+
+export type MagicNetworkMonitoringConfigurationDeleteAccountConfigurationVariables = {
+  pathParams: MagicNetworkMonitoringConfigurationDeleteAccountConfigurationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete an existing network monitoring configuration.
+ */
+export const magicNetworkMonitoringConfigurationDeleteAccountConfiguration = (
+  variables: MagicNetworkMonitoringConfigurationDeleteAccountConfigurationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicVisibilityMnmMnmConfigSingleResponse,
+    MagicNetworkMonitoringConfigurationDeleteAccountConfigurationError,
+    undefined,
+    {},
+    {},
+    MagicNetworkMonitoringConfigurationDeleteAccountConfigurationPathParams
+  >({ url: '/accounts/{accountId}/mnm/config', method: 'delete', ...variables, signal });
+
+export type MagicNetworkMonitoringConfigurationListAccountConfigurationPathParams = {
+  accountId: Schemas.MagicVisibilityMnmAccountIdentifier;
+};
+
+export type MagicNetworkMonitoringConfigurationListAccountConfigurationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicVisibilityMnmMnmConfigSingleResponse & Schemas.MagicVisibilityMnmApiResponseCommonFailure;
+}>;
+
+export type MagicNetworkMonitoringConfigurationListAccountConfigurationVariables = {
+  pathParams: MagicNetworkMonitoringConfigurationListAccountConfigurationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists default sampling, router IPs and warp devices for account.
+ */
+export const magicNetworkMonitoringConfigurationListAccountConfiguration = (
+  variables: MagicNetworkMonitoringConfigurationListAccountConfigurationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicVisibilityMnmMnmConfigSingleResponse,
+    MagicNetworkMonitoringConfigurationListAccountConfigurationError,
+    undefined,
+    {},
+    {},
+    MagicNetworkMonitoringConfigurationListAccountConfigurationPathParams
+  >({ url: '/accounts/{accountId}/mnm/config', method: 'get', ...variables, signal });
+
+export type MagicNetworkMonitoringConfigurationUpdateAccountConfigurationFieldsPathParams = {
+  accountId: Schemas.MagicVisibilityMnmAccountIdentifier;
+};
+
+export type MagicNetworkMonitoringConfigurationUpdateAccountConfigurationFieldsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicVisibilityMnmMnmConfigSingleResponse & Schemas.MagicVisibilityMnmApiResponseCommonFailure;
+}>;
+
+export type MagicNetworkMonitoringConfigurationUpdateAccountConfigurationFieldsRequestBody = {
+  default_sampling?: Schemas.MagicVisibilityMnmMnmConfigDefaultSampling;
+  name?: Schemas.MagicVisibilityMnmMnmConfigName;
+  router_ips?: Schemas.MagicVisibilityMnmMnmConfigRouterIps;
+  warp_devices?: Schemas.MagicVisibilityMnmMnmConfigWarpDevices;
+};
+
+export type MagicNetworkMonitoringConfigurationUpdateAccountConfigurationFieldsVariables = {
+  body?: MagicNetworkMonitoringConfigurationUpdateAccountConfigurationFieldsRequestBody;
+  pathParams: MagicNetworkMonitoringConfigurationUpdateAccountConfigurationFieldsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update fields in an existing network monitoring configuration.
+ */
+export const magicNetworkMonitoringConfigurationUpdateAccountConfigurationFields = (
+  variables: MagicNetworkMonitoringConfigurationUpdateAccountConfigurationFieldsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicVisibilityMnmMnmConfigSingleResponse,
+    MagicNetworkMonitoringConfigurationUpdateAccountConfigurationFieldsError,
+    MagicNetworkMonitoringConfigurationUpdateAccountConfigurationFieldsRequestBody,
+    {},
+    {},
+    MagicNetworkMonitoringConfigurationUpdateAccountConfigurationFieldsPathParams
+  >({ url: '/accounts/{accountId}/mnm/config', method: 'patch', ...variables, signal });
+
+export type MagicNetworkMonitoringConfigurationCreateAccountConfigurationPathParams = {
+  accountId: Schemas.MagicVisibilityMnmAccountIdentifier;
+};
+
+export type MagicNetworkMonitoringConfigurationCreateAccountConfigurationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicVisibilityMnmMnmConfigSingleResponse & Schemas.MagicVisibilityMnmApiResponseCommonFailure;
+}>;
+
+export type MagicNetworkMonitoringConfigurationCreateAccountConfigurationRequestBody = {
+  default_sampling: Schemas.MagicVisibilityMnmMnmConfigDefaultSampling;
+  name: Schemas.MagicVisibilityMnmMnmConfigName;
+  router_ips?: Schemas.MagicVisibilityMnmMnmConfigRouterIps;
+  warp_devices?: Schemas.MagicVisibilityMnmMnmConfigWarpDevices;
+};
+
+export type MagicNetworkMonitoringConfigurationCreateAccountConfigurationVariables = {
+  body: MagicNetworkMonitoringConfigurationCreateAccountConfigurationRequestBody;
+  pathParams: MagicNetworkMonitoringConfigurationCreateAccountConfigurationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create a new network monitoring configuration.
+ */
+export const magicNetworkMonitoringConfigurationCreateAccountConfiguration = (
+  variables: MagicNetworkMonitoringConfigurationCreateAccountConfigurationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicVisibilityMnmMnmConfigSingleResponse,
+    MagicNetworkMonitoringConfigurationCreateAccountConfigurationError,
+    MagicNetworkMonitoringConfigurationCreateAccountConfigurationRequestBody,
+    {},
+    {},
+    MagicNetworkMonitoringConfigurationCreateAccountConfigurationPathParams
+  >({ url: '/accounts/{accountId}/mnm/config', method: 'post', ...variables, signal });
+
+export type MagicNetworkMonitoringConfigurationUpdateAnEntireAccountConfigurationPathParams = {
+  accountId: Schemas.MagicVisibilityMnmAccountIdentifier;
+};
+
+export type MagicNetworkMonitoringConfigurationUpdateAnEntireAccountConfigurationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicVisibilityMnmMnmConfigSingleResponse & Schemas.MagicVisibilityMnmApiResponseCommonFailure;
+}>;
+
+export type MagicNetworkMonitoringConfigurationUpdateAnEntireAccountConfigurationRequestBody = {
+  default_sampling: Schemas.MagicVisibilityMnmMnmConfigDefaultSampling;
+  name: Schemas.MagicVisibilityMnmMnmConfigName;
+  router_ips?: Schemas.MagicVisibilityMnmMnmConfigRouterIps;
+  warp_devices?: Schemas.MagicVisibilityMnmMnmConfigWarpDevices;
+};
+
+export type MagicNetworkMonitoringConfigurationUpdateAnEntireAccountConfigurationVariables = {
+  body: MagicNetworkMonitoringConfigurationUpdateAnEntireAccountConfigurationRequestBody;
+  pathParams: MagicNetworkMonitoringConfigurationUpdateAnEntireAccountConfigurationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update an existing network monitoring configuration, requires the entire configuration to be updated at once.
+ */
+export const magicNetworkMonitoringConfigurationUpdateAnEntireAccountConfiguration = (
+  variables: MagicNetworkMonitoringConfigurationUpdateAnEntireAccountConfigurationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicVisibilityMnmMnmConfigSingleResponse,
+    MagicNetworkMonitoringConfigurationUpdateAnEntireAccountConfigurationError,
+    MagicNetworkMonitoringConfigurationUpdateAnEntireAccountConfigurationRequestBody,
+    {},
+    {},
+    MagicNetworkMonitoringConfigurationUpdateAnEntireAccountConfigurationPathParams
+  >({ url: '/accounts/{accountId}/mnm/config', method: 'put', ...variables, signal });
+
+export type MagicNetworkMonitoringConfigurationListRulesAndAccountConfigurationPathParams = {
+  accountId: Schemas.MagicVisibilityMnmAccountIdentifier;
+};
+
+export type MagicNetworkMonitoringConfigurationListRulesAndAccountConfigurationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicVisibilityMnmMnmConfigSingleResponse & Schemas.MagicVisibilityMnmApiResponseCommonFailure;
+}>;
+
+export type MagicNetworkMonitoringConfigurationListRulesAndAccountConfigurationVariables = {
+  pathParams: MagicNetworkMonitoringConfigurationListRulesAndAccountConfigurationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists default sampling, router IPs, warp devices, and rules for account.
+ */
+export const magicNetworkMonitoringConfigurationListRulesAndAccountConfiguration = (
+  variables: MagicNetworkMonitoringConfigurationListRulesAndAccountConfigurationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicVisibilityMnmMnmConfigSingleResponse,
+    MagicNetworkMonitoringConfigurationListRulesAndAccountConfigurationError,
+    undefined,
+    {},
+    {},
+    MagicNetworkMonitoringConfigurationListRulesAndAccountConfigurationPathParams
+  >({ url: '/accounts/{accountId}/mnm/config/full', method: 'get', ...variables, signal });
+
+export type MagicNetworkMonitoringRulesListRulesPathParams = {
+  accountId: Schemas.MagicVisibilityMnmAccountIdentifier;
+};
+
+export type MagicNetworkMonitoringRulesListRulesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicVisibilityMnmMnmRulesCollectionResponse & Schemas.MagicVisibilityMnmApiResponseCommonFailure;
+}>;
+
+export type MagicNetworkMonitoringRulesListRulesVariables = {
+  pathParams: MagicNetworkMonitoringRulesListRulesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists network monitoring rules for account.
+ */
+export const magicNetworkMonitoringRulesListRules = (
+  variables: MagicNetworkMonitoringRulesListRulesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicVisibilityMnmMnmRulesCollectionResponse,
+    MagicNetworkMonitoringRulesListRulesError,
+    undefined,
+    {},
+    {},
+    MagicNetworkMonitoringRulesListRulesPathParams
+  >({ url: '/accounts/{accountId}/mnm/rules', method: 'get', ...variables, signal });
+
+export type MagicNetworkMonitoringRulesCreateRulesPathParams = {
+  accountId: Schemas.MagicVisibilityMnmAccountIdentifier;
+};
+
+export type MagicNetworkMonitoringRulesCreateRulesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicVisibilityMnmMnmRulesSingleResponse & Schemas.MagicVisibilityMnmApiResponseCommonFailure;
+}>;
+
+export type MagicNetworkMonitoringRulesCreateRulesRequestBody = {
+  automatic_advertisement?: Schemas.MagicVisibilityMnmMnmRuleAutomaticAdvertisement;
+  bandwidth?: Schemas.MagicVisibilityMnmMnmRuleBandwidthThreshold;
+  duration: Schemas.MagicVisibilityMnmMnmRuleDuration;
+  name: Schemas.MagicVisibilityMnmMnmRuleName;
+  packet_threshold?: Schemas.MagicVisibilityMnmMnmRulePacketThreshold;
+  prefixes?: Schemas.MagicVisibilityMnmMnmRuleIpPrefixes;
+};
+
+export type MagicNetworkMonitoringRulesCreateRulesVariables = {
+  body: MagicNetworkMonitoringRulesCreateRulesRequestBody;
+  pathParams: MagicNetworkMonitoringRulesCreateRulesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create network monitoring rules for account. Currently only supports creating a single rule per API request.
+ */
+export const magicNetworkMonitoringRulesCreateRules = (
+  variables: MagicNetworkMonitoringRulesCreateRulesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicVisibilityMnmMnmRulesSingleResponse,
+    MagicNetworkMonitoringRulesCreateRulesError,
+    MagicNetworkMonitoringRulesCreateRulesRequestBody,
+    {},
+    {},
+    MagicNetworkMonitoringRulesCreateRulesPathParams
+  >({ url: '/accounts/{accountId}/mnm/rules', method: 'post', ...variables, signal });
+
+export type MagicNetworkMonitoringRulesUpdateRulesPathParams = {
+  accountId: Schemas.MagicVisibilityMnmAccountIdentifier;
+};
+
+export type MagicNetworkMonitoringRulesUpdateRulesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicVisibilityMnmMnmRulesSingleResponse & Schemas.MagicVisibilityMnmApiResponseCommonFailure;
+}>;
+
+export type MagicNetworkMonitoringRulesUpdateRulesRequestBody = {
+  automatic_advertisement?: Schemas.MagicVisibilityMnmMnmRuleAutomaticAdvertisement;
+  bandwidth?: Schemas.MagicVisibilityMnmMnmRuleBandwidthThreshold;
+  duration: Schemas.MagicVisibilityMnmMnmRuleDuration;
+  id?: Schemas.MagicVisibilityMnmRuleIdentifier;
+  name: Schemas.MagicVisibilityMnmMnmRuleName;
+  packet_threshold?: Schemas.MagicVisibilityMnmMnmRulePacketThreshold;
+  prefixes?: Schemas.MagicVisibilityMnmMnmRuleIpPrefixes;
+};
+
+export type MagicNetworkMonitoringRulesUpdateRulesVariables = {
+  body: MagicNetworkMonitoringRulesUpdateRulesRequestBody;
+  pathParams: MagicNetworkMonitoringRulesUpdateRulesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update network monitoring rules for account.
+ */
+export const magicNetworkMonitoringRulesUpdateRules = (
+  variables: MagicNetworkMonitoringRulesUpdateRulesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicVisibilityMnmMnmRulesSingleResponse,
+    MagicNetworkMonitoringRulesUpdateRulesError,
+    MagicNetworkMonitoringRulesUpdateRulesRequestBody,
+    {},
+    {},
+    MagicNetworkMonitoringRulesUpdateRulesPathParams
+  >({ url: '/accounts/{accountId}/mnm/rules', method: 'put', ...variables, signal });
+
+export type MagicNetworkMonitoringRulesDeleteRulePathParams = {
+  ruleId: Schemas.MagicVisibilityMnmRuleIdentifier;
+  accountId: Schemas.MagicVisibilityMnmAccountIdentifier;
+};
+
+export type MagicNetworkMonitoringRulesDeleteRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicVisibilityMnmMnmRulesSingleResponse & Schemas.MagicVisibilityMnmApiResponseCommonFailure;
+}>;
+
+export type MagicNetworkMonitoringRulesDeleteRuleVariables = {
+  pathParams: MagicNetworkMonitoringRulesDeleteRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete a network monitoring rule for account.
+ */
+export const magicNetworkMonitoringRulesDeleteRule = (
+  variables: MagicNetworkMonitoringRulesDeleteRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicVisibilityMnmMnmRulesSingleResponse,
+    MagicNetworkMonitoringRulesDeleteRuleError,
+    undefined,
+    {},
+    {},
+    MagicNetworkMonitoringRulesDeleteRulePathParams
+  >({ url: '/accounts/{accountId}/mnm/rules/{ruleId}', method: 'delete', ...variables, signal });
+
+export type MagicNetworkMonitoringRulesGetRulePathParams = {
+  ruleId: Schemas.MagicVisibilityMnmRuleIdentifier;
+  accountId: Schemas.MagicVisibilityMnmAccountIdentifier;
+};
+
+export type MagicNetworkMonitoringRulesGetRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicVisibilityMnmMnmRulesSingleResponse & Schemas.MagicVisibilityMnmApiResponseCommonFailure;
+}>;
+
+export type MagicNetworkMonitoringRulesGetRuleVariables = {
+  pathParams: MagicNetworkMonitoringRulesGetRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * List a single network monitoring rule for account.
+ */
+export const magicNetworkMonitoringRulesGetRule = (
+  variables: MagicNetworkMonitoringRulesGetRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicVisibilityMnmMnmRulesSingleResponse,
+    MagicNetworkMonitoringRulesGetRuleError,
+    undefined,
+    {},
+    {},
+    MagicNetworkMonitoringRulesGetRulePathParams
+  >({ url: '/accounts/{accountId}/mnm/rules/{ruleId}', method: 'get', ...variables, signal });
+
+export type MagicNetworkMonitoringRulesUpdateRulePathParams = {
+  ruleId: Schemas.MagicVisibilityMnmRuleIdentifier;
+  accountId: Schemas.MagicVisibilityMnmAccountIdentifier;
+};
+
+export type MagicNetworkMonitoringRulesUpdateRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicVisibilityMnmMnmRulesSingleResponse & Schemas.MagicVisibilityMnmApiResponseCommonFailure;
+}>;
+
+export type MagicNetworkMonitoringRulesUpdateRuleRequestBody = {
+  automatic_advertisement?: Schemas.MagicVisibilityMnmMnmRuleAutomaticAdvertisement;
+  bandwidth?: Schemas.MagicVisibilityMnmMnmRuleBandwidthThreshold;
+  duration?: Schemas.MagicVisibilityMnmMnmRuleDuration;
+  name?: Schemas.MagicVisibilityMnmMnmRuleName;
+  packet_threshold?: Schemas.MagicVisibilityMnmMnmRulePacketThreshold;
+  prefixes?: Schemas.MagicVisibilityMnmMnmRuleIpPrefixes;
+};
+
+export type MagicNetworkMonitoringRulesUpdateRuleVariables = {
+  body?: MagicNetworkMonitoringRulesUpdateRuleRequestBody;
+  pathParams: MagicNetworkMonitoringRulesUpdateRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update a network monitoring rule for account.
+ */
+export const magicNetworkMonitoringRulesUpdateRule = (
+  variables: MagicNetworkMonitoringRulesUpdateRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicVisibilityMnmMnmRulesSingleResponse,
+    MagicNetworkMonitoringRulesUpdateRuleError,
+    MagicNetworkMonitoringRulesUpdateRuleRequestBody,
+    {},
+    {},
+    MagicNetworkMonitoringRulesUpdateRulePathParams
+  >({ url: '/accounts/{accountId}/mnm/rules/{ruleId}', method: 'patch', ...variables, signal });
+
+export type MagicNetworkMonitoringRulesUpdateAdvertisementForRulePathParams = {
+  ruleId: Schemas.MagicVisibilityMnmRuleIdentifier;
+  accountId: Schemas.MagicVisibilityMnmAccountIdentifier;
+};
+
+export type MagicNetworkMonitoringRulesUpdateAdvertisementForRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MagicVisibilityMnmMnmRuleAdvertisementSingleResponse &
+    Schemas.MagicVisibilityMnmApiResponseCommonFailure;
+}>;
+
+export type MagicNetworkMonitoringRulesUpdateAdvertisementForRuleVariables = {
+  pathParams: MagicNetworkMonitoringRulesUpdateAdvertisementForRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update advertisement for rule.
+ */
+export const magicNetworkMonitoringRulesUpdateAdvertisementForRule = (
+  variables: MagicNetworkMonitoringRulesUpdateAdvertisementForRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicVisibilityMnmMnmRuleAdvertisementSingleResponse,
+    MagicNetworkMonitoringRulesUpdateAdvertisementForRuleError,
+    undefined,
+    {},
+    {},
+    MagicNetworkMonitoringRulesUpdateAdvertisementForRulePathParams
+  >({ url: '/accounts/{accountId}/mnm/rules/{ruleId}/advertisement', method: 'patch', ...variables, signal });
+
+export type MTlsCertificateManagementListMTlsCertificatesPathParams = {
+  accountId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type MTlsCertificateManagementListMTlsCertificatesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesMtlsManagementComponentsSchemasCertificateResponseCollection &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type MTlsCertificateManagementListMTlsCertificatesVariables = {
+  pathParams: MTlsCertificateManagementListMTlsCertificatesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists all mTLS certificates.
+ */
+export const mTlsCertificateManagementListMTlsCertificates = (
+  variables: MTlsCertificateManagementListMTlsCertificatesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesMtlsManagementComponentsSchemasCertificateResponseCollection,
+    MTlsCertificateManagementListMTlsCertificatesError,
+    undefined,
+    {},
+    {},
+    MTlsCertificateManagementListMTlsCertificatesPathParams
+  >({ url: '/accounts/{accountId}/mtls_certificates', method: 'get', ...variables, signal });
+
+export type MTlsCertificateManagementUploadMTlsCertificatePathParams = {
+  accountId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type MTlsCertificateManagementUploadMTlsCertificateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesCertificateResponseSinglePost &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type MTlsCertificateManagementUploadMTlsCertificateRequestBody = {
+  ca: Schemas.TlsCertificatesAndHostnamesCa;
+  certificates: Schemas.TlsCertificatesAndHostnamesSchemasCertificates;
+  name?: Schemas.TlsCertificatesAndHostnamesSchemasName;
+  private_key?: Schemas.TlsCertificatesAndHostnamesComponentsSchemasPrivateKey;
+};
+
+export type MTlsCertificateManagementUploadMTlsCertificateVariables = {
+  body: MTlsCertificateManagementUploadMTlsCertificateRequestBody;
+  pathParams: MTlsCertificateManagementUploadMTlsCertificatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Upload a certificate that you want to use with mTLS-enabled Cloudflare services.
+ */
+export const mTlsCertificateManagementUploadMTlsCertificate = (
+  variables: MTlsCertificateManagementUploadMTlsCertificateVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesCertificateResponseSinglePost,
+    MTlsCertificateManagementUploadMTlsCertificateError,
+    MTlsCertificateManagementUploadMTlsCertificateRequestBody,
+    {},
+    {},
+    MTlsCertificateManagementUploadMTlsCertificatePathParams
+  >({ url: '/accounts/{accountId}/mtls_certificates', method: 'post', ...variables, signal });
+
+export type MTlsCertificateManagementDeleteMTlsCertificatePathParams = {
+  mtlsCertificateId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+  accountId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type MTlsCertificateManagementDeleteMTlsCertificateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesMtlsManagementComponentsSchemasCertificateResponseSingle &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type MTlsCertificateManagementDeleteMTlsCertificateVariables = {
+  pathParams: MTlsCertificateManagementDeleteMTlsCertificatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes the mTLS certificate unless the certificate is in use by one or more Cloudflare services.
+ */
+export const mTlsCertificateManagementDeleteMTlsCertificate = (
+  variables: MTlsCertificateManagementDeleteMTlsCertificateVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesMtlsManagementComponentsSchemasCertificateResponseSingle,
+    MTlsCertificateManagementDeleteMTlsCertificateError,
+    undefined,
+    {},
+    {},
+    MTlsCertificateManagementDeleteMTlsCertificatePathParams
+  >({ url: '/accounts/{accountId}/mtls_certificates/{mtlsCertificateId}', method: 'delete', ...variables, signal });
+
+export type MTlsCertificateManagementGetMTlsCertificatePathParams = {
+  mtlsCertificateId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+  accountId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type MTlsCertificateManagementGetMTlsCertificateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesMtlsManagementComponentsSchemasCertificateResponseSingle &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type MTlsCertificateManagementGetMTlsCertificateVariables = {
+  pathParams: MTlsCertificateManagementGetMTlsCertificatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a single mTLS certificate.
+ */
+export const mTlsCertificateManagementGetMTlsCertificate = (
+  variables: MTlsCertificateManagementGetMTlsCertificateVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesMtlsManagementComponentsSchemasCertificateResponseSingle,
+    MTlsCertificateManagementGetMTlsCertificateError,
+    undefined,
+    {},
+    {},
+    MTlsCertificateManagementGetMTlsCertificatePathParams
+  >({ url: '/accounts/{accountId}/mtls_certificates/{mtlsCertificateId}', method: 'get', ...variables, signal });
+
+export type MTlsCertificateManagementListMTlsCertificateAssociationsPathParams = {
+  mtlsCertificateId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+  accountId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type MTlsCertificateManagementListMTlsCertificateAssociationsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesAssociationResponseCollection &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type MTlsCertificateManagementListMTlsCertificateAssociationsVariables = {
+  pathParams: MTlsCertificateManagementListMTlsCertificateAssociationsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists all active associations between the certificate and Cloudflare services.
+ */
+export const mTlsCertificateManagementListMTlsCertificateAssociations = (
+  variables: MTlsCertificateManagementListMTlsCertificateAssociationsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesAssociationResponseCollection,
+    MTlsCertificateManagementListMTlsCertificateAssociationsError,
+    undefined,
+    {},
+    {},
+    MTlsCertificateManagementListMTlsCertificateAssociationsPathParams
+  >({
+    url: '/accounts/{accountId}/mtls_certificates/{mtlsCertificateId}/associations',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type PagesProjectGetProjectsPathParams = {
+  accountId: Schemas.PagesIdentifier;
+};
+
+export type PagesProjectGetProjectsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.PagesProjectsResponse & Schemas.PagesApiResponseCommonFailure;
+}>;
+
+export type PagesProjectGetProjectsVariables = {
+  pathParams: PagesProjectGetProjectsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetch a list of all user projects.
+ */
+export const pagesProjectGetProjects = (variables: PagesProjectGetProjectsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.PagesProjectsResponse,
+    PagesProjectGetProjectsError,
+    undefined,
+    {},
+    {},
+    PagesProjectGetProjectsPathParams
+  >({ url: '/accounts/{accountId}/pages/projects', method: 'get', ...variables, signal });
+
+export type PagesProjectCreateProjectPathParams = {
+  accountId: Schemas.PagesIdentifier;
+};
+
+export type PagesProjectCreateProjectError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.PagesProjectResponse & Schemas.PagesApiResponseCommonFailure;
+}>;
+
+export type PagesProjectCreateProjectVariables = {
+  body?: Schemas.PagesProjectObject;
+  pathParams: PagesProjectCreateProjectPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create a new project.
+ */
+export const pagesProjectCreateProject = (variables: PagesProjectCreateProjectVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.PagesProjectResponse,
+    PagesProjectCreateProjectError,
+    Schemas.PagesProjectObject,
+    {},
+    {},
+    PagesProjectCreateProjectPathParams
+  >({ url: '/accounts/{accountId}/pages/projects', method: 'post', ...variables, signal });
+
+export type PagesProjectDeleteProjectPathParams = {
+  projectName: Schemas.PagesProjectName;
+  accountId: Schemas.PagesIdentifier;
+};
+
+export type PagesProjectDeleteProjectError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: void & Schemas.PagesApiResponseCommonFailure;
+}>;
+
+export type PagesProjectDeleteProjectResponse = Schemas.PagesApiResponseCommon & {
+  result?: Record<string, any> | null;
+};
+
+export type PagesProjectDeleteProjectVariables = {
+  pathParams: PagesProjectDeleteProjectPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete a project by name.
+ */
+export const pagesProjectDeleteProject = (variables: PagesProjectDeleteProjectVariables, signal?: AbortSignal) =>
+  fetch<
+    PagesProjectDeleteProjectResponse,
+    PagesProjectDeleteProjectError,
+    undefined,
+    {},
+    {},
+    PagesProjectDeleteProjectPathParams
+  >({ url: '/accounts/{accountId}/pages/projects/{projectName}', method: 'delete', ...variables, signal });
+
+export type PagesProjectGetProjectPathParams = {
+  projectName: Schemas.PagesProjectName;
+  accountId: Schemas.PagesIdentifier;
+};
+
+export type PagesProjectGetProjectError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.PagesProjectResponse & Schemas.PagesApiResponseCommonFailure;
+}>;
+
+export type PagesProjectGetProjectVariables = {
+  pathParams: PagesProjectGetProjectPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetch a project by name.
+ */
+export const pagesProjectGetProject = (variables: PagesProjectGetProjectVariables, signal?: AbortSignal) =>
+  fetch<Schemas.PagesProjectResponse, PagesProjectGetProjectError, undefined, {}, {}, PagesProjectGetProjectPathParams>(
+    { url: '/accounts/{accountId}/pages/projects/{projectName}', method: 'get', ...variables, signal }
+  );
+
+export type PagesProjectUpdateProjectPathParams = {
+  projectName: Schemas.PagesProjectName;
+  accountId: Schemas.PagesIdentifier;
+};
+
+export type PagesProjectUpdateProjectError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.PagesProjectResponse & Schemas.PagesApiResponseCommonFailure;
+}>;
+
+export type PagesProjectUpdateProjectVariables = {
+  body?: Schemas.PagesProjectPatch;
+  pathParams: PagesProjectUpdateProjectPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Set new attributes for an existing project. Modify environment variables. To delete an environment variable, set the key to null.
+ */
+export const pagesProjectUpdateProject = (variables: PagesProjectUpdateProjectVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.PagesProjectResponse,
+    PagesProjectUpdateProjectError,
+    Schemas.PagesProjectPatch,
+    {},
+    {},
+    PagesProjectUpdateProjectPathParams
+  >({ url: '/accounts/{accountId}/pages/projects/{projectName}', method: 'patch', ...variables, signal });
+
+export type PagesDeploymentGetDeploymentsPathParams = {
+  projectName: Schemas.PagesProjectName;
+  accountId: Schemas.PagesIdentifier;
+};
+
+export type PagesDeploymentGetDeploymentsQueryParams = {
+  /**
+   * @example preview
+   */
+  env?: 'production' | 'preview';
+};
+
+export type PagesDeploymentGetDeploymentsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.PagesDeploymentListResponse & Schemas.PagesApiResponseCommonFailure;
+}>;
+
+export type PagesDeploymentGetDeploymentsVariables = {
+  pathParams: PagesDeploymentGetDeploymentsPathParams;
+  queryParams?: PagesDeploymentGetDeploymentsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetch a list of project deployments.
+ */
+export const pagesDeploymentGetDeployments = (
+  variables: PagesDeploymentGetDeploymentsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.PagesDeploymentListResponse,
+    PagesDeploymentGetDeploymentsError,
+    undefined,
+    {},
+    PagesDeploymentGetDeploymentsQueryParams,
+    PagesDeploymentGetDeploymentsPathParams
+  >({ url: '/accounts/{accountId}/pages/projects/{projectName}/deployments', method: 'get', ...variables, signal });
+
+export type PagesDeploymentCreateDeploymentPathParams = {
+  projectName: Schemas.PagesProjectName;
+  accountId: Schemas.PagesIdentifier;
+};
+
+export type PagesDeploymentCreateDeploymentError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.PagesDeploymentNewDeployment & Schemas.PagesApiResponseCommonFailure;
+}>;
+
+export type PagesDeploymentCreateDeploymentRequestBody = {
+  /**
+   * The branch to build the new deployment from. The `HEAD` of the branch will be used. If omitted, the production branch will be used by default.
+   *
+   * @example staging
+   */
+  branch?: string;
+};
+
+export type PagesDeploymentCreateDeploymentVariables = {
+  body?: PagesDeploymentCreateDeploymentRequestBody;
+  pathParams: PagesDeploymentCreateDeploymentPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Start a new deployment from production. The repository and account must have already been authorized on the Cloudflare Pages dashboard.
+ */
+export const pagesDeploymentCreateDeployment = (
+  variables: PagesDeploymentCreateDeploymentVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.PagesDeploymentNewDeployment,
+    PagesDeploymentCreateDeploymentError,
+    PagesDeploymentCreateDeploymentRequestBody,
+    {},
+    {},
+    PagesDeploymentCreateDeploymentPathParams
+  >({ url: '/accounts/{accountId}/pages/projects/{projectName}/deployments', method: 'post', ...variables, signal });
+
+export type PagesDeploymentDeleteDeploymentPathParams = {
+  deploymentId: Schemas.PagesIdentifier;
+  projectName: Schemas.PagesProjectName;
+  accountId: Schemas.PagesIdentifier;
+};
+
+export type PagesDeploymentDeleteDeploymentError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: void & Schemas.PagesApiResponseCommonFailure;
+}>;
+
+export type PagesDeploymentDeleteDeploymentResponse = Schemas.PagesApiResponseCommon & {
+  result?: Record<string, any> | null;
+};
+
+export type PagesDeploymentDeleteDeploymentVariables = {
+  pathParams: PagesDeploymentDeleteDeploymentPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete a deployment.
+ */
+export const pagesDeploymentDeleteDeployment = (
+  variables: PagesDeploymentDeleteDeploymentVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    PagesDeploymentDeleteDeploymentResponse,
+    PagesDeploymentDeleteDeploymentError,
+    undefined,
+    {},
+    {},
+    PagesDeploymentDeleteDeploymentPathParams
+  >({
+    url: '/accounts/{accountId}/pages/projects/{projectName}/deployments/{deploymentId}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type PagesDeploymentGetDeploymentInfoPathParams = {
+  deploymentId: Schemas.PagesIdentifier;
+  projectName: Schemas.PagesProjectName;
+  accountId: Schemas.PagesIdentifier;
+};
+
+export type PagesDeploymentGetDeploymentInfoError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.PagesDeploymentResponseDetails & Schemas.PagesApiResponseCommonFailure;
+}>;
+
+export type PagesDeploymentGetDeploymentInfoVariables = {
+  pathParams: PagesDeploymentGetDeploymentInfoPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetch information about a deployment.
+ */
+export const pagesDeploymentGetDeploymentInfo = (
+  variables: PagesDeploymentGetDeploymentInfoVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.PagesDeploymentResponseDetails,
+    PagesDeploymentGetDeploymentInfoError,
+    undefined,
+    {},
+    {},
+    PagesDeploymentGetDeploymentInfoPathParams
+  >({
+    url: '/accounts/{accountId}/pages/projects/{projectName}/deployments/{deploymentId}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type PagesDeploymentGetDeploymentLogsPathParams = {
+  deploymentId: Schemas.PagesIdentifier;
+  projectName: Schemas.PagesProjectName;
+  accountId: Schemas.PagesIdentifier;
+};
+
+export type PagesDeploymentGetDeploymentLogsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.PagesDeploymentResponseLogs & Schemas.PagesApiResponseCommonFailure;
+}>;
+
+export type PagesDeploymentGetDeploymentLogsVariables = {
+  pathParams: PagesDeploymentGetDeploymentLogsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetch deployment logs for a project.
+ */
+export const pagesDeploymentGetDeploymentLogs = (
+  variables: PagesDeploymentGetDeploymentLogsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.PagesDeploymentResponseLogs,
+    PagesDeploymentGetDeploymentLogsError,
+    undefined,
+    {},
+    {},
+    PagesDeploymentGetDeploymentLogsPathParams
+  >({
+    url: '/accounts/{accountId}/pages/projects/{projectName}/deployments/{deploymentId}/history/logs',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type PagesDeploymentRetryDeploymentPathParams = {
+  deploymentId: Schemas.PagesIdentifier;
+  projectName: Schemas.PagesProjectName;
+  accountId: Schemas.PagesIdentifier;
+};
+
+export type PagesDeploymentRetryDeploymentError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.PagesDeploymentNewDeployment & Schemas.PagesApiResponseCommonFailure;
+}>;
+
+export type PagesDeploymentRetryDeploymentVariables = {
+  pathParams: PagesDeploymentRetryDeploymentPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Retry a previous deployment.
+ */
+export const pagesDeploymentRetryDeployment = (
+  variables: PagesDeploymentRetryDeploymentVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.PagesDeploymentNewDeployment,
+    PagesDeploymentRetryDeploymentError,
+    undefined,
+    {},
+    {},
+    PagesDeploymentRetryDeploymentPathParams
+  >({
+    url: '/accounts/{accountId}/pages/projects/{projectName}/deployments/{deploymentId}/retry',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type PagesDeploymentRollbackDeploymentPathParams = {
+  deploymentId: Schemas.PagesIdentifier;
+  projectName: Schemas.PagesProjectName;
+  accountId: Schemas.PagesIdentifier;
+};
+
+export type PagesDeploymentRollbackDeploymentError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.PagesDeploymentResponseDetails & Schemas.PagesApiResponseCommonFailure;
+}>;
+
+export type PagesDeploymentRollbackDeploymentVariables = {
+  pathParams: PagesDeploymentRollbackDeploymentPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Rollback the production deployment to a previous deployment. You can only rollback to succesful builds on production.
+ */
+export const pagesDeploymentRollbackDeployment = (
+  variables: PagesDeploymentRollbackDeploymentVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.PagesDeploymentResponseDetails,
+    PagesDeploymentRollbackDeploymentError,
+    undefined,
+    {},
+    {},
+    PagesDeploymentRollbackDeploymentPathParams
+  >({
+    url: '/accounts/{accountId}/pages/projects/{projectName}/deployments/{deploymentId}/rollback',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type PagesDomainsGetDomainsPathParams = {
+  projectName: Schemas.PagesProjectName;
+  accountId: Schemas.PagesIdentifier;
+};
+
+export type PagesDomainsGetDomainsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.PagesDomainResponseCollection & Schemas.PagesApiResponseCommonFailure;
+}>;
+
+export type PagesDomainsGetDomainsVariables = {
+  pathParams: PagesDomainsGetDomainsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetch a list of all domains associated with a Pages project.
+ */
+export const pagesDomainsGetDomains = (variables: PagesDomainsGetDomainsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.PagesDomainResponseCollection,
+    PagesDomainsGetDomainsError,
+    undefined,
+    {},
+    {},
+    PagesDomainsGetDomainsPathParams
+  >({ url: '/accounts/{accountId}/pages/projects/{projectName}/domains', method: 'get', ...variables, signal });
+
+export type PagesDomainsAddDomainPathParams = {
+  projectName: Schemas.PagesProjectName;
+  accountId: Schemas.PagesIdentifier;
+};
+
+export type PagesDomainsAddDomainError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.PagesDomainResponseSingle & Schemas.PagesApiResponseCommonFailure;
+}>;
+
+export type PagesDomainsAddDomainVariables = {
+  body?: Schemas.PagesDomainsPost;
+  pathParams: PagesDomainsAddDomainPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Add a new domain for the Pages project.
+ */
+export const pagesDomainsAddDomain = (variables: PagesDomainsAddDomainVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.PagesDomainResponseSingle,
+    PagesDomainsAddDomainError,
+    Schemas.PagesDomainsPost,
+    {},
+    {},
+    PagesDomainsAddDomainPathParams
+  >({ url: '/accounts/{accountId}/pages/projects/{projectName}/domains', method: 'post', ...variables, signal });
+
+export type PagesDomainsDeleteDomainPathParams = {
+  domainName: Schemas.PagesDomainName;
+  projectName: Schemas.PagesProjectName;
+  accountId: Schemas.PagesIdentifier;
+};
+
+export type PagesDomainsDeleteDomainError = Fetcher.ErrorWrapper<{
+  status: ClientErrorStatus;
+  payload: void & Schemas.PagesApiResponseCommonFailure;
+}>;
+
+export type PagesDomainsDeleteDomainResponse = Schemas.PagesApiResponseCommon & {
+  result?: Record<string, any> | null;
+};
+
+export type PagesDomainsDeleteDomainVariables = {
+  pathParams: PagesDomainsDeleteDomainPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete a Pages project's domain.
+ */
+export const pagesDomainsDeleteDomain = (variables: PagesDomainsDeleteDomainVariables, signal?: AbortSignal) =>
+  fetch<
+    PagesDomainsDeleteDomainResponse,
+    PagesDomainsDeleteDomainError,
+    undefined,
+    {},
+    {},
+    PagesDomainsDeleteDomainPathParams
+  >({
+    url: '/accounts/{accountId}/pages/projects/{projectName}/domains/{domainName}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type PagesDomainsGetDomainPathParams = {
+  domainName: Schemas.PagesDomainName;
+  projectName: Schemas.PagesProjectName;
+  accountId: Schemas.PagesIdentifier;
+};
+
+export type PagesDomainsGetDomainError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.PagesDomainResponseSingle & Schemas.PagesApiResponseCommonFailure;
+}>;
+
+export type PagesDomainsGetDomainVariables = {
+  pathParams: PagesDomainsGetDomainPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetch a single domain.
+ */
+export const pagesDomainsGetDomain = (variables: PagesDomainsGetDomainVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.PagesDomainResponseSingle,
+    PagesDomainsGetDomainError,
+    undefined,
+    {},
+    {},
+    PagesDomainsGetDomainPathParams
+  >({
+    url: '/accounts/{accountId}/pages/projects/{projectName}/domains/{domainName}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type PagesDomainsPatchDomainPathParams = {
+  domainName: Schemas.PagesDomainName;
+  projectName: Schemas.PagesProjectName;
+  accountId: Schemas.PagesIdentifier;
+};
+
+export type PagesDomainsPatchDomainError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.PagesDomainResponseSingle & Schemas.PagesApiResponseCommonFailure;
+}>;
+
+export type PagesDomainsPatchDomainVariables = {
+  pathParams: PagesDomainsPatchDomainPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Retry the validation status of a single domain.
+ */
+export const pagesDomainsPatchDomain = (variables: PagesDomainsPatchDomainVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.PagesDomainResponseSingle,
+    PagesDomainsPatchDomainError,
+    undefined,
+    {},
+    {},
+    PagesDomainsPatchDomainPathParams
+  >({
+    url: '/accounts/{accountId}/pages/projects/{projectName}/domains/{domainName}',
+    method: 'patch',
+    ...variables,
+    signal
+  });
+
+export type PagesPurgeBuildCachePathParams = {
+  projectName: Schemas.PagesProjectName;
+  accountId: Schemas.PagesIdentifier;
+};
+
+export type PagesPurgeBuildCacheError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.PagesApiResponseCommonFailure;
+}>;
+
+export type PagesPurgeBuildCacheResponse = Schemas.PagesApiResponseCommon & {
+  result?: Record<string, any> | null;
+};
+
+export type PagesPurgeBuildCacheVariables = {
+  pathParams: PagesPurgeBuildCachePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Purge all cached build artifacts for a Pages project
+ */
+export const pagesPurgeBuildCache = (variables: PagesPurgeBuildCacheVariables, signal?: AbortSignal) =>
+  fetch<PagesPurgeBuildCacheResponse, PagesPurgeBuildCacheError, undefined, {}, {}, PagesPurgeBuildCachePathParams>({
+    url: '/accounts/{accountId}/pages/projects/{projectName}/purge_build_cache',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type MagicPcapCollectionListPacketCaptureRequestsPathParams = {
+  accountId: Schemas.MagicVisibilityPcapsIdentifier;
+};
+
+export type MagicPcapCollectionListPacketCaptureRequestsError = Fetcher.ErrorWrapper<{
+  status: Exclude<ClientErrorStatus | ServerErrorStatus, 200>;
+  payload: Schemas.MagicVisibilityPcapsPcapsCollectionResponse | Schemas.MagicVisibilityPcapsApiResponseCommonFailure;
+}>;
+
+export type MagicPcapCollectionListPacketCaptureRequestsVariables = {
+  pathParams: MagicPcapCollectionListPacketCaptureRequestsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists all packet capture requests for an account.
+ */
+export const magicPcapCollectionListPacketCaptureRequests = (
+  variables: MagicPcapCollectionListPacketCaptureRequestsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicVisibilityPcapsPcapsCollectionResponse,
+    MagicPcapCollectionListPacketCaptureRequestsError,
+    undefined,
+    {},
+    {},
+    MagicPcapCollectionListPacketCaptureRequestsPathParams
+  >({ url: '/accounts/{accountId}/pcaps', method: 'get', ...variables, signal });
+
+export type MagicPcapCollectionCreatePcapRequestPathParams = {
+  accountId: Schemas.MagicVisibilityPcapsIdentifier;
+};
+
+export type MagicPcapCollectionCreatePcapRequestError = Fetcher.ErrorWrapper<{
+  status: Exclude<ClientErrorStatus | ServerErrorStatus, 200>;
+  payload: Schemas.MagicVisibilityPcapsPcapsSingleResponse | Schemas.MagicVisibilityPcapsApiResponseCommonFailure;
+}>;
+
+export type MagicPcapCollectionCreatePcapRequestVariables = {
+  body?: Schemas.MagicVisibilityPcapsPcapsRequestPcap;
+  pathParams: MagicPcapCollectionCreatePcapRequestPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create new PCAP request for account.
+ */
+export const magicPcapCollectionCreatePcapRequest = (
+  variables: MagicPcapCollectionCreatePcapRequestVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicVisibilityPcapsPcapsSingleResponse,
+    MagicPcapCollectionCreatePcapRequestError,
+    Schemas.MagicVisibilityPcapsPcapsRequestPcap,
+    {},
+    {},
+    MagicPcapCollectionCreatePcapRequestPathParams
+  >({ url: '/accounts/{accountId}/pcaps', method: 'post', ...variables, signal });
+
+export type MagicPcapCollectionListPcaPsBucketOwnershipPathParams = {
+  accountId: Schemas.MagicVisibilityPcapsIdentifier;
+};
+
+export type MagicPcapCollectionListPcaPsBucketOwnershipError = Fetcher.ErrorWrapper<{
+  status: Exclude<ClientErrorStatus | ServerErrorStatus, 200>;
+  payload: Schemas.MagicVisibilityPcapsPcapsOwnershipCollection | Schemas.MagicVisibilityPcapsApiResponseCommonFailure;
+}>;
+
+export type MagicPcapCollectionListPcaPsBucketOwnershipVariables = {
+  pathParams: MagicPcapCollectionListPcaPsBucketOwnershipPathParams;
+} & FetcherExtraProps;
+
+/**
+ * List all buckets configured for use with PCAPs API.
+ */
+export const magicPcapCollectionListPcaPsBucketOwnership = (
+  variables: MagicPcapCollectionListPcaPsBucketOwnershipVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicVisibilityPcapsPcapsOwnershipCollection,
+    MagicPcapCollectionListPcaPsBucketOwnershipError,
+    undefined,
+    {},
+    {},
+    MagicPcapCollectionListPcaPsBucketOwnershipPathParams
+  >({ url: '/accounts/{accountId}/pcaps/ownership', method: 'get', ...variables, signal });
+
+export type MagicPcapCollectionAddBucketsForFullPacketCapturesPathParams = {
+  accountId: Schemas.MagicVisibilityPcapsIdentifier;
+};
+
+export type MagicPcapCollectionAddBucketsForFullPacketCapturesError = Fetcher.ErrorWrapper<{
+  status: Exclude<ClientErrorStatus | ServerErrorStatus, 200>;
+  payload:
+    | Schemas.MagicVisibilityPcapsPcapsOwnershipSingleResponse
+    | Schemas.MagicVisibilityPcapsApiResponseCommonFailure;
+}>;
+
+export type MagicPcapCollectionAddBucketsForFullPacketCapturesVariables = {
+  body: Schemas.MagicVisibilityPcapsPcapsOwnershipRequest;
+  pathParams: MagicPcapCollectionAddBucketsForFullPacketCapturesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Adds an AWS or GCP bucket to use with full packet captures.
+ */
+export const magicPcapCollectionAddBucketsForFullPacketCaptures = (
+  variables: MagicPcapCollectionAddBucketsForFullPacketCapturesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicVisibilityPcapsPcapsOwnershipSingleResponse,
+    MagicPcapCollectionAddBucketsForFullPacketCapturesError,
+    Schemas.MagicVisibilityPcapsPcapsOwnershipRequest,
+    {},
+    {},
+    MagicPcapCollectionAddBucketsForFullPacketCapturesPathParams
+  >({ url: '/accounts/{accountId}/pcaps/ownership', method: 'post', ...variables, signal });
+
+export type MagicPcapCollectionValidateBucketsForFullPacketCapturesPathParams = {
+  accountId: Schemas.MagicVisibilityPcapsIdentifier;
+};
+
+export type MagicPcapCollectionValidateBucketsForFullPacketCapturesError = Fetcher.ErrorWrapper<{
+  status: Exclude<ClientErrorStatus | ServerErrorStatus, 200>;
+  payload:
+    | Schemas.MagicVisibilityPcapsPcapsOwnershipSingleResponse
+    | Schemas.MagicVisibilityPcapsApiResponseCommonFailure;
+}>;
+
+export type MagicPcapCollectionValidateBucketsForFullPacketCapturesVariables = {
+  body: Schemas.MagicVisibilityPcapsPcapsOwnershipValidateRequest;
+  pathParams: MagicPcapCollectionValidateBucketsForFullPacketCapturesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Validates buckets added to the packet captures API.
+ */
+export const magicPcapCollectionValidateBucketsForFullPacketCaptures = (
+  variables: MagicPcapCollectionValidateBucketsForFullPacketCapturesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicVisibilityPcapsPcapsOwnershipSingleResponse,
+    MagicPcapCollectionValidateBucketsForFullPacketCapturesError,
+    Schemas.MagicVisibilityPcapsPcapsOwnershipValidateRequest,
+    {},
+    {},
+    MagicPcapCollectionValidateBucketsForFullPacketCapturesPathParams
+  >({ url: '/accounts/{accountId}/pcaps/ownership/validate', method: 'post', ...variables, signal });
+
+export type MagicPcapCollectionDeleteBucketsForFullPacketCapturesPathParams = {
+  ownershipId: Schemas.MagicVisibilityPcapsIdentifier;
+  accountId: Schemas.MagicVisibilityPcapsIdentifier;
+};
+
+export type MagicPcapCollectionDeleteBucketsForFullPacketCapturesError = Fetcher.ErrorWrapper<undefined>;
+
+export type MagicPcapCollectionDeleteBucketsForFullPacketCapturesVariables = {
+  pathParams: MagicPcapCollectionDeleteBucketsForFullPacketCapturesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes buckets added to the packet captures API.
+ */
+export const magicPcapCollectionDeleteBucketsForFullPacketCaptures = (
+  variables: MagicPcapCollectionDeleteBucketsForFullPacketCapturesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    undefined,
+    MagicPcapCollectionDeleteBucketsForFullPacketCapturesError,
+    undefined,
+    {},
+    {},
+    MagicPcapCollectionDeleteBucketsForFullPacketCapturesPathParams
+  >({ url: '/accounts/{accountId}/pcaps/ownership/{ownershipId}', method: 'delete', ...variables, signal });
+
+export type MagicPcapCollectionGetPcapRequestPathParams = {
+  pcapId: Schemas.MagicVisibilityPcapsIdentifier;
+  accountId: Schemas.MagicVisibilityPcapsIdentifier;
+};
+
+export type MagicPcapCollectionGetPcapRequestError = Fetcher.ErrorWrapper<{
+  status: Exclude<ClientErrorStatus | ServerErrorStatus, 200>;
+  payload: Schemas.MagicVisibilityPcapsPcapsSingleResponse | Schemas.MagicVisibilityPcapsApiResponseCommonFailure;
+}>;
+
+export type MagicPcapCollectionGetPcapRequestVariables = {
+  pathParams: MagicPcapCollectionGetPcapRequestPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get information for a PCAP request by id.
+ */
+export const magicPcapCollectionGetPcapRequest = (
+  variables: MagicPcapCollectionGetPcapRequestVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.MagicVisibilityPcapsPcapsSingleResponse,
+    MagicPcapCollectionGetPcapRequestError,
+    undefined,
+    {},
+    {},
+    MagicPcapCollectionGetPcapRequestPathParams
+  >({ url: '/accounts/{accountId}/pcaps/{pcapId}', method: 'get', ...variables, signal });
+
+export type MagicPcapCollectionDownloadSimplePcapPathParams = {
+  pcapId: Schemas.MagicVisibilityPcapsIdentifier;
+  accountId: Schemas.MagicVisibilityPcapsIdentifier;
+};
+
+export type MagicPcapCollectionDownloadSimplePcapError = Fetcher.ErrorWrapper<undefined>;
+
+export type MagicPcapCollectionDownloadSimplePcapVariables = {
+  pathParams: MagicPcapCollectionDownloadSimplePcapPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Download PCAP information into a file. Response is a binary PCAP file.
+ */
+export const magicPcapCollectionDownloadSimplePcap = (
+  variables: MagicPcapCollectionDownloadSimplePcapVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    undefined,
+    MagicPcapCollectionDownloadSimplePcapError,
+    undefined,
+    {},
+    {},
+    MagicPcapCollectionDownloadSimplePcapPathParams
+  >({ url: '/accounts/{accountId}/pcaps/{pcapId}/download', method: 'get', ...variables, signal });
+
+export type QueuesListPathParams = {
+  accountId: Schemas.MqIdentifier;
+};
+
+export type QueuesListError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MqApiV4Failure;
+}>;
+
+export type QueuesListResponse = Schemas.MqApiV4Success & {
+  result?: Schemas.MqQueue[];
+  result_info?: {
+    /**
+     * Total number of queues
+     *
+     * @example 1
+     */
+    count?: number;
+    /**
+     * Current page within paginated list of queues
+     *
+     * @example 1
+     */
+    page?: number;
+    /**
+     * Number of queues per page
+     *
+     * @example 20
+     */
+    per_page?: number;
+    /**
+     * Total queues available without any search parameters
+     *
+     * @example 2000
+     */
+    total_count?: number;
+    /**
+     * Total pages available without any search parameters
+     *
+     * @example 100
+     */
+    total_pages?: number;
+  };
+};
+
+export type QueuesListVariables = {
+  pathParams: QueuesListPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Returns the queues owned by an account.
+ */
+export const queuesList = (variables: QueuesListVariables, signal?: AbortSignal) =>
+  fetch<QueuesListResponse, QueuesListError, undefined, {}, {}, QueuesListPathParams>({
+    url: '/accounts/{accountId}/queues',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type QueuesCreatePathParams = {
+  accountId: Schemas.MqIdentifier;
+};
+
+export type QueuesCreateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MqApiV4Failure;
+}>;
+
+export type QueuesCreateResponse = Schemas.MqApiV4Success & {
+  result?: Schemas.MqQueue;
+};
+
+export type QueuesCreateRequestBody = {
+  queue_name: Schemas.MqQueueName;
+};
+
+export type QueuesCreateVariables = {
+  body: QueuesCreateRequestBody;
+  pathParams: QueuesCreatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create a new queue
+ */
+export const queuesCreate = (variables: QueuesCreateVariables, signal?: AbortSignal) =>
+  fetch<QueuesCreateResponse, QueuesCreateError, QueuesCreateRequestBody, {}, {}, QueuesCreatePathParams>({
+    url: '/accounts/{accountId}/queues',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type QueuesDeletePathParams = {
+  queueId: Schemas.MqIdentifier;
+  accountId: Schemas.MqIdentifier;
+};
+
+export type QueuesDeleteError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MqApiV4Failure;
+}>;
+
+export type QueuesDeleteVariables = {
+  pathParams: QueuesDeletePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes a queue
+ */
+export const queuesDelete = (variables: QueuesDeleteVariables, signal?: AbortSignal) =>
+  fetch<Schemas.MqApiV4Success, QueuesDeleteError, undefined, {}, {}, QueuesDeletePathParams>({
+    url: '/accounts/{accountId}/queues/{queueId}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type QueuesGetPathParams = {
+  queueId: Schemas.MqIdentifier;
+  accountId: Schemas.MqIdentifier;
+};
+
+export type QueuesGetError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MqApiV4Failure;
+}>;
+
+export type QueuesGetResponse = Schemas.MqApiV4Success & {
+  result?: Schemas.MqQueue;
+};
+
+export type QueuesGetVariables = {
+  pathParams: QueuesGetPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get details about a specific queue.
+ */
+export const queuesGet = (variables: QueuesGetVariables, signal?: AbortSignal) =>
+  fetch<QueuesGetResponse, QueuesGetError, undefined, {}, {}, QueuesGetPathParams>({
+    url: '/accounts/{accountId}/queues/{queueId}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type QueuesUpdatePathParams = {
+  queueId: Schemas.MqIdentifier;
+  accountId: Schemas.MqIdentifier;
+};
+
+export type QueuesUpdateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MqApiV4Failure;
+}>;
+
+export type QueuesUpdateResponse = Schemas.MqApiV4Success & {
+  result?: Schemas.MqQueue;
+};
+
+export type QueuesUpdateVariables = {
+  body?: Schemas.MqQueue;
+  pathParams: QueuesUpdatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a Queue. Note that this endpoint does not support partial updates. If successful, the Queue's configuration is overwritten with the supplied configuration.
+ */
+export const queuesUpdate = (variables: QueuesUpdateVariables, signal?: AbortSignal) =>
+  fetch<QueuesUpdateResponse, QueuesUpdateError, Schemas.MqQueue, {}, {}, QueuesUpdatePathParams>({
+    url: '/accounts/{accountId}/queues/{queueId}',
+    method: 'put',
+    ...variables,
+    signal
+  });
+
+export type QueuesListConsumersPathParams = {
+  queueId: Schemas.MqIdentifier;
+  accountId: Schemas.MqIdentifier;
+};
+
+export type QueuesListConsumersError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MqApiV4Failure;
+}>;
+
+export type QueuesListConsumersResponse = Schemas.MqApiV4Success & {
+  result?: Schemas.MqConsumer[];
+};
+
+export type QueuesListConsumersVariables = {
+  pathParams: QueuesListConsumersPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Returns the consumers for a Queue
+ */
+export const queuesListConsumers = (variables: QueuesListConsumersVariables, signal?: AbortSignal) =>
+  fetch<QueuesListConsumersResponse, QueuesListConsumersError, undefined, {}, {}, QueuesListConsumersPathParams>({
+    url: '/accounts/{accountId}/queues/{queueId}/consumers',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type QueuesCreateConsumerPathParams = {
+  queueId: Schemas.MqIdentifier;
+  accountId: Schemas.MqIdentifier;
+};
+
+export type QueuesCreateConsumerError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MqApiV4Failure;
+}>;
+
+export type QueuesCreateConsumerResponse = Schemas.MqApiV4Success & {
+  result?: Schemas.MqConsumer;
+};
+
+export type QueuesCreateConsumerRequestBody = Schemas.MqConsumer & {
+  dead_letter_queue?: Schemas.MqQueueName;
+};
+
+export type QueuesCreateConsumerVariables = {
+  body?: QueuesCreateConsumerRequestBody;
+  pathParams: QueuesCreateConsumerPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new consumer for a Queue
+ */
+export const queuesCreateConsumer = (variables: QueuesCreateConsumerVariables, signal?: AbortSignal) =>
+  fetch<
+    QueuesCreateConsumerResponse,
+    QueuesCreateConsumerError,
+    QueuesCreateConsumerRequestBody,
+    {},
+    {},
+    QueuesCreateConsumerPathParams
+  >({ url: '/accounts/{accountId}/queues/{queueId}/consumers', method: 'post', ...variables, signal });
+
+export type QueuesDeleteConsumerPathParams = {
+  consumerId: Schemas.MqIdentifier;
+  queueId: Schemas.MqIdentifier;
+  accountId: Schemas.MqIdentifier;
+};
+
+export type QueuesDeleteConsumerError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MqApiV4Failure;
+}>;
+
+export type QueuesDeleteConsumerVariables = {
+  pathParams: QueuesDeleteConsumerPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes the consumer for a queue.
+ */
+export const queuesDeleteConsumer = (variables: QueuesDeleteConsumerVariables, signal?: AbortSignal) =>
+  fetch<Schemas.MqApiV4Success, QueuesDeleteConsumerError, undefined, {}, {}, QueuesDeleteConsumerPathParams>({
+    url: '/accounts/{accountId}/queues/{queueId}/consumers/{consumerId}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type QueuesUpdateConsumerPathParams = {
+  consumerId: Schemas.MqIdentifier;
+  queueId: Schemas.MqIdentifier;
+  accountId: Schemas.MqIdentifier;
+};
+
+export type QueuesUpdateConsumerError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MqApiV4Failure;
+}>;
+
+export type QueuesUpdateConsumerResponse = Schemas.MqApiV4Success & {
+  result?: Schemas.MqConsumer;
+};
+
+export type QueuesUpdateConsumerRequestBody = Schemas.MqConsumer & {
+  dead_letter_queue?: Schemas.MqQueueName;
+};
+
+export type QueuesUpdateConsumerVariables = {
+  body?: QueuesUpdateConsumerRequestBody;
+  pathParams: QueuesUpdateConsumerPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates the consumer for a queue, or creates one if it does not exist.
+ */
+export const queuesUpdateConsumer = (variables: QueuesUpdateConsumerVariables, signal?: AbortSignal) =>
+  fetch<
+    QueuesUpdateConsumerResponse,
+    QueuesUpdateConsumerError,
+    QueuesUpdateConsumerRequestBody,
+    {},
+    {},
+    QueuesUpdateConsumerPathParams
+  >({ url: '/accounts/{accountId}/queues/{queueId}/consumers/{consumerId}', method: 'put', ...variables, signal });
+
+export type QueuesAckMessagesPathParams = {
+  queueId: Schemas.MqIdentifier;
+  accountId: Schemas.MqIdentifier;
+};
+
+export type QueuesAckMessagesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MqApiV4Failure;
+}>;
+
+export type QueuesAckMessagesResponse = Schemas.MqApiV4Success & {
+  result?: {
+    /**
+     * The number of messages that were succesfully acknowledged.
+     *
+     * @example 5
+     */
+    ackCount?: number;
+    /**
+     * The number of messages that were succesfully retried.
+     *
+     * @example 5
+     */
+    retryCount?: number;
+    warnings?: string[];
+  };
+};
+
+export type QueuesAckMessagesRequestBody = {
+  acks?: {
+    lease_id?: Schemas.MqLeaseId;
+  }[];
+  retries?: {
+    delay_seconds?: Schemas.MqRetryDelay;
+    lease_id?: Schemas.MqLeaseId;
+  }[];
+};
+
+export type QueuesAckMessagesVariables = {
+  body?: QueuesAckMessagesRequestBody;
+  pathParams: QueuesAckMessagesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Acknowledge + Retry messages from a Queue
+ */
+export const queuesAckMessages = (variables: QueuesAckMessagesVariables, signal?: AbortSignal) =>
+  fetch<
+    QueuesAckMessagesResponse,
+    QueuesAckMessagesError,
+    QueuesAckMessagesRequestBody,
+    {},
+    {},
+    QueuesAckMessagesPathParams
+  >({ url: '/accounts/{accountId}/queues/{queueId}/messages/ack', method: 'post', ...variables, signal });
+
+export type QueuesPullMessagesPathParams = {
+  queueId: Schemas.MqIdentifier;
+  accountId: Schemas.MqIdentifier;
+};
+
+export type QueuesPullMessagesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.MqApiV4Failure;
+}>;
+
+export type QueuesPullMessagesResponse = Schemas.MqApiV4Success & {
+  result?: Schemas.MqQueueBatch;
+};
+
+export type QueuesPullMessagesRequestBody = {
+  batch_size?: Schemas.MqBatchSize;
+  visibility_timeout_ms?: Schemas.MqVisibilityTimeout;
+};
+
+export type QueuesPullMessagesVariables = {
+  body?: QueuesPullMessagesRequestBody;
+  pathParams: QueuesPullMessagesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Pull a batch of messages from a Queue
+ */
+export const queuesPullMessages = (variables: QueuesPullMessagesVariables, signal?: AbortSignal) =>
+  fetch<
+    QueuesPullMessagesResponse,
+    QueuesPullMessagesError,
+    QueuesPullMessagesRequestBody,
+    {},
+    {},
+    QueuesPullMessagesPathParams
+  >({ url: '/accounts/{accountId}/queues/{queueId}/messages/pull', method: 'post', ...variables, signal });
+
+export type R2ListBucketsPathParams = {
+  accountId: Schemas.R2AccountIdentifier;
+};
+
+export type R2ListBucketsQueryParams = {
+  /**
+   * @example my-bucket
+   */
+  name_contains?: string;
+  /**
+   * @example my-bucket
+   */
+  start_after?: string;
+  /**
+   * @default 20
+   * @maximum 1000
+   * @minimum 1
+   */
+  per_page?: number;
+  order?: 'name';
+  /**
+   * @example desc
+   */
+  direction?: 'asc' | 'desc';
+  cursor?: string;
+};
+
+export type R2ListBucketsHeaders = {
+  /**
+   * @default default
+   */
+  ['cf-r2-jurisdiction']?: 'default' | 'eu' | 'fedramp';
+};
+
+export type R2ListBucketsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.R2V4ResponseFailure;
+}>;
+
+export type R2ListBucketsResponse = Schemas.R2V4ResponseList & {
+  result?: {
+    buckets?: Schemas.R2Bucket[];
+  };
+};
+
+export type R2ListBucketsVariables = {
+  headers?: R2ListBucketsHeaders;
+  pathParams: R2ListBucketsPathParams;
+  queryParams?: R2ListBucketsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists all R2 buckets on your account
+ */
+export const r2ListBuckets = (variables: R2ListBucketsVariables, signal?: AbortSignal) =>
+  fetch<
+    R2ListBucketsResponse,
+    R2ListBucketsError,
+    undefined,
+    R2ListBucketsHeaders,
+    R2ListBucketsQueryParams,
+    R2ListBucketsPathParams
+  >({ url: '/accounts/{accountId}/r2/buckets', method: 'get', ...variables, signal });
+
+export type R2CreateBucketPathParams = {
+  accountId: Schemas.R2AccountIdentifier;
+};
+
+export type R2CreateBucketHeaders = {
+  /**
+   * @default default
+   */
+  ['cf-r2-jurisdiction']?: 'default' | 'eu' | 'fedramp';
+};
+
+export type R2CreateBucketError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.R2V4ResponseFailure;
+}>;
+
+export type R2CreateBucketResponse = {
+  errors: Schemas.R2Errors;
+  messages: Schemas.R2Messages;
+  result: Schemas.R2Bucket;
+  /**
+   * Whether the API call was successful
+   */
+  success: true;
+};
+
+export type R2CreateBucketRequestBody = {
+  locationHint?: Schemas.R2BucketLocation;
+  name: Schemas.R2BucketName;
+  storageClass?: Schemas.R2StorageClass;
+};
+
+export type R2CreateBucketVariables = {
+  body: R2CreateBucketRequestBody;
+  headers?: R2CreateBucketHeaders;
+  pathParams: R2CreateBucketPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new R2 bucket.
+ */
+export const r2CreateBucket = (variables: R2CreateBucketVariables, signal?: AbortSignal) =>
+  fetch<
+    R2CreateBucketResponse,
+    R2CreateBucketError,
+    R2CreateBucketRequestBody,
+    R2CreateBucketHeaders,
+    {},
+    R2CreateBucketPathParams
+  >({ url: '/accounts/{accountId}/r2/buckets', method: 'post', ...variables, signal });
+
+export type R2DeleteBucketPathParams = {
+  bucketName: Schemas.R2BucketName;
+  accountId: Schemas.R2AccountIdentifier;
+};
+
+export type R2DeleteBucketHeaders = {
+  /**
+   * @default default
+   */
+  ['cf-r2-jurisdiction']?: 'default' | 'eu' | 'fedramp';
+};
+
+export type R2DeleteBucketError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.R2V4ResponseFailure;
+}>;
+
+export type R2DeleteBucketVariables = {
+  headers?: R2DeleteBucketHeaders;
+  pathParams: R2DeleteBucketPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes an existing R2 bucket.
+ */
+export const r2DeleteBucket = (variables: R2DeleteBucketVariables, signal?: AbortSignal) =>
+  fetch<Schemas.R2V4Response, R2DeleteBucketError, undefined, R2DeleteBucketHeaders, {}, R2DeleteBucketPathParams>({
+    url: '/accounts/{accountId}/r2/buckets/{bucketName}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type R2GetBucketPathParams = {
+  accountId: Schemas.R2AccountIdentifier;
+  bucketName: Schemas.R2BucketName;
+};
+
+export type R2GetBucketHeaders = {
+  /**
+   * @default default
+   */
+  ['cf-r2-jurisdiction']?: 'default' | 'eu' | 'fedramp';
+};
+
+export type R2GetBucketError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.R2V4ResponseFailure;
+}>;
+
+export type R2GetBucketResponse = {
+  errors: Schemas.R2Errors;
+  messages: Schemas.R2Messages;
+  result: Schemas.R2Bucket;
+  /**
+   * Whether the API call was successful
+   */
+  success: true;
+};
+
+export type R2GetBucketVariables = {
+  headers?: R2GetBucketHeaders;
+  pathParams: R2GetBucketPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets metadata for an existing R2 bucket.
+ */
+export const r2GetBucket = (variables: R2GetBucketVariables, signal?: AbortSignal) =>
+  fetch<R2GetBucketResponse, R2GetBucketError, undefined, R2GetBucketHeaders, {}, R2GetBucketPathParams>({
+    url: '/accounts/{accountId}/r2/buckets/{bucketName}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type R2DeleteBucketCorsPolicyPathParams = {
+  bucketName: Schemas.R2BucketName;
+  accountId: Schemas.R2AccountIdentifier;
+};
+
+export type R2DeleteBucketCorsPolicyHeaders = {
+  /**
+   * @default default
+   */
+  ['cf-r2-jurisdiction']?: 'default' | 'eu' | 'fedramp';
+};
+
+export type R2DeleteBucketCorsPolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.R2V4ResponseFailure;
+}>;
+
+export type R2DeleteBucketCorsPolicyResponse = Schemas.R2V4Response & Record<string, any>;
+
+export type R2DeleteBucketCorsPolicyVariables = {
+  headers?: R2DeleteBucketCorsPolicyHeaders;
+  pathParams: R2DeleteBucketCorsPolicyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete the CORS policy for a bucket
+ */
+export const r2DeleteBucketCorsPolicy = (variables: R2DeleteBucketCorsPolicyVariables, signal?: AbortSignal) =>
+  fetch<
+    R2DeleteBucketCorsPolicyResponse,
+    R2DeleteBucketCorsPolicyError,
+    undefined,
+    R2DeleteBucketCorsPolicyHeaders,
+    {},
+    R2DeleteBucketCorsPolicyPathParams
+  >({ url: '/accounts/{accountId}/r2/buckets/{bucketName}/cors', method: 'delete', ...variables, signal });
+
+export type R2GetBucketCorsPolicyPathParams = {
+  bucketName: Schemas.R2BucketName;
+  accountId: Schemas.R2AccountIdentifier;
+};
+
+export type R2GetBucketCorsPolicyHeaders = {
+  /**
+   * @default default
+   */
+  ['cf-r2-jurisdiction']?: 'default' | 'eu' | 'fedramp';
+};
+
+export type R2GetBucketCorsPolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.R2V4ResponseFailure;
+}>;
+
+export type R2GetBucketCorsPolicyResponse = {
+  errors: Schemas.R2Errors;
+  messages: Schemas.R2Messages;
+  result: {
+    rules?: Schemas.R2CorsRule[];
+  };
+  /**
+   * Whether the API call was successful
+   */
+  success: true;
+};
+
+export type R2GetBucketCorsPolicyVariables = {
+  headers?: R2GetBucketCorsPolicyHeaders;
+  pathParams: R2GetBucketCorsPolicyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the CORS policy for a bucket
+ */
+export const r2GetBucketCorsPolicy = (variables: R2GetBucketCorsPolicyVariables, signal?: AbortSignal) =>
+  fetch<
+    R2GetBucketCorsPolicyResponse,
+    R2GetBucketCorsPolicyError,
+    undefined,
+    R2GetBucketCorsPolicyHeaders,
+    {},
+    R2GetBucketCorsPolicyPathParams
+  >({ url: '/accounts/{accountId}/r2/buckets/{bucketName}/cors', method: 'get', ...variables, signal });
+
+export type R2PutBucketCorsPolicyPathParams = {
+  bucketName: Schemas.R2BucketName;
+  accountId: Schemas.R2AccountIdentifier;
+};
+
+export type R2PutBucketCorsPolicyHeaders = {
+  /**
+   * @default default
+   */
+  ['cf-r2-jurisdiction']?: 'default' | 'eu' | 'fedramp';
+};
+
+export type R2PutBucketCorsPolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.R2V4ResponseFailure;
+}>;
+
+export type R2PutBucketCorsPolicyResponse = Schemas.R2V4Response & Record<string, any>;
+
+export type R2PutBucketCorsPolicyRequestBody = {
+  rules?: Schemas.R2CorsRule[];
+};
+
+export type R2PutBucketCorsPolicyVariables = {
+  body?: R2PutBucketCorsPolicyRequestBody;
+  headers?: R2PutBucketCorsPolicyHeaders;
+  pathParams: R2PutBucketCorsPolicyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Set the CORS policy for a bucket
+ */
+export const r2PutBucketCorsPolicy = (variables: R2PutBucketCorsPolicyVariables, signal?: AbortSignal) =>
+  fetch<
+    R2PutBucketCorsPolicyResponse,
+    R2PutBucketCorsPolicyError,
+    R2PutBucketCorsPolicyRequestBody,
+    R2PutBucketCorsPolicyHeaders,
+    {},
+    R2PutBucketCorsPolicyPathParams
+  >({ url: '/accounts/{accountId}/r2/buckets/{bucketName}/cors', method: 'put', ...variables, signal });
+
+export type R2ListCustomDomainsPathParams = {
+  accountId: Schemas.R2AccountIdentifier;
+  bucketName: Schemas.R2BucketName;
+};
+
+export type R2ListCustomDomainsHeaders = {
+  /**
+   * @default default
+   */
+  ['cf-r2-jurisdiction']?: 'default' | 'eu' | 'fedramp';
+};
+
+export type R2ListCustomDomainsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.R2V4ResponseFailure;
+}>;
+
+export type R2ListCustomDomainsResponse = {
+  errors: Schemas.R2Errors;
+  messages: Schemas.R2Messages;
+  result: Schemas.R2ListCustomDomainsResponse;
+  /**
+   * Whether the API call was successful
+   */
+  success: true;
+};
+
+export type R2ListCustomDomainsVariables = {
+  headers?: R2ListCustomDomainsHeaders;
+  pathParams: R2ListCustomDomainsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets a list of all custom domains registered with an existing R2 bucket.
+ */
+export const r2ListCustomDomains = (variables: R2ListCustomDomainsVariables, signal?: AbortSignal) =>
+  fetch<
+    R2ListCustomDomainsResponse,
+    R2ListCustomDomainsError,
+    undefined,
+    R2ListCustomDomainsHeaders,
+    {},
+    R2ListCustomDomainsPathParams
+  >({ url: '/accounts/{accountId}/r2/buckets/{bucketName}/domains/custom', method: 'get', ...variables, signal });
+
+export type R2AddCustomDomainPathParams = {
+  accountId: Schemas.R2AccountIdentifier;
+  bucketName: Schemas.R2BucketName;
+};
+
+export type R2AddCustomDomainHeaders = {
+  /**
+   * @default default
+   */
+  ['cf-r2-jurisdiction']?: 'default' | 'eu' | 'fedramp';
+};
+
+export type R2AddCustomDomainError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.R2V4ResponseFailure;
+}>;
+
+export type R2AddCustomDomainResponse = {
+  errors: Schemas.R2Errors;
+  messages: Schemas.R2Messages;
+  result: Schemas.R2AddCustomDomainResponse;
+  /**
+   * Whether the API call was successful
+   */
+  success: true;
+};
+
+export type R2AddCustomDomainVariables = {
+  body: Schemas.R2AddCustomDomainRequest;
+  headers?: R2AddCustomDomainHeaders;
+  pathParams: R2AddCustomDomainPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Register a new custom domain for an existing R2 bucket.
+ */
+export const r2AddCustomDomain = (variables: R2AddCustomDomainVariables, signal?: AbortSignal) =>
+  fetch<
+    R2AddCustomDomainResponse,
+    R2AddCustomDomainError,
+    Schemas.R2AddCustomDomainRequest,
+    R2AddCustomDomainHeaders,
+    {},
+    R2AddCustomDomainPathParams
+  >({ url: '/accounts/{accountId}/r2/buckets/{bucketName}/domains/custom', method: 'post', ...variables, signal });
+
+export type R2DeleteCustomDomainPathParams = {
+  bucketName: Schemas.R2BucketName;
+  accountId: Schemas.R2AccountIdentifier;
+  domainName: Schemas.R2DomainName;
+};
+
+export type R2DeleteCustomDomainHeaders = {
+  /**
+   * @default default
+   */
+  ['cf-r2-jurisdiction']?: 'default' | 'eu' | 'fedramp';
+};
+
+export type R2DeleteCustomDomainError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.R2V4ResponseFailure;
+}>;
+
+export type R2DeleteCustomDomainResponse = {
+  errors: Schemas.R2Errors;
+  messages: Schemas.R2Messages;
+  result: Schemas.R2RemoveCustomDomainResponse;
+  /**
+   * Whether the API call was successful
+   */
+  success: true;
+};
+
+export type R2DeleteCustomDomainVariables = {
+  headers?: R2DeleteCustomDomainHeaders;
+  pathParams: R2DeleteCustomDomainPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Remove custom domain registration from an existing R2 bucket
+ */
+export const r2DeleteCustomDomain = (variables: R2DeleteCustomDomainVariables, signal?: AbortSignal) =>
+  fetch<
+    R2DeleteCustomDomainResponse,
+    R2DeleteCustomDomainError,
+    undefined,
+    R2DeleteCustomDomainHeaders,
+    {},
+    R2DeleteCustomDomainPathParams
+  >({
+    url: '/accounts/{accountId}/r2/buckets/{bucketName}/domains/custom/{domainName}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type R2GetCustomDomainSettingsPathParams = {
+  accountId: Schemas.R2AccountIdentifier;
+  bucketName: Schemas.R2BucketName;
+  domainName: Schemas.R2DomainName;
+};
+
+export type R2GetCustomDomainSettingsHeaders = {
+  /**
+   * @default default
+   */
+  ['cf-r2-jurisdiction']?: 'default' | 'eu' | 'fedramp';
+};
+
+export type R2GetCustomDomainSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.R2V4ResponseFailure;
+}>;
+
+export type R2GetCustomDomainSettingsResponse = {
+  errors: Schemas.R2Errors;
+  messages: Schemas.R2Messages;
+  /**
+   * @example {"domain":"prefix.example-domain.one.com","enabled":false,"status":{"ownership":"deactivated","ssl":"pending"},"zoneId":"36ca64a6d92827b8a6b90be344bb1bfd","zoneName":"example-domain.one.com"}
+   */
+  result: Schemas.R2GetCustomDomainResponse;
+  /**
+   * Whether the API call was successful
+   */
+  success: true;
+};
+
+export type R2GetCustomDomainSettingsVariables = {
+  headers?: R2GetCustomDomainSettingsHeaders;
+  pathParams: R2GetCustomDomainSettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the configuration for a custom domain on an existing R2 bucket.
+ */
+export const r2GetCustomDomainSettings = (variables: R2GetCustomDomainSettingsVariables, signal?: AbortSignal) =>
+  fetch<
+    R2GetCustomDomainSettingsResponse,
+    R2GetCustomDomainSettingsError,
+    undefined,
+    R2GetCustomDomainSettingsHeaders,
+    {},
+    R2GetCustomDomainSettingsPathParams
+  >({
+    url: '/accounts/{accountId}/r2/buckets/{bucketName}/domains/custom/{domainName}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type R2EditCustomDomainSettingsPathParams = {
+  accountId: Schemas.R2AccountIdentifier;
+  bucketName: Schemas.R2BucketName;
+  domainName: Schemas.R2DomainName;
+};
+
+export type R2EditCustomDomainSettingsHeaders = {
+  /**
+   * @default default
+   */
+  ['cf-r2-jurisdiction']?: 'default' | 'eu' | 'fedramp';
+};
+
+export type R2EditCustomDomainSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.R2V4ResponseFailure;
+}>;
+
+export type R2EditCustomDomainSettingsResponse = {
+  errors: Schemas.R2Errors;
+  messages: Schemas.R2Messages;
+  /**
+   * @example {"domain":"example-domain.com","enabled":true}
+   */
+  result: Schemas.R2EditCustomDomainResponse;
+  /**
+   * Whether the API call was successful
+   */
+  success: true;
+};
+
+export type R2EditCustomDomainSettingsVariables = {
+  body?: Schemas.R2EditCustomDomainRequest;
+  headers?: R2EditCustomDomainSettingsHeaders;
+  pathParams: R2EditCustomDomainSettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Edit the configuration for a custom domain on an existing R2 bucket.
+ */
+export const r2EditCustomDomainSettings = (variables: R2EditCustomDomainSettingsVariables, signal?: AbortSignal) =>
+  fetch<
+    R2EditCustomDomainSettingsResponse,
+    R2EditCustomDomainSettingsError,
+    Schemas.R2EditCustomDomainRequest,
+    R2EditCustomDomainSettingsHeaders,
+    {},
+    R2EditCustomDomainSettingsPathParams
+  >({
+    url: '/accounts/{accountId}/r2/buckets/{bucketName}/domains/custom/{domainName}',
+    method: 'put',
+    ...variables,
+    signal
+  });
+
+export type R2GetBucketPublicPolicyPathParams = {
+  accountId: Schemas.R2AccountIdentifier;
+  bucketName: Schemas.R2BucketName;
+};
+
+export type R2GetBucketPublicPolicyHeaders = {
+  /**
+   * @default default
+   */
+  ['cf-r2-jurisdiction']?: 'default' | 'eu' | 'fedramp';
+};
+
+export type R2GetBucketPublicPolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.R2V4ResponseFailure;
+}>;
+
+export type R2GetBucketPublicPolicyResponse = {
+  errors: Schemas.R2Errors;
+  messages: Schemas.R2Messages;
+  result: Schemas.R2ManagedDomainResponse;
+  /**
+   * Whether the API call was successful
+   */
+  success: true;
+};
+
+export type R2GetBucketPublicPolicyVariables = {
+  headers?: R2GetBucketPublicPolicyHeaders;
+  pathParams: R2GetBucketPublicPolicyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets state of public access over the bucket's R2-managed (r2.dev) domain.
+ */
+export const r2GetBucketPublicPolicy = (variables: R2GetBucketPublicPolicyVariables, signal?: AbortSignal) =>
+  fetch<
+    R2GetBucketPublicPolicyResponse,
+    R2GetBucketPublicPolicyError,
+    undefined,
+    R2GetBucketPublicPolicyHeaders,
+    {},
+    R2GetBucketPublicPolicyPathParams
+  >({ url: '/accounts/{accountId}/r2/buckets/{bucketName}/domains/managed', method: 'get', ...variables, signal });
+
+export type R2PutBucketPublicPolicyPathParams = {
+  accountId: Schemas.R2AccountIdentifier;
+  bucketName: Schemas.R2BucketName;
+};
+
+export type R2PutBucketPublicPolicyHeaders = {
+  /**
+   * @default default
+   */
+  ['cf-r2-jurisdiction']?: 'default' | 'eu' | 'fedramp';
+};
+
+export type R2PutBucketPublicPolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.R2V4ResponseFailure;
+}>;
+
+export type R2PutBucketPublicPolicyResponse = {
+  errors: Schemas.R2Errors;
+  messages: Schemas.R2Messages;
+  result: Schemas.R2ManagedDomainResponse;
+  /**
+   * Whether the API call was successful
+   */
+  success: true;
+};
+
+export type R2PutBucketPublicPolicyVariables = {
+  body: Schemas.R2EditManagedDomainRequest;
+  headers?: R2PutBucketPublicPolicyHeaders;
+  pathParams: R2PutBucketPublicPolicyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates state of public access over the bucket's R2-managed (r2.dev) domain.
+ */
+export const r2PutBucketPublicPolicy = (variables: R2PutBucketPublicPolicyVariables, signal?: AbortSignal) =>
+  fetch<
+    R2PutBucketPublicPolicyResponse,
+    R2PutBucketPublicPolicyError,
+    Schemas.R2EditManagedDomainRequest,
+    R2PutBucketPublicPolicyHeaders,
+    {},
+    R2PutBucketPublicPolicyPathParams
+  >({ url: '/accounts/{accountId}/r2/buckets/{bucketName}/domains/managed', method: 'put', ...variables, signal });
+
+export type R2GetBucketLifecycleConfigurationPathParams = {
+  bucketName: Schemas.R2BucketName;
+  accountId: Schemas.R2AccountIdentifier;
+};
+
+export type R2GetBucketLifecycleConfigurationHeaders = {
+  /**
+   * @default default
+   */
+  ['cf-r2-jurisdiction']?: 'default' | 'eu' | 'fedramp';
+};
+
+export type R2GetBucketLifecycleConfigurationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.R2V4ResponseFailure;
+}>;
+
+export type R2GetBucketLifecycleConfigurationResponse = {
+  errors: Schemas.R2Errors;
+  messages: Schemas.R2Messages;
+  result: Schemas.R2LifecycleConfig;
+  /**
+   * Whether the API call was successful
+   */
+  success: true;
+};
+
+export type R2GetBucketLifecycleConfigurationVariables = {
+  headers?: R2GetBucketLifecycleConfigurationHeaders;
+  pathParams: R2GetBucketLifecycleConfigurationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get object lifecycle rules for a bucket
+ */
+export const r2GetBucketLifecycleConfiguration = (
+  variables: R2GetBucketLifecycleConfigurationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    R2GetBucketLifecycleConfigurationResponse,
+    R2GetBucketLifecycleConfigurationError,
+    undefined,
+    R2GetBucketLifecycleConfigurationHeaders,
+    {},
+    R2GetBucketLifecycleConfigurationPathParams
+  >({ url: '/accounts/{accountId}/r2/buckets/{bucketName}/lifecycle', method: 'get', ...variables, signal });
+
+export type R2PutBucketLifecycleConfigurationPathParams = {
+  bucketName: Schemas.R2BucketName;
+  accountId: Schemas.R2AccountIdentifier;
+};
+
+export type R2PutBucketLifecycleConfigurationHeaders = {
+  /**
+   * @default default
+   */
+  ['cf-r2-jurisdiction']?: 'default' | 'eu' | 'fedramp';
+};
+
+export type R2PutBucketLifecycleConfigurationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.R2V4ResponseFailure;
+}>;
+
+export type R2PutBucketLifecycleConfigurationResponse = Schemas.R2V4Response & Record<string, any>;
+
+export type R2PutBucketLifecycleConfigurationRequestBody = {
+  rules?: Schemas.R2LifecycleRule[];
+};
+
+export type R2PutBucketLifecycleConfigurationVariables = {
+  body?: R2PutBucketLifecycleConfigurationRequestBody;
+  headers?: R2PutBucketLifecycleConfigurationHeaders;
+  pathParams: R2PutBucketLifecycleConfigurationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Set the object lifecycle rules for a bucket
+ */
+export const r2PutBucketLifecycleConfiguration = (
+  variables: R2PutBucketLifecycleConfigurationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    R2PutBucketLifecycleConfigurationResponse,
+    R2PutBucketLifecycleConfigurationError,
+    R2PutBucketLifecycleConfigurationRequestBody,
+    R2PutBucketLifecycleConfigurationHeaders,
+    {},
+    R2PutBucketLifecycleConfigurationPathParams
+  >({ url: '/accounts/{accountId}/r2/buckets/{bucketName}/lifecycle', method: 'put', ...variables, signal });
+
+export type R2DeleteBucketSippyConfigPathParams = {
+  bucketName: Schemas.R2BucketName;
+  accountId: Schemas.R2AccountIdentifier;
+};
+
+export type R2DeleteBucketSippyConfigHeaders = {
+  /**
+   * @default default
+   */
+  ['cf-r2-jurisdiction']?: 'default' | 'eu' | 'fedramp';
+};
+
+export type R2DeleteBucketSippyConfigError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.R2V4ResponseFailure;
+}>;
+
+export type R2DeleteBucketSippyConfigResponse = {
+  errors: Schemas.R2Errors;
+  messages: Schemas.R2Messages;
+  result: {
+    enabled?: false;
+  };
+  /**
+   * Whether the API call was successful
+   */
+  success: true;
+};
+
+export type R2DeleteBucketSippyConfigVariables = {
+  headers?: R2DeleteBucketSippyConfigHeaders;
+  pathParams: R2DeleteBucketSippyConfigPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Disables Sippy on this bucket
+ */
+export const r2DeleteBucketSippyConfig = (variables: R2DeleteBucketSippyConfigVariables, signal?: AbortSignal) =>
+  fetch<
+    R2DeleteBucketSippyConfigResponse,
+    R2DeleteBucketSippyConfigError,
+    undefined,
+    R2DeleteBucketSippyConfigHeaders,
+    {},
+    R2DeleteBucketSippyConfigPathParams
+  >({ url: '/accounts/{accountId}/r2/buckets/{bucketName}/sippy', method: 'delete', ...variables, signal });
+
+export type R2GetBucketSippyConfigPathParams = {
+  accountId: Schemas.R2AccountIdentifier;
+  bucketName: Schemas.R2BucketName;
+};
+
+export type R2GetBucketSippyConfigHeaders = {
+  /**
+   * @default default
+   */
+  ['cf-r2-jurisdiction']?: 'default' | 'eu' | 'fedramp';
+};
+
+export type R2GetBucketSippyConfigError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.R2V4ResponseFailure;
+}>;
+
+export type R2GetBucketSippyConfigResponse = {
+  errors: Schemas.R2Errors;
+  messages: Schemas.R2Messages;
+  result: Schemas.R2Sippy;
+  /**
+   * Whether the API call was successful
+   */
+  success: true;
+};
+
+export type R2GetBucketSippyConfigVariables = {
+  headers?: R2GetBucketSippyConfigHeaders;
+  pathParams: R2GetBucketSippyConfigPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets configuration for Sippy for an existing R2 bucket.
+ */
+export const r2GetBucketSippyConfig = (variables: R2GetBucketSippyConfigVariables, signal?: AbortSignal) =>
+  fetch<
+    R2GetBucketSippyConfigResponse,
+    R2GetBucketSippyConfigError,
+    undefined,
+    R2GetBucketSippyConfigHeaders,
+    {},
+    R2GetBucketSippyConfigPathParams
+  >({ url: '/accounts/{accountId}/r2/buckets/{bucketName}/sippy', method: 'get', ...variables, signal });
+
+export type R2PutBucketSippyConfigPathParams = {
+  accountId: Schemas.R2AccountIdentifier;
+  bucketName: Schemas.R2BucketName;
+};
+
+export type R2PutBucketSippyConfigHeaders = {
+  /**
+   * @default default
+   */
+  ['cf-r2-jurisdiction']?: 'default' | 'eu' | 'fedramp';
+};
+
+export type R2PutBucketSippyConfigError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.R2V4ResponseFailure;
+}>;
+
+export type R2PutBucketSippyConfigResponse = {
+  errors: Schemas.R2Errors;
+  messages: Schemas.R2Messages;
+  result: Schemas.R2Sippy;
+  /**
+   * Whether the API call was successful
+   */
+  success: true;
+};
+
+export type R2PutBucketSippyConfigVariables = {
+  body?: Schemas.R2EnableSippyAws | Schemas.R2EnableSippyGcs;
+  headers?: R2PutBucketSippyConfigHeaders;
+  pathParams: R2PutBucketSippyConfigPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Sets configuration for Sippy for an existing R2 bucket.
+ */
+export const r2PutBucketSippyConfig = (variables: R2PutBucketSippyConfigVariables, signal?: AbortSignal) =>
+  fetch<
+    R2PutBucketSippyConfigResponse,
+    R2PutBucketSippyConfigError,
+    Schemas.R2EnableSippyAws | Schemas.R2EnableSippyGcs,
+    R2PutBucketSippyConfigHeaders,
+    {},
+    R2PutBucketSippyConfigPathParams
+  >({ url: '/accounts/{accountId}/r2/buckets/{bucketName}/sippy', method: 'put', ...variables, signal });
+
+export type R2CreateTempAccessCredentialsPathParams = {
+  accountId: Schemas.R2AccountIdentifier;
+};
+
+export type R2CreateTempAccessCredentialsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.R2V4ResponseFailure;
+}>;
+
+export type R2CreateTempAccessCredentialsResponse = {
+  errors: Schemas.R2Errors;
+  messages: Schemas.R2Messages;
+  result: Schemas.R2TempAccessCredsResponse;
+  /**
+   * Whether the API call was successful
+   */
+  success: true;
+};
+
+export type R2CreateTempAccessCredentialsVariables = {
+  body: Schemas.R2TempAccessCredsRequest;
+  pathParams: R2CreateTempAccessCredentialsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates temporary access credentials on a bucket that can be optionally scoped to prefixes or objects.
+ */
+export const r2CreateTempAccessCredentials = (
+  variables: R2CreateTempAccessCredentialsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    R2CreateTempAccessCredentialsResponse,
+    R2CreateTempAccessCredentialsError,
+    Schemas.R2TempAccessCredsRequest,
+    {},
+    {},
+    R2CreateTempAccessCredentialsPathParams
+  >({ url: '/accounts/{accountId}/r2/temp-access-credentials', method: 'post', ...variables, signal });
+
+export type RegistrarDomainsListDomainsPathParams = {
+  accountId: Schemas.RegistrarApiIdentifier;
+};
+
+export type RegistrarDomainsListDomainsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.RegistrarApiDomainResponseCollection & Schemas.RegistrarApiApiResponseCommonFailure;
+}>;
+
+export type RegistrarDomainsListDomainsVariables = {
+  pathParams: RegistrarDomainsListDomainsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * List domains handled by Registrar.
+ */
+export const registrarDomainsListDomains = (variables: RegistrarDomainsListDomainsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.RegistrarApiDomainResponseCollection,
+    RegistrarDomainsListDomainsError,
+    undefined,
+    {},
+    {},
+    RegistrarDomainsListDomainsPathParams
+  >({ url: '/accounts/{accountId}/registrar/domains', method: 'get', ...variables, signal });
+
+export type RegistrarDomainsGetDomainPathParams = {
+  domainName: Schemas.RegistrarApiDomainName;
+  accountId: Schemas.RegistrarApiIdentifier;
+};
+
+export type RegistrarDomainsGetDomainError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.RegistrarApiDomainResponseSingle & Schemas.RegistrarApiApiResponseCommonFailure;
+}>;
+
+export type RegistrarDomainsGetDomainVariables = {
+  pathParams: RegistrarDomainsGetDomainPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Show individual domain.
+ */
+export const registrarDomainsGetDomain = (variables: RegistrarDomainsGetDomainVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.RegistrarApiDomainResponseSingle,
+    RegistrarDomainsGetDomainError,
+    undefined,
+    {},
+    {},
+    RegistrarDomainsGetDomainPathParams
+  >({ url: '/accounts/{accountId}/registrar/domains/{domainName}', method: 'get', ...variables, signal });
+
+export type RegistrarDomainsUpdateDomainPathParams = {
+  domainName: Schemas.RegistrarApiDomainName;
+  accountId: Schemas.RegistrarApiIdentifier;
+};
+
+export type RegistrarDomainsUpdateDomainError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.RegistrarApiDomainResponseSingle & Schemas.RegistrarApiApiResponseCommonFailure;
+}>;
+
+export type RegistrarDomainsUpdateDomainRequestBody = Schemas.RegistrarApiDomainUpdateProperties;
+
+export type RegistrarDomainsUpdateDomainVariables = {
+  body?: RegistrarDomainsUpdateDomainRequestBody;
+  pathParams: RegistrarDomainsUpdateDomainPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update individual domain.
+ */
+export const registrarDomainsUpdateDomain = (variables: RegistrarDomainsUpdateDomainVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.RegistrarApiDomainResponseSingle,
+    RegistrarDomainsUpdateDomainError,
+    RegistrarDomainsUpdateDomainRequestBody,
+    {},
+    {},
+    RegistrarDomainsUpdateDomainPathParams
+  >({ url: '/accounts/{accountId}/registrar/domains/{domainName}', method: 'put', ...variables, signal });
+
+export type AccountRequestTracerRequestTracePathParams = {
+  accountId: Schemas.RequestTracerIdentifier;
+};
+
+export type AccountRequestTracerRequestTraceError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.RequestTracerApiResponseCommonFailure;
+}>;
+
+export type AccountRequestTracerRequestTraceResponse = Schemas.RequestTracerApiResponseCommon & {
+  /**
+   * Trace result with an origin status code
+   */
+  result?: {
+    /**
+     * HTTP Status code of zone response
+     */
+    status_code?: number;
+    trace?: Schemas.RequestTracerTrace;
+  };
+};
+
+export type AccountRequestTracerRequestTraceRequestBody = {
+  body?: {
+    /**
+     * Base64 encoded request body
+     *
+     * @example c29tZV9yZXF1ZXN0X2JvZHk=
+     */
+    base64?: string;
+    /**
+     * Arbitrary json as request body
+     */
+    json?: Record<string, any>;
+    /**
+     * Request body as plain text
+     */
+    plain_text?: string;
+  };
+  /**
+   * Additional request parameters
+   */
+  context?: {
+    /**
+     * Bot score used for evaluating tracing request processing
+     */
+    bot_score?: number;
+    /**
+     * Geodata for tracing request
+     */
+    geoloc?: {
+      /**
+       * @example London
+       */
+      city?: string;
+      continent?: string;
+      is_eu_country?: boolean;
+      iso_code?: string;
+      latitude?: number;
+      longitude?: number;
+      postal_code?: string;
+      region_code?: string;
+      subdivision_2_iso_code?: string;
+      timezone?: string;
+    };
+    /**
+     * Whether to skip any challenges for tracing request (e.g.: captcha)
+     *
+     * @example true
+     */
+    skip_challenge?: boolean;
+    /**
+     * Threat score used for evaluating tracing request processing
+     */
+    threat_score?: number;
+  };
+  /**
+   * Cookies added to tracing request
+   *
+   * @example {"cookie_name_1":"cookie_value_1","cookie_name_2":"cookie_value_2"}
+   */
+  cookies?: {
+    [key: string]: string;
+  };
+  /**
+   * Headers added to tracing request
+   *
+   * @example {"header_name_1":"header_value_1","header_name_2":"header_value_2"}
+   */
+  headers?: {
+    [key: string]: string;
+  };
+  /**
+   * HTTP Method of tracing request
+   *
+   * @example PUT
+   */
+  method: string;
+  /**
+   * HTTP Protocol of tracing request
+   *
+   * @example HTTP/1.1
+   */
+  protocol?: string;
+  /**
+   * Skip sending the request to the Origin server after all rules evaluation
+   */
+  skip_response?: boolean;
+  /**
+   * URL to which perform tracing request
+   *
+   * @example https://some.zone/some_path
+   */
+  url: string;
+};
+
+export type AccountRequestTracerRequestTraceVariables = {
+  body: AccountRequestTracerRequestTraceRequestBody;
+  pathParams: AccountRequestTracerRequestTracePathParams;
+} & FetcherExtraProps;
+
+export const accountRequestTracerRequestTrace = (
+  variables: AccountRequestTracerRequestTraceVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    AccountRequestTracerRequestTraceResponse,
+    AccountRequestTracerRequestTraceError,
+    AccountRequestTracerRequestTraceRequestBody,
+    {},
+    {},
+    AccountRequestTracerRequestTracePathParams
+  >({ url: '/accounts/{accountId}/request-tracer/trace', method: 'post', ...variables, signal });
+
+export type AccountRolesListRolesPathParams = {
+  accountId: Schemas.IamAccountIdentifier;
+};
+
+export type AccountRolesListRolesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type AccountRolesListRolesVariables = {
+  pathParams: AccountRolesListRolesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get all available roles for an account.
+ */
+export const accountRolesListRoles = (variables: AccountRolesListRolesVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.IamCollectionRoleResponse,
+    AccountRolesListRolesError,
+    undefined,
+    {},
+    {},
+    AccountRolesListRolesPathParams
+  >({ url: '/accounts/{accountId}/roles', method: 'get', ...variables, signal });
+
+export type AccountRolesRoleDetailsPathParams = {
+  roleId: Schemas.IamRoleComponentsSchemasIdentifier;
+  accountId: Schemas.IamAccountIdentifier;
+};
+
+export type AccountRolesRoleDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type AccountRolesRoleDetailsVariables = {
+  pathParams: AccountRolesRoleDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get information about a specific role for an account.
+ */
+export const accountRolesRoleDetails = (variables: AccountRolesRoleDetailsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.IamSingleRoleResponse,
+    AccountRolesRoleDetailsError,
+    undefined,
+    {},
+    {},
+    AccountRolesRoleDetailsPathParams
+  >({ url: '/accounts/{accountId}/roles/{roleId}', method: 'get', ...variables, signal });
+
+export type ListsGetListsPathParams = {
+  accountId: Schemas.ListsIdentifier;
+};
+
+export type ListsGetListsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ListsListsResponseCollection & Schemas.ListsApiResponseCommonFailure;
+}>;
+
+export type ListsGetListsVariables = {
+  pathParams: ListsGetListsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches all lists in the account.
+ */
+export const listsGetLists = (variables: ListsGetListsVariables, signal?: AbortSignal) =>
+  fetch<Schemas.ListsListsResponseCollection, ListsGetListsError, undefined, {}, {}, ListsGetListsPathParams>({
+    url: '/accounts/{accountId}/rules/lists',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type ListsCreateAListPathParams = {
+  accountId: Schemas.ListsIdentifier;
+};
+
+export type ListsCreateAListError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ListsListResponseCollection & Schemas.ListsApiResponseCommonFailure;
+}>;
+
+export type ListsCreateAListRequestBody = {
+  description?: Schemas.ListsDescription;
+  kind: Schemas.ListsKind;
+  name: Schemas.ListsName;
+};
+
+export type ListsCreateAListVariables = {
+  body: ListsCreateAListRequestBody;
+  pathParams: ListsCreateAListPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new list of the specified type.
+ */
+export const listsCreateAList = (variables: ListsCreateAListVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.ListsListResponseCollection,
+    ListsCreateAListError,
+    ListsCreateAListRequestBody,
+    {},
+    {},
+    ListsCreateAListPathParams
+  >({ url: '/accounts/{accountId}/rules/lists', method: 'post', ...variables, signal });
+
+export type ListsDeleteAListPathParams = {
+  listId: Schemas.ListsListId;
+  accountId: Schemas.ListsIdentifier;
+};
+
+export type ListsDeleteAListError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ListsListDeleteResponseCollection & Schemas.ListsApiResponseCommonFailure;
+}>;
+
+export type ListsDeleteAListVariables = {
+  pathParams: ListsDeleteAListPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes a specific list and all its items.
+ */
+export const listsDeleteAList = (variables: ListsDeleteAListVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.ListsListDeleteResponseCollection,
+    ListsDeleteAListError,
+    undefined,
+    {},
+    {},
+    ListsDeleteAListPathParams
+  >({ url: '/accounts/{accountId}/rules/lists/{listId}', method: 'delete', ...variables, signal });
+
+export type ListsGetAListPathParams = {
+  listId: Schemas.ListsListId;
+  accountId: Schemas.ListsIdentifier;
+};
+
+export type ListsGetAListError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ListsListResponseCollection & Schemas.ListsApiResponseCommonFailure;
+}>;
+
+export type ListsGetAListVariables = {
+  pathParams: ListsGetAListPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the details of a list.
+ */
+export const listsGetAList = (variables: ListsGetAListVariables, signal?: AbortSignal) =>
+  fetch<Schemas.ListsListResponseCollection, ListsGetAListError, undefined, {}, {}, ListsGetAListPathParams>({
+    url: '/accounts/{accountId}/rules/lists/{listId}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type ListsUpdateAListPathParams = {
+  listId: Schemas.ListsListId;
+  accountId: Schemas.ListsIdentifier;
+};
+
+export type ListsUpdateAListError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ListsListResponseCollection & Schemas.ListsApiResponseCommonFailure;
+}>;
+
+export type ListsUpdateAListRequestBody = {
+  description?: Schemas.ListsDescription;
+};
+
+export type ListsUpdateAListVariables = {
+  body?: ListsUpdateAListRequestBody;
+  pathParams: ListsUpdateAListPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates the description of a list.
+ */
+export const listsUpdateAList = (variables: ListsUpdateAListVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.ListsListResponseCollection,
+    ListsUpdateAListError,
+    ListsUpdateAListRequestBody,
+    {},
+    {},
+    ListsUpdateAListPathParams
+  >({ url: '/accounts/{accountId}/rules/lists/{listId}', method: 'put', ...variables, signal });
+
+export type ListsDeleteListItemsPathParams = {
+  listId: Schemas.ListsListId;
+  accountId: Schemas.ListsIdentifier;
+};
+
+export type ListsDeleteListItemsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ListsListsAsyncResponse & Schemas.ListsApiResponseCommonFailure;
+}>;
+
+export type ListsDeleteListItemsRequestBody = {
+  /**
+   * @minItems 1
+   */
+  items?: {
+    id?: Schemas.ListsItemId;
+  }[];
+};
+
+export type ListsDeleteListItemsVariables = {
+  body?: ListsDeleteListItemsRequestBody;
+  pathParams: ListsDeleteListItemsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Removes one or more items from a list.
+ *
+ * This operation is asynchronous. To get current the operation status, invoke the [Get bulk operation status](/operations/lists-get-bulk-operation-status) endpoint with the returned `operation_id`.
+ */
+export const listsDeleteListItems = (variables: ListsDeleteListItemsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.ListsListsAsyncResponse,
+    ListsDeleteListItemsError,
+    ListsDeleteListItemsRequestBody,
+    {},
+    {},
+    ListsDeleteListItemsPathParams
+  >({ url: '/accounts/{accountId}/rules/lists/{listId}/items', method: 'delete', ...variables, signal });
+
+export type ListsGetListItemsPathParams = {
+  listId: Schemas.ListsListId;
+  accountId: Schemas.ListsIdentifier;
+};
+
+export type ListsGetListItemsQueryParams = {
+  /**
+   * @example zzz
+   */
+  cursor?: string;
+  /**
+   * @maximum 500
+   * @minimum 1
+   */
+  per_page?: number;
+  /**
+   * @example 1.1.1.
+   */
+  search?: string;
+};
+
+export type ListsGetListItemsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ListsItemsListResponseCollection & Schemas.ListsApiResponseCommonFailure;
+}>;
+
+export type ListsGetListItemsVariables = {
+  pathParams: ListsGetListItemsPathParams;
+  queryParams?: ListsGetListItemsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches all the items in the list.
+ */
+export const listsGetListItems = (variables: ListsGetListItemsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.ListsItemsListResponseCollection,
+    ListsGetListItemsError,
+    undefined,
+    {},
+    ListsGetListItemsQueryParams,
+    ListsGetListItemsPathParams
+  >({ url: '/accounts/{accountId}/rules/lists/{listId}/items', method: 'get', ...variables, signal });
+
+export type ListsCreateListItemsPathParams = {
+  listId: Schemas.ListsListId;
+  accountId: Schemas.ListsIdentifier;
+};
+
+export type ListsCreateListItemsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ListsListsAsyncResponse & Schemas.ListsApiResponseCommonFailure;
+}>;
+
+export type ListsCreateListItemsVariables = {
+  body?: Schemas.ListsItemsUpdateRequestCollection;
+  pathParams: ListsCreateListItemsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Appends new items to the list.
+ *
+ * This operation is asynchronous. To get current the operation status, invoke the [Get bulk operation status](/operations/lists-get-bulk-operation-status) endpoint with the returned `operation_id`.
+ */
+export const listsCreateListItems = (variables: ListsCreateListItemsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.ListsListsAsyncResponse,
+    ListsCreateListItemsError,
+    Schemas.ListsItemsUpdateRequestCollection,
+    {},
+    {},
+    ListsCreateListItemsPathParams
+  >({ url: '/accounts/{accountId}/rules/lists/{listId}/items', method: 'post', ...variables, signal });
+
+export type ListsUpdateAllListItemsPathParams = {
+  listId: Schemas.ListsListId;
+  accountId: Schemas.ListsIdentifier;
+};
+
+export type ListsUpdateAllListItemsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ListsListsAsyncResponse & Schemas.ListsApiResponseCommonFailure;
+}>;
+
+export type ListsUpdateAllListItemsVariables = {
+  body?: Schemas.ListsItemsUpdateRequestCollection;
+  pathParams: ListsUpdateAllListItemsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Removes all existing items from the list and adds the provided items to the list.
+ *
+ * This operation is asynchronous. To get current the operation status, invoke the [Get bulk operation status](/operations/lists-get-bulk-operation-status) endpoint with the returned `operation_id`.
+ */
+export const listsUpdateAllListItems = (variables: ListsUpdateAllListItemsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.ListsListsAsyncResponse,
+    ListsUpdateAllListItemsError,
+    Schemas.ListsItemsUpdateRequestCollection,
+    {},
+    {},
+    ListsUpdateAllListItemsPathParams
+  >({ url: '/accounts/{accountId}/rules/lists/{listId}/items', method: 'put', ...variables, signal });
+
+export type ListAccountRulesetsPathParams = {
+  accountId: Schemas.RulesetsAccountId;
+};
+
+export type ListAccountRulesetsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type ListAccountRulesetsVariables = {
+  pathParams: ListAccountRulesetsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches all rulesets at the account level.
+ */
+export const listAccountRulesets = (variables: ListAccountRulesetsVariables, signal?: AbortSignal) =>
+  fetch<Responses.RulesetsRulesets, ListAccountRulesetsError, undefined, {}, {}, ListAccountRulesetsPathParams>({
+    url: '/accounts/{accountId}/rulesets',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type CreateAccountRulesetPathParams = {
+  accountId: Schemas.RulesetsAccountId;
+};
+
+export type CreateAccountRulesetError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type CreateAccountRulesetVariables = {
+  body?: RequestBodies.RulesetsCreateRuleset;
+  pathParams: CreateAccountRulesetPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a ruleset at the account level.
+ */
+export const createAccountRuleset = (variables: CreateAccountRulesetVariables, signal?: AbortSignal) =>
+  fetch<
+    Responses.RulesetsRuleset,
+    CreateAccountRulesetError,
+    RequestBodies.RulesetsCreateRuleset,
+    {},
+    {},
+    CreateAccountRulesetPathParams
+  >({ url: '/accounts/{accountId}/rulesets', method: 'post', ...variables, signal });
+
+export type GetAccountEntrypointRulesetPathParams = {
+  rulesetPhase: Schemas.RulesetsRulesetPhase;
+  accountId: Schemas.RulesetsAccountId;
+};
+
+export type GetAccountEntrypointRulesetError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type GetAccountEntrypointRulesetVariables = {
+  pathParams: GetAccountEntrypointRulesetPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the latest version of the account entry point ruleset for a given phase.
+ */
+export const getAccountEntrypointRuleset = (variables: GetAccountEntrypointRulesetVariables, signal?: AbortSignal) =>
+  fetch<
+    Responses.RulesetsRuleset,
+    GetAccountEntrypointRulesetError,
+    undefined,
+    {},
+    {},
+    GetAccountEntrypointRulesetPathParams
+  >({ url: '/accounts/{accountId}/rulesets/phases/{rulesetPhase}/entrypoint', method: 'get', ...variables, signal });
+
+export type UpdateAccountEntrypointRulesetPathParams = {
+  rulesetPhase: Schemas.RulesetsRulesetPhase;
+  accountId: Schemas.RulesetsAccountId;
+};
+
+export type UpdateAccountEntrypointRulesetError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type UpdateAccountEntrypointRulesetVariables = {
+  body?: RequestBodies.RulesetsUpdateEntrypointRuleset;
+  pathParams: UpdateAccountEntrypointRulesetPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates an account entry point ruleset, creating a new version.
+ */
+export const updateAccountEntrypointRuleset = (
+  variables: UpdateAccountEntrypointRulesetVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Responses.RulesetsRuleset,
+    UpdateAccountEntrypointRulesetError,
+    RequestBodies.RulesetsUpdateEntrypointRuleset,
+    {},
+    {},
+    UpdateAccountEntrypointRulesetPathParams
+  >({ url: '/accounts/{accountId}/rulesets/phases/{rulesetPhase}/entrypoint', method: 'put', ...variables, signal });
+
+export type ListAccountEntrypointRulesetVersionsPathParams = {
+  rulesetPhase: Schemas.RulesetsRulesetPhase;
+  accountId: Schemas.RulesetsAccountId;
+};
+
+export type ListAccountEntrypointRulesetVersionsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type ListAccountEntrypointRulesetVersionsVariables = {
+  pathParams: ListAccountEntrypointRulesetVersionsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the versions of an account entry point ruleset.
+ */
+export const listAccountEntrypointRulesetVersions = (
+  variables: ListAccountEntrypointRulesetVersionsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Responses.RulesetsRulesets,
+    ListAccountEntrypointRulesetVersionsError,
+    undefined,
+    {},
+    {},
+    ListAccountEntrypointRulesetVersionsPathParams
+  >({
+    url: '/accounts/{accountId}/rulesets/phases/{rulesetPhase}/entrypoint/versions',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type GetAccountEntrypointRulesetVersionPathParams = {
+  rulesetVersion: Schemas.RulesetsRulesetVersion;
+  rulesetPhase: Schemas.RulesetsRulesetPhase;
+  accountId: Schemas.RulesetsAccountId;
+};
+
+export type GetAccountEntrypointRulesetVersionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type GetAccountEntrypointRulesetVersionVariables = {
+  pathParams: GetAccountEntrypointRulesetVersionPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a specific version of an account entry point ruleset.
+ */
+export const getAccountEntrypointRulesetVersion = (
+  variables: GetAccountEntrypointRulesetVersionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Responses.RulesetsRuleset,
+    GetAccountEntrypointRulesetVersionError,
+    undefined,
+    {},
+    {},
+    GetAccountEntrypointRulesetVersionPathParams
+  >({
+    url: '/accounts/{accountId}/rulesets/phases/{rulesetPhase}/entrypoint/versions/{rulesetVersion}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type DeleteAccountRulesetPathParams = {
+  rulesetId: Schemas.RulesetsRulesetId;
+  accountId: Schemas.RulesetsAccountId;
+};
+
+export type DeleteAccountRulesetError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type DeleteAccountRulesetVariables = {
+  pathParams: DeleteAccountRulesetPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes all versions of an existing account ruleset.
+ */
+export const deleteAccountRuleset = (variables: DeleteAccountRulesetVariables, signal?: AbortSignal) =>
+  fetch<Responses.RulesetsEmpty, DeleteAccountRulesetError, undefined, {}, {}, DeleteAccountRulesetPathParams>({
+    url: '/accounts/{accountId}/rulesets/{rulesetId}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type GetAccountRulesetPathParams = {
+  rulesetId: Schemas.RulesetsRulesetId;
+  accountId: Schemas.RulesetsAccountId;
+};
+
+export type GetAccountRulesetError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type GetAccountRulesetVariables = {
+  pathParams: GetAccountRulesetPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the latest version of an account ruleset.
+ */
+export const getAccountRuleset = (variables: GetAccountRulesetVariables, signal?: AbortSignal) =>
+  fetch<Responses.RulesetsRuleset, GetAccountRulesetError, undefined, {}, {}, GetAccountRulesetPathParams>({
+    url: '/accounts/{accountId}/rulesets/{rulesetId}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type UpdateAccountRulesetPathParams = {
+  rulesetId: Schemas.RulesetsRulesetId;
+  accountId: Schemas.RulesetsAccountId;
+};
+
+export type UpdateAccountRulesetError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type UpdateAccountRulesetVariables = {
+  body?: RequestBodies.RulesetsUpdateRuleset;
+  pathParams: UpdateAccountRulesetPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates an account ruleset, creating a new version.
+ */
+export const updateAccountRuleset = (variables: UpdateAccountRulesetVariables, signal?: AbortSignal) =>
+  fetch<
+    Responses.RulesetsRuleset,
+    UpdateAccountRulesetError,
+    RequestBodies.RulesetsUpdateRuleset,
+    {},
+    {},
+    UpdateAccountRulesetPathParams
+  >({ url: '/accounts/{accountId}/rulesets/{rulesetId}', method: 'put', ...variables, signal });
+
+export type CreateAccountRulesetRulePathParams = {
+  rulesetId: Schemas.RulesetsRulesetId;
+  accountId: Schemas.RulesetsAccountId;
+};
+
+export type CreateAccountRulesetRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type CreateAccountRulesetRuleVariables = {
+  body?: RequestBodies.RulesetsRule;
+  pathParams: CreateAccountRulesetRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Adds a new rule to an account ruleset. The rule will be added to the end of the existing list of rules in the ruleset by default.
+ */
+export const createAccountRulesetRule = (variables: CreateAccountRulesetRuleVariables, signal?: AbortSignal) =>
+  fetch<
+    Responses.RulesetsRuleset,
+    CreateAccountRulesetRuleError,
+    RequestBodies.RulesetsRule,
+    {},
+    {},
+    CreateAccountRulesetRulePathParams
+  >({ url: '/accounts/{accountId}/rulesets/{rulesetId}/rules', method: 'post', ...variables, signal });
+
+export type DeleteAccountRulesetRulePathParams = {
+  ruleId: Schemas.RulesetsRuleId;
+  rulesetId: Schemas.RulesetsRulesetId;
+  accountId: Schemas.RulesetsAccountId;
+};
+
+export type DeleteAccountRulesetRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type DeleteAccountRulesetRuleVariables = {
+  pathParams: DeleteAccountRulesetRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes an existing rule from an account ruleset.
+ */
+export const deleteAccountRulesetRule = (variables: DeleteAccountRulesetRuleVariables, signal?: AbortSignal) =>
+  fetch<
+    Responses.RulesetsRuleset,
+    DeleteAccountRulesetRuleError,
+    undefined,
+    {},
+    {},
+    DeleteAccountRulesetRulePathParams
+  >({ url: '/accounts/{accountId}/rulesets/{rulesetId}/rules/{ruleId}', method: 'delete', ...variables, signal });
+
+export type UpdateAccountRulesetRulePathParams = {
+  ruleId: Schemas.RulesetsRuleId;
+  rulesetId: Schemas.RulesetsRulesetId;
+  accountId: Schemas.RulesetsAccountId;
+};
+
+export type UpdateAccountRulesetRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type UpdateAccountRulesetRuleVariables = {
+  body?: RequestBodies.RulesetsRule;
+  pathParams: UpdateAccountRulesetRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates an existing rule in an account ruleset.
+ */
+export const updateAccountRulesetRule = (variables: UpdateAccountRulesetRuleVariables, signal?: AbortSignal) =>
+  fetch<
+    Responses.RulesetsRuleset,
+    UpdateAccountRulesetRuleError,
+    RequestBodies.RulesetsRule,
+    {},
+    {},
+    UpdateAccountRulesetRulePathParams
+  >({ url: '/accounts/{accountId}/rulesets/{rulesetId}/rules/{ruleId}', method: 'patch', ...variables, signal });
+
+export type ListAccountRulesetVersionsPathParams = {
+  rulesetId: Schemas.RulesetsRulesetId;
+  accountId: Schemas.RulesetsAccountId;
+};
+
+export type ListAccountRulesetVersionsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type ListAccountRulesetVersionsVariables = {
+  pathParams: ListAccountRulesetVersionsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the versions of an account ruleset.
+ */
+export const listAccountRulesetVersions = (variables: ListAccountRulesetVersionsVariables, signal?: AbortSignal) =>
+  fetch<
+    Responses.RulesetsRulesets,
+    ListAccountRulesetVersionsError,
+    undefined,
+    {},
+    {},
+    ListAccountRulesetVersionsPathParams
+  >({ url: '/accounts/{accountId}/rulesets/{rulesetId}/versions', method: 'get', ...variables, signal });
+
+export type DeleteAccountRulesetVersionPathParams = {
+  rulesetVersion: Schemas.RulesetsRulesetVersion;
+  rulesetId: Schemas.RulesetsRulesetId;
+  accountId: Schemas.RulesetsAccountId;
+};
+
+export type DeleteAccountRulesetVersionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type DeleteAccountRulesetVersionVariables = {
+  pathParams: DeleteAccountRulesetVersionPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes an existing version of an account ruleset.
+ */
+export const deleteAccountRulesetVersion = (variables: DeleteAccountRulesetVersionVariables, signal?: AbortSignal) =>
+  fetch<
+    Responses.RulesetsEmpty,
+    DeleteAccountRulesetVersionError,
+    undefined,
+    {},
+    {},
+    DeleteAccountRulesetVersionPathParams
+  >({
+    url: '/accounts/{accountId}/rulesets/{rulesetId}/versions/{rulesetVersion}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type GetAccountRulesetVersionPathParams = {
+  rulesetVersion: Schemas.RulesetsRulesetVersion;
+  rulesetId: Schemas.RulesetsRulesetId;
+  accountId: Schemas.RulesetsAccountId;
+};
+
+export type GetAccountRulesetVersionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type GetAccountRulesetVersionVariables = {
+  pathParams: GetAccountRulesetVersionPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a specific version of an account ruleset.
+ */
+export const getAccountRulesetVersion = (variables: GetAccountRulesetVersionVariables, signal?: AbortSignal) =>
+  fetch<
+    Responses.RulesetsRuleset,
+    GetAccountRulesetVersionError,
+    undefined,
+    {},
+    {},
+    GetAccountRulesetVersionPathParams
+  >({
+    url: '/accounts/{accountId}/rulesets/{rulesetId}/versions/{rulesetVersion}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type ListAccountRulesetVersionRulesByTagPathParams = {
+  ruleTag: Schemas.RulesetsRuleCategory;
+  rulesetVersion: Schemas.RulesetsRulesetVersion;
+  rulesetId: Schemas.RulesetsRulesetId;
+  accountId: Schemas.RulesetsAccountId;
+};
+
+export type ListAccountRulesetVersionRulesByTagError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type ListAccountRulesetVersionRulesByTagVariables = {
+  pathParams: ListAccountRulesetVersionRulesByTagPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the rules of a managed account ruleset version for a given tag.
+ */
+export const listAccountRulesetVersionRulesByTag = (
+  variables: ListAccountRulesetVersionRulesByTagVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Responses.RulesetsRuleset,
+    ListAccountRulesetVersionRulesByTagError,
+    undefined,
+    {},
+    {},
+    ListAccountRulesetVersionRulesByTagPathParams
+  >({
+    url: '/accounts/{accountId}/rulesets/{rulesetId}/versions/{rulesetVersion}/by_tag/{ruleTag}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type WebAnalyticsCreateSitePathParams = {
+  accountId: Schemas.RumIdentifier;
+};
+
+export type WebAnalyticsCreateSiteError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.RumApiResponseCommonFailure;
+}>;
+
+export type WebAnalyticsCreateSiteVariables = {
+  body?: Schemas.RumCreateSiteRequest;
+  pathParams: WebAnalyticsCreateSitePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new Web Analytics site.
+ */
+export const webAnalyticsCreateSite = (variables: WebAnalyticsCreateSiteVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.RumSiteResponseSingle,
+    WebAnalyticsCreateSiteError,
+    Schemas.RumCreateSiteRequest,
+    {},
+    {},
+    WebAnalyticsCreateSitePathParams
+  >({ url: '/accounts/{accountId}/rum/site_info', method: 'post', ...variables, signal });
+
+export type WebAnalyticsListSitesPathParams = {
+  accountId: Schemas.RumIdentifier;
+};
+
+export type WebAnalyticsListSitesQueryParams = {
+  per_page?: Schemas.RumPerPage;
+  page?: Schemas.RumPage;
+  order_by?: Schemas.RumOrderBy;
+};
+
+export type WebAnalyticsListSitesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.RumApiResponseCommonFailure;
+}>;
+
+export type WebAnalyticsListSitesVariables = {
+  pathParams: WebAnalyticsListSitesPathParams;
+  queryParams?: WebAnalyticsListSitesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists all Web Analytics sites of an account.
+ */
+export const webAnalyticsListSites = (variables: WebAnalyticsListSitesVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.RumSitesResponseCollection,
+    WebAnalyticsListSitesError,
+    undefined,
+    {},
+    WebAnalyticsListSitesQueryParams,
+    WebAnalyticsListSitesPathParams
+  >({ url: '/accounts/{accountId}/rum/site_info/list', method: 'get', ...variables, signal });
+
+export type WebAnalyticsDeleteSitePathParams = {
+  accountId: Schemas.RumIdentifier;
+  siteId: Schemas.RumIdentifier;
+};
+
+export type WebAnalyticsDeleteSiteError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.RumApiResponseCommonFailure;
+}>;
+
+export type WebAnalyticsDeleteSiteVariables = {
+  pathParams: WebAnalyticsDeleteSitePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes an existing Web Analytics site.
+ */
+export const webAnalyticsDeleteSite = (variables: WebAnalyticsDeleteSiteVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.RumSiteTagResponseSingle,
+    WebAnalyticsDeleteSiteError,
+    undefined,
+    {},
+    {},
+    WebAnalyticsDeleteSitePathParams
+  >({ url: '/accounts/{accountId}/rum/site_info/{siteId}', method: 'delete', ...variables, signal });
+
+export type WebAnalyticsGetSitePathParams = {
+  accountId: Schemas.RumIdentifier;
+  siteId: Schemas.RumIdentifier;
+};
+
+export type WebAnalyticsGetSiteError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.RumApiResponseCommonFailure;
+}>;
+
+export type WebAnalyticsGetSiteVariables = {
+  pathParams: WebAnalyticsGetSitePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Retrieves a Web Analytics site.
+ */
+export const webAnalyticsGetSite = (variables: WebAnalyticsGetSiteVariables, signal?: AbortSignal) =>
+  fetch<Schemas.RumSiteResponseSingle, WebAnalyticsGetSiteError, undefined, {}, {}, WebAnalyticsGetSitePathParams>({
+    url: '/accounts/{accountId}/rum/site_info/{siteId}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type WebAnalyticsUpdateSitePathParams = {
+  accountId: Schemas.RumIdentifier;
+  siteId: Schemas.RumIdentifier;
+};
+
+export type WebAnalyticsUpdateSiteError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.RumApiResponseCommonFailure;
+}>;
+
+export type WebAnalyticsUpdateSiteVariables = {
+  body?: Schemas.RumCreateSiteRequest;
+  pathParams: WebAnalyticsUpdateSitePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates an existing Web Analytics site.
+ */
+export const webAnalyticsUpdateSite = (variables: WebAnalyticsUpdateSiteVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.RumSiteResponseSingle,
+    WebAnalyticsUpdateSiteError,
+    Schemas.RumCreateSiteRequest,
+    {},
+    {},
+    WebAnalyticsUpdateSitePathParams
+  >({ url: '/accounts/{accountId}/rum/site_info/{siteId}', method: 'put', ...variables, signal });
+
+export type WebAnalyticsCreateRulePathParams = {
+  accountId: Schemas.RumIdentifier;
+  rulesetId: Schemas.RumRulesetIdentifier;
+};
+
+export type WebAnalyticsCreateRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.RumApiResponseCommonFailure;
+}>;
+
+export type WebAnalyticsCreateRuleVariables = {
+  body?: Schemas.RumCreateRuleRequest;
+  pathParams: WebAnalyticsCreateRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new rule in a Web Analytics ruleset.
+ */
+export const webAnalyticsCreateRule = (variables: WebAnalyticsCreateRuleVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.RumRuleResponseSingle,
+    WebAnalyticsCreateRuleError,
+    Schemas.RumCreateRuleRequest,
+    {},
+    {},
+    WebAnalyticsCreateRulePathParams
+  >({ url: '/accounts/{accountId}/rum/v2/{rulesetId}/rule', method: 'post', ...variables, signal });
+
+export type WebAnalyticsDeleteRulePathParams = {
+  accountId: Schemas.RumIdentifier;
+  rulesetId: Schemas.RumRulesetIdentifier;
+  ruleId: Schemas.RumRuleIdentifier;
+};
+
+export type WebAnalyticsDeleteRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.RumApiResponseCommonFailure;
+}>;
+
+export type WebAnalyticsDeleteRuleVariables = {
+  pathParams: WebAnalyticsDeleteRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes an existing rule from a Web Analytics ruleset.
+ */
+export const webAnalyticsDeleteRule = (variables: WebAnalyticsDeleteRuleVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.RumRuleIdResponseSingle,
+    WebAnalyticsDeleteRuleError,
+    undefined,
+    {},
+    {},
+    WebAnalyticsDeleteRulePathParams
+  >({ url: '/accounts/{accountId}/rum/v2/{rulesetId}/rule/{ruleId}', method: 'delete', ...variables, signal });
+
+export type WebAnalyticsUpdateRulePathParams = {
+  accountId: Schemas.RumIdentifier;
+  rulesetId: Schemas.RumRulesetIdentifier;
+  ruleId: Schemas.RumRuleIdentifier;
+};
+
+export type WebAnalyticsUpdateRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.RumApiResponseCommonFailure;
+}>;
+
+export type WebAnalyticsUpdateRuleVariables = {
+  body?: Schemas.RumCreateRuleRequest;
+  pathParams: WebAnalyticsUpdateRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a rule in a Web Analytics ruleset.
+ */
+export const webAnalyticsUpdateRule = (variables: WebAnalyticsUpdateRuleVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.RumRuleResponseSingle,
+    WebAnalyticsUpdateRuleError,
+    Schemas.RumCreateRuleRequest,
+    {},
+    {},
+    WebAnalyticsUpdateRulePathParams
+  >({ url: '/accounts/{accountId}/rum/v2/{rulesetId}/rule/{ruleId}', method: 'put', ...variables, signal });
+
+export type WebAnalyticsListRulesPathParams = {
+  accountId: Schemas.RumIdentifier;
+  rulesetId: Schemas.RumRulesetIdentifier;
+};
+
+export type WebAnalyticsListRulesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.RumApiResponseCommonFailure;
+}>;
+
+export type WebAnalyticsListRulesVariables = {
+  pathParams: WebAnalyticsListRulesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists all the rules in a Web Analytics ruleset.
+ */
+export const webAnalyticsListRules = (variables: WebAnalyticsListRulesVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.RumRulesResponseCollection,
+    WebAnalyticsListRulesError,
+    undefined,
+    {},
+    {},
+    WebAnalyticsListRulesPathParams
+  >({ url: '/accounts/{accountId}/rum/v2/{rulesetId}/rules', method: 'get', ...variables, signal });
+
+export type WebAnalyticsModifyRulesPathParams = {
+  accountId: Schemas.RumIdentifier;
+  rulesetId: Schemas.RumRulesetIdentifier;
+};
+
+export type WebAnalyticsModifyRulesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.RumApiResponseCommonFailure;
+}>;
+
+export type WebAnalyticsModifyRulesVariables = {
+  body?: Schemas.RumModifyRulesRequest;
+  pathParams: WebAnalyticsModifyRulesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Modifies one or more rules in a Web Analytics ruleset with a single request.
+ */
+export const webAnalyticsModifyRules = (variables: WebAnalyticsModifyRulesVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.RumRulesResponseCollection,
+    WebAnalyticsModifyRulesError,
+    Schemas.RumModifyRulesRequest,
+    {},
+    {},
+    WebAnalyticsModifyRulesPathParams
+  >({ url: '/accounts/{accountId}/rum/v2/{rulesetId}/rules', method: 'post', ...variables, signal });
+
+export type SecondaryDnsAclListAcLsPathParams = {
+  accountId: Schemas.SecondaryDnsAccountIdentifier;
+};
+
+export type SecondaryDnsAclListAcLsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SecondaryDnsComponentsSchemasResponseCollection & Schemas.SecondaryDnsApiResponseCommonFailure;
+}>;
+
+export type SecondaryDnsAclListAcLsVariables = {
+  pathParams: SecondaryDnsAclListAcLsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * List ACLs.
+ */
+export const secondaryDnsAclListAcLs = (variables: SecondaryDnsAclListAcLsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.SecondaryDnsComponentsSchemasResponseCollection,
+    SecondaryDnsAclListAcLsError,
+    undefined,
+    {},
+    {},
+    SecondaryDnsAclListAcLsPathParams
+  >({ url: '/accounts/{accountId}/secondary_dns/acls', method: 'get', ...variables, signal });
+
+export type SecondaryDnsAclCreateAclPathParams = {
+  accountId: Schemas.SecondaryDnsAccountIdentifier;
+};
+
+export type SecondaryDnsAclCreateAclError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SecondaryDnsComponentsSchemasSingleResponse & Schemas.SecondaryDnsApiResponseCommonFailure;
+}>;
+
+export type SecondaryDnsAclCreateAclRequestBody = {
+  ip_range: Schemas.SecondaryDnsIpRange;
+  name: Schemas.SecondaryDnsAclComponentsSchemasName;
+};
+
+export type SecondaryDnsAclCreateAclVariables = {
+  body: SecondaryDnsAclCreateAclRequestBody;
+  pathParams: SecondaryDnsAclCreateAclPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create ACL.
+ */
+export const secondaryDnsAclCreateAcl = (variables: SecondaryDnsAclCreateAclVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.SecondaryDnsComponentsSchemasSingleResponse,
+    SecondaryDnsAclCreateAclError,
+    SecondaryDnsAclCreateAclRequestBody,
+    {},
+    {},
+    SecondaryDnsAclCreateAclPathParams
+  >({ url: '/accounts/{accountId}/secondary_dns/acls', method: 'post', ...variables, signal });
+
+export type SecondaryDnsAclDeleteAclPathParams = {
+  aclId: Schemas.SecondaryDnsComponentsSchemasIdentifier;
+  accountId: Schemas.SecondaryDnsAccountIdentifier;
+};
+
+export type SecondaryDnsAclDeleteAclError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SecondaryDnsComponentsSchemasIdResponse & Schemas.SecondaryDnsApiResponseCommonFailure;
+}>;
+
+export type SecondaryDnsAclDeleteAclVariables = {
+  pathParams: SecondaryDnsAclDeleteAclPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete ACL.
+ */
+export const secondaryDnsAclDeleteAcl = (variables: SecondaryDnsAclDeleteAclVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.SecondaryDnsComponentsSchemasIdResponse,
+    SecondaryDnsAclDeleteAclError,
+    undefined,
+    {},
+    {},
+    SecondaryDnsAclDeleteAclPathParams
+  >({ url: '/accounts/{accountId}/secondary_dns/acls/{aclId}', method: 'delete', ...variables, signal });
+
+export type SecondaryDnsAclAclDetailsPathParams = {
+  aclId: Schemas.SecondaryDnsComponentsSchemasIdentifier;
+  accountId: Schemas.SecondaryDnsAccountIdentifier;
+};
+
+export type SecondaryDnsAclAclDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SecondaryDnsComponentsSchemasSingleResponse & Schemas.SecondaryDnsApiResponseCommonFailure;
+}>;
+
+export type SecondaryDnsAclAclDetailsVariables = {
+  pathParams: SecondaryDnsAclAclDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get ACL.
+ */
+export const secondaryDnsAclAclDetails = (variables: SecondaryDnsAclAclDetailsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.SecondaryDnsComponentsSchemasSingleResponse,
+    SecondaryDnsAclAclDetailsError,
+    undefined,
+    {},
+    {},
+    SecondaryDnsAclAclDetailsPathParams
+  >({ url: '/accounts/{accountId}/secondary_dns/acls/{aclId}', method: 'get', ...variables, signal });
+
+export type SecondaryDnsAclUpdateAclPathParams = {
+  aclId: Schemas.SecondaryDnsComponentsSchemasIdentifier;
+  accountId: Schemas.SecondaryDnsAccountIdentifier;
+};
+
+export type SecondaryDnsAclUpdateAclError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SecondaryDnsComponentsSchemasSingleResponse & Schemas.SecondaryDnsApiResponseCommonFailure;
+}>;
+
+export type SecondaryDnsAclUpdateAclVariables = {
+  body: Schemas.SecondaryDnsAcl;
+  pathParams: SecondaryDnsAclUpdateAclPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Modify ACL.
+ */
+export const secondaryDnsAclUpdateAcl = (variables: SecondaryDnsAclUpdateAclVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.SecondaryDnsComponentsSchemasSingleResponse,
+    SecondaryDnsAclUpdateAclError,
+    Schemas.SecondaryDnsAcl,
+    {},
+    {},
+    SecondaryDnsAclUpdateAclPathParams
+  >({ url: '/accounts/{accountId}/secondary_dns/acls/{aclId}', method: 'put', ...variables, signal });
+
+export type SecondaryDnsPeerListPeersPathParams = {
+  accountId: Schemas.SecondaryDnsAccountIdentifier;
+};
+
+export type SecondaryDnsPeerListPeersError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SecondaryDnsSchemasResponseCollection & Schemas.SecondaryDnsApiResponseCommonFailure;
+}>;
+
+export type SecondaryDnsPeerListPeersVariables = {
+  pathParams: SecondaryDnsPeerListPeersPathParams;
+} & FetcherExtraProps;
+
+/**
+ * List Peers.
+ */
+export const secondaryDnsPeerListPeers = (variables: SecondaryDnsPeerListPeersVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.SecondaryDnsSchemasResponseCollection,
+    SecondaryDnsPeerListPeersError,
+    undefined,
+    {},
+    {},
+    SecondaryDnsPeerListPeersPathParams
+  >({ url: '/accounts/{accountId}/secondary_dns/peers', method: 'get', ...variables, signal });
+
+export type SecondaryDnsPeerCreatePeerPathParams = {
+  accountId: Schemas.SecondaryDnsAccountIdentifier;
+};
+
+export type SecondaryDnsPeerCreatePeerError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SecondaryDnsSchemasSingleResponse & Schemas.SecondaryDnsApiResponseCommonFailure;
+}>;
+
+export type SecondaryDnsPeerCreatePeerRequestBody = {
+  name: Schemas.SecondaryDnsComponentsSchemasName;
+};
+
+export type SecondaryDnsPeerCreatePeerVariables = {
+  body: SecondaryDnsPeerCreatePeerRequestBody;
+  pathParams: SecondaryDnsPeerCreatePeerPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create Peer.
+ */
+export const secondaryDnsPeerCreatePeer = (variables: SecondaryDnsPeerCreatePeerVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.SecondaryDnsSchemasSingleResponse,
+    SecondaryDnsPeerCreatePeerError,
+    SecondaryDnsPeerCreatePeerRequestBody,
+    {},
+    {},
+    SecondaryDnsPeerCreatePeerPathParams
+  >({ url: '/accounts/{accountId}/secondary_dns/peers', method: 'post', ...variables, signal });
+
+export type SecondaryDnsPeerDeletePeerPathParams = {
+  peerId: Schemas.SecondaryDnsComponentsSchemasIdentifier;
+  accountId: Schemas.SecondaryDnsAccountIdentifier;
+};
+
+export type SecondaryDnsPeerDeletePeerError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SecondaryDnsComponentsSchemasIdResponse & Schemas.SecondaryDnsApiResponseCommonFailure;
+}>;
+
+export type SecondaryDnsPeerDeletePeerVariables = {
+  pathParams: SecondaryDnsPeerDeletePeerPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete Peer.
+ */
+export const secondaryDnsPeerDeletePeer = (variables: SecondaryDnsPeerDeletePeerVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.SecondaryDnsComponentsSchemasIdResponse,
+    SecondaryDnsPeerDeletePeerError,
+    undefined,
+    {},
+    {},
+    SecondaryDnsPeerDeletePeerPathParams
+  >({ url: '/accounts/{accountId}/secondary_dns/peers/{peerId}', method: 'delete', ...variables, signal });
+
+export type SecondaryDnsPeerPeerDetailsPathParams = {
+  peerId: Schemas.SecondaryDnsComponentsSchemasIdentifier;
+  accountId: Schemas.SecondaryDnsAccountIdentifier;
+};
+
+export type SecondaryDnsPeerPeerDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SecondaryDnsSchemasSingleResponse & Schemas.SecondaryDnsApiResponseCommonFailure;
+}>;
+
+export type SecondaryDnsPeerPeerDetailsVariables = {
+  pathParams: SecondaryDnsPeerPeerDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get Peer.
+ */
+export const secondaryDnsPeerPeerDetails = (variables: SecondaryDnsPeerPeerDetailsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.SecondaryDnsSchemasSingleResponse,
+    SecondaryDnsPeerPeerDetailsError,
+    undefined,
+    {},
+    {},
+    SecondaryDnsPeerPeerDetailsPathParams
+  >({ url: '/accounts/{accountId}/secondary_dns/peers/{peerId}', method: 'get', ...variables, signal });
+
+export type SecondaryDnsPeerUpdatePeerPathParams = {
+  peerId: Schemas.SecondaryDnsComponentsSchemasIdentifier;
+  accountId: Schemas.SecondaryDnsAccountIdentifier;
+};
+
+export type SecondaryDnsPeerUpdatePeerError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SecondaryDnsSchemasSingleResponse & Schemas.SecondaryDnsApiResponseCommonFailure;
+}>;
+
+export type SecondaryDnsPeerUpdatePeerVariables = {
+  body: Schemas.SecondaryDnsPeer;
+  pathParams: SecondaryDnsPeerUpdatePeerPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Modify Peer.
+ */
+export const secondaryDnsPeerUpdatePeer = (variables: SecondaryDnsPeerUpdatePeerVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.SecondaryDnsSchemasSingleResponse,
+    SecondaryDnsPeerUpdatePeerError,
+    Schemas.SecondaryDnsPeer,
+    {},
+    {},
+    SecondaryDnsPeerUpdatePeerPathParams
+  >({ url: '/accounts/{accountId}/secondary_dns/peers/{peerId}', method: 'put', ...variables, signal });
+
+export type SecondaryDnsTsigListTsiGsPathParams = {
+  accountId: Schemas.SecondaryDnsAccountIdentifier;
+};
+
+export type SecondaryDnsTsigListTsiGsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SecondaryDnsResponseCollection & Schemas.SecondaryDnsApiResponseCommonFailure;
+}>;
+
+export type SecondaryDnsTsigListTsiGsVariables = {
+  pathParams: SecondaryDnsTsigListTsiGsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * List TSIGs.
+ */
+export const secondaryDnsTsigListTsiGs = (variables: SecondaryDnsTsigListTsiGsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.SecondaryDnsResponseCollection,
+    SecondaryDnsTsigListTsiGsError,
+    undefined,
+    {},
+    {},
+    SecondaryDnsTsigListTsiGsPathParams
+  >({ url: '/accounts/{accountId}/secondary_dns/tsigs', method: 'get', ...variables, signal });
+
+export type SecondaryDnsTsigCreateTsigPathParams = {
+  accountId: Schemas.SecondaryDnsAccountIdentifier;
+};
+
+export type SecondaryDnsTsigCreateTsigError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SecondaryDnsSingleResponse & Schemas.SecondaryDnsApiResponseCommonFailure;
+}>;
+
+export type SecondaryDnsTsigCreateTsigVariables = {
+  body: Schemas.SecondaryDnsTsig;
+  pathParams: SecondaryDnsTsigCreateTsigPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create TSIG.
+ */
+export const secondaryDnsTsigCreateTsig = (variables: SecondaryDnsTsigCreateTsigVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.SecondaryDnsSingleResponse,
+    SecondaryDnsTsigCreateTsigError,
+    Schemas.SecondaryDnsTsig,
+    {},
+    {},
+    SecondaryDnsTsigCreateTsigPathParams
+  >({ url: '/accounts/{accountId}/secondary_dns/tsigs', method: 'post', ...variables, signal });
+
+export type SecondaryDnsTsigDeleteTsigPathParams = {
+  tsigId: Schemas.SecondaryDnsSchemasIdentifier;
+  accountId: Schemas.SecondaryDnsAccountIdentifier;
+};
+
+export type SecondaryDnsTsigDeleteTsigError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SecondaryDnsSchemasIdResponse & Schemas.SecondaryDnsApiResponseCommonFailure;
+}>;
+
+export type SecondaryDnsTsigDeleteTsigVariables = {
+  pathParams: SecondaryDnsTsigDeleteTsigPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete TSIG.
+ */
+export const secondaryDnsTsigDeleteTsig = (variables: SecondaryDnsTsigDeleteTsigVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.SecondaryDnsSchemasIdResponse,
+    SecondaryDnsTsigDeleteTsigError,
+    undefined,
+    {},
+    {},
+    SecondaryDnsTsigDeleteTsigPathParams
+  >({ url: '/accounts/{accountId}/secondary_dns/tsigs/{tsigId}', method: 'delete', ...variables, signal });
+
+export type SecondaryDnsTsigTsigDetailsPathParams = {
+  tsigId: Schemas.SecondaryDnsSchemasIdentifier;
+  accountId: Schemas.SecondaryDnsAccountIdentifier;
+};
+
+export type SecondaryDnsTsigTsigDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SecondaryDnsSingleResponse & Schemas.SecondaryDnsApiResponseCommonFailure;
+}>;
+
+export type SecondaryDnsTsigTsigDetailsVariables = {
+  pathParams: SecondaryDnsTsigTsigDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get TSIG.
+ */
+export const secondaryDnsTsigTsigDetails = (variables: SecondaryDnsTsigTsigDetailsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.SecondaryDnsSingleResponse,
+    SecondaryDnsTsigTsigDetailsError,
+    undefined,
+    {},
+    {},
+    SecondaryDnsTsigTsigDetailsPathParams
+  >({ url: '/accounts/{accountId}/secondary_dns/tsigs/{tsigId}', method: 'get', ...variables, signal });
+
+export type SecondaryDnsTsigUpdateTsigPathParams = {
+  tsigId: Schemas.SecondaryDnsSchemasIdentifier;
+  accountId: Schemas.SecondaryDnsAccountIdentifier;
+};
+
+export type SecondaryDnsTsigUpdateTsigError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SecondaryDnsSingleResponse & Schemas.SecondaryDnsApiResponseCommonFailure;
+}>;
+
+export type SecondaryDnsTsigUpdateTsigVariables = {
+  body: Schemas.SecondaryDnsTsig;
+  pathParams: SecondaryDnsTsigUpdateTsigPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Modify TSIG.
+ */
+export const secondaryDnsTsigUpdateTsig = (variables: SecondaryDnsTsigUpdateTsigVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.SecondaryDnsSingleResponse,
+    SecondaryDnsTsigUpdateTsigError,
+    Schemas.SecondaryDnsTsig,
+    {},
+    {},
+    SecondaryDnsTsigUpdateTsigPathParams
+  >({ url: '/accounts/{accountId}/secondary_dns/tsigs/{tsigId}', method: 'put', ...variables, signal });
+
+export type SharesListPathParams = {
+  accountId: Schemas.ResourceSharingAccountId;
+};
+
+export type SharesListQueryParams = {
+  /**
+   * Filter shares by status.
+   */
+  status?: Schemas.ResourceSharingShareStatus;
+  /**
+   * Filter shares by kind.
+   */
+  kind?: Schemas.ResourceSharingShareKind;
+  /**
+   * Filter shares by target_type.
+   */
+  target_type?: Schemas.ResourceSharingShareTargetType;
+  /**
+   * Order shares by values in the given field.
+   *
+   * @default created
+   */
+  order?: 'name' | 'created';
+  /**
+   * Direction to sort objects.
+   *
+   * @default asc
+   */
+  direction?: 'asc' | 'desc';
+  /**
+   * Page number.
+   *
+   * @example 2
+   * @minimum 0
+   * @multipleOf 1
+   */
+  page?: number;
+  /**
+   * Number of objects to return per page.
+   *
+   * @example 20
+   * @maximum 100
+   * @minimum 0
+   * @multipleOf 1
+   */
+  per_page?: number;
+};
+
+export type SharesListError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: Schemas.ResourceSharingApiResponseCommonFailure;
+    }
+  | {
+      status: 500;
+      payload: Schemas.ResourceSharingApiResponseCommonFailure;
+    }
+>;
+
+export type SharesListVariables = {
+  pathParams: SharesListPathParams;
+  queryParams?: SharesListQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists all account shares.
+ */
+export const sharesList = (variables: SharesListVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.ResourceSharingShareResponseCollection,
+    SharesListError,
+    undefined,
+    {},
+    SharesListQueryParams,
+    SharesListPathParams
+  >({ url: '/accounts/{accountId}/shares', method: 'get', ...variables, signal });
+
+export type ShareCreatePathParams = {
+  accountId: Schemas.ResourceSharingAccountId;
+};
+
+export type ShareCreateError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: Schemas.ResourceSharingApiResponseCommonFailure;
+    }
+  | {
+      status: 500;
+      payload: Schemas.ResourceSharingApiResponseCommonFailure;
+    }
+>;
+
+export type ShareCreateVariables = {
+  body: Schemas.ResourceSharingCreateShareRequest;
+  pathParams: ShareCreatePathParams;
+} & FetcherExtraProps;
+
+export const shareCreate = (variables: ShareCreateVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.ResourceSharingShareResponseSingle,
+    ShareCreateError,
+    Schemas.ResourceSharingCreateShareRequest,
+    {},
+    {},
+    ShareCreatePathParams
+  >({ url: '/accounts/{accountId}/shares', method: 'post', ...variables, signal });
+
+export type ShareDeletePathParams = {
+  accountId: Schemas.ResourceSharingAccountId;
+  shareId: Schemas.ResourceSharingShareId;
+};
+
+export type ShareDeleteError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: Schemas.ResourceSharingApiResponseCommonFailure;
+    }
+  | {
+      status: 500;
+      payload: Schemas.ResourceSharingApiResponseCommonFailure;
+    }
+>;
+
+export type ShareDeleteVariables = {
+  pathParams: ShareDeletePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletion is not immediate, an updated share object with a new status will be returned.
+ */
+export const shareDelete = (variables: ShareDeleteVariables, signal?: AbortSignal) =>
+  fetch<Schemas.ResourceSharingShareResponseSingle, ShareDeleteError, undefined, {}, {}, ShareDeletePathParams>({
+    url: '/accounts/{accountId}/shares/{shareId}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type SharesGetByIdPathParams = {
+  accountId: Schemas.ResourceSharingAccountId;
+  shareId: Schemas.ResourceSharingShareId;
+};
+
+export type SharesGetByIdError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: Schemas.ResourceSharingApiResponseCommonFailure;
+    }
+  | {
+      status: 500;
+      payload: Schemas.ResourceSharingApiResponseCommonFailure;
+    }
+>;
+
+export type SharesGetByIdVariables = {
+  pathParams: SharesGetByIdPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches share by ID.
+ */
+export const sharesGetById = (variables: SharesGetByIdVariables, signal?: AbortSignal) =>
+  fetch<Schemas.ResourceSharingShareResponseSingle, SharesGetByIdError, undefined, {}, {}, SharesGetByIdPathParams>({
+    url: '/accounts/{accountId}/shares/{shareId}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type ShareUpdatePathParams = {
+  accountId: Schemas.ResourceSharingAccountId;
+  shareId: Schemas.ResourceSharingShareId;
+};
+
+export type ShareUpdateError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: Schemas.ResourceSharingApiResponseCommonFailure;
+    }
+  | {
+      status: 500;
+      payload: Schemas.ResourceSharingApiResponseCommonFailure;
+    }
+>;
+
+export type ShareUpdateVariables = {
+  body: Schemas.ResourceSharingUpdateShareRequest;
+  pathParams: ShareUpdatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updating is not immediate, an updated share object with a new status will be returned.
+ */
+export const shareUpdate = (variables: ShareUpdateVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.ResourceSharingShareResponseSingle,
+    ShareUpdateError,
+    Schemas.ResourceSharingUpdateShareRequest,
+    {},
+    {},
+    ShareUpdatePathParams
+  >({ url: '/accounts/{accountId}/shares/{shareId}', method: 'put', ...variables, signal });
+
+export type ShareRecipientsListPathParams = {
+  accountId: Schemas.ResourceSharingAccountId;
+  shareId: Schemas.ResourceSharingShareId;
+};
+
+export type ShareRecipientsListQueryParams = {
+  /**
+   * Page number.
+   *
+   * @example 2
+   * @minimum 0
+   * @multipleOf 1
+   */
+  page?: number;
+  /**
+   * Number of objects to return per page.
+   *
+   * @example 20
+   * @maximum 100
+   * @minimum 0
+   * @multipleOf 1
+   */
+  per_page?: number;
+};
+
+export type ShareRecipientsListError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: Schemas.ResourceSharingApiResponseCommonFailure;
+    }
+  | {
+      status: 500;
+      payload: Schemas.ResourceSharingApiResponseCommonFailure;
+    }
+>;
+
+export type ShareRecipientsListVariables = {
+  pathParams: ShareRecipientsListPathParams;
+  queryParams?: ShareRecipientsListQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * List share recipients by share ID.
+ */
+export const shareRecipientsList = (variables: ShareRecipientsListVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.ResourceSharingShareRecipientResponseCollection,
+    ShareRecipientsListError,
+    undefined,
+    {},
+    ShareRecipientsListQueryParams,
+    ShareRecipientsListPathParams
+  >({ url: '/accounts/{accountId}/shares/{shareId}/recipients', method: 'get', ...variables, signal });
+
+export type ShareRecipientCreatePathParams = {
+  accountId: Schemas.ResourceSharingAccountId;
+  shareId: Schemas.ResourceSharingShareId;
+};
+
+export type ShareRecipientCreateError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: Schemas.ResourceSharingApiResponseCommonFailure;
+    }
+  | {
+      status: 500;
+      payload: Schemas.ResourceSharingApiResponseCommonFailure;
+    }
+>;
+
+export type ShareRecipientCreateVariables = {
+  body?: Schemas.ResourceSharingCreateShareRecipientRequest;
+  pathParams: ShareRecipientCreatePathParams;
+} & FetcherExtraProps;
+
+export const shareRecipientCreate = (variables: ShareRecipientCreateVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.ResourceSharingShareRecipientResponseSingle,
+    ShareRecipientCreateError,
+    Schemas.ResourceSharingCreateShareRecipientRequest,
+    {},
+    {},
+    ShareRecipientCreatePathParams
+  >({ url: '/accounts/{accountId}/shares/{shareId}/recipients', method: 'post', ...variables, signal });
+
+export type ShareRecipientDeletePathParams = {
+  accountId: Schemas.ResourceSharingAccountId;
+  shareId: Schemas.ResourceSharingShareId;
+  recipientId: Schemas.ResourceSharingRecipientId;
+};
+
+export type ShareRecipientDeleteError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: Schemas.ResourceSharingApiResponseCommonFailure;
+    }
+  | {
+      status: 500;
+      payload: Schemas.ResourceSharingApiResponseCommonFailure;
+    }
+>;
+
+export type ShareRecipientDeleteVariables = {
+  pathParams: ShareRecipientDeletePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletion is not immediate, an updated share recipient object with a new status will be returned.
+ */
+export const shareRecipientDelete = (variables: ShareRecipientDeleteVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.ResourceSharingShareRecipientResponseSingle,
+    ShareRecipientDeleteError,
+    undefined,
+    {},
+    {},
+    ShareRecipientDeletePathParams
+  >({ url: '/accounts/{accountId}/shares/{shareId}/recipients/{recipientId}', method: 'delete', ...variables, signal });
+
+export type ShareRecipientsGetByIdPathParams = {
+  accountId: Schemas.ResourceSharingAccountId;
+  shareId: Schemas.ResourceSharingShareId;
+  recipientId: Schemas.ResourceSharingRecipientId;
+};
+
+export type ShareRecipientsGetByIdError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: Schemas.ResourceSharingApiResponseCommonFailure;
+    }
+  | {
+      status: 500;
+      payload: Schemas.ResourceSharingApiResponseCommonFailure;
+    }
+>;
+
+export type ShareRecipientsGetByIdVariables = {
+  pathParams: ShareRecipientsGetByIdPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get share recipient by ID.
+ */
+export const shareRecipientsGetById = (variables: ShareRecipientsGetByIdVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.ResourceSharingShareRecipientResponseSingle,
+    ShareRecipientsGetByIdError,
+    undefined,
+    {},
+    {},
+    ShareRecipientsGetByIdPathParams
+  >({ url: '/accounts/{accountId}/shares/{shareId}/recipients/{recipientId}', method: 'get', ...variables, signal });
+
+export type ShareResourcesListPathParams = {
+  accountId: Schemas.ResourceSharingAccountId;
+  shareId: Schemas.ResourceSharingShareId;
+};
+
+export type ShareResourcesListQueryParams = {
+  /**
+   * Filter share resources by status.
+   */
+  status?: Schemas.ResourceSharingResourceStatus;
+  /**
+   * Filter share resources by resource_type.
+   */
+  resource_type?: Schemas.ResourceSharingResourceType;
+  /**
+   * Page number.
+   *
+   * @example 2
+   * @minimum 0
+   * @multipleOf 1
+   */
+  page?: number;
+  /**
+   * Number of objects to return per page.
+   *
+   * @example 20
+   * @maximum 100
+   * @minimum 0
+   * @multipleOf 1
+   */
+  per_page?: number;
+};
+
+export type ShareResourcesListError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: Schemas.ResourceSharingApiResponseCommonFailure;
+    }
+  | {
+      status: 500;
+      payload: Schemas.ResourceSharingApiResponseCommonFailure;
+    }
+>;
+
+export type ShareResourcesListVariables = {
+  pathParams: ShareResourcesListPathParams;
+  queryParams?: ShareResourcesListQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * List share resources by share ID.
+ */
+export const shareResourcesList = (variables: ShareResourcesListVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.ResourceSharingShareResourceResponseCollection,
+    ShareResourcesListError,
+    undefined,
+    {},
+    ShareResourcesListQueryParams,
+    ShareResourcesListPathParams
+  >({ url: '/accounts/{accountId}/shares/{shareId}/resources', method: 'get', ...variables, signal });
+
+export type ShareResourceCreatePathParams = {
+  accountId: Schemas.ResourceSharingAccountId;
+  shareId: Schemas.ResourceSharingShareId;
+};
+
+export type ShareResourceCreateError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: Schemas.ResourceSharingApiResponseCommonFailure;
+    }
+  | {
+      status: 500;
+      payload: Schemas.ResourceSharingApiResponseCommonFailure;
+    }
+>;
+
+export type ShareResourceCreateVariables = {
+  body: Schemas.ResourceSharingCreateShareResourceRequest;
+  pathParams: ShareResourceCreatePathParams;
+} & FetcherExtraProps;
+
+export const shareResourceCreate = (variables: ShareResourceCreateVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.ResourceSharingShareResourceResponseSingle,
+    ShareResourceCreateError,
+    Schemas.ResourceSharingCreateShareResourceRequest,
+    {},
+    {},
+    ShareResourceCreatePathParams
+  >({ url: '/accounts/{accountId}/shares/{shareId}/resources', method: 'post', ...variables, signal });
+
+export type ShareResourceDeletePathParams = {
+  accountId: Schemas.ResourceSharingAccountId;
+  shareId: Schemas.ResourceSharingShareId;
+  resourceId: Schemas.ResourceSharingResourceId;
+};
+
+export type ShareResourceDeleteError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: Schemas.ResourceSharingApiResponseCommonFailure;
+    }
+  | {
+      status: 500;
+      payload: Schemas.ResourceSharingApiResponseCommonFailure;
+    }
+>;
+
+export type ShareResourceDeleteVariables = {
+  pathParams: ShareResourceDeletePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletion is not immediate, an updated share resource object with a new status will be returned.
+ */
+export const shareResourceDelete = (variables: ShareResourceDeleteVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.ResourceSharingShareResourceResponseSingle,
+    ShareResourceDeleteError,
+    undefined,
+    {},
+    {},
+    ShareResourceDeletePathParams
+  >({ url: '/accounts/{accountId}/shares/{shareId}/resources/{resourceId}', method: 'delete', ...variables, signal });
+
+export type ShareResourcesGetByIdPathParams = {
+  accountId: Schemas.ResourceSharingAccountId;
+  shareId: Schemas.ResourceSharingShareId;
+  resourceId: Schemas.ResourceSharingResourceId;
+};
+
+export type ShareResourcesGetByIdError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: Schemas.ResourceSharingApiResponseCommonFailure;
+    }
+  | {
+      status: 500;
+      payload: Schemas.ResourceSharingApiResponseCommonFailure;
+    }
+>;
+
+export type ShareResourcesGetByIdVariables = {
+  pathParams: ShareResourcesGetByIdPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get share resource by ID.
+ */
+export const shareResourcesGetById = (variables: ShareResourcesGetByIdVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.ResourceSharingShareResourceResponseSingle,
+    ShareResourcesGetByIdError,
+    undefined,
+    {},
+    {},
+    ShareResourcesGetByIdPathParams
+  >({ url: '/accounts/{accountId}/shares/{shareId}/resources/{resourceId}', method: 'get', ...variables, signal });
+
+export type ShareResourceUpdatePathParams = {
+  accountId: Schemas.ResourceSharingAccountId;
+  shareId: Schemas.ResourceSharingShareId;
+  resourceId: Schemas.ResourceSharingResourceId;
+};
+
+export type ShareResourceUpdateError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: Schemas.ResourceSharingApiResponseCommonFailure;
+    }
+  | {
+      status: 500;
+      payload: Schemas.ResourceSharingApiResponseCommonFailure;
+    }
+>;
+
+export type ShareResourceUpdateVariables = {
+  body: Schemas.ResourceSharingUpdateShareResourceRequest;
+  pathParams: ShareResourceUpdatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update is not immediate, an updated share resource object with a new status will be returned.
+ */
+export const shareResourceUpdate = (variables: ShareResourceUpdateVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.ResourceSharingShareResourceResponseSingle,
+    ShareResourceUpdateError,
+    Schemas.ResourceSharingUpdateShareResourceRequest,
+    {},
+    {},
+    ShareResourceUpdatePathParams
+  >({ url: '/accounts/{accountId}/shares/{shareId}/resources/{resourceId}', method: 'put', ...variables, signal });
+
+export type WorkersKvRequestAnalyticsQueryRequestAnalyticsPathParams = {
+  accountId: Schemas.WorkersKvIdentifier;
+};
+
+export type WorkersKvRequestAnalyticsQueryRequestAnalyticsQueryParams = {
+  /**
+   * For specifying result metrics.
+   */
+  query?: {
+    /**
+     * Can be used to break down the data by given attributes.
+     *
+     * @default []
+     * @example accountId
+     * @example responseCode
+     */
+    dimensions?: ('accountId' | 'responseCode' | 'requestType')[];
+    /**
+     * Used to filter rows by one or more dimensions. Filters can be combined using OR and AND boolean logic. AND takes precedence over OR in all the expressions. The OR operator is defined using a comma (,) or OR keyword surrounded by whitespace. The AND operator is defined using a semicolon (;) or AND keyword surrounded by whitespace. Note that the semicolon is a reserved character in URLs (rfc1738) and needs to be percent-encoded as %3B. Comparison options are:
+     *
+     * Operator                  | Name                            | URL Encoded
+     * --------------------------|---------------------------------|--------------------------
+     * ==                        | Equals                          | %3D%3D
+     * !=                        | Does not equals                 | !%3D
+     * >                        | Greater Than                    | %3E
+     * <                         | Less Than                       | %3C
+     * >=                       | Greater than or equal to        | %3E%3D
+     * <=                        | Less than or equal to           | %3C%3D     .
+     *
+     * @default ""
+     * @example requestType==read AND responseCode!=200
+     */
+    filters?: string;
+    /**
+     * Limit number of returned metrics.
+     *
+     * @default 10000
+     */
+    limit?: number;
+    /**
+     * One or more metrics to compute.
+     *
+     * @default ["requests"]
+     * @example requests
+     * @example readKiB
+     */
+    metrics?: ('requests' | 'writeKiB' | 'readKiB')[];
+    /**
+     * Start of time interval to query, defaults to 6 hours before request received.
+     *
+     * @default <6 hours ago>
+     * @example 2019-01-02T02:20:00Z
+     * @format date-time
+     */
+    since?: string;
+    /**
+     * Array of dimensions or metrics to sort by, each dimension/metric may be prefixed by - (descending) or + (ascending).
+     *
+     * @default []
+     * @example +requests
+     * @example -responseCode
+     */
+    sort?: string[];
+    /**
+     * End of time interval to query, defaults to current time.
+     *
+     * @default <now>
+     * @example 2019-01-02T03:20:00Z
+     * @format date-time
+     */
+    until?: string;
+  };
+};
+
+export type WorkersKvRequestAnalyticsQueryRequestAnalyticsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.WorkersKvApiResponseCommon & {
+    result?: Schemas.WorkersKvResult;
+  }) &
+    Schemas.WorkersKvApiResponseCommonFailure;
+}>;
+
+export type WorkersKvRequestAnalyticsQueryRequestAnalyticsResponse = Schemas.WorkersKvApiResponseCommon & {
+  result?: Schemas.WorkersKvSchemasResult;
+};
+
+export type WorkersKvRequestAnalyticsQueryRequestAnalyticsVariables = {
+  pathParams: WorkersKvRequestAnalyticsQueryRequestAnalyticsPathParams;
+  queryParams?: WorkersKvRequestAnalyticsQueryRequestAnalyticsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Retrieves Workers KV request metrics for the given account.
+ */
+export const workersKvRequestAnalyticsQueryRequestAnalytics = (
+  variables: WorkersKvRequestAnalyticsQueryRequestAnalyticsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersKvRequestAnalyticsQueryRequestAnalyticsResponse,
+    WorkersKvRequestAnalyticsQueryRequestAnalyticsError,
+    undefined,
+    {},
+    WorkersKvRequestAnalyticsQueryRequestAnalyticsQueryParams,
+    WorkersKvRequestAnalyticsQueryRequestAnalyticsPathParams
+  >({ url: '/accounts/{accountId}/storage/analytics', method: 'get', ...variables, signal });
+
+export type WorkersKvStoredDataAnalyticsQueryStoredDataAnalyticsPathParams = {
+  accountId: Schemas.WorkersKvIdentifier;
+};
+
+export type WorkersKvStoredDataAnalyticsQueryStoredDataAnalyticsQueryParams = {
+  /**
+   * For specifying result metrics.
+   */
+  query?: {
+    /**
+     * Can be used to break down the data by given attributes.
+     *
+     * @default []
+     * @example namespaceId
+     */
+    dimensions?: 'namespaceId'[];
+    /**
+     * Used to filter rows by one or more dimensions. Filters can be combined using OR and AND boolean logic. AND takes precedence over OR in all the expressions. The OR operator is defined using a comma (,) or OR keyword surrounded by whitespace. The AND operator is defined using a semicolon (;) or AND keyword surrounded by whitespace. Note that the semicolon is a reserved character in URLs (rfc1738) and needs to be percent-encoded as %3B. Comparison options are:
+     *
+     * Operator                  | Name                            | URL Encoded
+     * --------------------------|---------------------------------|--------------------------
+     * ==                        | Equals                          | %3D%3D
+     * !=                        | Does not equals                 | !%3D
+     * >                        | Greater Than                    | %3E
+     * <                         | Less Than                       | %3C
+     * >=                       | Greater than or equal to        | %3E%3D
+     * <=                        | Less than or equal to           | %3C%3D     .
+     *
+     * @default ""
+     * @example namespaceId==a4e8cbb7-1b58-4990-925e-e026d40c4c64
+     */
+    filters?: string;
+    /**
+     * Limit number of returned metrics.
+     *
+     * @default 10000
+     */
+    limit?: number;
+    /**
+     * One or more metrics to compute.
+     *
+     * @default ["storedBytes"]
+     * @example storedBytes
+     * @example storedKeys
+     */
+    metrics?: ('storedBytes' | 'storedKeys')[];
+    /**
+     * Start of time interval to query, defaults to 6 hours before request received.
+     *
+     * @default <6 hours ago>
+     * @example 2019-01-02T02:20:00Z
+     * @format date-time
+     */
+    since?: string;
+    /**
+     * Array of dimensions or metrics to sort by, each dimension/metric may be prefixed by - (descending) or + (ascending).
+     *
+     * @default []
+     * @example +storedBytes
+     * @example -namespaceId
+     */
+    sort?: string[];
+    /**
+     * End of time interval to query, defaults to current time.
+     *
+     * @default <now>
+     * @example 2019-01-02T03:20:00Z
+     * @format date-time
+     */
+    until?: string;
+  };
+};
+
+export type WorkersKvStoredDataAnalyticsQueryStoredDataAnalyticsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.WorkersKvApiResponseCommon & {
+    result?: Schemas.WorkersKvResult;
+  }) &
+    Schemas.WorkersKvApiResponseCommonFailure;
+}>;
+
+export type WorkersKvStoredDataAnalyticsQueryStoredDataAnalyticsResponse = Schemas.WorkersKvApiResponseCommon & {
+  result?: Schemas.WorkersKvComponentsSchemasResult;
+};
+
+export type WorkersKvStoredDataAnalyticsQueryStoredDataAnalyticsVariables = {
+  pathParams: WorkersKvStoredDataAnalyticsQueryStoredDataAnalyticsPathParams;
+  queryParams?: WorkersKvStoredDataAnalyticsQueryStoredDataAnalyticsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Retrieves Workers KV stored data metrics for the given account.
+ */
+export const workersKvStoredDataAnalyticsQueryStoredDataAnalytics = (
+  variables: WorkersKvStoredDataAnalyticsQueryStoredDataAnalyticsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersKvStoredDataAnalyticsQueryStoredDataAnalyticsResponse,
+    WorkersKvStoredDataAnalyticsQueryStoredDataAnalyticsError,
+    undefined,
+    {},
+    WorkersKvStoredDataAnalyticsQueryStoredDataAnalyticsQueryParams,
+    WorkersKvStoredDataAnalyticsQueryStoredDataAnalyticsPathParams
+  >({ url: '/accounts/{accountId}/storage/analytics/stored', method: 'get', ...variables, signal });
+
+export type WorkersKvNamespaceListNamespacesPathParams = {
+  accountId: Schemas.WorkersKvIdentifier;
+};
+
+export type WorkersKvNamespaceListNamespacesQueryParams = {
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default 20
+   * @maximum 100
+   * @minimum 5
+   */
+  per_page?: number;
+  /**
+   * @example id
+   */
+  order?: 'id' | 'title';
+  /**
+   * @example asc
+   */
+  direction?: 'asc' | 'desc';
+};
+
+export type WorkersKvNamespaceListNamespacesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersKvApiResponseCommonFailure;
+}>;
+
+export type WorkersKvNamespaceListNamespacesResponse = Schemas.WorkersKvApiResponseCollection & {
+  result?: Schemas.WorkersKvNamespace[];
+};
+
+export type WorkersKvNamespaceListNamespacesVariables = {
+  pathParams: WorkersKvNamespaceListNamespacesPathParams;
+  queryParams?: WorkersKvNamespaceListNamespacesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Returns the namespaces owned by an account.
+ */
+export const workersKvNamespaceListNamespaces = (
+  variables: WorkersKvNamespaceListNamespacesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersKvNamespaceListNamespacesResponse,
+    WorkersKvNamespaceListNamespacesError,
+    undefined,
+    {},
+    WorkersKvNamespaceListNamespacesQueryParams,
+    WorkersKvNamespaceListNamespacesPathParams
+  >({ url: '/accounts/{accountId}/storage/kv/namespaces', method: 'get', ...variables, signal });
+
+export type WorkersKvNamespaceCreateANamespacePathParams = {
+  accountId: Schemas.WorkersKvIdentifier;
+};
+
+export type WorkersKvNamespaceCreateANamespaceError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersKvApiResponseCommonFailure;
+}>;
+
+export type WorkersKvNamespaceCreateANamespaceResponse = Schemas.WorkersKvApiResponseCommon & {
+  result?: Schemas.WorkersKvNamespace;
+};
+
+export type WorkersKvNamespaceCreateANamespaceVariables = {
+  body: Schemas.WorkersKvCreateRenameNamespaceBody;
+  pathParams: WorkersKvNamespaceCreateANamespacePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a namespace under the given title. A `400` is returned if the account already owns a namespace with this title. A namespace must be explicitly deleted to be replaced.
+ */
+export const workersKvNamespaceCreateANamespace = (
+  variables: WorkersKvNamespaceCreateANamespaceVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersKvNamespaceCreateANamespaceResponse,
+    WorkersKvNamespaceCreateANamespaceError,
+    Schemas.WorkersKvCreateRenameNamespaceBody,
+    {},
+    {},
+    WorkersKvNamespaceCreateANamespacePathParams
+  >({ url: '/accounts/{accountId}/storage/kv/namespaces', method: 'post', ...variables, signal });
+
+export type WorkersKvNamespaceRemoveANamespacePathParams = {
+  namespaceId: Schemas.WorkersKvNamespaceIdentifier;
+  accountId: Schemas.WorkersKvIdentifier;
+};
+
+export type WorkersKvNamespaceRemoveANamespaceError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersKvApiResponseCommonFailure;
+}>;
+
+export type WorkersKvNamespaceRemoveANamespaceVariables = {
+  pathParams: WorkersKvNamespaceRemoveANamespacePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes the namespace corresponding to the given ID.
+ */
+export const workersKvNamespaceRemoveANamespace = (
+  variables: WorkersKvNamespaceRemoveANamespaceVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WorkersKvApiResponseCommonNoResult,
+    WorkersKvNamespaceRemoveANamespaceError,
+    undefined,
+    {},
+    {},
+    WorkersKvNamespaceRemoveANamespacePathParams
+  >({ url: '/accounts/{accountId}/storage/kv/namespaces/{namespaceId}', method: 'delete', ...variables, signal });
+
+export type WorkersKvNamespaceGetANamespacePathParams = {
+  namespaceId: Schemas.WorkersKvNamespaceIdentifier;
+  accountId: Schemas.WorkersKvIdentifier;
+};
+
+export type WorkersKvNamespaceGetANamespaceError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersKvApiResponseCommonFailure;
+}>;
+
+export type WorkersKvNamespaceGetANamespaceResponse = Schemas.WorkersKvApiResponseCommon & {
+  result?: Schemas.WorkersKvNamespace;
+};
+
+export type WorkersKvNamespaceGetANamespaceVariables = {
+  pathParams: WorkersKvNamespaceGetANamespacePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the namespace corresponding to the given ID.
+ */
+export const workersKvNamespaceGetANamespace = (
+  variables: WorkersKvNamespaceGetANamespaceVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersKvNamespaceGetANamespaceResponse,
+    WorkersKvNamespaceGetANamespaceError,
+    undefined,
+    {},
+    {},
+    WorkersKvNamespaceGetANamespacePathParams
+  >({ url: '/accounts/{accountId}/storage/kv/namespaces/{namespaceId}', method: 'get', ...variables, signal });
+
+export type WorkersKvNamespaceRenameANamespacePathParams = {
+  namespaceId: Schemas.WorkersKvNamespaceIdentifier;
+  accountId: Schemas.WorkersKvIdentifier;
+};
+
+export type WorkersKvNamespaceRenameANamespaceError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersKvApiResponseCommonFailure;
+}>;
+
+export type WorkersKvNamespaceRenameANamespaceVariables = {
+  body: Schemas.WorkersKvCreateRenameNamespaceBody;
+  pathParams: WorkersKvNamespaceRenameANamespacePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Modifies a namespace's title.
+ */
+export const workersKvNamespaceRenameANamespace = (
+  variables: WorkersKvNamespaceRenameANamespaceVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WorkersKvApiResponseCommonNoResult,
+    WorkersKvNamespaceRenameANamespaceError,
+    Schemas.WorkersKvCreateRenameNamespaceBody,
+    {},
+    {},
+    WorkersKvNamespaceRenameANamespacePathParams
+  >({ url: '/accounts/{accountId}/storage/kv/namespaces/{namespaceId}', method: 'put', ...variables, signal });
+
+export type WorkersKvNamespaceDeleteMultipleKeyValuePairsDeprecatedPathParams = {
+  namespaceId: Schemas.WorkersKvNamespaceIdentifier;
+  accountId: Schemas.WorkersKvIdentifier;
+};
+
+export type WorkersKvNamespaceDeleteMultipleKeyValuePairsDeprecatedError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersKvApiResponseCommonNoResult & {
+    result?: Schemas.WorkersKvBulkResult;
+  };
+}>;
+
+export type WorkersKvNamespaceDeleteMultipleKeyValuePairsDeprecatedResponse =
+  Schemas.WorkersKvApiResponseCommonNoResult & {
+    result?: Schemas.WorkersKvBulkResult;
+  };
+
+export type WorkersKvNamespaceDeleteMultipleKeyValuePairsDeprecatedVariables = {
+  body?: Schemas.WorkersKvBulkDelete;
+  pathParams: WorkersKvNamespaceDeleteMultipleKeyValuePairsDeprecatedPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Remove multiple KV pairs from the namespace. Body should be an array of up to 10,000 keys to be removed.
+ */
+export const workersKvNamespaceDeleteMultipleKeyValuePairsDeprecated = (
+  variables: WorkersKvNamespaceDeleteMultipleKeyValuePairsDeprecatedVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersKvNamespaceDeleteMultipleKeyValuePairsDeprecatedResponse,
+    WorkersKvNamespaceDeleteMultipleKeyValuePairsDeprecatedError,
+    Schemas.WorkersKvBulkDelete,
+    {},
+    {},
+    WorkersKvNamespaceDeleteMultipleKeyValuePairsDeprecatedPathParams
+  >({ url: '/accounts/{accountId}/storage/kv/namespaces/{namespaceId}/bulk', method: 'delete', ...variables, signal });
+
+export type WorkersKvNamespaceWriteMultipleKeyValuePairsPathParams = {
+  namespaceId: Schemas.WorkersKvNamespaceIdentifier;
+  accountId: Schemas.WorkersKvIdentifier;
+};
+
+export type WorkersKvNamespaceWriteMultipleKeyValuePairsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersKvApiResponseCommonNoResult & {
+    result?: Schemas.WorkersKvBulkResult;
+  };
+}>;
+
+export type WorkersKvNamespaceWriteMultipleKeyValuePairsResponse = Schemas.WorkersKvApiResponseCommonNoResult & {
+  result?: Schemas.WorkersKvBulkResult;
+};
+
+export type WorkersKvNamespaceWriteMultipleKeyValuePairsVariables = {
+  body: Schemas.WorkersKvBulkWrite;
+  pathParams: WorkersKvNamespaceWriteMultipleKeyValuePairsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Write multiple keys and values at once. Body should be an array of up to 10,000 key-value pairs to be stored, along with optional expiration information. Existing values and expirations will be overwritten. If neither `expiration` nor `expiration_ttl` is specified, the key-value pair will never expire. If both are set, `expiration_ttl` is used and `expiration` is ignored. The entire request size must be 100 megabytes or less.
+ */
+export const workersKvNamespaceWriteMultipleKeyValuePairs = (
+  variables: WorkersKvNamespaceWriteMultipleKeyValuePairsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersKvNamespaceWriteMultipleKeyValuePairsResponse,
+    WorkersKvNamespaceWriteMultipleKeyValuePairsError,
+    Schemas.WorkersKvBulkWrite,
+    {},
+    {},
+    WorkersKvNamespaceWriteMultipleKeyValuePairsPathParams
+  >({ url: '/accounts/{accountId}/storage/kv/namespaces/{namespaceId}/bulk', method: 'put', ...variables, signal });
+
+export type WorkersKvNamespaceDeleteMultipleKeyValuePairsPathParams = {
+  namespaceId: Schemas.WorkersKvNamespaceIdentifier;
+  accountId: Schemas.WorkersKvIdentifier;
+};
+
+export type WorkersKvNamespaceDeleteMultipleKeyValuePairsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersKvApiResponseCommonNoResult & {
+    result?: Schemas.WorkersKvBulkResult;
+  };
+}>;
+
+export type WorkersKvNamespaceDeleteMultipleKeyValuePairsResponse = Schemas.WorkersKvApiResponseCommonNoResult & {
+  result?: Schemas.WorkersKvBulkResult;
+};
+
+export type WorkersKvNamespaceDeleteMultipleKeyValuePairsVariables = {
+  body?: Schemas.WorkersKvBulkDelete;
+  pathParams: WorkersKvNamespaceDeleteMultipleKeyValuePairsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Remove multiple KV pairs from the namespace. Body should be an array of up to 10,000 keys to be removed.
+ */
+export const workersKvNamespaceDeleteMultipleKeyValuePairs = (
+  variables: WorkersKvNamespaceDeleteMultipleKeyValuePairsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersKvNamespaceDeleteMultipleKeyValuePairsResponse,
+    WorkersKvNamespaceDeleteMultipleKeyValuePairsError,
+    Schemas.WorkersKvBulkDelete,
+    {},
+    {},
+    WorkersKvNamespaceDeleteMultipleKeyValuePairsPathParams
+  >({
+    url: '/accounts/{accountId}/storage/kv/namespaces/{namespaceId}/bulk/delete',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type WorkersKvNamespaceListANamespaceSKeysPathParams = {
+  namespaceId: Schemas.WorkersKvNamespaceIdentifier;
+  accountId: Schemas.WorkersKvIdentifier;
+};
+
+export type WorkersKvNamespaceListANamespaceSKeysQueryParams = {
+  /**
+   * @default 1000
+   * @maximum 1000
+   * @minimum 10
+   */
+  limit?: number;
+  /**
+   * @example My-Prefix
+   */
+  prefix?: string;
+  /**
+   * @example 6Ck1la0VxJ0djhidm1MdX2FyDGxLKVeeHZZmORS_8XeSuhz9SjIJRaSa2lnsF01tQOHrfTGAP3R5X1Kv5iVUuMbNKhWNAXHOl6ePB0TUL8nw
+   */
+  cursor?: string;
+};
+
+export type WorkersKvNamespaceListANamespaceSKeysError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersKvApiResponseCommonFailure;
+}>;
+
+export type WorkersKvNamespaceListANamespaceSKeysResponse = Schemas.WorkersKvApiResponseCommon & {
+  result?: Schemas.WorkersKvKey[];
+  result_info?: {
+    /**
+     * Total results returned based on your list parameters.
+     *
+     * @example 1
+     */
+    count?: number;
+    cursor?: Schemas.WorkersKvCursor;
+  };
+};
+
+export type WorkersKvNamespaceListANamespaceSKeysVariables = {
+  pathParams: WorkersKvNamespaceListANamespaceSKeysPathParams;
+  queryParams?: WorkersKvNamespaceListANamespaceSKeysQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists a namespace's keys.
+ */
+export const workersKvNamespaceListANamespaceSKeys = (
+  variables: WorkersKvNamespaceListANamespaceSKeysVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersKvNamespaceListANamespaceSKeysResponse,
+    WorkersKvNamespaceListANamespaceSKeysError,
+    undefined,
+    {},
+    WorkersKvNamespaceListANamespaceSKeysQueryParams,
+    WorkersKvNamespaceListANamespaceSKeysPathParams
+  >({ url: '/accounts/{accountId}/storage/kv/namespaces/{namespaceId}/keys', method: 'get', ...variables, signal });
+
+export type WorkersKvNamespaceReadTheMetadataForAKeyPathParams = {
+  keyName: Schemas.WorkersKvKeyName;
+  namespaceId: Schemas.WorkersKvNamespaceIdentifier;
+  accountId: Schemas.WorkersKvIdentifier;
+};
+
+export type WorkersKvNamespaceReadTheMetadataForAKeyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersKvApiResponseCommonFailure;
+}>;
+
+export type WorkersKvNamespaceReadTheMetadataForAKeyResponse = Schemas.WorkersKvApiResponseCommon & {
+  result?: Schemas.WorkersKvListMetadata;
+};
+
+export type WorkersKvNamespaceReadTheMetadataForAKeyVariables = {
+  pathParams: WorkersKvNamespaceReadTheMetadataForAKeyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Returns the metadata associated with the given key in the given namespace. Use URL-encoding to use special characters (for example, `:`, `!`, `%`) in the key name.
+ */
+export const workersKvNamespaceReadTheMetadataForAKey = (
+  variables: WorkersKvNamespaceReadTheMetadataForAKeyVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkersKvNamespaceReadTheMetadataForAKeyResponse,
+    WorkersKvNamespaceReadTheMetadataForAKeyError,
+    undefined,
+    {},
+    {},
+    WorkersKvNamespaceReadTheMetadataForAKeyPathParams
+  >({
+    url: '/accounts/{accountId}/storage/kv/namespaces/{namespaceId}/metadata/{keyName}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type WorkersKvNamespaceDeleteKeyValuePairPathParams = {
+  keyName: Schemas.WorkersKvKeyName;
+  namespaceId: Schemas.WorkersKvNamespaceIdentifier;
+  accountId: Schemas.WorkersKvIdentifier;
+};
+
+export type WorkersKvNamespaceDeleteKeyValuePairError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersKvApiResponseCommonFailure;
+}>;
+
+export type WorkersKvNamespaceDeleteKeyValuePairVariables = {
+  pathParams: WorkersKvNamespaceDeleteKeyValuePairPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Remove a KV pair from the namespace. Use URL-encoding to use special characters (for example, `:`, `!`, `%`) in the key name.
+ */
+export const workersKvNamespaceDeleteKeyValuePair = (
+  variables: WorkersKvNamespaceDeleteKeyValuePairVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WorkersKvApiResponseCommonNoResult,
+    WorkersKvNamespaceDeleteKeyValuePairError,
+    undefined,
+    {},
+    {},
+    WorkersKvNamespaceDeleteKeyValuePairPathParams
+  >({
+    url: '/accounts/{accountId}/storage/kv/namespaces/{namespaceId}/values/{keyName}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type WorkersKvNamespaceReadKeyValuePairPathParams = {
+  keyName: Schemas.WorkersKvKeyName;
+  namespaceId: Schemas.WorkersKvNamespaceIdentifier;
+  accountId: Schemas.WorkersKvIdentifier;
+};
+
+export type WorkersKvNamespaceReadKeyValuePairError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersKvApiResponseCommonFailure;
+}>;
+
+export type WorkersKvNamespaceReadKeyValuePairVariables = {
+  pathParams: WorkersKvNamespaceReadKeyValuePairPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Returns the value associated with the given key in the given namespace. Use URL-encoding to use special characters (for example, `:`, `!`, `%`) in the key name. If the KV-pair is set to expire at some point, the expiration time as measured in seconds since the UNIX epoch will be returned in the `expiration` response header.
+ */
+export const workersKvNamespaceReadKeyValuePair = (
+  variables: WorkersKvNamespaceReadKeyValuePairVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WorkersKvValue,
+    WorkersKvNamespaceReadKeyValuePairError,
+    undefined,
+    {},
+    {},
+    WorkersKvNamespaceReadKeyValuePairPathParams
+  >({
+    url: '/accounts/{accountId}/storage/kv/namespaces/{namespaceId}/values/{keyName}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type WorkersKvNamespaceWriteKeyValuePairWithMetadataPathParams = {
+  keyName: Schemas.WorkersKvKeyName;
+  namespaceId: Schemas.WorkersKvNamespaceIdentifier;
+  accountId: Schemas.WorkersKvIdentifier;
+};
+
+export type WorkersKvNamespaceWriteKeyValuePairWithMetadataQueryParams = {
+  expiration?: Schemas.WorkersKvExpiration;
+  expiration_ttl?: Schemas.WorkersKvExpirationTtl;
+};
+
+export type WorkersKvNamespaceWriteKeyValuePairWithMetadataError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersKvApiResponseCommonFailure;
+}>;
+
+export type WorkersKvNamespaceWriteKeyValuePairWithMetadataVariables = {
+  body?: Schemas.WorkersKvValue;
+  pathParams: WorkersKvNamespaceWriteKeyValuePairWithMetadataPathParams;
+  queryParams?: WorkersKvNamespaceWriteKeyValuePairWithMetadataQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Write a value identified by a key. Use URL-encoding to use special characters (for example, `:`, `!`, `%`) in the key name. Body should be the value to be stored. If JSON metadata to be associated with the key/value pair is needed, use `multipart/form-data` content type for your PUT request (see dropdown below in `REQUEST BODY SCHEMA`). Existing values, expirations, and metadata will be overwritten. If neither `expiration` nor `expiration_ttl` is specified, the key-value pair will never expire. If both are set, `expiration_ttl` is used and `expiration` is ignored.
+ */
+export const workersKvNamespaceWriteKeyValuePairWithMetadata = (
+  variables: WorkersKvNamespaceWriteKeyValuePairWithMetadataVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WorkersKvApiResponseCommonNoResult,
+    WorkersKvNamespaceWriteKeyValuePairWithMetadataError,
+    Schemas.WorkersKvValue,
+    {},
+    WorkersKvNamespaceWriteKeyValuePairWithMetadataQueryParams,
+    WorkersKvNamespaceWriteKeyValuePairWithMetadataPathParams
+  >({
+    url: '/accounts/{accountId}/storage/kv/namespaces/{namespaceId}/values/{keyName}',
+    method: 'put',
+    ...variables,
+    signal
+  });
+
+export type StreamVideosListVideosPathParams = {
+  accountId: Schemas.StreamAccountIdentifier;
+};
+
+export type StreamVideosListVideosQueryParams = {
+  status?: Schemas.StreamMediaState;
+  creator?: Schemas.StreamCreator;
+  type?: Schemas.StreamType;
+  asc?: Schemas.StreamAsc;
+  search?: Schemas.StreamSearch;
+  start?: Schemas.StreamStart;
+  end?: Schemas.StreamEnd;
+  include_counts?: Schemas.StreamIncludeCounts;
+};
+
+export type StreamVideosListVideosError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type StreamVideosListVideosVariables = {
+  pathParams: StreamVideosListVideosPathParams;
+  queryParams?: StreamVideosListVideosQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists up to 1000 videos from a single request. For a specific range, refer to the optional parameters.
+ */
+export const streamVideosListVideos = (variables: StreamVideosListVideosVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.StreamVideoResponseCollection,
+    StreamVideosListVideosError,
+    undefined,
+    {},
+    StreamVideosListVideosQueryParams,
+    StreamVideosListVideosPathParams
+  >({ url: '/accounts/{accountId}/stream', method: 'get', ...variables, signal });
+
+export type StreamVideosInitiateVideoUploadsUsingTusPathParams = {
+  accountId: Schemas.StreamAccountIdentifier;
+};
+
+export type StreamVideosInitiateVideoUploadsUsingTusHeaders = {
+  ['Tus-Resumable']: Schemas.StreamTusResumable;
+  ['Upload-Creator']?: Schemas.StreamCreator;
+  ['Upload-Length']: Schemas.StreamUploadLength;
+  ['Upload-Metadata']?: Schemas.StreamUploadMetadata;
+};
+
+export type StreamVideosInitiateVideoUploadsUsingTusError = Fetcher.ErrorWrapper<undefined>;
+
+export type StreamVideosInitiateVideoUploadsUsingTusVariables = {
+  headers: StreamVideosInitiateVideoUploadsUsingTusHeaders;
+  pathParams: StreamVideosInitiateVideoUploadsUsingTusPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Initiates a video upload using the TUS protocol. On success, the server responds with a status code 201 (created) and includes a `location` header to indicate where the content should be uploaded. Refer to https://tus.io for protocol details.
+ */
+export const streamVideosInitiateVideoUploadsUsingTus = (
+  variables: StreamVideosInitiateVideoUploadsUsingTusVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    undefined,
+    StreamVideosInitiateVideoUploadsUsingTusError,
+    undefined,
+    StreamVideosInitiateVideoUploadsUsingTusHeaders,
+    {},
+    StreamVideosInitiateVideoUploadsUsingTusPathParams
+  >({ url: '/accounts/{accountId}/stream', method: 'post', ...variables, signal });
+
+export type StreamVideoClippingClipVideosGivenAStartAndEndTimePathParams = {
+  accountId: Schemas.StreamAccountIdentifier;
+};
+
+export type StreamVideoClippingClipVideosGivenAStartAndEndTimeError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type StreamVideoClippingClipVideosGivenAStartAndEndTimeVariables = {
+  body: Schemas.StreamVideoClipStandard;
+  pathParams: StreamVideoClippingClipVideosGivenAStartAndEndTimePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Clips a video based on the specified start and end times provided in seconds.
+ */
+export const streamVideoClippingClipVideosGivenAStartAndEndTime = (
+  variables: StreamVideoClippingClipVideosGivenAStartAndEndTimeVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.StreamClipResponseSingle,
+    StreamVideoClippingClipVideosGivenAStartAndEndTimeError,
+    Schemas.StreamVideoClipStandard,
+    {},
+    {},
+    StreamVideoClippingClipVideosGivenAStartAndEndTimePathParams
+  >({ url: '/accounts/{accountId}/stream/clip', method: 'post', ...variables, signal });
+
+export type StreamVideosUploadVideosFromAUrlPathParams = {
+  accountId: Schemas.StreamAccountIdentifier;
+};
+
+export type StreamVideosUploadVideosFromAUrlHeaders = {
+  ['Upload-Creator']?: Schemas.StreamCreator;
+  ['Upload-Metadata']?: Schemas.StreamUploadMetadata;
+};
+
+export type StreamVideosUploadVideosFromAUrlError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type StreamVideosUploadVideosFromAUrlVariables = {
+  body: Schemas.StreamVideoCopyRequest;
+  headers?: StreamVideosUploadVideosFromAUrlHeaders;
+  pathParams: StreamVideosUploadVideosFromAUrlPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Uploads a video to Stream from a provided URL.
+ */
+export const streamVideosUploadVideosFromAUrl = (
+  variables: StreamVideosUploadVideosFromAUrlVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.StreamVideoResponseSingle,
+    StreamVideosUploadVideosFromAUrlError,
+    Schemas.StreamVideoCopyRequest,
+    StreamVideosUploadVideosFromAUrlHeaders,
+    {},
+    StreamVideosUploadVideosFromAUrlPathParams
+  >({ url: '/accounts/{accountId}/stream/copy', method: 'post', ...variables, signal });
+
+export type StreamVideosUploadVideosViaDirectUploadUrLsPathParams = {
+  accountId: Schemas.StreamAccountIdentifier;
+};
+
+export type StreamVideosUploadVideosViaDirectUploadUrLsHeaders = {
+  ['Upload-Creator']?: Schemas.StreamCreator;
+};
+
+export type StreamVideosUploadVideosViaDirectUploadUrLsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type StreamVideosUploadVideosViaDirectUploadUrLsVariables = {
+  body: Schemas.StreamDirectUploadRequest;
+  headers?: StreamVideosUploadVideosViaDirectUploadUrLsHeaders;
+  pathParams: StreamVideosUploadVideosViaDirectUploadUrLsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a direct upload that allows video uploads without an API key.
+ */
+export const streamVideosUploadVideosViaDirectUploadUrLs = (
+  variables: StreamVideosUploadVideosViaDirectUploadUrLsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.StreamDirectUploadResponse,
+    StreamVideosUploadVideosViaDirectUploadUrLsError,
+    Schemas.StreamDirectUploadRequest,
+    StreamVideosUploadVideosViaDirectUploadUrLsHeaders,
+    {},
+    StreamVideosUploadVideosViaDirectUploadUrLsPathParams
+  >({ url: '/accounts/{accountId}/stream/direct_upload', method: 'post', ...variables, signal });
+
+export type StreamSigningKeysListSigningKeysPathParams = {
+  accountId: Schemas.StreamSchemasIdentifier;
+};
+
+export type StreamSigningKeysListSigningKeysError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type StreamSigningKeysListSigningKeysVariables = {
+  pathParams: StreamSigningKeysListSigningKeysPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists the video ID and creation date and time when a signing key was created.
+ */
+export const streamSigningKeysListSigningKeys = (
+  variables: StreamSigningKeysListSigningKeysVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.StreamKeyResponseCollection,
+    StreamSigningKeysListSigningKeysError,
+    undefined,
+    {},
+    {},
+    StreamSigningKeysListSigningKeysPathParams
+  >({ url: '/accounts/{accountId}/stream/keys', method: 'get', ...variables, signal });
+
+export type StreamSigningKeysCreateSigningKeysPathParams = {
+  accountId: Schemas.StreamSchemasIdentifier;
+};
+
+export type StreamSigningKeysCreateSigningKeysError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type StreamSigningKeysCreateSigningKeysVariables = {
+  pathParams: StreamSigningKeysCreateSigningKeysPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates an RSA private key in PEM and JWK formats. Key files are only displayed once after creation. Keys are created, used, and deleted independently of videos, and every key can sign any video.
+ */
+export const streamSigningKeysCreateSigningKeys = (
+  variables: StreamSigningKeysCreateSigningKeysVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.StreamKeyGenerationResponse,
+    StreamSigningKeysCreateSigningKeysError,
+    undefined,
+    {},
+    {},
+    StreamSigningKeysCreateSigningKeysPathParams
+  >({ url: '/accounts/{accountId}/stream/keys', method: 'post', ...variables, signal });
+
+export type StreamSigningKeysDeleteSigningKeysPathParams = {
+  identifier: Schemas.StreamSchemasIdentifier;
+  accountId: Schemas.StreamSchemasIdentifier;
+};
+
+export type StreamSigningKeysDeleteSigningKeysError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type StreamSigningKeysDeleteSigningKeysVariables = {
+  pathParams: StreamSigningKeysDeleteSigningKeysPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes signing keys and revokes all signed URLs generated with the key.
+ */
+export const streamSigningKeysDeleteSigningKeys = (
+  variables: StreamSigningKeysDeleteSigningKeysVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.StreamDeletedResponse,
+    StreamSigningKeysDeleteSigningKeysError,
+    undefined,
+    {},
+    {},
+    StreamSigningKeysDeleteSigningKeysPathParams
+  >({ url: '/accounts/{accountId}/stream/keys/{identifier}', method: 'delete', ...variables, signal });
+
+export type StreamLiveInputsListLiveInputsPathParams = {
+  accountId: Schemas.StreamSchemasIdentifier;
+};
+
+export type StreamLiveInputsListLiveInputsQueryParams = {
+  include_counts?: Schemas.StreamIncludeCounts;
+};
+
+export type StreamLiveInputsListLiveInputsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type StreamLiveInputsListLiveInputsVariables = {
+  pathParams: StreamLiveInputsListLiveInputsPathParams;
+  queryParams?: StreamLiveInputsListLiveInputsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists the live inputs created for an account. To get the credentials needed to stream to a specific live input, request a single live input.
+ */
+export const streamLiveInputsListLiveInputs = (
+  variables: StreamLiveInputsListLiveInputsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.StreamLiveInputResponseCollection,
+    StreamLiveInputsListLiveInputsError,
+    undefined,
+    {},
+    StreamLiveInputsListLiveInputsQueryParams,
+    StreamLiveInputsListLiveInputsPathParams
+  >({ url: '/accounts/{accountId}/stream/live_inputs', method: 'get', ...variables, signal });
+
+export type StreamLiveInputsCreateALiveInputPathParams = {
+  accountId: Schemas.StreamSchemasIdentifier;
+};
+
+export type StreamLiveInputsCreateALiveInputError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type StreamLiveInputsCreateALiveInputVariables = {
+  body?: Schemas.StreamCreateInputRequest;
+  pathParams: StreamLiveInputsCreateALiveInputPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a live input, and returns credentials that you or your users can use to stream live video to Cloudflare Stream.
+ */
+export const streamLiveInputsCreateALiveInput = (
+  variables: StreamLiveInputsCreateALiveInputVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.StreamLiveInputResponseSingle,
+    StreamLiveInputsCreateALiveInputError,
+    Schemas.StreamCreateInputRequest,
+    {},
+    {},
+    StreamLiveInputsCreateALiveInputPathParams
+  >({ url: '/accounts/{accountId}/stream/live_inputs', method: 'post', ...variables, signal });
+
+export type StreamLiveInputsDeleteALiveInputPathParams = {
+  liveInputIdentifier: Schemas.StreamLiveInputIdentifier;
+  accountId: Schemas.StreamSchemasIdentifier;
+};
+
+export type StreamLiveInputsDeleteALiveInputError = Fetcher.ErrorWrapper<undefined>;
+
+export type StreamLiveInputsDeleteALiveInputVariables = {
+  pathParams: StreamLiveInputsDeleteALiveInputPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Prevents a live input from being streamed to and makes the live input inaccessible to any future API calls.
+ */
+export const streamLiveInputsDeleteALiveInput = (
+  variables: StreamLiveInputsDeleteALiveInputVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    undefined,
+    StreamLiveInputsDeleteALiveInputError,
+    undefined,
+    {},
+    {},
+    StreamLiveInputsDeleteALiveInputPathParams
+  >({ url: '/accounts/{accountId}/stream/live_inputs/{liveInputIdentifier}', method: 'delete', ...variables, signal });
+
+export type StreamLiveInputsRetrieveALiveInputPathParams = {
+  liveInputIdentifier: Schemas.StreamLiveInputIdentifier;
+  accountId: Schemas.StreamSchemasIdentifier;
+};
+
+export type StreamLiveInputsRetrieveALiveInputError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type StreamLiveInputsRetrieveALiveInputVariables = {
+  pathParams: StreamLiveInputsRetrieveALiveInputPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Retrieves details of an existing live input.
+ */
+export const streamLiveInputsRetrieveALiveInput = (
+  variables: StreamLiveInputsRetrieveALiveInputVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.StreamLiveInputResponseSingle,
+    StreamLiveInputsRetrieveALiveInputError,
+    undefined,
+    {},
+    {},
+    StreamLiveInputsRetrieveALiveInputPathParams
+  >({ url: '/accounts/{accountId}/stream/live_inputs/{liveInputIdentifier}', method: 'get', ...variables, signal });
+
+export type StreamLiveInputsUpdateALiveInputPathParams = {
+  liveInputIdentifier: Schemas.StreamLiveInputIdentifier;
+  accountId: Schemas.StreamSchemasIdentifier;
+};
+
+export type StreamLiveInputsUpdateALiveInputError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type StreamLiveInputsUpdateALiveInputVariables = {
+  body?: Schemas.StreamUpdateInputRequest;
+  pathParams: StreamLiveInputsUpdateALiveInputPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a specified live input.
+ */
+export const streamLiveInputsUpdateALiveInput = (
+  variables: StreamLiveInputsUpdateALiveInputVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.StreamLiveInputResponseSingle,
+    StreamLiveInputsUpdateALiveInputError,
+    Schemas.StreamUpdateInputRequest,
+    {},
+    {},
+    StreamLiveInputsUpdateALiveInputPathParams
+  >({ url: '/accounts/{accountId}/stream/live_inputs/{liveInputIdentifier}', method: 'put', ...variables, signal });
+
+export type StreamLiveInputsListAllOutputsAssociatedWithASpecifiedLiveInputPathParams = {
+  liveInputIdentifier: Schemas.StreamLiveInputIdentifier;
+  accountId: Schemas.StreamSchemasIdentifier;
+};
+
+export type StreamLiveInputsListAllOutputsAssociatedWithASpecifiedLiveInputError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type StreamLiveInputsListAllOutputsAssociatedWithASpecifiedLiveInputVariables = {
+  pathParams: StreamLiveInputsListAllOutputsAssociatedWithASpecifiedLiveInputPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Retrieves all outputs associated with a specified live input.
+ */
+export const streamLiveInputsListAllOutputsAssociatedWithASpecifiedLiveInput = (
+  variables: StreamLiveInputsListAllOutputsAssociatedWithASpecifiedLiveInputVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.StreamOutputResponseCollection,
+    StreamLiveInputsListAllOutputsAssociatedWithASpecifiedLiveInputError,
+    undefined,
+    {},
+    {},
+    StreamLiveInputsListAllOutputsAssociatedWithASpecifiedLiveInputPathParams
+  >({
+    url: '/accounts/{accountId}/stream/live_inputs/{liveInputIdentifier}/outputs',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type StreamLiveInputsCreateANewOutputConnectedToALiveInputPathParams = {
+  liveInputIdentifier: Schemas.StreamLiveInputIdentifier;
+  accountId: Schemas.StreamSchemasIdentifier;
+};
+
+export type StreamLiveInputsCreateANewOutputConnectedToALiveInputError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type StreamLiveInputsCreateANewOutputConnectedToALiveInputVariables = {
+  body: Schemas.StreamCreateOutputRequest;
+  pathParams: StreamLiveInputsCreateANewOutputConnectedToALiveInputPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new output that can be used to simulcast or restream live video to other RTMP or SRT destinations. Outputs are always linked to a specific live input — one live input can have many outputs.
+ */
+export const streamLiveInputsCreateANewOutputConnectedToALiveInput = (
+  variables: StreamLiveInputsCreateANewOutputConnectedToALiveInputVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.StreamOutputResponseSingle,
+    StreamLiveInputsCreateANewOutputConnectedToALiveInputError,
+    Schemas.StreamCreateOutputRequest,
+    {},
+    {},
+    StreamLiveInputsCreateANewOutputConnectedToALiveInputPathParams
+  >({
+    url: '/accounts/{accountId}/stream/live_inputs/{liveInputIdentifier}/outputs',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type StreamLiveInputsDeleteAnOutputPathParams = {
+  outputIdentifier: Schemas.StreamOutputIdentifier;
+  liveInputIdentifier: Schemas.StreamLiveInputIdentifier;
+  accountId: Schemas.StreamSchemasIdentifier;
+};
+
+export type StreamLiveInputsDeleteAnOutputError = Fetcher.ErrorWrapper<undefined>;
+
+export type StreamLiveInputsDeleteAnOutputVariables = {
+  pathParams: StreamLiveInputsDeleteAnOutputPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes an output and removes it from the associated live input.
+ */
+export const streamLiveInputsDeleteAnOutput = (
+  variables: StreamLiveInputsDeleteAnOutputVariables,
+  signal?: AbortSignal
+) =>
+  fetch<undefined, StreamLiveInputsDeleteAnOutputError, undefined, {}, {}, StreamLiveInputsDeleteAnOutputPathParams>({
+    url: '/accounts/{accountId}/stream/live_inputs/{liveInputIdentifier}/outputs/{outputIdentifier}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type StreamLiveInputsUpdateAnOutputPathParams = {
+  outputIdentifier: Schemas.StreamOutputIdentifier;
+  liveInputIdentifier: Schemas.StreamLiveInputIdentifier;
+  accountId: Schemas.StreamSchemasIdentifier;
+};
+
+export type StreamLiveInputsUpdateAnOutputError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type StreamLiveInputsUpdateAnOutputVariables = {
+  body: Schemas.StreamUpdateOutputRequest;
+  pathParams: StreamLiveInputsUpdateAnOutputPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates the state of an output.
+ */
+export const streamLiveInputsUpdateAnOutput = (
+  variables: StreamLiveInputsUpdateAnOutputVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.StreamOutputResponseSingle,
+    StreamLiveInputsUpdateAnOutputError,
+    Schemas.StreamUpdateOutputRequest,
+    {},
+    {},
+    StreamLiveInputsUpdateAnOutputPathParams
+  >({
+    url: '/accounts/{accountId}/stream/live_inputs/{liveInputIdentifier}/outputs/{outputIdentifier}',
+    method: 'put',
+    ...variables,
+    signal
+  });
+
+export type StreamVideosStorageUsagePathParams = {
+  accountId: Schemas.StreamAccountIdentifier;
+};
+
+export type StreamVideosStorageUsageQueryParams = {
+  creator?: Schemas.StreamCreator;
+};
+
+export type StreamVideosStorageUsageError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type StreamVideosStorageUsageVariables = {
+  pathParams: StreamVideosStorageUsagePathParams;
+  queryParams?: StreamVideosStorageUsageQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Returns information about an account's storage use.
+ */
+export const streamVideosStorageUsage = (variables: StreamVideosStorageUsageVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.StreamStorageUseResponse,
+    StreamVideosStorageUsageError,
+    undefined,
+    {},
+    StreamVideosStorageUsageQueryParams,
+    StreamVideosStorageUsagePathParams
+  >({ url: '/accounts/{accountId}/stream/storage-usage', method: 'get', ...variables, signal });
+
+export type StreamWatermarkProfileListWatermarkProfilesPathParams = {
+  accountId: Schemas.StreamAccountIdentifier;
+};
+
+export type StreamWatermarkProfileListWatermarkProfilesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type StreamWatermarkProfileListWatermarkProfilesVariables = {
+  pathParams: StreamWatermarkProfileListWatermarkProfilesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists all watermark profiles for an account.
+ */
+export const streamWatermarkProfileListWatermarkProfiles = (
+  variables: StreamWatermarkProfileListWatermarkProfilesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.StreamWatermarkResponseCollection,
+    StreamWatermarkProfileListWatermarkProfilesError,
+    undefined,
+    {},
+    {},
+    StreamWatermarkProfileListWatermarkProfilesPathParams
+  >({ url: '/accounts/{accountId}/stream/watermarks', method: 'get', ...variables, signal });
+
+export type StreamWatermarkProfileCreateWatermarkProfilesViaBasicUploadPathParams = {
+  accountId: Schemas.StreamAccountIdentifier;
+};
+
+export type StreamWatermarkProfileCreateWatermarkProfilesViaBasicUploadError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type StreamWatermarkProfileCreateWatermarkProfilesViaBasicUploadVariables = {
+  body: Schemas.StreamWatermarkBasicUpload;
+  pathParams: StreamWatermarkProfileCreateWatermarkProfilesViaBasicUploadPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates watermark profiles using a single `HTTP POST multipart/form-data` request.
+ */
+export const streamWatermarkProfileCreateWatermarkProfilesViaBasicUpload = (
+  variables: StreamWatermarkProfileCreateWatermarkProfilesViaBasicUploadVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.StreamWatermarkResponseSingle,
+    StreamWatermarkProfileCreateWatermarkProfilesViaBasicUploadError,
+    Schemas.StreamWatermarkBasicUpload,
+    {},
+    {},
+    StreamWatermarkProfileCreateWatermarkProfilesViaBasicUploadPathParams
+  >({ url: '/accounts/{accountId}/stream/watermarks', method: 'post', ...variables, signal });
+
+export type StreamWatermarkProfileDeleteWatermarkProfilesPathParams = {
+  identifier: Schemas.StreamWatermarkIdentifier;
+  accountId: Schemas.StreamAccountIdentifier;
+};
+
+export type StreamWatermarkProfileDeleteWatermarkProfilesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type StreamWatermarkProfileDeleteWatermarkProfilesResponse = Schemas.StreamApiResponseSingle & {
+  /**
+   * @example
+   */
+  result?: string;
+};
+
+export type StreamWatermarkProfileDeleteWatermarkProfilesVariables = {
+  pathParams: StreamWatermarkProfileDeleteWatermarkProfilesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes a watermark profile.
+ */
+export const streamWatermarkProfileDeleteWatermarkProfiles = (
+  variables: StreamWatermarkProfileDeleteWatermarkProfilesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    StreamWatermarkProfileDeleteWatermarkProfilesResponse,
+    StreamWatermarkProfileDeleteWatermarkProfilesError,
+    undefined,
+    {},
+    {},
+    StreamWatermarkProfileDeleteWatermarkProfilesPathParams
+  >({ url: '/accounts/{accountId}/stream/watermarks/{identifier}', method: 'delete', ...variables, signal });
+
+export type StreamWatermarkProfileWatermarkProfileDetailsPathParams = {
+  identifier: Schemas.StreamWatermarkIdentifier;
+  accountId: Schemas.StreamAccountIdentifier;
+};
+
+export type StreamWatermarkProfileWatermarkProfileDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type StreamWatermarkProfileWatermarkProfileDetailsVariables = {
+  pathParams: StreamWatermarkProfileWatermarkProfileDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Retrieves details for a single watermark profile.
+ */
+export const streamWatermarkProfileWatermarkProfileDetails = (
+  variables: StreamWatermarkProfileWatermarkProfileDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.StreamWatermarkResponseSingle,
+    StreamWatermarkProfileWatermarkProfileDetailsError,
+    undefined,
+    {},
+    {},
+    StreamWatermarkProfileWatermarkProfileDetailsPathParams
+  >({ url: '/accounts/{accountId}/stream/watermarks/{identifier}', method: 'get', ...variables, signal });
+
+export type StreamWebhookDeleteWebhooksPathParams = {
+  accountId: Schemas.StreamAccountIdentifier;
+};
+
+export type StreamWebhookDeleteWebhooksError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type StreamWebhookDeleteWebhooksVariables = {
+  pathParams: StreamWebhookDeleteWebhooksPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes a webhook.
+ */
+export const streamWebhookDeleteWebhooks = (variables: StreamWebhookDeleteWebhooksVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.StreamDeletedResponse,
+    StreamWebhookDeleteWebhooksError,
+    undefined,
+    {},
+    {},
+    StreamWebhookDeleteWebhooksPathParams
+  >({ url: '/accounts/{accountId}/stream/webhook', method: 'delete', ...variables, signal });
+
+export type StreamWebhookViewWebhooksPathParams = {
+  accountId: Schemas.StreamAccountIdentifier;
+};
+
+export type StreamWebhookViewWebhooksError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type StreamWebhookViewWebhooksVariables = {
+  pathParams: StreamWebhookViewWebhooksPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Retrieves a list of webhooks.
+ */
+export const streamWebhookViewWebhooks = (variables: StreamWebhookViewWebhooksVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.StreamWebhookResponseSingle,
+    StreamWebhookViewWebhooksError,
+    undefined,
+    {},
+    {},
+    StreamWebhookViewWebhooksPathParams
+  >({ url: '/accounts/{accountId}/stream/webhook', method: 'get', ...variables, signal });
+
+export type StreamWebhookCreateWebhooksPathParams = {
+  accountId: Schemas.StreamAccountIdentifier;
+};
+
+export type StreamWebhookCreateWebhooksError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type StreamWebhookCreateWebhooksVariables = {
+  body: Schemas.StreamWebhookRequest;
+  pathParams: StreamWebhookCreateWebhooksPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a webhook notification.
+ */
+export const streamWebhookCreateWebhooks = (variables: StreamWebhookCreateWebhooksVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.StreamWebhookResponseSingle,
+    StreamWebhookCreateWebhooksError,
+    Schemas.StreamWebhookRequest,
+    {},
+    {},
+    StreamWebhookCreateWebhooksPathParams
+  >({ url: '/accounts/{accountId}/stream/webhook', method: 'put', ...variables, signal });
+
+export type StreamVideosDeleteVideoPathParams = {
+  identifier: Schemas.StreamIdentifier;
+  accountId: Schemas.StreamAccountIdentifier;
+};
+
+export type StreamVideosDeleteVideoError = Fetcher.ErrorWrapper<undefined>;
+
+export type StreamVideosDeleteVideoVariables = {
+  pathParams: StreamVideosDeleteVideoPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes a video and its copies from Cloudflare Stream.
+ */
+export const streamVideosDeleteVideo = (variables: StreamVideosDeleteVideoVariables, signal?: AbortSignal) =>
+  fetch<undefined, StreamVideosDeleteVideoError, undefined, {}, {}, StreamVideosDeleteVideoPathParams>({
+    url: '/accounts/{accountId}/stream/{identifier}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type StreamVideosRetrieveVideoDetailsPathParams = {
+  identifier: Schemas.StreamIdentifier;
+  accountId: Schemas.StreamAccountIdentifier;
+};
+
+export type StreamVideosRetrieveVideoDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type StreamVideosRetrieveVideoDetailsVariables = {
+  pathParams: StreamVideosRetrieveVideoDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches details for a single video.
+ */
+export const streamVideosRetrieveVideoDetails = (
+  variables: StreamVideosRetrieveVideoDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.StreamVideoResponseSingle,
+    StreamVideosRetrieveVideoDetailsError,
+    undefined,
+    {},
+    {},
+    StreamVideosRetrieveVideoDetailsPathParams
+  >({ url: '/accounts/{accountId}/stream/{identifier}', method: 'get', ...variables, signal });
+
+export type StreamVideosUpdateVideoDetailsPathParams = {
+  identifier: Schemas.StreamIdentifier;
+  accountId: Schemas.StreamAccountIdentifier;
+};
+
+export type StreamVideosUpdateVideoDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type StreamVideosUpdateVideoDetailsVariables = {
+  body?: Schemas.StreamVideoUpdate;
+  pathParams: StreamVideosUpdateVideoDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Edit details for a single video.
+ */
+export const streamVideosUpdateVideoDetails = (
+  variables: StreamVideosUpdateVideoDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.StreamVideoResponseSingle,
+    StreamVideosUpdateVideoDetailsError,
+    Schemas.StreamVideoUpdate,
+    {},
+    {},
+    StreamVideosUpdateVideoDetailsPathParams
+  >({ url: '/accounts/{accountId}/stream/{identifier}', method: 'post', ...variables, signal });
+
+export type ListAudioTracksPathParams = {
+  accountId: Schemas.StreamAccountIdentifier;
+  identifier: Schemas.StreamIdentifier;
+};
+
+export type ListAudioTracksError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type ListAudioTracksVariables = {
+  pathParams: ListAudioTracksPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists additional audio tracks on a video. Note this API will not return information for audio attached to the video upload.
+ */
+export const listAudioTracks = (variables: ListAudioTracksVariables, signal?: AbortSignal) =>
+  fetch<Schemas.StreamListAudioTrackResponse, ListAudioTracksError, undefined, {}, {}, ListAudioTracksPathParams>({
+    url: '/accounts/{accountId}/stream/{identifier}/audio',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type AddAudioTrackPathParams = {
+  accountId: Schemas.StreamAccountIdentifier;
+  identifier: Schemas.StreamIdentifier;
+};
+
+export type AddAudioTrackError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type AddAudioTrackVariables = {
+  body: Schemas.StreamCopyAudioTrack;
+  pathParams: AddAudioTrackPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Adds an additional audio track to a video using the provided audio track URL.
+ */
+export const addAudioTrack = (variables: AddAudioTrackVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.StreamAddAudioTrackResponse,
+    AddAudioTrackError,
+    Schemas.StreamCopyAudioTrack,
+    {},
+    {},
+    AddAudioTrackPathParams
+  >({ url: '/accounts/{accountId}/stream/{identifier}/audio/copy', method: 'post', ...variables, signal });
+
+export type DeleteAudioTracksPathParams = {
+  accountId: Schemas.StreamAccountIdentifier;
+  identifier: Schemas.StreamIdentifier;
+  audioIdentifier: Schemas.StreamAudioIdentifier;
+};
+
+export type DeleteAudioTracksError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamDeletedResponse;
+}>;
+
+export type DeleteAudioTracksVariables = {
+  pathParams: DeleteAudioTracksPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes additional audio tracks on a video. Deleting a default audio track is not allowed. You must assign another audio track as default prior to deletion.
+ */
+export const deleteAudioTracks = (variables: DeleteAudioTracksVariables, signal?: AbortSignal) =>
+  fetch<Schemas.StreamDeletedResponse, DeleteAudioTracksError, undefined, {}, {}, DeleteAudioTracksPathParams>({
+    url: '/accounts/{accountId}/stream/{identifier}/audio/{audioIdentifier}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type EditAudioTracksPathParams = {
+  accountId: Schemas.StreamAccountIdentifier;
+  identifier: Schemas.StreamIdentifier;
+  audioIdentifier: Schemas.StreamAudioIdentifier;
+};
+
+export type EditAudioTracksError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type EditAudioTracksVariables = {
+  body?: Schemas.StreamEditAudioTrack;
+  pathParams: EditAudioTracksPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Edits additional audio tracks on a video. Editing the default status of an audio track to `true` will mark all other audio tracks on the video default status to `false`.
+ */
+export const editAudioTracks = (variables: EditAudioTracksVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.StreamAddAudioTrackResponse,
+    EditAudioTracksError,
+    Schemas.StreamEditAudioTrack,
+    {},
+    {},
+    EditAudioTracksPathParams
+  >({
+    url: '/accounts/{accountId}/stream/{identifier}/audio/{audioIdentifier}',
+    method: 'patch',
+    ...variables,
+    signal
+  });
+
+export type StreamSubtitlesCaptionsListCaptionsOrSubtitlesPathParams = {
+  identifier: Schemas.StreamIdentifier;
+  accountId: Schemas.StreamSchemasIdentifier;
+};
+
+export type StreamSubtitlesCaptionsListCaptionsOrSubtitlesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type StreamSubtitlesCaptionsListCaptionsOrSubtitlesVariables = {
+  pathParams: StreamSubtitlesCaptionsListCaptionsOrSubtitlesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists the available captions or subtitles for a specific video.
+ */
+export const streamSubtitlesCaptionsListCaptionsOrSubtitles = (
+  variables: StreamSubtitlesCaptionsListCaptionsOrSubtitlesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.StreamLanguageResponseCollection,
+    StreamSubtitlesCaptionsListCaptionsOrSubtitlesError,
+    undefined,
+    {},
+    {},
+    StreamSubtitlesCaptionsListCaptionsOrSubtitlesPathParams
+  >({ url: '/accounts/{accountId}/stream/{identifier}/captions', method: 'get', ...variables, signal });
+
+export type StreamSubtitlesCaptionsDeleteCaptionsOrSubtitlesPathParams = {
+  language: Schemas.StreamLanguage;
+  identifier: Schemas.StreamIdentifier;
+  accountId: Schemas.StreamSchemasIdentifier;
+};
+
+export type StreamSubtitlesCaptionsDeleteCaptionsOrSubtitlesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type StreamSubtitlesCaptionsDeleteCaptionsOrSubtitlesResponse = Schemas.StreamApiResponseCommon & {
+  /**
+   * @example
+   */
+  result?: string;
+};
+
+export type StreamSubtitlesCaptionsDeleteCaptionsOrSubtitlesVariables = {
+  pathParams: StreamSubtitlesCaptionsDeleteCaptionsOrSubtitlesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Removes the captions or subtitles from a video.
+ */
+export const streamSubtitlesCaptionsDeleteCaptionsOrSubtitles = (
+  variables: StreamSubtitlesCaptionsDeleteCaptionsOrSubtitlesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    StreamSubtitlesCaptionsDeleteCaptionsOrSubtitlesResponse,
+    StreamSubtitlesCaptionsDeleteCaptionsOrSubtitlesError,
+    undefined,
+    {},
+    {},
+    StreamSubtitlesCaptionsDeleteCaptionsOrSubtitlesPathParams
+  >({ url: '/accounts/{accountId}/stream/{identifier}/captions/{language}', method: 'delete', ...variables, signal });
+
+export type StreamSubtitlesCaptionsGetCaptionOrSubtitleForLanguagePathParams = {
+  language: Schemas.StreamLanguage;
+  identifier: Schemas.StreamIdentifier;
+  accountId: Schemas.StreamSchemasIdentifier;
+};
+
+export type StreamSubtitlesCaptionsGetCaptionOrSubtitleForLanguageError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type StreamSubtitlesCaptionsGetCaptionOrSubtitleForLanguageVariables = {
+  pathParams: StreamSubtitlesCaptionsGetCaptionOrSubtitleForLanguagePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists the captions or subtitles for provided language.
+ */
+export const streamSubtitlesCaptionsGetCaptionOrSubtitleForLanguage = (
+  variables: StreamSubtitlesCaptionsGetCaptionOrSubtitleForLanguageVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.StreamLanguageResponseSingle,
+    StreamSubtitlesCaptionsGetCaptionOrSubtitleForLanguageError,
+    undefined,
+    {},
+    {},
+    StreamSubtitlesCaptionsGetCaptionOrSubtitleForLanguagePathParams
+  >({ url: '/accounts/{accountId}/stream/{identifier}/captions/{language}', method: 'get', ...variables, signal });
+
+export type StreamSubtitlesCaptionsUploadCaptionsOrSubtitlesPathParams = {
+  language: Schemas.StreamLanguage;
+  identifier: Schemas.StreamIdentifier;
+  accountId: Schemas.StreamSchemasIdentifier;
+};
+
+export type StreamSubtitlesCaptionsUploadCaptionsOrSubtitlesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type StreamSubtitlesCaptionsUploadCaptionsOrSubtitlesVariables = {
+  body: Schemas.StreamCaptionBasicUpload;
+  pathParams: StreamSubtitlesCaptionsUploadCaptionsOrSubtitlesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Uploads the caption or subtitle file to the endpoint for a specific BCP47 language. One caption or subtitle file per language is allowed.
+ */
+export const streamSubtitlesCaptionsUploadCaptionsOrSubtitles = (
+  variables: StreamSubtitlesCaptionsUploadCaptionsOrSubtitlesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.StreamLanguageResponseSingle,
+    StreamSubtitlesCaptionsUploadCaptionsOrSubtitlesError,
+    Schemas.StreamCaptionBasicUpload,
+    {},
+    {},
+    StreamSubtitlesCaptionsUploadCaptionsOrSubtitlesPathParams
+  >({ url: '/accounts/{accountId}/stream/{identifier}/captions/{language}', method: 'put', ...variables, signal });
+
+export type StreamSubtitlesCaptionsGenerateCaptionOrSubtitleForLanguagePathParams = {
+  language: Schemas.StreamLanguage;
+  identifier: Schemas.StreamIdentifier;
+  accountId: Schemas.StreamSchemasIdentifier;
+};
+
+export type StreamSubtitlesCaptionsGenerateCaptionOrSubtitleForLanguageError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type StreamSubtitlesCaptionsGenerateCaptionOrSubtitleForLanguageVariables = {
+  pathParams: StreamSubtitlesCaptionsGenerateCaptionOrSubtitleForLanguagePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Generate captions or subtitles for provided language via AI.
+ */
+export const streamSubtitlesCaptionsGenerateCaptionOrSubtitleForLanguage = (
+  variables: StreamSubtitlesCaptionsGenerateCaptionOrSubtitleForLanguageVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.StreamLanguageResponseSingle,
+    StreamSubtitlesCaptionsGenerateCaptionOrSubtitleForLanguageError,
+    undefined,
+    {},
+    {},
+    StreamSubtitlesCaptionsGenerateCaptionOrSubtitleForLanguagePathParams
+  >({
+    url: '/accounts/{accountId}/stream/{identifier}/captions/{language}/generate',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type StreamSubtitlesCaptionsGetVttCaptionOrSubtitlePathParams = {
+  language: Schemas.StreamLanguage;
+  identifier: Schemas.StreamIdentifier;
+  accountId: Schemas.StreamSchemasIdentifier;
+};
+
+export type StreamSubtitlesCaptionsGetVttCaptionOrSubtitleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type StreamSubtitlesCaptionsGetVttCaptionOrSubtitleVariables = {
+  pathParams: StreamSubtitlesCaptionsGetVttCaptionOrSubtitlePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Return WebVTT captions for a provided language.
+ */
+export const streamSubtitlesCaptionsGetVttCaptionOrSubtitle = (
+  variables: StreamSubtitlesCaptionsGetVttCaptionOrSubtitleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    undefined,
+    StreamSubtitlesCaptionsGetVttCaptionOrSubtitleError,
+    undefined,
+    {},
+    {},
+    StreamSubtitlesCaptionsGetVttCaptionOrSubtitlePathParams
+  >({ url: '/accounts/{accountId}/stream/{identifier}/captions/{language}/vtt', method: 'get', ...variables, signal });
+
+export type StreamMP4DownloadsDeleteDownloadsPathParams = {
+  identifier: Schemas.StreamIdentifier;
+  accountId: Schemas.StreamSchemasIdentifier;
+};
+
+export type StreamMP4DownloadsDeleteDownloadsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type StreamMP4DownloadsDeleteDownloadsVariables = {
+  pathParams: StreamMP4DownloadsDeleteDownloadsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete the downloads for a video.
+ */
+export const streamMP4DownloadsDeleteDownloads = (
+  variables: StreamMP4DownloadsDeleteDownloadsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.StreamDeletedResponse,
+    StreamMP4DownloadsDeleteDownloadsError,
+    undefined,
+    {},
+    {},
+    StreamMP4DownloadsDeleteDownloadsPathParams
+  >({ url: '/accounts/{accountId}/stream/{identifier}/downloads', method: 'delete', ...variables, signal });
+
+export type StreamMP4DownloadsListDownloadsPathParams = {
+  identifier: Schemas.StreamIdentifier;
+  accountId: Schemas.StreamSchemasIdentifier;
+};
+
+export type StreamMP4DownloadsListDownloadsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type StreamMP4DownloadsListDownloadsVariables = {
+  pathParams: StreamMP4DownloadsListDownloadsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists the downloads created for a video.
+ */
+export const streamMP4DownloadsListDownloads = (
+  variables: StreamMP4DownloadsListDownloadsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.StreamDownloadsResponse,
+    StreamMP4DownloadsListDownloadsError,
+    undefined,
+    {},
+    {},
+    StreamMP4DownloadsListDownloadsPathParams
+  >({ url: '/accounts/{accountId}/stream/{identifier}/downloads', method: 'get', ...variables, signal });
+
+export type StreamMP4DownloadsCreateDownloadsPathParams = {
+  identifier: Schemas.StreamIdentifier;
+  accountId: Schemas.StreamSchemasIdentifier;
+};
+
+export type StreamMP4DownloadsCreateDownloadsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type StreamMP4DownloadsCreateDownloadsVariables = {
+  pathParams: StreamMP4DownloadsCreateDownloadsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a download for a video when a video is ready to view.
+ */
+export const streamMP4DownloadsCreateDownloads = (
+  variables: StreamMP4DownloadsCreateDownloadsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.StreamDownloadsResponse,
+    StreamMP4DownloadsCreateDownloadsError,
+    undefined,
+    {},
+    {},
+    StreamMP4DownloadsCreateDownloadsPathParams
+  >({ url: '/accounts/{accountId}/stream/{identifier}/downloads', method: 'post', ...variables, signal });
+
+export type StreamVideosRetreieveEmbedCodeHtmlPathParams = {
+  identifier: Schemas.StreamIdentifier;
+  accountId: Schemas.StreamAccountIdentifier;
+};
+
+export type StreamVideosRetreieveEmbedCodeHtmlError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type StreamVideosRetreieveEmbedCodeHtmlVariables = {
+  pathParams: StreamVideosRetreieveEmbedCodeHtmlPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches an HTML code snippet to embed a video in a web page delivered through Cloudflare. On success, returns an HTML fragment for use on web pages to display a video. On failure, returns a JSON response body.
+ */
+export const streamVideosRetreieveEmbedCodeHtml = (
+  variables: StreamVideosRetreieveEmbedCodeHtmlVariables,
+  signal?: AbortSignal
+) =>
+  fetch<void, StreamVideosRetreieveEmbedCodeHtmlError, undefined, {}, {}, StreamVideosRetreieveEmbedCodeHtmlPathParams>(
+    { url: '/accounts/{accountId}/stream/{identifier}/embed', method: 'get', ...variables, signal }
+  );
+
+export type StreamVideosCreateSignedUrlTokensForVideosPathParams = {
+  identifier: Schemas.StreamIdentifier;
+  accountId: Schemas.StreamAccountIdentifier;
+};
+
+export type StreamVideosCreateSignedUrlTokensForVideosError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.StreamApiResponseCommonFailure;
+}>;
+
+export type StreamVideosCreateSignedUrlTokensForVideosVariables = {
+  body?: Schemas.StreamSignedTokenRequest;
+  pathParams: StreamVideosCreateSignedUrlTokensForVideosPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a signed URL token for a video. If a body is not provided in the request, a token is created with default values.
+ */
+export const streamVideosCreateSignedUrlTokensForVideos = (
+  variables: StreamVideosCreateSignedUrlTokensForVideosVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.StreamSignedTokenResponse,
+    StreamVideosCreateSignedUrlTokensForVideosError,
+    Schemas.StreamSignedTokenRequest,
+    {},
+    {},
+    StreamVideosCreateSignedUrlTokensForVideosPathParams
+  >({ url: '/accounts/{accountId}/stream/{identifier}/token', method: 'post', ...variables, signal });
+
+export type AccountSubscriptionsListSubscriptionsPathParams = {
+  accountId: Schemas.BillSubsApiIdentifier;
+};
+
+export type AccountSubscriptionsListSubscriptionsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.BillSubsApiAccountSubscriptionResponseCollection & Schemas.BillSubsApiApiResponseCommonFailure;
+}>;
+
+export type AccountSubscriptionsListSubscriptionsVariables = {
+  pathParams: AccountSubscriptionsListSubscriptionsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists all of an account's subscriptions.
+ */
+export const accountSubscriptionsListSubscriptions = (
+  variables: AccountSubscriptionsListSubscriptionsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.BillSubsApiAccountSubscriptionResponseCollection,
+    AccountSubscriptionsListSubscriptionsError,
+    undefined,
+    {},
+    {},
+    AccountSubscriptionsListSubscriptionsPathParams
+  >({ url: '/accounts/{accountId}/subscriptions', method: 'get', ...variables, signal });
+
+export type AccountSubscriptionsCreateSubscriptionPathParams = {
+  accountId: Schemas.BillSubsApiIdentifier;
+};
+
+export type AccountSubscriptionsCreateSubscriptionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.BillSubsApiAccountSubscriptionResponseSingle & Schemas.BillSubsApiApiResponseCommonFailure;
+}>;
+
+export type AccountSubscriptionsCreateSubscriptionVariables = {
+  body?: Schemas.BillSubsApiSubscriptionV2;
+  pathParams: AccountSubscriptionsCreateSubscriptionPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates an account subscription.
+ */
+export const accountSubscriptionsCreateSubscription = (
+  variables: AccountSubscriptionsCreateSubscriptionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.BillSubsApiAccountSubscriptionResponseSingle,
+    AccountSubscriptionsCreateSubscriptionError,
+    Schemas.BillSubsApiSubscriptionV2,
+    {},
+    {},
+    AccountSubscriptionsCreateSubscriptionPathParams
+  >({ url: '/accounts/{accountId}/subscriptions', method: 'post', ...variables, signal });
+
+export type AccountSubscriptionsDeleteSubscriptionPathParams = {
+  subscriptionIdentifier: Schemas.BillSubsApiSchemasIdentifier;
+  accountId: Schemas.BillSubsApiIdentifier;
+};
+
+export type AccountSubscriptionsDeleteSubscriptionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.BillSubsApiApiResponseSingle & {
+    result?: {
+      subscription_id?: Schemas.BillSubsApiSchemasIdentifier;
+    };
+  }) &
+    Schemas.BillSubsApiApiResponseCommonFailure;
+}>;
+
+export type AccountSubscriptionsDeleteSubscriptionResponse = Schemas.BillSubsApiApiResponseSingle & {
+  result?: {
+    subscription_id?: Schemas.BillSubsApiSchemasIdentifier;
+  };
+};
+
+export type AccountSubscriptionsDeleteSubscriptionVariables = {
+  pathParams: AccountSubscriptionsDeleteSubscriptionPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes an account's subscription.
+ */
+export const accountSubscriptionsDeleteSubscription = (
+  variables: AccountSubscriptionsDeleteSubscriptionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    AccountSubscriptionsDeleteSubscriptionResponse,
+    AccountSubscriptionsDeleteSubscriptionError,
+    undefined,
+    {},
+    {},
+    AccountSubscriptionsDeleteSubscriptionPathParams
+  >({ url: '/accounts/{accountId}/subscriptions/{subscriptionIdentifier}', method: 'delete', ...variables, signal });
+
+export type AccountSubscriptionsUpdateSubscriptionPathParams = {
+  subscriptionIdentifier: Schemas.BillSubsApiSchemasIdentifier;
+  accountId: Schemas.BillSubsApiIdentifier;
+};
+
+export type AccountSubscriptionsUpdateSubscriptionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.BillSubsApiAccountSubscriptionResponseSingle & Schemas.BillSubsApiApiResponseCommonFailure;
+}>;
+
+export type AccountSubscriptionsUpdateSubscriptionVariables = {
+  body?: Schemas.BillSubsApiSubscriptionV2;
+  pathParams: AccountSubscriptionsUpdateSubscriptionPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates an account subscription.
+ */
+export const accountSubscriptionsUpdateSubscription = (
+  variables: AccountSubscriptionsUpdateSubscriptionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.BillSubsApiAccountSubscriptionResponseSingle,
+    AccountSubscriptionsUpdateSubscriptionError,
+    Schemas.BillSubsApiSubscriptionV2,
+    {},
+    {},
+    AccountSubscriptionsUpdateSubscriptionPathParams
+  >({ url: '/accounts/{accountId}/subscriptions/{subscriptionIdentifier}', method: 'put', ...variables, signal });
+
+export type TunnelRouteListTunnelRoutesPathParams = {
+  accountId: Schemas.TunnelAccountId;
+};
+
+export type TunnelRouteListTunnelRoutesQueryParams = {
+  comment?: Schemas.TunnelComment;
+  is_deleted?: boolean;
+  /**
+   * The private IPv4 or IPv6 range connected by the route, in CIDR notation.
+   *
+   * @example 172.16.0.0/16
+   */
+  network_subset?: Schemas.TunnelIpNetwork;
+  /**
+   * The private IPv4 or IPv6 range connected by the route, in CIDR notation.
+   *
+   * @example 172.16.0.0/16
+   */
+  network_superset?: Schemas.TunnelIpNetwork;
+  existed_at?: Schemas.TunnelExistedAt;
+  tunnel_id?: Schemas.TunnelTunnelId;
+  route_id?: Schemas.TunnelRouteId;
+  tun_types?: Schemas.TunnelTunnelTypes;
+  virtual_network_id?: Schemas.TunnelVirtualNetworkId;
+  per_page?: Schemas.TunnelPerPage;
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+};
+
+export type TunnelRouteListTunnelRoutesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TunnelTeamnetResponseCollection & Schemas.TunnelApiResponseCommonFailure;
+}>;
+
+export type TunnelRouteListTunnelRoutesVariables = {
+  pathParams: TunnelRouteListTunnelRoutesPathParams;
+  queryParams?: TunnelRouteListTunnelRoutesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists and filters private network routes in an account.
+ */
+export const tunnelRouteListTunnelRoutes = (variables: TunnelRouteListTunnelRoutesVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.TunnelTeamnetResponseCollection,
+    TunnelRouteListTunnelRoutesError,
+    undefined,
+    {},
+    TunnelRouteListTunnelRoutesQueryParams,
+    TunnelRouteListTunnelRoutesPathParams
+  >({ url: '/accounts/{accountId}/teamnet/routes', method: 'get', ...variables, signal });
+
+export type TunnelRouteCreateATunnelRoutePathParams = {
+  accountId: Schemas.TunnelAccountId;
+};
+
+export type TunnelRouteCreateATunnelRouteError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TunnelRouteResponseSingle & Schemas.TunnelApiResponseCommonFailure;
+}>;
+
+export type TunnelRouteCreateATunnelRouteRequestBody = {
+  comment?: Schemas.TunnelComment;
+  network: Schemas.TunnelIpNetwork;
+  tunnel_id: Schemas.TunnelTunnelId;
+  virtual_network_id?: Schemas.TunnelVirtualNetworkId;
+};
+
+export type TunnelRouteCreateATunnelRouteVariables = {
+  body: TunnelRouteCreateATunnelRouteRequestBody;
+  pathParams: TunnelRouteCreateATunnelRoutePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Routes a private network through a Cloudflare Tunnel.
+ */
+export const tunnelRouteCreateATunnelRoute = (
+  variables: TunnelRouteCreateATunnelRouteVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TunnelRouteResponseSingle,
+    TunnelRouteCreateATunnelRouteError,
+    TunnelRouteCreateATunnelRouteRequestBody,
+    {},
+    {},
+    TunnelRouteCreateATunnelRoutePathParams
+  >({ url: '/accounts/{accountId}/teamnet/routes', method: 'post', ...variables, signal });
+
+export type TunnelRouteGetTunnelRouteByIpPathParams = {
+  ip: Schemas.TunnelIp;
+  accountId: Schemas.TunnelAccountId;
+};
+
+export type TunnelRouteGetTunnelRouteByIpQueryParams = {
+  virtual_network_id?: Schemas.TunnelVirtualNetworkId;
+};
+
+export type TunnelRouteGetTunnelRouteByIpError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TunnelTeamnetResponseSingle & Schemas.TunnelApiResponseCommonFailure;
+}>;
+
+export type TunnelRouteGetTunnelRouteByIpVariables = {
+  pathParams: TunnelRouteGetTunnelRouteByIpPathParams;
+  queryParams?: TunnelRouteGetTunnelRouteByIpQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches routes that contain the given IP address.
+ */
+export const tunnelRouteGetTunnelRouteByIp = (
+  variables: TunnelRouteGetTunnelRouteByIpVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TunnelTeamnetResponseSingle,
+    TunnelRouteGetTunnelRouteByIpError,
+    undefined,
+    {},
+    TunnelRouteGetTunnelRouteByIpQueryParams,
+    TunnelRouteGetTunnelRouteByIpPathParams
+  >({ url: '/accounts/{accountId}/teamnet/routes/ip/{ip}', method: 'get', ...variables, signal });
+
+export type TunnelRouteDeleteATunnelRouteWithCidrPathParams = {
+  ipNetworkEncoded: Schemas.TunnelIpNetworkEncoded;
+  accountId: Schemas.TunnelAccountId;
+};
+
+export type TunnelRouteDeleteATunnelRouteWithCidrQueryParams = {
+  virtual_network_id?: Schemas.TunnelVirtualNetworkId;
+  tun_type?: Schemas.TunnelTunnelType;
+  tunnel_id?: Schemas.TunnelTunnelId;
+};
+
+export type TunnelRouteDeleteATunnelRouteWithCidrError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TunnelRouteResponseSingle & Schemas.TunnelApiResponseCommonFailure;
+}>;
+
+export type TunnelRouteDeleteATunnelRouteWithCidrVariables = {
+  pathParams: TunnelRouteDeleteATunnelRouteWithCidrPathParams;
+  queryParams?: TunnelRouteDeleteATunnelRouteWithCidrQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes a private network route from an account. The CIDR in `ip_network_encoded` must be written in URL-encoded format. If no virtual_network_id is provided it will delete the route from the default vnet. If no tun_type is provided it will fetch the type from the tunnel_id or if that is missing it will assume Cloudflare Tunnel as default. If tunnel_id is provided it will delete the route from that tunnel, otherwise it will delete the route based on the vnet and tun_type.
+ */
+export const tunnelRouteDeleteATunnelRouteWithCidr = (
+  variables: TunnelRouteDeleteATunnelRouteWithCidrVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TunnelRouteResponseSingle,
+    TunnelRouteDeleteATunnelRouteWithCidrError,
+    undefined,
+    {},
+    TunnelRouteDeleteATunnelRouteWithCidrQueryParams,
+    TunnelRouteDeleteATunnelRouteWithCidrPathParams
+  >({ url: '/accounts/{accountId}/teamnet/routes/network/{ipNetworkEncoded}', method: 'delete', ...variables, signal });
+
+export type TunnelRouteUpdateATunnelRouteWithCidrPathParams = {
+  ipNetworkEncoded: Schemas.TunnelIpNetworkEncoded;
+  accountId: Schemas.TunnelAccountId;
+};
+
+export type TunnelRouteUpdateATunnelRouteWithCidrError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TunnelRouteResponseSingle & Schemas.TunnelApiResponseCommonFailure;
+}>;
+
+export type TunnelRouteUpdateATunnelRouteWithCidrVariables = {
+  pathParams: TunnelRouteUpdateATunnelRouteWithCidrPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates an existing private network route in an account. The CIDR in `ip_network_encoded` must be written in URL-encoded format.
+ */
+export const tunnelRouteUpdateATunnelRouteWithCidr = (
+  variables: TunnelRouteUpdateATunnelRouteWithCidrVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TunnelRouteResponseSingle,
+    TunnelRouteUpdateATunnelRouteWithCidrError,
+    undefined,
+    {},
+    {},
+    TunnelRouteUpdateATunnelRouteWithCidrPathParams
+  >({ url: '/accounts/{accountId}/teamnet/routes/network/{ipNetworkEncoded}', method: 'patch', ...variables, signal });
+
+export type TunnelRouteCreateATunnelRouteWithCidrPathParams = {
+  ipNetworkEncoded: Schemas.TunnelIpNetworkEncoded;
+  accountId: Schemas.TunnelAccountId;
+};
+
+export type TunnelRouteCreateATunnelRouteWithCidrError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TunnelRouteResponseSingle & Schemas.TunnelApiResponseCommonFailure;
+}>;
+
+export type TunnelRouteCreateATunnelRouteWithCidrRequestBody = {
+  comment?: Schemas.TunnelComment;
+  tunnel_id: Schemas.TunnelTunnelId;
+  virtual_network_id?: Schemas.TunnelVirtualNetworkId;
+};
+
+export type TunnelRouteCreateATunnelRouteWithCidrVariables = {
+  body: TunnelRouteCreateATunnelRouteWithCidrRequestBody;
+  pathParams: TunnelRouteCreateATunnelRouteWithCidrPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Routes a private network through a Cloudflare Tunnel. The CIDR in `ip_network_encoded` must be written in URL-encoded format.
+ */
+export const tunnelRouteCreateATunnelRouteWithCidr = (
+  variables: TunnelRouteCreateATunnelRouteWithCidrVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TunnelRouteResponseSingle,
+    TunnelRouteCreateATunnelRouteWithCidrError,
+    TunnelRouteCreateATunnelRouteWithCidrRequestBody,
+    {},
+    {},
+    TunnelRouteCreateATunnelRouteWithCidrPathParams
+  >({ url: '/accounts/{accountId}/teamnet/routes/network/{ipNetworkEncoded}', method: 'post', ...variables, signal });
+
+export type TunnelRouteDeleteATunnelRoutePathParams = {
+  routeId: Schemas.TunnelRouteId;
+  accountId: Schemas.TunnelAccountId;
+};
+
+export type TunnelRouteDeleteATunnelRouteError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TunnelRouteResponseSingle & Schemas.TunnelApiResponseCommonFailure;
+}>;
+
+export type TunnelRouteDeleteATunnelRouteVariables = {
+  pathParams: TunnelRouteDeleteATunnelRoutePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes a private network route from an account.
+ */
+export const tunnelRouteDeleteATunnelRoute = (
+  variables: TunnelRouteDeleteATunnelRouteVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TunnelRouteResponseSingle,
+    TunnelRouteDeleteATunnelRouteError,
+    undefined,
+    {},
+    {},
+    TunnelRouteDeleteATunnelRoutePathParams
+  >({ url: '/accounts/{accountId}/teamnet/routes/{routeId}', method: 'delete', ...variables, signal });
+
+export type TunnelRouteGetTunnelRoutePathParams = {
+  accountId: Schemas.TunnelAccountId;
+  routeId: Schemas.TunnelRouteId;
+};
+
+export type TunnelRouteGetTunnelRouteError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TunnelRouteResponseSingle & Schemas.TunnelApiResponseCommonFailure;
+}>;
+
+export type TunnelRouteGetTunnelRouteVariables = {
+  pathParams: TunnelRouteGetTunnelRoutePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a private network route in an account.
+ */
+export const tunnelRouteGetTunnelRoute = (variables: TunnelRouteGetTunnelRouteVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.TunnelRouteResponseSingle,
+    TunnelRouteGetTunnelRouteError,
+    undefined,
+    {},
+    {},
+    TunnelRouteGetTunnelRoutePathParams
+  >({ url: '/accounts/{accountId}/teamnet/routes/{routeId}', method: 'get', ...variables, signal });
+
+export type TunnelRouteUpdateATunnelRoutePathParams = {
+  routeId: Schemas.TunnelRouteId;
+  accountId: Schemas.TunnelAccountId;
+};
+
+export type TunnelRouteUpdateATunnelRouteError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TunnelRouteResponseSingle & Schemas.TunnelApiResponseCommonFailure;
+}>;
+
+export type TunnelRouteUpdateATunnelRouteRequestBody = {
+  comment?: Schemas.TunnelComment;
+  network?: Schemas.TunnelIpNetwork;
+  tunnel_id?: Schemas.TunnelTunnelId;
+  virtual_network_id?: Schemas.TunnelVirtualNetworkId;
+};
+
+export type TunnelRouteUpdateATunnelRouteVariables = {
+  body?: TunnelRouteUpdateATunnelRouteRequestBody;
+  pathParams: TunnelRouteUpdateATunnelRoutePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates an existing private network route in an account. The fields that are meant to be updated should be provided in the body of the request.
+ */
+export const tunnelRouteUpdateATunnelRoute = (
+  variables: TunnelRouteUpdateATunnelRouteVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TunnelRouteResponseSingle,
+    TunnelRouteUpdateATunnelRouteError,
+    TunnelRouteUpdateATunnelRouteRequestBody,
+    {},
+    {},
+    TunnelRouteUpdateATunnelRoutePathParams
+  >({ url: '/accounts/{accountId}/teamnet/routes/{routeId}', method: 'patch', ...variables, signal });
+
+export type TunnelVirtualNetworkListVirtualNetworksPathParams = {
+  accountId: Schemas.TunnelAccountId;
+};
+
+export type TunnelVirtualNetworkListVirtualNetworksQueryParams = {
+  id?: Schemas.TunnelVirtualNetworkId;
+  name?: Schemas.TunnelVirtualNetworkName;
+  is_default?: boolean;
+  is_deleted?: boolean;
+};
+
+export type TunnelVirtualNetworkListVirtualNetworksError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TunnelVnetResponseCollection & Schemas.TunnelApiResponseCommonFailure;
+}>;
+
+export type TunnelVirtualNetworkListVirtualNetworksVariables = {
+  pathParams: TunnelVirtualNetworkListVirtualNetworksPathParams;
+  queryParams?: TunnelVirtualNetworkListVirtualNetworksQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists and filters virtual networks in an account.
+ */
+export const tunnelVirtualNetworkListVirtualNetworks = (
+  variables: TunnelVirtualNetworkListVirtualNetworksVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TunnelVnetResponseCollection,
+    TunnelVirtualNetworkListVirtualNetworksError,
+    undefined,
+    {},
+    TunnelVirtualNetworkListVirtualNetworksQueryParams,
+    TunnelVirtualNetworkListVirtualNetworksPathParams
+  >({ url: '/accounts/{accountId}/teamnet/virtual_networks', method: 'get', ...variables, signal });
+
+export type TunnelVirtualNetworkCreateAVirtualNetworkPathParams = {
+  accountId: Schemas.TunnelAccountId;
+};
+
+export type TunnelVirtualNetworkCreateAVirtualNetworkError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TunnelVnetResponseSingle & Schemas.TunnelApiResponseCommonFailure;
+}>;
+
+export type TunnelVirtualNetworkCreateAVirtualNetworkRequestBody = {
+  comment?: Schemas.TunnelVirtualNetworkComment;
+  is_default?: Schemas.TunnelIsDefaultNetwork;
+  name: Schemas.TunnelVirtualNetworkName;
+};
+
+export type TunnelVirtualNetworkCreateAVirtualNetworkVariables = {
+  body: TunnelVirtualNetworkCreateAVirtualNetworkRequestBody;
+  pathParams: TunnelVirtualNetworkCreateAVirtualNetworkPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Adds a new virtual network to an account.
+ */
+export const tunnelVirtualNetworkCreateAVirtualNetwork = (
+  variables: TunnelVirtualNetworkCreateAVirtualNetworkVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TunnelVnetResponseSingle,
+    TunnelVirtualNetworkCreateAVirtualNetworkError,
+    TunnelVirtualNetworkCreateAVirtualNetworkRequestBody,
+    {},
+    {},
+    TunnelVirtualNetworkCreateAVirtualNetworkPathParams
+  >({ url: '/accounts/{accountId}/teamnet/virtual_networks', method: 'post', ...variables, signal });
+
+export type TunnelVirtualNetworkDeletePathParams = {
+  virtualNetworkId: Schemas.TunnelVirtualNetworkId;
+  accountId: Schemas.TunnelAccountId;
+};
+
+export type TunnelVirtualNetworkDeleteError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TunnelVnetResponseSingle & Schemas.TunnelApiResponseCommonFailure;
+}>;
+
+export type TunnelVirtualNetworkDeleteVariables = {
+  pathParams: TunnelVirtualNetworkDeletePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes an existing virtual network.
+ */
+export const tunnelVirtualNetworkDelete = (variables: TunnelVirtualNetworkDeleteVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.TunnelVnetResponseSingle,
+    TunnelVirtualNetworkDeleteError,
+    undefined,
+    {},
+    {},
+    TunnelVirtualNetworkDeletePathParams
+  >({
+    url: '/accounts/{accountId}/teamnet/virtual_networks/{virtualNetworkId}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type TunnelVirtualNetworkGetPathParams = {
+  accountId: Schemas.TunnelAccountId;
+  virtualNetworkId: Schemas.TunnelVirtualNetworkId;
+};
+
+export type TunnelVirtualNetworkGetError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TunnelVnetResponseSingle & Schemas.TunnelApiResponseCommonFailure;
+}>;
+
+export type TunnelVirtualNetworkGetRequestBody = {
+  comment?: Schemas.TunnelVirtualNetworkComment;
+  is_default_network?: Schemas.TunnelIsDefaultNetwork;
+  name?: Schemas.TunnelVirtualNetworkName;
+};
+
+export type TunnelVirtualNetworkGetVariables = {
+  body?: TunnelVirtualNetworkGetRequestBody;
+  pathParams: TunnelVirtualNetworkGetPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a virtual network.
+ */
+export const tunnelVirtualNetworkGet = (variables: TunnelVirtualNetworkGetVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.TunnelVnetResponseSingle,
+    TunnelVirtualNetworkGetError,
+    TunnelVirtualNetworkGetRequestBody,
+    {},
+    {},
+    TunnelVirtualNetworkGetPathParams
+  >({ url: '/accounts/{accountId}/teamnet/virtual_networks/{virtualNetworkId}', method: 'get', ...variables, signal });
+
+export type TunnelVirtualNetworkUpdatePathParams = {
+  accountId: Schemas.TunnelAccountId;
+  virtualNetworkId: Schemas.TunnelVirtualNetworkId;
+};
+
+export type TunnelVirtualNetworkUpdateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TunnelVnetResponseSingle & Schemas.TunnelApiResponseCommonFailure;
+}>;
+
+export type TunnelVirtualNetworkUpdateRequestBody = {
+  comment?: Schemas.TunnelVirtualNetworkComment;
+  is_default_network?: Schemas.TunnelIsDefaultNetwork;
+  name?: Schemas.TunnelVirtualNetworkName;
+};
+
+export type TunnelVirtualNetworkUpdateVariables = {
+  body?: TunnelVirtualNetworkUpdateRequestBody;
+  pathParams: TunnelVirtualNetworkUpdatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates an existing virtual network.
+ */
+export const tunnelVirtualNetworkUpdate = (variables: TunnelVirtualNetworkUpdateVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.TunnelVnetResponseSingle,
+    TunnelVirtualNetworkUpdateError,
+    TunnelVirtualNetworkUpdateRequestBody,
+    {},
+    {},
+    TunnelVirtualNetworkUpdatePathParams
+  >({
+    url: '/accounts/{accountId}/teamnet/virtual_networks/{virtualNetworkId}',
+    method: 'patch',
+    ...variables,
+    signal
+  });
+
+export type AccountApiTokensListTokensPathParams = {
+  accountId: Schemas.IamAccountIdentifier;
+};
+
+export type AccountApiTokensListTokensQueryParams = {
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default 20
+   * @maximum 50
+   * @minimum 5
+   */
+  per_page?: number;
+  /**
+   * @example desc
+   */
+  direction?: 'asc' | 'desc';
+};
+
+export type AccountApiTokensListTokensError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type AccountApiTokensListTokensVariables = {
+  pathParams: AccountApiTokensListTokensPathParams;
+  queryParams?: AccountApiTokensListTokensQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * List all Account Owned API tokens created for this account.
+ */
+export const accountApiTokensListTokens = (variables: AccountApiTokensListTokensVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.IamCollectionTokensResponse,
+    AccountApiTokensListTokensError,
+    undefined,
+    {},
+    AccountApiTokensListTokensQueryParams,
+    AccountApiTokensListTokensPathParams
+  >({ url: '/accounts/{accountId}/tokens', method: 'get', ...variables, signal });
+
+export type AccountApiTokensCreateTokenPathParams = {
+  accountId: Schemas.IamAccountIdentifier;
+};
+
+export type AccountApiTokensCreateTokenError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type AccountApiTokensCreateTokenVariables = {
+  body: Schemas.IamCreatePayload;
+  pathParams: AccountApiTokensCreateTokenPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create a new Account Owned API token.
+ */
+export const accountApiTokensCreateToken = (variables: AccountApiTokensCreateTokenVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.IamSingleTokenCreateResponse,
+    AccountApiTokensCreateTokenError,
+    Schemas.IamCreatePayload,
+    {},
+    {},
+    AccountApiTokensCreateTokenPathParams
+  >({ url: '/accounts/{accountId}/tokens', method: 'post', ...variables, signal });
+
+export type AccountApiTokensListPermissionGroupsPathParams = {
+  accountId: Schemas.IamAccountIdentifier;
+};
+
+export type AccountApiTokensListPermissionGroupsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type AccountApiTokensListPermissionGroupsVariables = {
+  pathParams: AccountApiTokensListPermissionGroupsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Find all available permission groups for Account Owned API Tokens
+ */
+export const accountApiTokensListPermissionGroups = (
+  variables: AccountApiTokensListPermissionGroupsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.IamSchemasResponseCollection,
+    AccountApiTokensListPermissionGroupsError,
+    undefined,
+    {},
+    {},
+    AccountApiTokensListPermissionGroupsPathParams
+  >({ url: '/accounts/{accountId}/tokens/permission_groups', method: 'get', ...variables, signal });
+
+export type AccountApiTokensVerifyTokenPathParams = {
+  accountId: Schemas.IamAccountIdentifier;
+};
+
+export type AccountApiTokensVerifyTokenError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type AccountApiTokensVerifyTokenVariables = {
+  pathParams: AccountApiTokensVerifyTokenPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Test whether a token works.
+ */
+export const accountApiTokensVerifyToken = (variables: AccountApiTokensVerifyTokenVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.IamResponseSingleSegment,
+    AccountApiTokensVerifyTokenError,
+    undefined,
+    {},
+    {},
+    AccountApiTokensVerifyTokenPathParams
+  >({ url: '/accounts/{accountId}/tokens/verify', method: 'get', ...variables, signal });
+
+export type AccountApiTokensDeleteTokenPathParams = {
+  accountId: Schemas.IamAccountIdentifier;
+  tokenId: Schemas.IamTokenIdentifier;
+};
+
+export type AccountApiTokensDeleteTokenError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type AccountApiTokensDeleteTokenVariables = {
+  pathParams: AccountApiTokensDeleteTokenPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Destroy an Account Owned API token.
+ */
+export const accountApiTokensDeleteToken = (variables: AccountApiTokensDeleteTokenVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.IamApiResponseSingleId,
+    AccountApiTokensDeleteTokenError,
+    undefined,
+    {},
+    {},
+    AccountApiTokensDeleteTokenPathParams
+  >({ url: '/accounts/{accountId}/tokens/{tokenId}', method: 'delete', ...variables, signal });
+
+export type AccountApiTokensTokenDetailsPathParams = {
+  accountId: Schemas.IamAccountIdentifier;
+  tokenId: Schemas.IamTokenIdentifier;
+};
+
+export type AccountApiTokensTokenDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type AccountApiTokensTokenDetailsVariables = {
+  pathParams: AccountApiTokensTokenDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get information about a specific Account Owned API token.
+ */
+export const accountApiTokensTokenDetails = (variables: AccountApiTokensTokenDetailsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.IamSingleTokenResponse,
+    AccountApiTokensTokenDetailsError,
+    undefined,
+    {},
+    {},
+    AccountApiTokensTokenDetailsPathParams
+  >({ url: '/accounts/{accountId}/tokens/{tokenId}', method: 'get', ...variables, signal });
+
+export type AccountApiTokensUpdateTokenPathParams = {
+  accountId: Schemas.IamAccountIdentifier;
+  tokenId: Schemas.IamTokenIdentifier;
+};
+
+export type AccountApiTokensUpdateTokenError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type AccountApiTokensUpdateTokenVariables = {
+  body?: Schemas.IamTokenBody;
+  pathParams: AccountApiTokensUpdateTokenPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update an existing token.
+ */
+export const accountApiTokensUpdateToken = (variables: AccountApiTokensUpdateTokenVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.IamSingleTokenResponse,
+    AccountApiTokensUpdateTokenError,
+    Schemas.IamTokenBody,
+    {},
+    {},
+    AccountApiTokensUpdateTokenPathParams
+  >({ url: '/accounts/{accountId}/tokens/{tokenId}', method: 'put', ...variables, signal });
+
+export type AccountApiTokensRollTokenPathParams = {
+  accountId: Schemas.IamAccountIdentifier;
+  tokenId: Schemas.IamTokenIdentifier;
+};
+
+export type AccountApiTokensRollTokenError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type AccountApiTokensRollTokenVariables = {
+  body?: Record<string, any>;
+  pathParams: AccountApiTokensRollTokenPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Roll the Account Owned API token secret.
+ */
+export const accountApiTokensRollToken = (variables: AccountApiTokensRollTokenVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.IamResponseSingleValue,
+    AccountApiTokensRollTokenError,
+    Record<string, any>,
+    {},
+    {},
+    AccountApiTokensRollTokenPathParams
+  >({ url: '/accounts/{accountId}/tokens/{tokenId}/value', method: 'put', ...variables, signal });
+
+export type CloudflareTunnelListAllTunnelsPathParams = {
+  accountId: Schemas.TunnelAccountId;
+};
+
+export type CloudflareTunnelListAllTunnelsQueryParams = {
+  /**
+   * @example blog
+   */
+  name?: string;
+  /**
+   * @example true
+   */
+  is_deleted?: boolean;
+  existed_at?: Schemas.TunnelExistedAt;
+  uuid?: Schemas.TunnelTunnelId;
+  /**
+   * @example 2009-11-10T23:00:00Z
+   * @format date-time
+   */
+  was_active_at?: string;
+  /**
+   * @example 2009-11-10T23:00:00Z
+   * @format date-time
+   */
+  was_inactive_at?: string;
+  /**
+   * @example vpc1-
+   */
+  include_prefix?: string;
+  /**
+   * @example vpc1-
+   */
+  exclude_prefix?: string;
+  tun_types?: Schemas.TunnelTunnelTypes;
+  status?: Schemas.TunnelStatus;
+  per_page?: Schemas.TunnelPerPage;
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+};
+
+export type CloudflareTunnelListAllTunnelsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TunnelTunnelResponseCollection & Schemas.TunnelApiResponseCommonFailure;
+}>;
+
+export type CloudflareTunnelListAllTunnelsVariables = {
+  pathParams: CloudflareTunnelListAllTunnelsPathParams;
+  queryParams?: CloudflareTunnelListAllTunnelsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists and filters all types of Tunnels in an account.
+ */
+export const cloudflareTunnelListAllTunnels = (
+  variables: CloudflareTunnelListAllTunnelsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TunnelTunnelResponseCollection,
+    CloudflareTunnelListAllTunnelsError,
+    undefined,
+    {},
+    CloudflareTunnelListAllTunnelsQueryParams,
+    CloudflareTunnelListAllTunnelsPathParams
+  >({ url: '/accounts/{accountId}/tunnels', method: 'get', ...variables, signal });
+
+export type SubmitAbuseReportPathParams = {
+  /**
+   * The account ID of the submitter.
+   *
+   * @example 023e105f4ecef8ad9ca31a8372d0c353
+   * @maxLength 32
+   */
+  accountId: string;
+  /**
+   * The report type to be submitted
+   */
+  reportType: Schemas.AbuseReportsReportType;
+};
+
+export type SubmitAbuseReportError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: Schemas.AbuseReportsSubmitErrorResponse;
+    }
+  | {
+      status: 500;
+      payload: Schemas.AbuseReportsSubmitErrorResponse;
+    }
+>;
+
+export type SubmitAbuseReportVariables = {
+  body: Schemas.AbuseReportsSubmitReportRequest;
+  pathParams: SubmitAbuseReportPathParams;
+} & FetcherExtraProps;
+
+export const submitAbuseReport = (variables: SubmitAbuseReportVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.AbuseReportsSubmitReportResponse,
+    SubmitAbuseReportError,
+    Schemas.AbuseReportsSubmitReportRequest,
+    {},
+    {},
+    SubmitAbuseReportPathParams
+  >({ url: '/accounts/{accountId}/v1/abuse-reports/{reportType}', method: 'post', ...variables, signal });
+
+export type VectorizeDeprecatedListVectorizeIndexesPathParams = {
+  accountId: Schemas.VectorizeIdentifier;
+};
+
+export type VectorizeDeprecatedListVectorizeIndexesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.VectorizeApiResponseSingle & {
+    result?: Record<string, any> | null;
+  }) &
+    Schemas.VectorizeApiResponseCommonFailure;
+}>;
+
+export type VectorizeDeprecatedListVectorizeIndexesResponse = {
+  errors: Schemas.VectorizeMessages;
+  messages: Schemas.VectorizeMessages;
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type VectorizeDeprecatedListVectorizeIndexesVariables = {
+  pathParams: VectorizeDeprecatedListVectorizeIndexesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Returns a list of Vectorize Indexes
+ */
+export const vectorizeDeprecatedListVectorizeIndexes = (
+  variables: VectorizeDeprecatedListVectorizeIndexesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    VectorizeDeprecatedListVectorizeIndexesResponse,
+    VectorizeDeprecatedListVectorizeIndexesError,
+    undefined,
+    {},
+    {},
+    VectorizeDeprecatedListVectorizeIndexesPathParams
+  >({ url: '/accounts/{accountId}/vectorize/indexes', method: 'get', ...variables, signal });
+
+export type VectorizeDeprecatedCreateVectorizeIndexPathParams = {
+  accountId: Schemas.VectorizeIdentifier;
+};
+
+export type VectorizeDeprecatedCreateVectorizeIndexError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.VectorizeApiResponseSingle & {
+    result?: Record<string, any> | null;
+  }) &
+    Schemas.VectorizeApiResponseCommonFailure;
+}>;
+
+export type VectorizeDeprecatedCreateVectorizeIndexResponse = Schemas.VectorizeApiResponseSingle & {
+  result?: Schemas.VectorizeCreateIndexResponse;
+};
+
+export type VectorizeDeprecatedCreateVectorizeIndexVariables = {
+  body: Schemas.VectorizeCreateIndexRequest;
+  pathParams: VectorizeDeprecatedCreateVectorizeIndexPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates and returns a new Vectorize Index.
+ */
+export const vectorizeDeprecatedCreateVectorizeIndex = (
+  variables: VectorizeDeprecatedCreateVectorizeIndexVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    VectorizeDeprecatedCreateVectorizeIndexResponse,
+    VectorizeDeprecatedCreateVectorizeIndexError,
+    Schemas.VectorizeCreateIndexRequest,
+    {},
+    {},
+    VectorizeDeprecatedCreateVectorizeIndexPathParams
+  >({ url: '/accounts/{accountId}/vectorize/indexes', method: 'post', ...variables, signal });
+
+export type VectorizeDeprecatedDeleteVectorizeIndexPathParams = {
+  accountId: Schemas.VectorizeIdentifier;
+  indexName: Schemas.VectorizeIndexName;
+};
+
+export type VectorizeDeprecatedDeleteVectorizeIndexError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.VectorizeApiResponseSingle & {
+    result?: Record<string, any> | null;
+  }) &
+    Schemas.VectorizeApiResponseCommonFailure;
+}>;
+
+export type VectorizeDeprecatedDeleteVectorizeIndexResponse = Schemas.VectorizeApiResponseSingle & {
+  result?: Record<string, any> | null;
+};
+
+export type VectorizeDeprecatedDeleteVectorizeIndexVariables = {
+  pathParams: VectorizeDeprecatedDeleteVectorizeIndexPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes the specified Vectorize Index.
+ */
+export const vectorizeDeprecatedDeleteVectorizeIndex = (
+  variables: VectorizeDeprecatedDeleteVectorizeIndexVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    VectorizeDeprecatedDeleteVectorizeIndexResponse,
+    VectorizeDeprecatedDeleteVectorizeIndexError,
+    undefined,
+    {},
+    {},
+    VectorizeDeprecatedDeleteVectorizeIndexPathParams
+  >({ url: '/accounts/{accountId}/vectorize/indexes/{indexName}', method: 'delete', ...variables, signal });
+
+export type VectorizeDeprecatedGetVectorizeIndexPathParams = {
+  accountId: Schemas.VectorizeIdentifier;
+  indexName: Schemas.VectorizeIndexName;
+};
+
+export type VectorizeDeprecatedGetVectorizeIndexError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.VectorizeApiResponseSingle & {
+    result?: Record<string, any> | null;
+  }) &
+    Schemas.VectorizeApiResponseCommonFailure;
+}>;
+
+export type VectorizeDeprecatedGetVectorizeIndexResponse = Schemas.VectorizeApiResponseSingle & {
+  result?: Schemas.VectorizeCreateIndexResponse;
+};
+
+export type VectorizeDeprecatedGetVectorizeIndexVariables = {
+  pathParams: VectorizeDeprecatedGetVectorizeIndexPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Returns the specified Vectorize Index.
+ */
+export const vectorizeDeprecatedGetVectorizeIndex = (
+  variables: VectorizeDeprecatedGetVectorizeIndexVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    VectorizeDeprecatedGetVectorizeIndexResponse,
+    VectorizeDeprecatedGetVectorizeIndexError,
+    undefined,
+    {},
+    {},
+    VectorizeDeprecatedGetVectorizeIndexPathParams
+  >({ url: '/accounts/{accountId}/vectorize/indexes/{indexName}', method: 'get', ...variables, signal });
+
+export type VectorizeDeprecatedUpdateVectorizeIndexPathParams = {
+  accountId: Schemas.VectorizeIdentifier;
+  indexName: Schemas.VectorizeIndexName;
+};
+
+export type VectorizeDeprecatedUpdateVectorizeIndexError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.VectorizeApiResponseSingle & {
+    result?: Record<string, any> | null;
+  }) &
+    Schemas.VectorizeApiResponseCommonFailure;
+}>;
+
+export type VectorizeDeprecatedUpdateVectorizeIndexResponse = Schemas.VectorizeApiResponseSingle & {
+  result?: Schemas.VectorizeCreateIndexResponse;
+};
+
+export type VectorizeDeprecatedUpdateVectorizeIndexVariables = {
+  body: Schemas.VectorizeUpdateIndexRequest;
+  pathParams: VectorizeDeprecatedUpdateVectorizeIndexPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates and returns the specified Vectorize Index.
+ */
+export const vectorizeDeprecatedUpdateVectorizeIndex = (
+  variables: VectorizeDeprecatedUpdateVectorizeIndexVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    VectorizeDeprecatedUpdateVectorizeIndexResponse,
+    VectorizeDeprecatedUpdateVectorizeIndexError,
+    Schemas.VectorizeUpdateIndexRequest,
+    {},
+    {},
+    VectorizeDeprecatedUpdateVectorizeIndexPathParams
+  >({ url: '/accounts/{accountId}/vectorize/indexes/{indexName}', method: 'put', ...variables, signal });
+
+export type VectorizeDeprecatedDeleteVectorsByIdPathParams = {
+  accountId: Schemas.VectorizeIdentifier;
+  indexName: Schemas.VectorizeIndexName;
+};
+
+export type VectorizeDeprecatedDeleteVectorsByIdError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.VectorizeApiResponseSingle & {
+    result?: Record<string, any> | null;
+  }) &
+    Schemas.VectorizeApiResponseCommonFailure;
+}>;
+
+export type VectorizeDeprecatedDeleteVectorsByIdResponse = Schemas.VectorizeApiResponseSingle & {
+  result?: Schemas.VectorizeIndexDeleteVectorsByIdResponse;
+};
+
+export type VectorizeDeprecatedDeleteVectorsByIdVariables = {
+  body?: Schemas.VectorizeIndexDeleteVectorsByIdRequest;
+  pathParams: VectorizeDeprecatedDeleteVectorsByIdPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete a set of vectors from an index by their vector identifiers.
+ */
+export const vectorizeDeprecatedDeleteVectorsById = (
+  variables: VectorizeDeprecatedDeleteVectorsByIdVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    VectorizeDeprecatedDeleteVectorsByIdResponse,
+    VectorizeDeprecatedDeleteVectorsByIdError,
+    Schemas.VectorizeIndexDeleteVectorsByIdRequest,
+    {},
+    {},
+    VectorizeDeprecatedDeleteVectorsByIdPathParams
+  >({ url: '/accounts/{accountId}/vectorize/indexes/{indexName}/delete-by-ids', method: 'post', ...variables, signal });
+
+export type VectorizeDeprecatedGetVectorsByIdPathParams = {
+  accountId: Schemas.VectorizeIdentifier;
+  indexName: Schemas.VectorizeIndexName;
+};
+
+export type VectorizeDeprecatedGetVectorsByIdError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.VectorizeApiResponseSingle & {
+    result?: Record<string, any> | null;
+  }) &
+    Schemas.VectorizeApiResponseCommonFailure;
+}>;
+
+export type VectorizeDeprecatedGetVectorsByIdResponse = Schemas.VectorizeApiResponseSingle & {
+  result?: Schemas.VectorizeIndexGetVectorsByIdResponse;
+};
+
+export type VectorizeDeprecatedGetVectorsByIdVariables = {
+  body?: Schemas.VectorizeIndexGetVectorsByIdRequest;
+  pathParams: VectorizeDeprecatedGetVectorsByIdPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a set of vectors from an index by their vector identifiers.
+ */
+export const vectorizeDeprecatedGetVectorsById = (
+  variables: VectorizeDeprecatedGetVectorsByIdVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    VectorizeDeprecatedGetVectorsByIdResponse,
+    VectorizeDeprecatedGetVectorsByIdError,
+    Schemas.VectorizeIndexGetVectorsByIdRequest,
+    {},
+    {},
+    VectorizeDeprecatedGetVectorsByIdPathParams
+  >({ url: '/accounts/{accountId}/vectorize/indexes/{indexName}/get-by-ids', method: 'post', ...variables, signal });
+
+export type VectorizeDeprecatedInsertVectorPathParams = {
+  accountId: Schemas.VectorizeIdentifier;
+  indexName: Schemas.VectorizeIndexName;
+};
+
+export type VectorizeDeprecatedInsertVectorError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.VectorizeApiResponseSingle & {
+    result?: Record<string, any> | null;
+  }) &
+    Schemas.VectorizeApiResponseCommonFailure;
+}>;
+
+export type VectorizeDeprecatedInsertVectorResponse = Schemas.VectorizeApiResponseSingle & {
+  result?: Schemas.VectorizeIndexInsertResponse;
+};
+
+export type VectorizeDeprecatedInsertVectorVariables = {
+  pathParams: VectorizeDeprecatedInsertVectorPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Inserts vectors into the specified index and returns the count of the vectors successfully inserted.
+ */
+export const vectorizeDeprecatedInsertVector = (
+  variables: VectorizeDeprecatedInsertVectorVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    VectorizeDeprecatedInsertVectorResponse,
+    VectorizeDeprecatedInsertVectorError,
+    undefined,
+    {},
+    {},
+    VectorizeDeprecatedInsertVectorPathParams
+  >({ url: '/accounts/{accountId}/vectorize/indexes/{indexName}/insert', method: 'post', ...variables, signal });
+
+export type VectorizeDeprecatedQueryVectorPathParams = {
+  accountId: Schemas.VectorizeIdentifier;
+  indexName: Schemas.VectorizeIndexName;
+};
+
+export type VectorizeDeprecatedQueryVectorError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.VectorizeApiResponseSingle & {
+    result?: Record<string, any> | null;
+  }) &
+    Schemas.VectorizeApiResponseCommonFailure;
+}>;
+
+export type VectorizeDeprecatedQueryVectorResponse = Schemas.VectorizeApiResponseSingle & {
+  result?: Schemas.VectorizeIndexQueryResponse;
+};
+
+export type VectorizeDeprecatedQueryVectorVariables = {
+  body: Schemas.VectorizeIndexQueryRequest;
+  pathParams: VectorizeDeprecatedQueryVectorPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Finds vectors closest to a given vector in an index.
+ */
+export const vectorizeDeprecatedQueryVector = (
+  variables: VectorizeDeprecatedQueryVectorVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    VectorizeDeprecatedQueryVectorResponse,
+    VectorizeDeprecatedQueryVectorError,
+    Schemas.VectorizeIndexQueryRequest,
+    {},
+    {},
+    VectorizeDeprecatedQueryVectorPathParams
+  >({ url: '/accounts/{accountId}/vectorize/indexes/{indexName}/query', method: 'post', ...variables, signal });
+
+export type VectorizeDeprecatedUpsertVectorPathParams = {
+  accountId: Schemas.VectorizeIdentifier;
+  indexName: Schemas.VectorizeIndexName;
+};
+
+export type VectorizeDeprecatedUpsertVectorError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.VectorizeApiResponseSingle & {
+    result?: Record<string, any> | null;
+  }) &
+    Schemas.VectorizeApiResponseCommonFailure;
+}>;
+
+export type VectorizeDeprecatedUpsertVectorResponse = Schemas.VectorizeApiResponseSingle & {
+  result?: Schemas.VectorizeIndexUpsertResponse;
+};
+
+export type VectorizeDeprecatedUpsertVectorVariables = {
+  pathParams: VectorizeDeprecatedUpsertVectorPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Upserts vectors into the specified index, creating them if they do not exist and returns the count of values and ids successfully inserted.
+ */
+export const vectorizeDeprecatedUpsertVector = (
+  variables: VectorizeDeprecatedUpsertVectorVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    VectorizeDeprecatedUpsertVectorResponse,
+    VectorizeDeprecatedUpsertVectorError,
+    undefined,
+    {},
+    {},
+    VectorizeDeprecatedUpsertVectorPathParams
+  >({ url: '/accounts/{accountId}/vectorize/indexes/{indexName}/upsert', method: 'post', ...variables, signal });
+
+export type VectorizeListVectorizeIndexesPathParams = {
+  accountId: Schemas.VectorizeIdentifier;
+};
+
+export type VectorizeListVectorizeIndexesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.VectorizeApiResponseSingle & {
+    result?: Record<string, any> | null;
+  }) &
+    Schemas.VectorizeApiResponseCommonFailure;
+}>;
+
+export type VectorizeListVectorizeIndexesResponse = {
+  errors: Schemas.VectorizeMessages;
+  messages: Schemas.VectorizeMessages;
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type VectorizeListVectorizeIndexesVariables = {
+  pathParams: VectorizeListVectorizeIndexesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Returns a list of Vectorize Indexes
+ */
+export const vectorizeListVectorizeIndexes = (
+  variables: VectorizeListVectorizeIndexesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    VectorizeListVectorizeIndexesResponse,
+    VectorizeListVectorizeIndexesError,
+    undefined,
+    {},
+    {},
+    VectorizeListVectorizeIndexesPathParams
+  >({ url: '/accounts/{accountId}/vectorize/v2/indexes', method: 'get', ...variables, signal });
+
+export type VectorizeCreateVectorizeIndexPathParams = {
+  accountId: Schemas.VectorizeIdentifier;
+};
+
+export type VectorizeCreateVectorizeIndexError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.VectorizeApiResponseSingle & {
+    result?: Record<string, any> | null;
+  }) &
+    Schemas.VectorizeApiResponseCommonFailure;
+}>;
+
+export type VectorizeCreateVectorizeIndexResponse = Schemas.VectorizeApiResponseSingle & {
+  result?: Schemas.VectorizeCreateIndexResponse;
+};
+
+export type VectorizeCreateVectorizeIndexVariables = {
+  body: Schemas.VectorizeCreateIndexRequest;
+  pathParams: VectorizeCreateVectorizeIndexPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates and returns a new Vectorize Index.
+ */
+export const vectorizeCreateVectorizeIndex = (
+  variables: VectorizeCreateVectorizeIndexVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    VectorizeCreateVectorizeIndexResponse,
+    VectorizeCreateVectorizeIndexError,
+    Schemas.VectorizeCreateIndexRequest,
+    {},
+    {},
+    VectorizeCreateVectorizeIndexPathParams
+  >({ url: '/accounts/{accountId}/vectorize/v2/indexes', method: 'post', ...variables, signal });
+
+export type VectorizeDeleteVectorizeIndexPathParams = {
+  accountId: Schemas.VectorizeIdentifier;
+  indexName: Schemas.VectorizeIndexName;
+};
+
+export type VectorizeDeleteVectorizeIndexError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.VectorizeApiResponseSingle & {
+    result?: Record<string, any> | null;
+  }) &
+    Schemas.VectorizeApiResponseCommonFailure;
+}>;
+
+export type VectorizeDeleteVectorizeIndexResponse = Schemas.VectorizeApiResponseSingle & {
+  result?: Record<string, any> | null;
+};
+
+export type VectorizeDeleteVectorizeIndexVariables = {
+  pathParams: VectorizeDeleteVectorizeIndexPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes the specified Vectorize Index.
+ */
+export const vectorizeDeleteVectorizeIndex = (
+  variables: VectorizeDeleteVectorizeIndexVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    VectorizeDeleteVectorizeIndexResponse,
+    VectorizeDeleteVectorizeIndexError,
+    undefined,
+    {},
+    {},
+    VectorizeDeleteVectorizeIndexPathParams
+  >({ url: '/accounts/{accountId}/vectorize/v2/indexes/{indexName}', method: 'delete', ...variables, signal });
+
+export type VectorizeGetVectorizeIndexPathParams = {
+  accountId: Schemas.VectorizeIdentifier;
+  indexName: Schemas.VectorizeIndexName;
+};
+
+export type VectorizeGetVectorizeIndexError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.VectorizeApiResponseSingle & {
+    result?: Record<string, any> | null;
+  }) &
+    Schemas.VectorizeApiResponseCommonFailure;
+}>;
+
+export type VectorizeGetVectorizeIndexResponse = Schemas.VectorizeApiResponseSingle & {
+  result?: Schemas.VectorizeCreateIndexResponse;
+};
+
+export type VectorizeGetVectorizeIndexVariables = {
+  pathParams: VectorizeGetVectorizeIndexPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Returns the specified Vectorize Index.
+ */
+export const vectorizeGetVectorizeIndex = (variables: VectorizeGetVectorizeIndexVariables, signal?: AbortSignal) =>
+  fetch<
+    VectorizeGetVectorizeIndexResponse,
+    VectorizeGetVectorizeIndexError,
+    undefined,
+    {},
+    {},
+    VectorizeGetVectorizeIndexPathParams
+  >({ url: '/accounts/{accountId}/vectorize/v2/indexes/{indexName}', method: 'get', ...variables, signal });
+
+export type VectorizeDeleteVectorsByIdPathParams = {
+  accountId: Schemas.VectorizeIdentifier;
+  indexName: Schemas.VectorizeIndexName;
+};
+
+export type VectorizeDeleteVectorsByIdError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.VectorizeApiResponseSingle & {
+    result?: Record<string, any> | null;
+  }) &
+    Schemas.VectorizeApiResponseCommonFailure;
+}>;
+
+export type VectorizeDeleteVectorsByIdResponse = Schemas.VectorizeApiResponseSingle & {
+  result?: Schemas.VectorizeIndexDeleteVectorsByIdV2Response;
+};
+
+export type VectorizeDeleteVectorsByIdVariables = {
+  body?: Schemas.VectorizeIndexDeleteVectorsByIdRequest;
+  pathParams: VectorizeDeleteVectorsByIdPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete a set of vectors from an index by their vector identifiers.
+ */
+export const vectorizeDeleteVectorsById = (variables: VectorizeDeleteVectorsByIdVariables, signal?: AbortSignal) =>
+  fetch<
+    VectorizeDeleteVectorsByIdResponse,
+    VectorizeDeleteVectorsByIdError,
+    Schemas.VectorizeIndexDeleteVectorsByIdRequest,
+    {},
+    {},
+    VectorizeDeleteVectorsByIdPathParams
+  >({
+    url: '/accounts/{accountId}/vectorize/v2/indexes/{indexName}/delete_by_ids',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type VectorizeGetVectorsByIdPathParams = {
+  accountId: Schemas.VectorizeIdentifier;
+  indexName: Schemas.VectorizeIndexName;
+};
+
+export type VectorizeGetVectorsByIdError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.VectorizeApiResponseSingle & {
+    result?: Record<string, any> | null;
+  }) &
+    Schemas.VectorizeApiResponseCommonFailure;
+}>;
+
+export type VectorizeGetVectorsByIdResponse = Schemas.VectorizeApiResponseSingle & {
+  result?: Schemas.VectorizeIndexGetVectorsByIdResponse;
+};
+
+export type VectorizeGetVectorsByIdVariables = {
+  body?: Schemas.VectorizeIndexGetVectorsByIdRequest;
+  pathParams: VectorizeGetVectorsByIdPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a set of vectors from an index by their vector identifiers.
+ */
+export const vectorizeGetVectorsById = (variables: VectorizeGetVectorsByIdVariables, signal?: AbortSignal) =>
+  fetch<
+    VectorizeGetVectorsByIdResponse,
+    VectorizeGetVectorsByIdError,
+    Schemas.VectorizeIndexGetVectorsByIdRequest,
+    {},
+    {},
+    VectorizeGetVectorsByIdPathParams
+  >({ url: '/accounts/{accountId}/vectorize/v2/indexes/{indexName}/get_by_ids', method: 'post', ...variables, signal });
+
+export type VectorizeIndexInfoPathParams = {
+  accountId: Schemas.VectorizeIdentifier;
+  indexName: Schemas.VectorizeIndexName;
+};
+
+export type VectorizeIndexInfoError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.VectorizeApiResponseSingle & {
+    result?: Record<string, any> | null;
+  }) &
+    Schemas.VectorizeApiResponseCommonFailure;
+}>;
+
+export type VectorizeIndexInfoResponse = Schemas.VectorizeApiResponseSingle & {
+  result?: Schemas.VectorizeIndexInfoResponse;
+};
+
+export type VectorizeIndexInfoVariables = {
+  pathParams: VectorizeIndexInfoPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get information about a vectorize index.
+ */
+export const vectorizeIndexInfo = (variables: VectorizeIndexInfoVariables, signal?: AbortSignal) =>
+  fetch<VectorizeIndexInfoResponse, VectorizeIndexInfoError, undefined, {}, {}, VectorizeIndexInfoPathParams>({
+    url: '/accounts/{accountId}/vectorize/v2/indexes/{indexName}/info',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type VectorizeInsertVectorPathParams = {
+  accountId: Schemas.VectorizeIdentifier;
+  indexName: Schemas.VectorizeIndexName;
+};
+
+export type VectorizeInsertVectorQueryParams = {
+  ['unparsable-behavior']?: 'error' | 'discard';
+};
+
+export type VectorizeInsertVectorError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.VectorizeApiResponseSingle & {
+    result?: Record<string, any> | null;
+  }) &
+    Schemas.VectorizeApiResponseCommonFailure;
+}>;
+
+export type VectorizeInsertVectorResponse = Schemas.VectorizeApiResponseSingle & {
+  result?: Schemas.VectorizeIndexInsertV2Response;
+};
+
+export type VectorizeInsertVectorVariables = {
+  pathParams: VectorizeInsertVectorPathParams;
+  queryParams?: VectorizeInsertVectorQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Inserts vectors into the specified index and returns a mutation id corresponding to the vectors enqueued for insertion.
+ */
+export const vectorizeInsertVector = (variables: VectorizeInsertVectorVariables, signal?: AbortSignal) =>
+  fetch<
+    VectorizeInsertVectorResponse,
+    VectorizeInsertVectorError,
+    undefined,
+    {},
+    VectorizeInsertVectorQueryParams,
+    VectorizeInsertVectorPathParams
+  >({ url: '/accounts/{accountId}/vectorize/v2/indexes/{indexName}/insert', method: 'post', ...variables, signal });
+
+export type VectorizeCreateMetadataIndexPathParams = {
+  accountId: Schemas.VectorizeIdentifier;
+  indexName: Schemas.VectorizeIndexName;
+};
+
+export type VectorizeCreateMetadataIndexError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.VectorizeApiResponseSingle & {
+    result?: Record<string, any> | null;
+  }) &
+    Schemas.VectorizeApiResponseCommonFailure;
+}>;
+
+export type VectorizeCreateMetadataIndexResponse = Schemas.VectorizeApiResponseSingle & {
+  result?: Schemas.VectorizeCreateMetadataIndexResponse;
+};
+
+export type VectorizeCreateMetadataIndexVariables = {
+  body: Schemas.VectorizeCreateMetadataIndexRequest;
+  pathParams: VectorizeCreateMetadataIndexPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Enable metadata filtering based on metadata property. Limited to 10 properties.
+ */
+export const vectorizeCreateMetadataIndex = (variables: VectorizeCreateMetadataIndexVariables, signal?: AbortSignal) =>
+  fetch<
+    VectorizeCreateMetadataIndexResponse,
+    VectorizeCreateMetadataIndexError,
+    Schemas.VectorizeCreateMetadataIndexRequest,
+    {},
+    {},
+    VectorizeCreateMetadataIndexPathParams
+  >({
+    url: '/accounts/{accountId}/vectorize/v2/indexes/{indexName}/metadata_index/create',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type VectorizeDeleteMetadataIndexPathParams = {
+  accountId: Schemas.VectorizeIdentifier;
+  indexName: Schemas.VectorizeIndexName;
+};
+
+export type VectorizeDeleteMetadataIndexError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.VectorizeApiResponseSingle & {
+    result?: Record<string, any> | null;
+  }) &
+    Schemas.VectorizeApiResponseCommonFailure;
+}>;
+
+export type VectorizeDeleteMetadataIndexResponse = Schemas.VectorizeApiResponseSingle & {
+  result?: Schemas.VectorizeDeleteMetadataIndexResponse;
+};
+
+export type VectorizeDeleteMetadataIndexVariables = {
+  body: Schemas.VectorizeDeleteMetadataIndexRequest;
+  pathParams: VectorizeDeleteMetadataIndexPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Allow Vectorize to delete the specified metadata index.
+ */
+export const vectorizeDeleteMetadataIndex = (variables: VectorizeDeleteMetadataIndexVariables, signal?: AbortSignal) =>
+  fetch<
+    VectorizeDeleteMetadataIndexResponse,
+    VectorizeDeleteMetadataIndexError,
+    Schemas.VectorizeDeleteMetadataIndexRequest,
+    {},
+    {},
+    VectorizeDeleteMetadataIndexPathParams
+  >({
+    url: '/accounts/{accountId}/vectorize/v2/indexes/{indexName}/metadata_index/delete',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type VectorizeListMetadataIndexesPathParams = {
+  accountId: Schemas.VectorizeIdentifier;
+  indexName: Schemas.VectorizeIndexName;
+};
+
+export type VectorizeListMetadataIndexesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.VectorizeApiResponseSingle & {
+    result?: Record<string, any> | null;
+  }) &
+    Schemas.VectorizeApiResponseCommonFailure;
+}>;
+
+export type VectorizeListMetadataIndexesResponse = Schemas.VectorizeApiResponseSingle & {
+  result?: Schemas.VectorizeListMetadataIndexResponse;
+};
+
+export type VectorizeListMetadataIndexesVariables = {
+  pathParams: VectorizeListMetadataIndexesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * List Metadata Indexes for the specified Vectorize Index.
+ */
+export const vectorizeListMetadataIndexes = (variables: VectorizeListMetadataIndexesVariables, signal?: AbortSignal) =>
+  fetch<
+    VectorizeListMetadataIndexesResponse,
+    VectorizeListMetadataIndexesError,
+    undefined,
+    {},
+    {},
+    VectorizeListMetadataIndexesPathParams
+  >({
+    url: '/accounts/{accountId}/vectorize/v2/indexes/{indexName}/metadata_index/list',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type VectorizeQueryVectorPathParams = {
+  accountId: Schemas.VectorizeIdentifier;
+  indexName: Schemas.VectorizeIndexName;
+};
+
+export type VectorizeQueryVectorError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.VectorizeApiResponseSingle & {
+    result?: Record<string, any> | null;
+  }) &
+    Schemas.VectorizeApiResponseCommonFailure;
+}>;
+
+export type VectorizeQueryVectorResponse = Schemas.VectorizeApiResponseSingle & {
+  result?: Schemas.VectorizeIndexQueryV2Response;
+};
+
+export type VectorizeQueryVectorVariables = {
+  body: Schemas.VectorizeIndexQueryV2Request;
+  pathParams: VectorizeQueryVectorPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Finds vectors closest to a given vector in an index.
+ */
+export const vectorizeQueryVector = (variables: VectorizeQueryVectorVariables, signal?: AbortSignal) =>
+  fetch<
+    VectorizeQueryVectorResponse,
+    VectorizeQueryVectorError,
+    Schemas.VectorizeIndexQueryV2Request,
+    {},
+    {},
+    VectorizeQueryVectorPathParams
+  >({ url: '/accounts/{accountId}/vectorize/v2/indexes/{indexName}/query', method: 'post', ...variables, signal });
+
+export type VectorizeUpsertVectorPathParams = {
+  accountId: Schemas.VectorizeIdentifier;
+  indexName: Schemas.VectorizeIndexName;
+};
+
+export type VectorizeUpsertVectorQueryParams = {
+  ['unparsable-behavior']?: 'error' | 'discard';
+};
+
+export type VectorizeUpsertVectorError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.VectorizeApiResponseSingle & {
+    result?: Record<string, any> | null;
+  }) &
+    Schemas.VectorizeApiResponseCommonFailure;
+}>;
+
+export type VectorizeUpsertVectorResponse = Schemas.VectorizeApiResponseSingle & {
+  result?: Schemas.VectorizeIndexUpsertV2Response;
+};
+
+export type VectorizeUpsertVectorVariables = {
+  pathParams: VectorizeUpsertVectorPathParams;
+  queryParams?: VectorizeUpsertVectorQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Upserts vectors into the specified index, creating them if they do not exist and returns a mutation id corresponding to the vectors enqueued for upsertion.
+ */
+export const vectorizeUpsertVector = (variables: VectorizeUpsertVectorVariables, signal?: AbortSignal) =>
+  fetch<
+    VectorizeUpsertVectorResponse,
+    VectorizeUpsertVectorError,
+    undefined,
+    {},
+    VectorizeUpsertVectorQueryParams,
+    VectorizeUpsertVectorPathParams
+  >({ url: '/accounts/{accountId}/vectorize/v2/indexes/{indexName}/upsert', method: 'post', ...variables, signal });
+
+export type CloudflareTunnelListWarpConnectorTunnelsPathParams = {
+  accountId: Schemas.TunnelAccountId;
+};
+
+export type CloudflareTunnelListWarpConnectorTunnelsQueryParams = {
+  /**
+   * @example blog
+   */
+  name?: string;
+  /**
+   * @example true
+   */
+  is_deleted?: boolean;
+  existed_at?: Schemas.TunnelExistedAt;
+  uuid?: Schemas.TunnelTunnelId;
+  /**
+   * @example 2009-11-10T23:00:00Z
+   * @format date-time
+   */
+  was_active_at?: string;
+  /**
+   * @example 2009-11-10T23:00:00Z
+   * @format date-time
+   */
+  was_inactive_at?: string;
+  /**
+   * @example vpc1-
+   */
+  include_prefix?: string;
+  /**
+   * @example vpc1-
+   */
+  exclude_prefix?: string;
+  status?: Schemas.TunnelStatus;
+  per_page?: Schemas.TunnelPerPage;
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+};
+
+export type CloudflareTunnelListWarpConnectorTunnelsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TunnelTunnelResponseCollection & Schemas.TunnelApiResponseCommonFailure;
+}>;
+
+export type CloudflareTunnelListWarpConnectorTunnelsVariables = {
+  pathParams: CloudflareTunnelListWarpConnectorTunnelsPathParams;
+  queryParams?: CloudflareTunnelListWarpConnectorTunnelsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists and filters Warp Connector Tunnels in an account.
+ */
+export const cloudflareTunnelListWarpConnectorTunnels = (
+  variables: CloudflareTunnelListWarpConnectorTunnelsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TunnelTunnelResponseCollection,
+    CloudflareTunnelListWarpConnectorTunnelsError,
+    undefined,
+    {},
+    CloudflareTunnelListWarpConnectorTunnelsQueryParams,
+    CloudflareTunnelListWarpConnectorTunnelsPathParams
+  >({ url: '/accounts/{accountId}/warp_connector', method: 'get', ...variables, signal });
+
+export type CloudflareTunnelCreateAWarpConnectorTunnelPathParams = {
+  accountId: Schemas.TunnelAccountId;
+};
+
+export type CloudflareTunnelCreateAWarpConnectorTunnelError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TunnelTunnelResponseSingle & Schemas.TunnelApiResponseCommonFailure;
+}>;
+
+export type CloudflareTunnelCreateAWarpConnectorTunnelRequestBody = {
+  name: Schemas.TunnelTunnelName;
+};
+
+export type CloudflareTunnelCreateAWarpConnectorTunnelVariables = {
+  body: CloudflareTunnelCreateAWarpConnectorTunnelRequestBody;
+  pathParams: CloudflareTunnelCreateAWarpConnectorTunnelPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new Warp Connector Tunnel in an account.
+ */
+export const cloudflareTunnelCreateAWarpConnectorTunnel = (
+  variables: CloudflareTunnelCreateAWarpConnectorTunnelVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TunnelTunnelResponseSingle,
+    CloudflareTunnelCreateAWarpConnectorTunnelError,
+    CloudflareTunnelCreateAWarpConnectorTunnelRequestBody,
+    {},
+    {},
+    CloudflareTunnelCreateAWarpConnectorTunnelPathParams
+  >({ url: '/accounts/{accountId}/warp_connector', method: 'post', ...variables, signal });
+
+export type CloudflareTunnelDeleteAWarpConnectorTunnelPathParams = {
+  accountId: Schemas.TunnelAccountId;
+  tunnelId: Schemas.TunnelTunnelId;
+};
+
+export type CloudflareTunnelDeleteAWarpConnectorTunnelError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TunnelTunnelResponseSingle & Schemas.TunnelApiResponseCommonFailure;
+}>;
+
+export type CloudflareTunnelDeleteAWarpConnectorTunnelVariables = {
+  body?: Record<string, any>;
+  pathParams: CloudflareTunnelDeleteAWarpConnectorTunnelPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes a Warp Connector Tunnel from an account.
+ */
+export const cloudflareTunnelDeleteAWarpConnectorTunnel = (
+  variables: CloudflareTunnelDeleteAWarpConnectorTunnelVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TunnelTunnelResponseSingle,
+    CloudflareTunnelDeleteAWarpConnectorTunnelError,
+    Record<string, any>,
+    {},
+    {},
+    CloudflareTunnelDeleteAWarpConnectorTunnelPathParams
+  >({ url: '/accounts/{accountId}/warp_connector/{tunnelId}', method: 'delete', ...variables, signal });
+
+export type CloudflareTunnelGetAWarpConnectorTunnelPathParams = {
+  accountId: Schemas.TunnelAccountId;
+  tunnelId: Schemas.TunnelTunnelId;
+};
+
+export type CloudflareTunnelGetAWarpConnectorTunnelError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TunnelTunnelResponseSingle & Schemas.TunnelApiResponseCommonFailure;
+}>;
+
+export type CloudflareTunnelGetAWarpConnectorTunnelVariables = {
+  pathParams: CloudflareTunnelGetAWarpConnectorTunnelPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a single Warp Connector Tunnel.
+ */
+export const cloudflareTunnelGetAWarpConnectorTunnel = (
+  variables: CloudflareTunnelGetAWarpConnectorTunnelVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TunnelTunnelResponseSingle,
+    CloudflareTunnelGetAWarpConnectorTunnelError,
+    undefined,
+    {},
+    {},
+    CloudflareTunnelGetAWarpConnectorTunnelPathParams
+  >({ url: '/accounts/{accountId}/warp_connector/{tunnelId}', method: 'get', ...variables, signal });
+
+export type CloudflareTunnelUpdateAWarpConnectorTunnelPathParams = {
+  accountId: Schemas.TunnelAccountId;
+  tunnelId: Schemas.TunnelTunnelId;
+};
+
+export type CloudflareTunnelUpdateAWarpConnectorTunnelError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TunnelTunnelResponseSingle & Schemas.TunnelApiResponseCommonFailure;
+}>;
+
+export type CloudflareTunnelUpdateAWarpConnectorTunnelRequestBody = {
+  name?: Schemas.TunnelTunnelName;
+  tunnel_secret?: Schemas.TunnelTunnelSecret;
+};
+
+export type CloudflareTunnelUpdateAWarpConnectorTunnelVariables = {
+  body?: CloudflareTunnelUpdateAWarpConnectorTunnelRequestBody;
+  pathParams: CloudflareTunnelUpdateAWarpConnectorTunnelPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates an existing Warp Connector Tunnel.
+ */
+export const cloudflareTunnelUpdateAWarpConnectorTunnel = (
+  variables: CloudflareTunnelUpdateAWarpConnectorTunnelVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TunnelTunnelResponseSingle,
+    CloudflareTunnelUpdateAWarpConnectorTunnelError,
+    CloudflareTunnelUpdateAWarpConnectorTunnelRequestBody,
+    {},
+    {},
+    CloudflareTunnelUpdateAWarpConnectorTunnelPathParams
+  >({ url: '/accounts/{accountId}/warp_connector/{tunnelId}', method: 'patch', ...variables, signal });
+
+export type CloudflareTunnelGetAWarpConnectorTunnelTokenPathParams = {
+  accountId: Schemas.TunnelAccountId;
+  tunnelId: Schemas.TunnelTunnelId;
+};
+
+export type CloudflareTunnelGetAWarpConnectorTunnelTokenError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TunnelTunnelResponseToken & Schemas.TunnelApiResponseCommonFailure;
+}>;
+
+export type CloudflareTunnelGetAWarpConnectorTunnelTokenVariables = {
+  pathParams: CloudflareTunnelGetAWarpConnectorTunnelTokenPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets the token used to associate warp device with a specific Warp Connector tunnel.
+ */
+export const cloudflareTunnelGetAWarpConnectorTunnelToken = (
+  variables: CloudflareTunnelGetAWarpConnectorTunnelTokenVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TunnelTunnelResponseToken,
+    CloudflareTunnelGetAWarpConnectorTunnelTokenError,
+    undefined,
+    {},
+    {},
+    CloudflareTunnelGetAWarpConnectorTunnelTokenPathParams
+  >({ url: '/accounts/{accountId}/warp_connector/{tunnelId}/token', method: 'get', ...variables, signal });
+
+export type WorkerAccountSettingsFetchWorkerAccountSettingsPathParams = {
+  accountId: Schemas.WorkersIdentifier;
+};
+
+export type WorkerAccountSettingsFetchWorkerAccountSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersAccountSettingsResponse & Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type WorkerAccountSettingsFetchWorkerAccountSettingsVariables = {
+  pathParams: WorkerAccountSettingsFetchWorkerAccountSettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches Worker account settings for an account.
+ */
+export const workerAccountSettingsFetchWorkerAccountSettings = (
+  variables: WorkerAccountSettingsFetchWorkerAccountSettingsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WorkersAccountSettingsResponse,
+    WorkerAccountSettingsFetchWorkerAccountSettingsError,
+    undefined,
+    {},
+    {},
+    WorkerAccountSettingsFetchWorkerAccountSettingsPathParams
+  >({ url: '/accounts/{accountId}/workers/account-settings', method: 'get', ...variables, signal });
+
+export type WorkerAccountSettingsCreateWorkerAccountSettingsPathParams = {
+  accountId: Schemas.WorkersIdentifier;
+};
+
+export type WorkerAccountSettingsCreateWorkerAccountSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersAccountSettingsResponse & Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type WorkerAccountSettingsCreateWorkerAccountSettingsVariables = {
+  body?: Schemas.WorkersAccountSettings;
+  pathParams: WorkerAccountSettingsCreateWorkerAccountSettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates Worker account settings for an account.
+ */
+export const workerAccountSettingsCreateWorkerAccountSettings = (
+  variables: WorkerAccountSettingsCreateWorkerAccountSettingsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WorkersAccountSettingsResponse,
+    WorkerAccountSettingsCreateWorkerAccountSettingsError,
+    Schemas.WorkersAccountSettings,
+    {},
+    {},
+    WorkerAccountSettingsCreateWorkerAccountSettingsPathParams
+  >({ url: '/accounts/{accountId}/workers/account-settings', method: 'put', ...variables, signal });
+
+export type WorkerAssetsUploadPathParams = {
+  accountId: Schemas.WorkersIdentifier;
+};
+
+export type WorkerAssetsUploadQueryParams = {
+  base64: true;
+};
+
+export type WorkerAssetsUploadError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkerAssetsUploadRequestBody = {
+  /**
+   * Base-64 encoded contents of the file. The content type of the file should be included to ensure a valid "Content-Type" header is included in asset responses.
+   */
+  ['<any file hash>']?: string[];
+};
+
+export type WorkerAssetsUploadVariables = {
+  body?: WorkerAssetsUploadRequestBody;
+  pathParams: WorkerAssetsUploadPathParams;
+  queryParams: WorkerAssetsUploadQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Upload assets ahead of creating a Worker version.
+ */
+export const workerAssetsUpload = (variables: WorkerAssetsUploadVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WorkersCompletedUploadAssetsResponse | Schemas.WorkersUploadAssetsResponse,
+    WorkerAssetsUploadError,
+    WorkerAssetsUploadRequestBody,
+    {},
+    WorkerAssetsUploadQueryParams,
+    WorkerAssetsUploadPathParams
+  >({ url: '/accounts/{accountId}/workers/assets/upload', method: 'post', ...variables, signal });
+
+export type WorkerDeploymentsDeprecatedListDeploymentsPathParams = {
+  scriptId: Schemas.WorkersScriptIdentifier;
+  accountId: Schemas.WorkersIdentifier;
+};
+
+export type WorkerDeploymentsDeprecatedListDeploymentsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersDeploymentsListResponse & Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type WorkerDeploymentsDeprecatedListDeploymentsVariables = {
+  pathParams: WorkerDeploymentsDeprecatedListDeploymentsPathParams;
+} & FetcherExtraProps;
+
+export const workerDeploymentsDeprecatedListDeployments = (
+  variables: WorkerDeploymentsDeprecatedListDeploymentsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WorkersDeploymentsListResponse,
+    WorkerDeploymentsDeprecatedListDeploymentsError,
+    undefined,
+    {},
+    {},
+    WorkerDeploymentsDeprecatedListDeploymentsPathParams
+  >({ url: '/accounts/{accountId}/workers/deployments/by-script/{scriptId}', method: 'get', ...variables, signal });
+
+export type WorkerDeploymentsDeprecatedGetDeploymentDetailPathParams = {
+  deploymentId: Schemas.WorkersDeploymentIdentifier;
+  scriptId: Schemas.WorkersScriptIdentifier;
+  accountId: Schemas.WorkersIdentifier;
+};
+
+export type WorkerDeploymentsDeprecatedGetDeploymentDetailError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersDeploymentsSingleResponse & Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type WorkerDeploymentsDeprecatedGetDeploymentDetailVariables = {
+  pathParams: WorkerDeploymentsDeprecatedGetDeploymentDetailPathParams;
+} & FetcherExtraProps;
+
+export const workerDeploymentsDeprecatedGetDeploymentDetail = (
+  variables: WorkerDeploymentsDeprecatedGetDeploymentDetailVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WorkersDeploymentsSingleResponse,
+    WorkerDeploymentsDeprecatedGetDeploymentDetailError,
+    undefined,
+    {},
+    {},
+    WorkerDeploymentsDeprecatedGetDeploymentDetailPathParams
+  >({
+    url: '/accounts/{accountId}/workers/deployments/by-script/{scriptId}/detail/{deploymentId}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type NamespaceWorkerListPathParams = {
+  accountId: Schemas.WorkersIdentifier;
+};
+
+export type NamespaceWorkerListError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersApiResponseCommon;
+}>;
+
+export type NamespaceWorkerListVariables = {
+  pathParams: NamespaceWorkerListPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetch a list of Workers for Platforms namespaces.
+ */
+export const namespaceWorkerList = (variables: NamespaceWorkerListVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WorkersNamespaceListResponse,
+    NamespaceWorkerListError,
+    undefined,
+    {},
+    {},
+    NamespaceWorkerListPathParams
+  >({ url: '/accounts/{accountId}/workers/dispatch/namespaces', method: 'get', ...variables, signal });
+
+export type NamespaceWorkerCreatePathParams = {
+  accountId: Schemas.WorkersIdentifier;
+};
+
+export type NamespaceWorkerCreateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersApiResponseCommon;
+}>;
+
+export type NamespaceWorkerCreateRequestBody = {
+  /**
+   * The name of the dispatch namespace
+   *
+   * @example my-dispatch-namespace
+   */
+  name?: string;
+};
+
+export type NamespaceWorkerCreateVariables = {
+  body?: NamespaceWorkerCreateRequestBody;
+  pathParams: NamespaceWorkerCreatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create a new Workers for Platforms namespace.
+ */
+export const namespaceWorkerCreate = (variables: NamespaceWorkerCreateVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WorkersNamespaceSingleResponse,
+    NamespaceWorkerCreateError,
+    NamespaceWorkerCreateRequestBody,
+    {},
+    {},
+    NamespaceWorkerCreatePathParams
+  >({ url: '/accounts/{accountId}/workers/dispatch/namespaces', method: 'post', ...variables, signal });
+
+export type NamespaceWorkerDeleteNamespacePathParams = {
+  accountId: Schemas.WorkersIdentifier;
+  dispatchNamespace: Schemas.WorkersDispatchNamespaceName;
+};
+
+export type NamespaceWorkerDeleteNamespaceError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersApiResponseCommon;
+}>;
+
+export type NamespaceWorkerDeleteNamespaceVariables = {
+  pathParams: NamespaceWorkerDeleteNamespacePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete a Workers for Platforms namespace.
+ */
+export const namespaceWorkerDeleteNamespace = (
+  variables: NamespaceWorkerDeleteNamespaceVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WorkersNamespaceDeleteResponse,
+    NamespaceWorkerDeleteNamespaceError,
+    undefined,
+    {},
+    {},
+    NamespaceWorkerDeleteNamespacePathParams
+  >({
+    url: '/accounts/{accountId}/workers/dispatch/namespaces/{dispatchNamespace}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type NamespaceWorkerGetNamespacePathParams = {
+  accountId: Schemas.WorkersIdentifier;
+  dispatchNamespace: Schemas.WorkersDispatchNamespaceName;
+};
+
+export type NamespaceWorkerGetNamespaceError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersApiResponseCommon;
+}>;
+
+export type NamespaceWorkerGetNamespaceVariables = {
+  pathParams: NamespaceWorkerGetNamespacePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a Workers for Platforms namespace.
+ */
+export const namespaceWorkerGetNamespace = (variables: NamespaceWorkerGetNamespaceVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WorkersNamespaceSingleResponse,
+    NamespaceWorkerGetNamespaceError,
+    undefined,
+    {},
+    {},
+    NamespaceWorkerGetNamespacePathParams
+  >({
+    url: '/accounts/{accountId}/workers/dispatch/namespaces/{dispatchNamespace}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type NamespaceWorkerScriptDeleteWorkerPathParams = {
+  accountId: Schemas.WorkersIdentifier;
+  dispatchNamespace: Schemas.WorkersDispatchNamespaceName;
+  scriptName: Schemas.WorkersScriptName;
+};
+
+export type NamespaceWorkerScriptDeleteWorkerQueryParams = {
+  /**
+   * If set to true, delete will not be stopped by associated service binding, durable object, or other binding. Any of these associated bindings/durable objects will be deleted along with the script.
+   */
+  force?: boolean;
+};
+
+export type NamespaceWorkerScriptDeleteWorkerError = Fetcher.ErrorWrapper<undefined>;
+
+export type NamespaceWorkerScriptDeleteWorkerVariables = {
+  pathParams: NamespaceWorkerScriptDeleteWorkerPathParams;
+  queryParams?: NamespaceWorkerScriptDeleteWorkerQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete a worker from a Workers for Platforms namespace. This call has no response body on a successful delete.
+ */
+export const namespaceWorkerScriptDeleteWorker = (
+  variables: NamespaceWorkerScriptDeleteWorkerVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    undefined,
+    NamespaceWorkerScriptDeleteWorkerError,
+    undefined,
+    {},
+    NamespaceWorkerScriptDeleteWorkerQueryParams,
+    NamespaceWorkerScriptDeleteWorkerPathParams
+  >({
+    url: '/accounts/{accountId}/workers/dispatch/namespaces/{dispatchNamespace}/scripts/{scriptName}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type NamespaceWorkerScriptWorkerDetailsPathParams = {
+  accountId: Schemas.WorkersIdentifier;
+  dispatchNamespace: Schemas.WorkersDispatchNamespaceName;
+  scriptName: Schemas.WorkersScriptName;
+};
+
+export type NamespaceWorkerScriptWorkerDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersApiResponseCommon;
+}>;
+
+export type NamespaceWorkerScriptWorkerDetailsVariables = {
+  pathParams: NamespaceWorkerScriptWorkerDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetch information about a script uploaded to a Workers for Platforms namespace.
+ */
+export const namespaceWorkerScriptWorkerDetails = (
+  variables: NamespaceWorkerScriptWorkerDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WorkersNamespaceScriptResponseSingle,
+    NamespaceWorkerScriptWorkerDetailsError,
+    undefined,
+    {},
+    {},
+    NamespaceWorkerScriptWorkerDetailsPathParams
+  >({
+    url: '/accounts/{accountId}/workers/dispatch/namespaces/{dispatchNamespace}/scripts/{scriptName}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type NamespaceWorkerScriptUploadWorkerModulePathParams = {
+  accountId: Schemas.WorkersIdentifier;
+  dispatchNamespace: Schemas.WorkersDispatchNamespaceName;
+  scriptName: Schemas.WorkersScriptName;
+};
+
+export type NamespaceWorkerScriptUploadWorkerModuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.Workers4XX;
+}>;
+
+export type NamespaceWorkerScriptUploadWorkerModuleVariables = {
+  body?: RequestBodies.WorkersScriptUpload;
+  pathParams: NamespaceWorkerScriptUploadWorkerModulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Upload a worker module to a Workers for Platforms namespace. You can find more about the multipart metadata on our docs: https://developers.cloudflare.com/workers/configuration/multipart-upload-metadata/.
+ */
+export const namespaceWorkerScriptUploadWorkerModule = (
+  variables: NamespaceWorkerScriptUploadWorkerModuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Responses.Workers200,
+    NamespaceWorkerScriptUploadWorkerModuleError,
+    RequestBodies.WorkersScriptUpload,
+    {},
+    {},
+    NamespaceWorkerScriptUploadWorkerModulePathParams
+  >({
+    url: '/accounts/{accountId}/workers/dispatch/namespaces/{dispatchNamespace}/scripts/{scriptName}',
+    method: 'put',
+    ...variables,
+    signal
+  });
+
+export type NamespaceWorkerScriptUpdateCreateAssetsUploadSessionPathParams = {
+  accountId: Schemas.WorkersIdentifier;
+  dispatchNamespace: Schemas.WorkersDispatchNamespaceName;
+  scriptName: Schemas.WorkersScriptName;
+};
+
+export type NamespaceWorkerScriptUpdateCreateAssetsUploadSessionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersCreateAssetsUploadSessionResponse & Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type NamespaceWorkerScriptUpdateCreateAssetsUploadSessionVariables = {
+  body?: Schemas.WorkersCreateAssetsUploadSessionObject;
+  pathParams: NamespaceWorkerScriptUpdateCreateAssetsUploadSessionPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Start uploading a collection of assets for use in a Worker version.
+ */
+export const namespaceWorkerScriptUpdateCreateAssetsUploadSession = (
+  variables: NamespaceWorkerScriptUpdateCreateAssetsUploadSessionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WorkersCreateAssetsUploadSessionResponse,
+    NamespaceWorkerScriptUpdateCreateAssetsUploadSessionError,
+    Schemas.WorkersCreateAssetsUploadSessionObject,
+    {},
+    {},
+    NamespaceWorkerScriptUpdateCreateAssetsUploadSessionPathParams
+  >({
+    url: '/accounts/{accountId}/workers/dispatch/namespaces/{dispatchNamespace}/scripts/{scriptName}/assets-upload-session',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type NamespaceWorkerGetScriptBindingsPathParams = {
+  accountId: Schemas.WorkersIdentifier;
+  dispatchNamespace: Schemas.WorkersDispatchNamespaceName;
+  scriptName: Schemas.WorkersScriptName;
+};
+
+export type NamespaceWorkerGetScriptBindingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersApiResponseCommon;
+}>;
+
+export type NamespaceWorkerGetScriptBindingsResponse = Schemas.WorkersApiResponseCommon & {
+  result?: Schemas.WorkersBindings;
+};
+
+export type NamespaceWorkerGetScriptBindingsVariables = {
+  pathParams: NamespaceWorkerGetScriptBindingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetch script bindings from a script uploaded to a Workers for Platforms namespace.
+ */
+export const namespaceWorkerGetScriptBindings = (
+  variables: NamespaceWorkerGetScriptBindingsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    NamespaceWorkerGetScriptBindingsResponse,
+    NamespaceWorkerGetScriptBindingsError,
+    undefined,
+    {},
+    {},
+    NamespaceWorkerGetScriptBindingsPathParams
+  >({
+    url: '/accounts/{accountId}/workers/dispatch/namespaces/{dispatchNamespace}/scripts/{scriptName}/bindings',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type NamespaceWorkerGetScriptContentPathParams = {
+  accountId: Schemas.WorkersIdentifier;
+  dispatchNamespace: Schemas.WorkersDispatchNamespaceName;
+  scriptName: Schemas.WorkersScriptName;
+};
+
+export type NamespaceWorkerGetScriptContentError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersApiResponseCommon;
+}>;
+
+export type NamespaceWorkerGetScriptContentVariables = {
+  pathParams: NamespaceWorkerGetScriptContentPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetch script content from a script uploaded to a Workers for Platforms namespace.
+ */
+export const namespaceWorkerGetScriptContent = (
+  variables: NamespaceWorkerGetScriptContentVariables,
+  signal?: AbortSignal
+) =>
+  fetch<undefined, NamespaceWorkerGetScriptContentError, undefined, {}, {}, NamespaceWorkerGetScriptContentPathParams>({
+    url: '/accounts/{accountId}/workers/dispatch/namespaces/{dispatchNamespace}/scripts/{scriptName}/content',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type NamespaceWorkerPutScriptContentPathParams = {
+  accountId: Schemas.WorkersIdentifier;
+  dispatchNamespace: Schemas.WorkersDispatchNamespaceName;
+  scriptName: Schemas.WorkersScriptName;
+};
+
+export type NamespaceWorkerPutScriptContentHeaders = {
+  /**
+   * The multipart name of a script upload part containing script content in service worker format. Alternative to including in a metadata part.
+   */
+  ['CF-WORKER-BODY-PART']?: string;
+  /**
+   * The multipart name of a script upload part containing script content in es module format. Alternative to including in a metadata part.
+   */
+  ['CF-WORKER-MAIN-MODULE-PART']?: string;
+};
+
+export type NamespaceWorkerPutScriptContentError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersApiResponseCommon;
+}>;
+
+export type NamespaceWorkerPutScriptContentRequestBody = {
+  /**
+   * JSON encoded metadata about the uploaded parts and Worker configuration.
+   */
+  metadata: {
+    /**
+     * Name of the part in the multipart request that contains the script (e.g. the file adding a listener to the `fetch` event). Indicates a `service worker syntax` Worker.
+     *
+     * @example worker.js
+     */
+    body_part?: string;
+    /**
+     * Name of the part in the multipart request that contains the main module (e.g. the file exporting a `fetch` handler). Indicates a `module syntax` Worker.
+     *
+     * @example worker.js
+     */
+    main_module?: string;
+  };
+} & {
+  [key: string]: Blob[];
+};
+
+export type NamespaceWorkerPutScriptContentVariables = {
+  body: NamespaceWorkerPutScriptContentRequestBody;
+  headers?: NamespaceWorkerPutScriptContentHeaders;
+  pathParams: NamespaceWorkerPutScriptContentPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Put script content for a script uploaded to a Workers for Platforms namespace.
+ */
+export const namespaceWorkerPutScriptContent = (
+  variables: NamespaceWorkerPutScriptContentVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WorkersScriptResponseSingle,
+    NamespaceWorkerPutScriptContentError,
+    NamespaceWorkerPutScriptContentRequestBody,
+    NamespaceWorkerPutScriptContentHeaders,
+    {},
+    NamespaceWorkerPutScriptContentPathParams
+  >({
+    url: '/accounts/{accountId}/workers/dispatch/namespaces/{dispatchNamespace}/scripts/{scriptName}/content',
+    method: 'put',
+    ...variables,
+    signal
+  });
+
+export type NamespaceWorkerListScriptSecretsPathParams = {
+  accountId: Schemas.WorkersIdentifier;
+  dispatchNamespace: Schemas.WorkersDispatchNamespaceName;
+  scriptName: Schemas.WorkersScriptName;
+};
+
+export type NamespaceWorkerListScriptSecretsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersApiResponseCommon;
+}>;
+
+export type NamespaceWorkerListScriptSecretsResponse = Schemas.WorkersApiResponseCommon & {
+  result?: Schemas.WorkersSecretResponse[];
+};
+
+export type NamespaceWorkerListScriptSecretsVariables = {
+  pathParams: NamespaceWorkerListScriptSecretsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * List secrets from a script uploaded to a Workers for Platforms namespace.
+ */
+export const namespaceWorkerListScriptSecrets = (
+  variables: NamespaceWorkerListScriptSecretsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    NamespaceWorkerListScriptSecretsResponse,
+    NamespaceWorkerListScriptSecretsError,
+    undefined,
+    {},
+    {},
+    NamespaceWorkerListScriptSecretsPathParams
+  >({
+    url: '/accounts/{accountId}/workers/dispatch/namespaces/{dispatchNamespace}/scripts/{scriptName}/secrets',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type NamespaceWorkerPutScriptSecretsPathParams = {
+  accountId: Schemas.WorkersIdentifier;
+  dispatchNamespace: Schemas.WorkersDispatchNamespaceName;
+  scriptName: Schemas.WorkersScriptName;
+};
+
+export type NamespaceWorkerPutScriptSecretsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersApiResponseCommon;
+}>;
+
+export type NamespaceWorkerPutScriptSecretsResponse = Schemas.WorkersApiResponseCommon & {
+  result?: Schemas.WorkersSecretResponse;
+};
+
+export type NamespaceWorkerPutScriptSecretsVariables = {
+  body?: Schemas.WorkersSecret;
+  pathParams: NamespaceWorkerPutScriptSecretsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Put secrets to a script uploaded to a Workers for Platforms namespace.
+ */
+export const namespaceWorkerPutScriptSecrets = (
+  variables: NamespaceWorkerPutScriptSecretsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    NamespaceWorkerPutScriptSecretsResponse,
+    NamespaceWorkerPutScriptSecretsError,
+    Schemas.WorkersSecret,
+    {},
+    {},
+    NamespaceWorkerPutScriptSecretsPathParams
+  >({
+    url: '/accounts/{accountId}/workers/dispatch/namespaces/{dispatchNamespace}/scripts/{scriptName}/secrets',
+    method: 'put',
+    ...variables,
+    signal
+  });
+
+export type NamespaceWorkerGetScriptSecretsPathParams = {
+  accountId: Schemas.WorkersIdentifier;
+  dispatchNamespace: Schemas.WorkersDispatchNamespaceName;
+  scriptName: Schemas.WorkersScriptName;
+  secretName: Schemas.WorkersSecretName;
+};
+
+export type NamespaceWorkerGetScriptSecretsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersApiResponseCommon;
+}>;
+
+export type NamespaceWorkerGetScriptSecretsResponse = Schemas.WorkersApiResponseCommon & {
+  result?: Schemas.WorkersSecretResponse;
+};
+
+export type NamespaceWorkerGetScriptSecretsVariables = {
+  pathParams: NamespaceWorkerGetScriptSecretsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get secret from a script uploaded to a Workers for Platforms namespace.
+ */
+export const namespaceWorkerGetScriptSecrets = (
+  variables: NamespaceWorkerGetScriptSecretsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    NamespaceWorkerGetScriptSecretsResponse,
+    NamespaceWorkerGetScriptSecretsError,
+    undefined,
+    {},
+    {},
+    NamespaceWorkerGetScriptSecretsPathParams
+  >({
+    url: '/accounts/{accountId}/workers/dispatch/namespaces/{dispatchNamespace}/scripts/{scriptName}/secrets/{secretName}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type NamespaceWorkerGetScriptSettingsPathParams = {
+  accountId: Schemas.WorkersIdentifier;
+  dispatchNamespace: Schemas.WorkersDispatchNamespaceName;
+  scriptName: Schemas.WorkersScriptName;
+};
+
+export type NamespaceWorkerGetScriptSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersApiResponseCommon;
+}>;
+
+export type NamespaceWorkerGetScriptSettingsResponse = Schemas.WorkersApiResponseCommon & {
+  result?: Schemas.WorkersScriptAndVersionSettingsItem;
+};
+
+export type NamespaceWorkerGetScriptSettingsVariables = {
+  pathParams: NamespaceWorkerGetScriptSettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get script settings from a script uploaded to a Workers for Platforms namespace.
+ */
+export const namespaceWorkerGetScriptSettings = (
+  variables: NamespaceWorkerGetScriptSettingsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    NamespaceWorkerGetScriptSettingsResponse,
+    NamespaceWorkerGetScriptSettingsError,
+    undefined,
+    {},
+    {},
+    NamespaceWorkerGetScriptSettingsPathParams
+  >({
+    url: '/accounts/{accountId}/workers/dispatch/namespaces/{dispatchNamespace}/scripts/{scriptName}/settings',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type NamespaceWorkerPatchScriptSettingsPathParams = {
+  accountId: Schemas.WorkersIdentifier;
+  dispatchNamespace: Schemas.WorkersDispatchNamespaceName;
+  scriptName: Schemas.WorkersScriptName;
+};
+
+export type NamespaceWorkerPatchScriptSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersApiResponseCommon;
+}>;
+
+export type NamespaceWorkerPatchScriptSettingsResponse = Schemas.WorkersApiResponseCommon & {
+  result?: Schemas.WorkersScriptAndVersionSettingsItem;
+};
+
+export type NamespaceWorkerPatchScriptSettingsRequestBody = {
+  settings?: Schemas.WorkersScriptAndVersionSettingsItem;
+};
+
+export type NamespaceWorkerPatchScriptSettingsVariables = {
+  body?: NamespaceWorkerPatchScriptSettingsRequestBody;
+  pathParams: NamespaceWorkerPatchScriptSettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Patch script metadata, such as bindings
+ */
+export const namespaceWorkerPatchScriptSettings = (
+  variables: NamespaceWorkerPatchScriptSettingsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    NamespaceWorkerPatchScriptSettingsResponse,
+    NamespaceWorkerPatchScriptSettingsError,
+    NamespaceWorkerPatchScriptSettingsRequestBody,
+    {},
+    {},
+    NamespaceWorkerPatchScriptSettingsPathParams
+  >({
+    url: '/accounts/{accountId}/workers/dispatch/namespaces/{dispatchNamespace}/scripts/{scriptName}/settings',
+    method: 'patch',
+    ...variables,
+    signal
+  });
+
+export type NamespaceWorkerGetScriptTagsPathParams = {
+  accountId: Schemas.WorkersIdentifier;
+  dispatchNamespace: Schemas.WorkersDispatchNamespaceName;
+  scriptName: Schemas.WorkersScriptName;
+};
+
+export type NamespaceWorkerGetScriptTagsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersApiResponseCommon;
+}>;
+
+export type NamespaceWorkerGetScriptTagsResponse = Schemas.WorkersApiResponseCommon & {
+  /**
+   * @example free
+   * @example customer
+   */
+  result?: Schemas.WorkersTag[];
+};
+
+export type NamespaceWorkerGetScriptTagsVariables = {
+  pathParams: NamespaceWorkerGetScriptTagsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetch tags from a script uploaded to a Workers for Platforms namespace.
+ */
+export const namespaceWorkerGetScriptTags = (variables: NamespaceWorkerGetScriptTagsVariables, signal?: AbortSignal) =>
+  fetch<
+    NamespaceWorkerGetScriptTagsResponse,
+    NamespaceWorkerGetScriptTagsError,
+    undefined,
+    {},
+    {},
+    NamespaceWorkerGetScriptTagsPathParams
+  >({
+    url: '/accounts/{accountId}/workers/dispatch/namespaces/{dispatchNamespace}/scripts/{scriptName}/tags',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type NamespaceWorkerPutScriptTagsPathParams = {
+  accountId: Schemas.WorkersIdentifier;
+  dispatchNamespace: Schemas.WorkersDispatchNamespaceName;
+  scriptName: Schemas.WorkersScriptName;
+};
+
+export type NamespaceWorkerPutScriptTagsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersApiResponseCommon;
+}>;
+
+export type NamespaceWorkerPutScriptTagsResponse = Schemas.WorkersApiResponseCommon & {
+  /**
+   * @example my-tag
+   */
+  result?: Schemas.WorkersTag[];
+};
+
+export type NamespaceWorkerPutScriptTagsVariables = {
+  body?: Schemas.WorkersTags;
+  pathParams: NamespaceWorkerPutScriptTagsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Put script tags for a script uploaded to a Workers for Platforms namespace.
+ */
+export const namespaceWorkerPutScriptTags = (variables: NamespaceWorkerPutScriptTagsVariables, signal?: AbortSignal) =>
+  fetch<
+    NamespaceWorkerPutScriptTagsResponse,
+    NamespaceWorkerPutScriptTagsError,
+    Schemas.WorkersTags,
+    {},
+    {},
+    NamespaceWorkerPutScriptTagsPathParams
+  >({
+    url: '/accounts/{accountId}/workers/dispatch/namespaces/{dispatchNamespace}/scripts/{scriptName}/tags',
+    method: 'put',
+    ...variables,
+    signal
+  });
+
+export type NamespaceWorkerDeleteScriptTagPathParams = {
+  accountId: Schemas.WorkersIdentifier;
+  dispatchNamespace: Schemas.WorkersDispatchNamespaceName;
+  scriptName: Schemas.WorkersScriptName;
+  tag: Schemas.WorkersTag;
+};
+
+export type NamespaceWorkerDeleteScriptTagError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersApiResponseCommon;
+}>;
+
+export type NamespaceWorkerDeleteScriptTagResponse = Schemas.WorkersApiResponseCommon & {
+  result?: any | null;
+};
+
+export type NamespaceWorkerDeleteScriptTagVariables = {
+  pathParams: NamespaceWorkerDeleteScriptTagPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete script tag for a script uploaded to a Workers for Platforms namespace.
+ */
+export const namespaceWorkerDeleteScriptTag = (
+  variables: NamespaceWorkerDeleteScriptTagVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    NamespaceWorkerDeleteScriptTagResponse,
+    NamespaceWorkerDeleteScriptTagError,
+    undefined,
+    {},
+    {},
+    NamespaceWorkerDeleteScriptTagPathParams
+  >({
+    url: '/accounts/{accountId}/workers/dispatch/namespaces/{dispatchNamespace}/scripts/{scriptName}/tags/{tag}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type NamespaceWorkerPutScriptTagPathParams = {
+  accountId: Schemas.WorkersIdentifier;
+  dispatchNamespace: Schemas.WorkersDispatchNamespaceName;
+  scriptName: Schemas.WorkersScriptName;
+  tag: Schemas.WorkersTag;
+};
+
+export type NamespaceWorkerPutScriptTagError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersApiResponseCommon;
+}>;
+
+export type NamespaceWorkerPutScriptTagResponse = Schemas.WorkersApiResponseCommon & {
+  result?: any | null;
+};
+
+export type NamespaceWorkerPutScriptTagVariables = {
+  pathParams: NamespaceWorkerPutScriptTagPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Put a single tag on a script uploaded to a Workers for Platforms namespace.
+ */
+export const namespaceWorkerPutScriptTag = (variables: NamespaceWorkerPutScriptTagVariables, signal?: AbortSignal) =>
+  fetch<
+    NamespaceWorkerPutScriptTagResponse,
+    NamespaceWorkerPutScriptTagError,
+    undefined,
+    {},
+    {},
+    NamespaceWorkerPutScriptTagPathParams
+  >({
+    url: '/accounts/{accountId}/workers/dispatch/namespaces/{dispatchNamespace}/scripts/{scriptName}/tags/{tag}',
+    method: 'put',
+    ...variables,
+    signal
+  });
+
+export type WorkerDomainListDomainsPathParams = {
+  accountId: Schemas.WorkersAccountIdentifier;
+};
+
+export type WorkerDomainListDomainsQueryParams = {
+  zone_name?: Schemas.WorkersZoneName;
+  service?: Schemas.WorkersSchemasService;
+  zone_id?: Schemas.WorkersZoneIdentifier;
+  /**
+   * @example foo.example.com
+   */
+  hostname?: string;
+  /**
+   * @example production
+   */
+  environment?: string;
+};
+
+export type WorkerDomainListDomainsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersDomainResponseCollection & Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type WorkerDomainListDomainsVariables = {
+  pathParams: WorkerDomainListDomainsPathParams;
+  queryParams?: WorkerDomainListDomainsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists all Worker Domains for an account.
+ */
+export const workerDomainListDomains = (variables: WorkerDomainListDomainsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WorkersDomainResponseCollection,
+    WorkerDomainListDomainsError,
+    undefined,
+    {},
+    WorkerDomainListDomainsQueryParams,
+    WorkerDomainListDomainsPathParams
+  >({ url: '/accounts/{accountId}/workers/domains', method: 'get', ...variables, signal });
+
+export type WorkerDomainAttachToDomainPathParams = {
+  accountId: Schemas.WorkersAccountIdentifier;
+};
+
+export type WorkerDomainAttachToDomainError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersDomainResponseSingle & Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type WorkerDomainAttachToDomainRequestBody = {
+  environment: Schemas.WorkersSchemasEnvironment;
+  hostname: Schemas.WorkersHostname;
+  service: Schemas.WorkersSchemasService;
+  zone_id: Schemas.WorkersZoneIdentifier;
+};
+
+export type WorkerDomainAttachToDomainVariables = {
+  body: WorkerDomainAttachToDomainRequestBody;
+  pathParams: WorkerDomainAttachToDomainPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Attaches a Worker to a zone and hostname.
+ */
+export const workerDomainAttachToDomain = (variables: WorkerDomainAttachToDomainVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WorkersDomainResponseSingle,
+    WorkerDomainAttachToDomainError,
+    WorkerDomainAttachToDomainRequestBody,
+    {},
+    {},
+    WorkerDomainAttachToDomainPathParams
+  >({ url: '/accounts/{accountId}/workers/domains', method: 'put', ...variables, signal });
+
+export type WorkerDomainDetachFromDomainPathParams = {
+  domainId: Schemas.WorkersDomainIdentifier;
+  accountId: Schemas.WorkersAccountIdentifier;
+};
+
+export type WorkerDomainDetachFromDomainError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkerDomainDetachFromDomainVariables = {
+  pathParams: WorkerDomainDetachFromDomainPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Detaches a Worker from a zone and hostname.
+ */
+export const workerDomainDetachFromDomain = (variables: WorkerDomainDetachFromDomainVariables, signal?: AbortSignal) =>
+  fetch<undefined, WorkerDomainDetachFromDomainError, undefined, {}, {}, WorkerDomainDetachFromDomainPathParams>({
+    url: '/accounts/{accountId}/workers/domains/{domainId}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type WorkerDomainGetADomainPathParams = {
+  domainId: Schemas.WorkersDomainIdentifier;
+  accountId: Schemas.WorkersAccountIdentifier;
+};
+
+export type WorkerDomainGetADomainError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersDomainResponseSingle & Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type WorkerDomainGetADomainVariables = {
+  pathParams: WorkerDomainGetADomainPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets a Worker domain.
+ */
+export const workerDomainGetADomain = (variables: WorkerDomainGetADomainVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WorkersDomainResponseSingle,
+    WorkerDomainGetADomainError,
+    undefined,
+    {},
+    {},
+    WorkerDomainGetADomainPathParams
+  >({ url: '/accounts/{accountId}/workers/domains/{domainId}', method: 'get', ...variables, signal });
+
+export type DurableObjectsNamespaceListNamespacesPathParams = {
+  accountId: Schemas.WorkersIdentifier;
+};
+
+export type DurableObjectsNamespaceListNamespacesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.WorkersApiResponseCollection & {
+    result?: Schemas.WorkersNamespace[];
+  }) &
+    Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type DurableObjectsNamespaceListNamespacesResponse = Schemas.WorkersApiResponseCollection & {
+  result?: Schemas.WorkersNamespace[];
+};
+
+export type DurableObjectsNamespaceListNamespacesVariables = {
+  pathParams: DurableObjectsNamespaceListNamespacesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Returns the Durable Object namespaces owned by an account.
+ */
+export const durableObjectsNamespaceListNamespaces = (
+  variables: DurableObjectsNamespaceListNamespacesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    DurableObjectsNamespaceListNamespacesResponse,
+    DurableObjectsNamespaceListNamespacesError,
+    undefined,
+    {},
+    {},
+    DurableObjectsNamespaceListNamespacesPathParams
+  >({ url: '/accounts/{accountId}/workers/durable_objects/namespaces', method: 'get', ...variables, signal });
+
+export type DurableObjectsNamespaceListObjectsPathParams = {
+  id: Schemas.WorkersSchemasId;
+  accountId: Schemas.WorkersIdentifier;
+};
+
+export type DurableObjectsNamespaceListObjectsQueryParams = {
+  /**
+   * @default 1000
+   * @maximum 10000
+   * @minimum 10
+   */
+  limit?: number;
+  /**
+   * @example AAAAANuhDN7SjacTnSVsDu3WW1Lvst6dxJGTjRY5BhxPXdf6L6uTcpd_NVtjhn11OUYRsVEykxoUwF-JQU4dn6QylZSKTOJuG0indrdn_MlHpMRtsxgXjs-RPdHYIVm3odE_uvEQ_dTQGFm8oikZMohns34DLBgrQpc
+   */
+  cursor?: string;
+};
+
+export type DurableObjectsNamespaceListObjectsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.WorkersApiResponseCollection & {
+    result?: Schemas.WorkersObject[];
+    result_info?: {
+      /**
+       * Total results returned based on your list parameters.
+       *
+       * @example 1
+       */
+      count?: number;
+      cursor?: Schemas.WorkersCursor;
+    };
+  }) &
+    Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type DurableObjectsNamespaceListObjectsResponse = Schemas.WorkersApiResponseCollection & {
+  result?: Schemas.WorkersObject[];
+  result_info?: {
+    /**
+     * Total results returned based on your list parameters.
+     *
+     * @example 1
+     */
+    count?: number;
+    cursor?: Schemas.WorkersCursor;
+  };
+};
+
+export type DurableObjectsNamespaceListObjectsVariables = {
+  pathParams: DurableObjectsNamespaceListObjectsPathParams;
+  queryParams?: DurableObjectsNamespaceListObjectsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Returns the Durable Objects in a given namespace.
+ */
+export const durableObjectsNamespaceListObjects = (
+  variables: DurableObjectsNamespaceListObjectsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    DurableObjectsNamespaceListObjectsResponse,
+    DurableObjectsNamespaceListObjectsError,
+    undefined,
+    {},
+    DurableObjectsNamespaceListObjectsQueryParams,
+    DurableObjectsNamespaceListObjectsPathParams
+  >({
+    url: '/accounts/{accountId}/workers/durable_objects/namespaces/{id}/objects',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type WorkerScriptListWorkersPathParams = {
+  accountId: Schemas.WorkersIdentifier;
+};
+
+export type WorkerScriptListWorkersError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersScriptResponseCollection & Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type WorkerScriptListWorkersVariables = {
+  pathParams: WorkerScriptListWorkersPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetch a list of uploaded workers.
+ */
+export const workerScriptListWorkers = (variables: WorkerScriptListWorkersVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WorkersScriptResponseCollection,
+    WorkerScriptListWorkersError,
+    undefined,
+    {},
+    {},
+    WorkerScriptListWorkersPathParams
+  >({ url: '/accounts/{accountId}/workers/scripts', method: 'get', ...variables, signal });
+
+export type WorkerScriptDeleteWorkerPathParams = {
+  scriptName: Schemas.WorkersScriptName;
+  accountId: Schemas.WorkersIdentifier;
+};
+
+export type WorkerScriptDeleteWorkerQueryParams = {
+  /**
+   * If set to true, delete will not be stopped by associated service binding, durable object, or other binding. Any of these associated bindings/durable objects will be deleted along with the script.
+   */
+  force?: boolean;
+};
+
+export type WorkerScriptDeleteWorkerError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkerScriptDeleteWorkerVariables = {
+  pathParams: WorkerScriptDeleteWorkerPathParams;
+  queryParams?: WorkerScriptDeleteWorkerQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete your worker. This call has no response body on a successful delete.
+ */
+export const workerScriptDeleteWorker = (variables: WorkerScriptDeleteWorkerVariables, signal?: AbortSignal) =>
+  fetch<
+    undefined,
+    WorkerScriptDeleteWorkerError,
+    undefined,
+    {},
+    WorkerScriptDeleteWorkerQueryParams,
+    WorkerScriptDeleteWorkerPathParams
+  >({ url: '/accounts/{accountId}/workers/scripts/{scriptName}', method: 'delete', ...variables, signal });
+
+export type WorkerScriptDownloadWorkerPathParams = {
+  scriptName: Schemas.WorkersScriptName;
+  accountId: Schemas.WorkersIdentifier;
+};
+
+export type WorkerScriptDownloadWorkerError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkerScriptDownloadWorkerVariables = {
+  pathParams: WorkerScriptDownloadWorkerPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetch raw script content for your worker. Note this is the original script content, not JSON encoded.
+ */
+export const workerScriptDownloadWorker = (variables: WorkerScriptDownloadWorkerVariables, signal?: AbortSignal) =>
+  fetch<undefined, WorkerScriptDownloadWorkerError, undefined, {}, {}, WorkerScriptDownloadWorkerPathParams>({
+    url: '/accounts/{accountId}/workers/scripts/{scriptName}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type WorkerScriptUploadWorkerModulePathParams = {
+  scriptName: Schemas.WorkersScriptName;
+  accountId: Schemas.WorkersIdentifier;
+};
+
+export type WorkerScriptUploadWorkerModuleQueryParams = {
+  /**
+   * Rollback to provided deployment based on deployment ID. Request body will only parse a "message" part. You can learn more about deployments [here](https://developers.cloudflare.com/workers/platform/deployments/).
+   */
+  rollback_to?: Schemas.WorkersUuid;
+};
+
+export type WorkerScriptUploadWorkerModuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: void & Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type WorkerScriptUploadWorkerModuleResponse = Schemas.WorkersScriptResponseUploadSingle & void;
+
+export type WorkerScriptUploadWorkerModuleVariables = {
+  body?: RequestBodies.WorkersScriptUpload;
+  pathParams: WorkerScriptUploadWorkerModulePathParams;
+  queryParams?: WorkerScriptUploadWorkerModuleQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Upload a worker module. You can find more about the multipart metadata on our docs: https://developers.cloudflare.com/workers/configuration/multipart-upload-metadata/.
+ */
+export const workerScriptUploadWorkerModule = (
+  variables: WorkerScriptUploadWorkerModuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkerScriptUploadWorkerModuleResponse,
+    WorkerScriptUploadWorkerModuleError,
+    RequestBodies.WorkersScriptUpload,
+    {},
+    WorkerScriptUploadWorkerModuleQueryParams,
+    WorkerScriptUploadWorkerModulePathParams
+  >({ url: '/accounts/{accountId}/workers/scripts/{scriptName}', method: 'put', ...variables, signal });
+
+export type WorkerScriptUpdateCreateAssetsUploadSessionPathParams = {
+  accountId: Schemas.WorkersIdentifier;
+  scriptName: Schemas.WorkersScriptName;
+};
+
+export type WorkerScriptUpdateCreateAssetsUploadSessionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersCreateAssetsUploadSessionResponse & Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type WorkerScriptUpdateCreateAssetsUploadSessionVariables = {
+  body?: Schemas.WorkersCreateAssetsUploadSessionObject;
+  pathParams: WorkerScriptUpdateCreateAssetsUploadSessionPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Start uploading a collection of assets for use in a Worker version.
+ */
+export const workerScriptUpdateCreateAssetsUploadSession = (
+  variables: WorkerScriptUpdateCreateAssetsUploadSessionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WorkersCreateAssetsUploadSessionResponse,
+    WorkerScriptUpdateCreateAssetsUploadSessionError,
+    Schemas.WorkersCreateAssetsUploadSessionObject,
+    {},
+    {},
+    WorkerScriptUpdateCreateAssetsUploadSessionPathParams
+  >({
+    url: '/accounts/{accountId}/workers/scripts/{scriptName}/assets-upload-session',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type WorkerScriptPutContentPathParams = {
+  accountId: Schemas.WorkersIdentifier;
+  scriptName: Schemas.WorkersScriptName;
+};
+
+export type WorkerScriptPutContentHeaders = {
+  /**
+   * The multipart name of a script upload part containing script content in service worker format. Alternative to including in a metadata part.
+   */
+  ['CF-WORKER-BODY-PART']?: string;
+  /**
+   * The multipart name of a script upload part containing script content in es module format. Alternative to including in a metadata part.
+   */
+  ['CF-WORKER-MAIN-MODULE-PART']?: string;
+};
+
+export type WorkerScriptPutContentError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type WorkerScriptPutContentRequestBody = {
+  /**
+   * JSON encoded metadata about the uploaded parts and Worker configuration.
+   */
+  metadata: {
+    /**
+     * Name of the part in the multipart request that contains the script (e.g. the file adding a listener to the `fetch` event). Indicates a `service worker syntax` Worker.
+     *
+     * @example worker.js
+     */
+    body_part?: string;
+    /**
+     * Name of the part in the multipart request that contains the main module (e.g. the file exporting a `fetch` handler). Indicates a `module syntax` Worker.
+     *
+     * @example worker.js
+     */
+    main_module?: string;
+  };
+} & {
+  [key: string]: Blob[];
+};
+
+export type WorkerScriptPutContentVariables = {
+  body: WorkerScriptPutContentRequestBody;
+  headers?: WorkerScriptPutContentHeaders;
+  pathParams: WorkerScriptPutContentPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Put script content without touching config or metadata
+ */
+export const workerScriptPutContent = (variables: WorkerScriptPutContentVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WorkersScriptResponseSingle,
+    WorkerScriptPutContentError,
+    WorkerScriptPutContentRequestBody,
+    WorkerScriptPutContentHeaders,
+    {},
+    WorkerScriptPutContentPathParams
+  >({ url: '/accounts/{accountId}/workers/scripts/{scriptName}/content', method: 'put', ...variables, signal });
+
+export type WorkerScriptGetContentPathParams = {
+  accountId: Schemas.WorkersIdentifier;
+  scriptName: Schemas.WorkersScriptName;
+};
+
+export type WorkerScriptGetContentError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersApiResponseCommon;
+}>;
+
+export type WorkerScriptGetContentVariables = {
+  pathParams: WorkerScriptGetContentPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetch script content only
+ */
+export const workerScriptGetContent = (variables: WorkerScriptGetContentVariables, signal?: AbortSignal) =>
+  fetch<undefined, WorkerScriptGetContentError, undefined, {}, {}, WorkerScriptGetContentPathParams>({
+    url: '/accounts/{accountId}/workers/scripts/{scriptName}/content/v2',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type WorkerDeploymentsListDeploymentsPathParams = {
+  scriptName: Schemas.WorkersSchemasScriptName;
+  accountId: Schemas.WorkersIdentifier;
+};
+
+export type WorkerDeploymentsListDeploymentsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersSchemasDeploymentsListResponse & Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type WorkerDeploymentsListDeploymentsVariables = {
+  pathParams: WorkerDeploymentsListDeploymentsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * List of Worker Deployments. The first deployment in the list is the latest deployment actively serving traffic.
+ */
+export const workerDeploymentsListDeployments = (
+  variables: WorkerDeploymentsListDeploymentsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WorkersSchemasDeploymentsListResponse,
+    WorkerDeploymentsListDeploymentsError,
+    undefined,
+    {},
+    {},
+    WorkerDeploymentsListDeploymentsPathParams
+  >({ url: '/accounts/{accountId}/workers/scripts/{scriptName}/deployments', method: 'get', ...variables, signal });
+
+export type WorkerDeploymentsCreateDeploymentPathParams = {
+  scriptName: Schemas.WorkersSchemasScriptName;
+  accountId: Schemas.WorkersIdentifier;
+};
+
+export type WorkerDeploymentsCreateDeploymentQueryParams = {
+  /**
+   * If set to true, the deployment will be created even if normally blocked by something such rolling back to an older version when a secret has changed.
+   */
+  force?: boolean;
+};
+
+export type WorkerDeploymentsCreateDeploymentError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersSchemasDeploymentsSingleResponse & Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type WorkerDeploymentsCreateDeploymentVariables = {
+  body?: Schemas.WorkersDeploymentsCreateBody;
+  pathParams: WorkerDeploymentsCreateDeploymentPathParams;
+  queryParams?: WorkerDeploymentsCreateDeploymentQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Deployments configure how [Worker Versions](https://developers.cloudflare.com/api/operations/worker-versions-list-versions) are deployed to traffic. A deployment can consist of one or two versions of a Worker.
+ */
+export const workerDeploymentsCreateDeployment = (
+  variables: WorkerDeploymentsCreateDeploymentVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WorkersSchemasDeploymentsSingleResponse,
+    WorkerDeploymentsCreateDeploymentError,
+    Schemas.WorkersDeploymentsCreateBody,
+    {},
+    WorkerDeploymentsCreateDeploymentQueryParams,
+    WorkerDeploymentsCreateDeploymentPathParams
+  >({ url: '/accounts/{accountId}/workers/scripts/{scriptName}/deployments', method: 'post', ...variables, signal });
+
+export type WorkerCronTriggerGetCronTriggersPathParams = {
+  scriptName: Schemas.WorkersScriptName;
+  accountId: Schemas.WorkersIdentifier;
+};
+
+export type WorkerCronTriggerGetCronTriggersError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersCronTriggerResponseCollection & Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type WorkerCronTriggerGetCronTriggersVariables = {
+  pathParams: WorkerCronTriggerGetCronTriggersPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches Cron Triggers for a Worker.
+ */
+export const workerCronTriggerGetCronTriggers = (
+  variables: WorkerCronTriggerGetCronTriggersVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WorkersCronTriggerResponseCollection,
+    WorkerCronTriggerGetCronTriggersError,
+    undefined,
+    {},
+    {},
+    WorkerCronTriggerGetCronTriggersPathParams
+  >({ url: '/accounts/{accountId}/workers/scripts/{scriptName}/schedules', method: 'get', ...variables, signal });
+
+export type WorkerCronTriggerUpdateCronTriggersPathParams = {
+  scriptName: Schemas.WorkersScriptName;
+  accountId: Schemas.WorkersIdentifier;
+};
+
+export type WorkerCronTriggerUpdateCronTriggersError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersCronTriggerResponseCollection & Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type WorkerCronTriggerUpdateCronTriggersRequestBody = Schemas.WorkersCronObject[];
+
+export type WorkerCronTriggerUpdateCronTriggersVariables = {
+  body?: WorkerCronTriggerUpdateCronTriggersRequestBody;
+  pathParams: WorkerCronTriggerUpdateCronTriggersPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates Cron Triggers for a Worker.
+ */
+export const workerCronTriggerUpdateCronTriggers = (
+  variables: WorkerCronTriggerUpdateCronTriggersVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WorkersCronTriggerResponseCollection,
+    WorkerCronTriggerUpdateCronTriggersError,
+    WorkerCronTriggerUpdateCronTriggersRequestBody,
+    {},
+    {},
+    WorkerCronTriggerUpdateCronTriggersPathParams
+  >({ url: '/accounts/{accountId}/workers/scripts/{scriptName}/schedules', method: 'put', ...variables, signal });
+
+export type WorkerScriptSettingsGetSettingsPathParams = {
+  accountId: Schemas.WorkersIdentifier;
+  scriptName: Schemas.WorkersScriptName;
+};
+
+export type WorkerScriptSettingsGetSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersApiResponseCommon;
+}>;
+
+export type WorkerScriptSettingsGetSettingsVariables = {
+  pathParams: WorkerScriptSettingsGetSettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get script-level settings when using [Worker Versions](https://developers.cloudflare.com/api/operations/worker-versions-list-versions). Includes Logpush and Tail Consumers.
+ */
+export const workerScriptSettingsGetSettings = (
+  variables: WorkerScriptSettingsGetSettingsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WorkersScriptSettingsResponse,
+    WorkerScriptSettingsGetSettingsError,
+    undefined,
+    {},
+    {},
+    WorkerScriptSettingsGetSettingsPathParams
+  >({ url: '/accounts/{accountId}/workers/scripts/{scriptName}/script-settings', method: 'get', ...variables, signal });
+
+export type WorkerScriptSettingsPatchSettingsPathParams = {
+  accountId: Schemas.WorkersIdentifier;
+  scriptName: Schemas.WorkersScriptName;
+};
+
+export type WorkerScriptSettingsPatchSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersApiResponseCommon;
+}>;
+
+export type WorkerScriptSettingsPatchSettingsVariables = {
+  body?: Schemas.WorkersScriptSettingsItem;
+  pathParams: WorkerScriptSettingsPatchSettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Patch script-level settings when using [Worker Versions](https://developers.cloudflare.com/api/operations/worker-versions-list-versions). Including but not limited to Logpush and Tail Consumers.
+ */
+export const workerScriptSettingsPatchSettings = (
+  variables: WorkerScriptSettingsPatchSettingsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WorkersScriptSettingsResponse,
+    WorkerScriptSettingsPatchSettingsError,
+    Schemas.WorkersScriptSettingsItem,
+    {},
+    {},
+    WorkerScriptSettingsPatchSettingsPathParams
+  >({
+    url: '/accounts/{accountId}/workers/scripts/{scriptName}/script-settings',
+    method: 'patch',
+    ...variables,
+    signal
+  });
+
+export type WorkerScriptGetSettingsPathParams = {
+  accountId: Schemas.WorkersIdentifier;
+  scriptName: Schemas.WorkersScriptName;
+};
+
+export type WorkerScriptGetSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersApiResponseCommon;
+}>;
+
+export type WorkerScriptGetSettingsVariables = {
+  pathParams: WorkerScriptGetSettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get metadata and config, such as bindings or usage model
+ */
+export const workerScriptGetSettings = (variables: WorkerScriptGetSettingsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WorkersScriptAndVersionSettingsResponse,
+    WorkerScriptGetSettingsError,
+    undefined,
+    {},
+    {},
+    WorkerScriptGetSettingsPathParams
+  >({ url: '/accounts/{accountId}/workers/scripts/{scriptName}/settings', method: 'get', ...variables, signal });
+
+export type WorkerScriptPatchSettingsPathParams = {
+  accountId: Schemas.WorkersIdentifier;
+  scriptName: Schemas.WorkersScriptName;
+};
+
+export type WorkerScriptPatchSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersApiResponseCommon;
+}>;
+
+export type WorkerScriptPatchSettingsRequestBody = {
+  settings?: Schemas.WorkersScriptAndVersionSettingsItem;
+};
+
+export type WorkerScriptPatchSettingsVariables = {
+  body?: WorkerScriptPatchSettingsRequestBody;
+  pathParams: WorkerScriptPatchSettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Patch metadata or config, such as bindings or usage model
+ */
+export const workerScriptPatchSettings = (variables: WorkerScriptPatchSettingsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WorkersScriptAndVersionSettingsResponse,
+    WorkerScriptPatchSettingsError,
+    WorkerScriptPatchSettingsRequestBody,
+    {},
+    {},
+    WorkerScriptPatchSettingsPathParams
+  >({ url: '/accounts/{accountId}/workers/scripts/{scriptName}/settings', method: 'patch', ...variables, signal });
+
+export type WorkerScriptGetSubdomainPathParams = {
+  accountId: Schemas.WorkersIdentifier;
+  scriptName: Schemas.WorkersScriptName;
+};
+
+export type WorkerScriptGetSubdomainError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersApiResponseCommon;
+}>;
+
+export type WorkerScriptGetSubdomainResponse = {
+  /**
+   * Whether the Worker is available on the workers.dev subdomain.
+   *
+   * @example true
+   */
+  enabled?: boolean;
+  /**
+   * Whether the Worker's Preview URLs should be available on the workers.dev subdomain.
+   *
+   * @example true
+   */
+  previews_enabled?: boolean;
+};
+
+export type WorkerScriptGetSubdomainVariables = {
+  pathParams: WorkerScriptGetSubdomainPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get if the Worker is available on the workers.dev subdomain.
+ */
+export const workerScriptGetSubdomain = (variables: WorkerScriptGetSubdomainVariables, signal?: AbortSignal) =>
+  fetch<
+    WorkerScriptGetSubdomainResponse,
+    WorkerScriptGetSubdomainError,
+    undefined,
+    {},
+    {},
+    WorkerScriptGetSubdomainPathParams
+  >({ url: '/accounts/{accountId}/workers/scripts/{scriptName}/subdomain', method: 'get', ...variables, signal });
+
+export type WorkerScriptPostSubdomainPathParams = {
+  accountId: Schemas.WorkersIdentifier;
+  scriptName: Schemas.WorkersScriptName;
+};
+
+export type WorkerScriptPostSubdomainError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersApiResponseCommon;
+}>;
+
+export type WorkerScriptPostSubdomainResponse = {
+  /**
+   * Whether the Worker is available on the workers.dev subdomain.
+   *
+   * @example true
+   */
+  enabled?: boolean;
+  /**
+   * Whether the Worker's Preview URLs should be available on the workers.dev subdomain.
+   *
+   * @example true
+   */
+  previews_enabled?: boolean;
+};
+
+export type WorkerScriptPostSubdomainRequestBody = {
+  /**
+   * Whether the Worker should be available on the workers.dev subdomain.
+   *
+   * @example true
+   */
+  enabled: boolean;
+  /**
+   * Whether the Worker's Preview URLs should be available on the workers.dev subdomain.
+   *
+   * @example true
+   */
+  previews_enabled?: boolean;
+};
+
+export type WorkerScriptPostSubdomainVariables = {
+  body: WorkerScriptPostSubdomainRequestBody;
+  pathParams: WorkerScriptPostSubdomainPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Enable or disable the Worker on the workers.dev subdomain.
+ */
+export const workerScriptPostSubdomain = (variables: WorkerScriptPostSubdomainVariables, signal?: AbortSignal) =>
+  fetch<
+    WorkerScriptPostSubdomainResponse,
+    WorkerScriptPostSubdomainError,
+    WorkerScriptPostSubdomainRequestBody,
+    {},
+    {},
+    WorkerScriptPostSubdomainPathParams
+  >({ url: '/accounts/{accountId}/workers/scripts/{scriptName}/subdomain', method: 'post', ...variables, signal });
+
+export type WorkerTailLogsListTailsPathParams = {
+  scriptName: Schemas.WorkersScriptName;
+  accountId: Schemas.WorkersIdentifier;
+};
+
+export type WorkerTailLogsListTailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersTailResponse & Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type WorkerTailLogsListTailsVariables = {
+  pathParams: WorkerTailLogsListTailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get list of tails currently deployed on a Worker.
+ */
+export const workerTailLogsListTails = (variables: WorkerTailLogsListTailsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WorkersTailResponse,
+    WorkerTailLogsListTailsError,
+    undefined,
+    {},
+    {},
+    WorkerTailLogsListTailsPathParams
+  >({ url: '/accounts/{accountId}/workers/scripts/{scriptName}/tails', method: 'get', ...variables, signal });
+
+export type WorkerTailLogsStartTailPathParams = {
+  scriptName: Schemas.WorkersScriptName;
+  accountId: Schemas.WorkersIdentifier;
+};
+
+export type WorkerTailLogsStartTailError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersTailResponse & Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type WorkerTailLogsStartTailVariables = {
+  pathParams: WorkerTailLogsStartTailPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Starts a tail that receives logs and exception from a Worker.
+ */
+export const workerTailLogsStartTail = (variables: WorkerTailLogsStartTailVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WorkersTailResponse,
+    WorkerTailLogsStartTailError,
+    undefined,
+    {},
+    {},
+    WorkerTailLogsStartTailPathParams
+  >({ url: '/accounts/{accountId}/workers/scripts/{scriptName}/tails', method: 'post', ...variables, signal });
+
+export type WorkerTailLogsDeleteTailPathParams = {
+  id: Schemas.WorkersId;
+  scriptName: Schemas.WorkersScriptName;
+  accountId: Schemas.WorkersIdentifier;
+};
+
+export type WorkerTailLogsDeleteTailError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    /**
+     * @example {"code":7003,"message":"No route for the URI"}
+     * @minLength 1
+     */
+    errors: Schemas.WorkersMessages;
+    messages: Schemas.WorkersMessages;
+    /**
+     * Whether the API call was successful
+     *
+     * @example false
+     */
+    success: false;
+    result: any | null;
+  };
+}>;
+
+export type WorkerTailLogsDeleteTailVariables = {
+  pathParams: WorkerTailLogsDeleteTailPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes a tail from a Worker.
+ */
+export const workerTailLogsDeleteTail = (variables: WorkerTailLogsDeleteTailVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WorkersApiResponseCommon,
+    WorkerTailLogsDeleteTailError,
+    undefined,
+    {},
+    {},
+    WorkerTailLogsDeleteTailPathParams
+  >({ url: '/accounts/{accountId}/workers/scripts/{scriptName}/tails/{id}', method: 'delete', ...variables, signal });
+
+export type WorkerScriptFetchUsageModelPathParams = {
+  scriptName: Schemas.WorkersScriptName;
+  accountId: Schemas.WorkersIdentifier;
+};
+
+export type WorkerScriptFetchUsageModelError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersUsageModelResponse & Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type WorkerScriptFetchUsageModelVariables = {
+  pathParams: WorkerScriptFetchUsageModelPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the Usage Model for a given Worker.
+ */
+export const workerScriptFetchUsageModel = (variables: WorkerScriptFetchUsageModelVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WorkersUsageModelResponse,
+    WorkerScriptFetchUsageModelError,
+    undefined,
+    {},
+    {},
+    WorkerScriptFetchUsageModelPathParams
+  >({ url: '/accounts/{accountId}/workers/scripts/{scriptName}/usage-model', method: 'get', ...variables, signal });
+
+export type WorkerScriptUpdateUsageModelPathParams = {
+  scriptName: Schemas.WorkersScriptName;
+  accountId: Schemas.WorkersIdentifier;
+};
+
+export type WorkerScriptUpdateUsageModelError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersUsageModelResponse & Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type WorkerScriptUpdateUsageModelVariables = {
+  body?: Schemas.WorkersUsageModelObject;
+  pathParams: WorkerScriptUpdateUsageModelPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates the Usage Model for a given Worker. Requires a Workers Paid subscription.
+ */
+export const workerScriptUpdateUsageModel = (variables: WorkerScriptUpdateUsageModelVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WorkersUsageModelResponse,
+    WorkerScriptUpdateUsageModelError,
+    Schemas.WorkersUsageModelObject,
+    {},
+    {},
+    WorkerScriptUpdateUsageModelPathParams
+  >({ url: '/accounts/{accountId}/workers/scripts/{scriptName}/usage-model', method: 'put', ...variables, signal });
+
+export type WorkerVersionsListVersionsPathParams = {
+  scriptName: Schemas.WorkersSchemasScriptName;
+  accountId: Schemas.WorkersIdentifier;
+};
+
+export type WorkerVersionsListVersionsQueryParams = {
+  /**
+   * Only return versions that can be used in a deployment. Ignores pagination.
+   *
+   * @default false
+   */
+  deployable?: boolean;
+  /**
+   * Current page.
+   *
+   * @default 1
+   */
+  page?: number;
+  /**
+   * Items per-page.
+   */
+  per_page?: number;
+};
+
+export type WorkerVersionsListVersionsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersVersionsListResponse & Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type WorkerVersionsListVersionsVariables = {
+  pathParams: WorkerVersionsListVersionsPathParams;
+  queryParams?: WorkerVersionsListVersionsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * List of Worker Versions. The first version in the list is the latest version.
+ */
+export const workerVersionsListVersions = (variables: WorkerVersionsListVersionsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WorkersVersionsListResponse,
+    WorkerVersionsListVersionsError,
+    undefined,
+    {},
+    WorkerVersionsListVersionsQueryParams,
+    WorkerVersionsListVersionsPathParams
+  >({ url: '/accounts/{accountId}/workers/scripts/{scriptName}/versions', method: 'get', ...variables, signal });
+
+export type WorkerVersionsUploadVersionPathParams = {
+  scriptName: Schemas.WorkersSchemasScriptName;
+  accountId: Schemas.WorkersIdentifier;
+};
+
+export type WorkerVersionsUploadVersionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersVersionsUploadResponse & Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type WorkerVersionsUploadVersionVariables = {
+  body: RequestBodies.WorkersVersionPost;
+  pathParams: WorkerVersionsUploadVersionPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Upload a Worker Version without deploying to Cloudflare's network. You can find more about the multipart metadata on our docs: https://developers.cloudflare.com/workers/configuration/multipart-upload-metadata/.
+ */
+export const workerVersionsUploadVersion = (variables: WorkerVersionsUploadVersionVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WorkersVersionsUploadResponse,
+    WorkerVersionsUploadVersionError,
+    RequestBodies.WorkersVersionPost,
+    {},
+    {},
+    WorkerVersionsUploadVersionPathParams
+  >({ url: '/accounts/{accountId}/workers/scripts/{scriptName}/versions', method: 'post', ...variables, signal });
+
+export type WorkerVersionsGetVersionDetailPathParams = {
+  versionId: Schemas.WorkersVersionIdentifier;
+  scriptName: Schemas.WorkersSchemasScriptName;
+  accountId: Schemas.WorkersIdentifier;
+};
+
+export type WorkerVersionsGetVersionDetailError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersVersionsSingleResponse & Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type WorkerVersionsGetVersionDetailVariables = {
+  pathParams: WorkerVersionsGetVersionDetailPathParams;
+} & FetcherExtraProps;
+
+export const workerVersionsGetVersionDetail = (
+  variables: WorkerVersionsGetVersionDetailVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WorkersVersionsSingleResponse,
+    WorkerVersionsGetVersionDetailError,
+    undefined,
+    {},
+    {},
+    WorkerVersionsGetVersionDetailPathParams
+  >({
+    url: '/accounts/{accountId}/workers/scripts/{scriptName}/versions/{versionId}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type WorkerEnvironmentGetScriptContentPathParams = {
+  accountId: Schemas.WorkersIdentifier;
+  serviceName: Schemas.WorkersService;
+  environmentName: Schemas.WorkersEnvironment;
+};
+
+export type WorkerEnvironmentGetScriptContentError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type WorkerEnvironmentGetScriptContentVariables = {
+  pathParams: WorkerEnvironmentGetScriptContentPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get script content from a worker with an environment
+ */
+export const workerEnvironmentGetScriptContent = (
+  variables: WorkerEnvironmentGetScriptContentVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    undefined,
+    WorkerEnvironmentGetScriptContentError,
+    undefined,
+    {},
+    {},
+    WorkerEnvironmentGetScriptContentPathParams
+  >({
+    url: '/accounts/{accountId}/workers/services/{serviceName}/environments/{environmentName}/content',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type WorkerEnvironmentPutScriptContentPathParams = {
+  accountId: Schemas.WorkersIdentifier;
+  serviceName: Schemas.WorkersService;
+  environmentName: Schemas.WorkersEnvironment;
+};
+
+export type WorkerEnvironmentPutScriptContentHeaders = {
+  /**
+   * The multipart name of a script upload part containing script content in service worker format. Alternative to including in a metadata part.
+   */
+  ['CF-WORKER-BODY-PART']?: string;
+  /**
+   * The multipart name of a script upload part containing script content in es module format. Alternative to including in a metadata part.
+   */
+  ['CF-WORKER-MAIN-MODULE-PART']?: string;
+};
+
+export type WorkerEnvironmentPutScriptContentError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type WorkerEnvironmentPutScriptContentRequestBody = {
+  /**
+   * JSON encoded metadata about the uploaded parts and Worker configuration.
+   */
+  metadata: {
+    /**
+     * Name of the part in the multipart request that contains the script (e.g. the file adding a listener to the `fetch` event). Indicates a `service worker syntax` Worker.
+     *
+     * @example worker.js
+     */
+    body_part?: string;
+    /**
+     * Name of the part in the multipart request that contains the main module (e.g. the file exporting a `fetch` handler). Indicates a `module syntax` Worker.
+     *
+     * @example worker.js
+     */
+    main_module?: string;
+  };
+} & {
+  [key: string]: Blob[];
+};
+
+export type WorkerEnvironmentPutScriptContentVariables = {
+  body: WorkerEnvironmentPutScriptContentRequestBody;
+  headers?: WorkerEnvironmentPutScriptContentHeaders;
+  pathParams: WorkerEnvironmentPutScriptContentPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Put script content from a worker with an environment
+ */
+export const workerEnvironmentPutScriptContent = (
+  variables: WorkerEnvironmentPutScriptContentVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WorkersScriptResponseSingle,
+    WorkerEnvironmentPutScriptContentError,
+    WorkerEnvironmentPutScriptContentRequestBody,
+    WorkerEnvironmentPutScriptContentHeaders,
+    {},
+    WorkerEnvironmentPutScriptContentPathParams
+  >({
+    url: '/accounts/{accountId}/workers/services/{serviceName}/environments/{environmentName}/content',
+    method: 'put',
+    ...variables,
+    signal
+  });
+
+export type WorkerScriptEnvironmentGetSettingsPathParams = {
+  accountId: Schemas.WorkersIdentifier;
+  serviceName: Schemas.WorkersService;
+  environmentName: Schemas.WorkersEnvironment;
+};
+
+export type WorkerScriptEnvironmentGetSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersApiResponseCommon;
+}>;
+
+export type WorkerScriptEnvironmentGetSettingsVariables = {
+  pathParams: WorkerScriptEnvironmentGetSettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get script settings from a worker with an environment
+ */
+export const workerScriptEnvironmentGetSettings = (
+  variables: WorkerScriptEnvironmentGetSettingsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WorkersScriptSettingsResponse,
+    WorkerScriptEnvironmentGetSettingsError,
+    undefined,
+    {},
+    {},
+    WorkerScriptEnvironmentGetSettingsPathParams
+  >({
+    url: '/accounts/{accountId}/workers/services/{serviceName}/environments/{environmentName}/settings',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type WorkerScriptEnvironmentPatchSettingsPathParams = {
+  accountId: Schemas.WorkersIdentifier;
+  serviceName: Schemas.WorkersService;
+  environmentName: Schemas.WorkersEnvironment;
+};
+
+export type WorkerScriptEnvironmentPatchSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersApiResponseCommon;
+}>;
+
+export type WorkerScriptEnvironmentPatchSettingsVariables = {
+  body?: Schemas.WorkersScriptSettingsResponse;
+  pathParams: WorkerScriptEnvironmentPatchSettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Patch script metadata, such as bindings
+ */
+export const workerScriptEnvironmentPatchSettings = (
+  variables: WorkerScriptEnvironmentPatchSettingsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WorkersScriptSettingsResponse,
+    WorkerScriptEnvironmentPatchSettingsError,
+    Schemas.WorkersScriptSettingsResponse,
+    {},
+    {},
+    WorkerScriptEnvironmentPatchSettingsPathParams
+  >({
+    url: '/accounts/{accountId}/workers/services/{serviceName}/environments/{environmentName}/settings',
+    method: 'patch',
+    ...variables,
+    signal
+  });
+
+export type WorkerSubdomainGetSubdomainPathParams = {
+  accountId: Schemas.WorkersIdentifier;
+};
+
+export type WorkerSubdomainGetSubdomainError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersSubdomainResponse & Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type WorkerSubdomainGetSubdomainVariables = {
+  pathParams: WorkerSubdomainGetSubdomainPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Returns a Workers subdomain for an account.
+ */
+export const workerSubdomainGetSubdomain = (variables: WorkerSubdomainGetSubdomainVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WorkersSubdomainResponse,
+    WorkerSubdomainGetSubdomainError,
+    undefined,
+    {},
+    {},
+    WorkerSubdomainGetSubdomainPathParams
+  >({ url: '/accounts/{accountId}/workers/subdomain', method: 'get', ...variables, signal });
+
+export type WorkerSubdomainCreateSubdomainPathParams = {
+  accountId: Schemas.WorkersIdentifier;
+};
+
+export type WorkerSubdomainCreateSubdomainError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersSubdomainResponse & Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type WorkerSubdomainCreateSubdomainVariables = {
+  body?: Schemas.WorkersSubdomainObject;
+  pathParams: WorkerSubdomainCreateSubdomainPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a Workers subdomain for an account.
+ */
+export const workerSubdomainCreateSubdomain = (
+  variables: WorkerSubdomainCreateSubdomainVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WorkersSubdomainResponse,
+    WorkerSubdomainCreateSubdomainError,
+    Schemas.WorkersSubdomainObject,
+    {},
+    {},
+    WorkerSubdomainCreateSubdomainPathParams
+  >({ url: '/accounts/{accountId}/workers/subdomain', method: 'put', ...variables, signal });
+
+export type WorListWorkflowsPathParams = {
+  accountId: string;
+};
+
+export type WorListWorkflowsQueryParams = {
+  /**
+   * @default 10
+   * @maximum 100
+   * @minimum 1
+   */
+  per_page?: number;
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+};
+
+export type WorListWorkflowsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      code: number;
+      message: string;
+    }[];
+    messages: string[];
+    result: any | null;
+    success: false;
+  };
+}>;
+
+export type WorListWorkflowsResponse = {
+  errors: {
+    code: number;
+    message: string;
+  }[];
+  messages: {
+    code: number;
+    message: string;
+  }[];
+  result: {
+    class_name: string;
+    /**
+     * @format date-time
+     */
+    created_on: string;
+    /**
+     * @format uuid
+     */
+    id: string;
+    instances: {
+      complete?: number;
+      errored?: number;
+      paused?: number;
+      queued?: number;
+      running?: number;
+      terminated?: number;
+      unknown?: number;
+      waiting?: number;
+      waitingForPause?: number;
+    };
+    /**
+     * @format date-time
+     */
+    modified_on: string;
+    /**
+     * @maxLength 64
+     * @minLength 1
+     * @pattern ^[a-zA-Z0-9_][a-zA-Z0-9-_]*$
+     */
+    name: string;
+    script_name: string;
+    /**
+     * @format date-time
+     */
+    triggered_on: string | null;
+  }[];
+  result_info?: {
+    count: number;
+    page: number;
+    per_page: number;
+    total_count: number;
+  };
+  success: true;
+};
+
+export type WorListWorkflowsVariables = {
+  pathParams: WorListWorkflowsPathParams;
+  queryParams?: WorListWorkflowsQueryParams;
+} & FetcherExtraProps;
+
+export const worListWorkflows = (variables: WorListWorkflowsVariables, signal?: AbortSignal) =>
+  fetch<
+    WorListWorkflowsResponse,
+    WorListWorkflowsError,
+    undefined,
+    {},
+    WorListWorkflowsQueryParams,
+    WorListWorkflowsPathParams
+  >({ url: '/accounts/{accountId}/workflows', method: 'get', ...variables, signal });
+
+export type WorGetWorkflowDetailsPathParams = {
+  /**
+   * @maxLength 64
+   * @minLength 1
+   * @pattern ^[a-zA-Z0-9_][a-zA-Z0-9-_]*$
+   */
+  workflowName: string;
+  accountId: string;
+};
+
+export type WorGetWorkflowDetailsError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: {
+        errors: {
+          code: number;
+          message: string;
+        }[];
+        messages: string[];
+        result: any | null;
+        success: false;
+      };
+    }
+  | {
+      status: 404;
+      payload: {
+        errors: {
+          code: number;
+          message: string;
+        }[];
+        messages: string[];
+        result: any | null;
+        success: false;
+      };
+    }
+>;
+
+export type WorGetWorkflowDetailsResponse = {
+  errors: {
+    code: number;
+    message: string;
+  }[];
+  messages: {
+    code: number;
+    message: string;
+  }[];
+  result: {
+    class_name: string;
+    /**
+     * @format date-time
+     */
+    created_on: string;
+    /**
+     * @format uuid
+     */
+    id: string;
+    instances: {
+      complete?: number;
+      errored?: number;
+      paused?: number;
+      queued?: number;
+      running?: number;
+      terminated?: number;
+      unknown?: number;
+      waiting?: number;
+      waitingForPause?: number;
+    };
+    /**
+     * @format date-time
+     */
+    modified_on: string;
+    /**
+     * @maxLength 64
+     * @minLength 1
+     * @pattern ^[a-zA-Z0-9_][a-zA-Z0-9-_]*$
+     */
+    name: string;
+    script_name: string;
+    /**
+     * @format date-time
+     */
+    triggered_on: string | null;
+  };
+  result_info?: {
+    count: number;
+    page: number;
+    per_page: number;
+    total_count: number;
+  };
+  success: true;
+};
+
+export type WorGetWorkflowDetailsVariables = {
+  pathParams: WorGetWorkflowDetailsPathParams;
+} & FetcherExtraProps;
+
+export const worGetWorkflowDetails = (variables: WorGetWorkflowDetailsVariables, signal?: AbortSignal) =>
+  fetch<WorGetWorkflowDetailsResponse, WorGetWorkflowDetailsError, undefined, {}, {}, WorGetWorkflowDetailsPathParams>({
+    url: '/accounts/{accountId}/workflows/{workflowName}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type WorCreateOrModifyWorkflowPathParams = {
+  /**
+   * @maxLength 64
+   * @minLength 1
+   * @pattern ^[a-zA-Z0-9_][a-zA-Z0-9-_]*$
+   */
+  workflowName: string;
+  accountId: string;
+};
+
+export type WorCreateOrModifyWorkflowError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      code: number;
+      message: string;
+    }[];
+    messages: string[];
+    result: any | null;
+    success: false;
+  };
+}>;
+
+export type WorCreateOrModifyWorkflowResponse = {
+  errors: {
+    code: number;
+    message: string;
+  }[];
+  messages: {
+    code: number;
+    message: string;
+  }[];
+  result: {
+    class_name: string;
+    /**
+     * @format date-time
+     */
+    created_on: string;
+    /**
+     * @format uuid
+     */
+    id: string;
+    /**
+     * @format date-time
+     */
+    modified_on: string;
+    /**
+     * @maxLength 64
+     * @minLength 1
+     * @pattern ^[a-zA-Z0-9_][a-zA-Z0-9-_]*$
+     */
+    name: string;
+    script_name: string;
+    /**
+     * @format date-time
+     */
+    triggered_on: string | null;
+    /**
+     * @format uuid
+     */
+    version_id: string;
+  };
+  result_info?: {
+    count: number;
+    page: number;
+    per_page: number;
+    total_count: number;
+  };
+  success: true;
+};
+
+export type WorCreateOrModifyWorkflowRequestBody = {
+  /**
+   * @maxLength 255
+   * @minLength 1
+   */
+  class_name: string;
+  /**
+   * @maxLength 255
+   * @minLength 1
+   */
+  script_name: string;
+};
+
+export type WorCreateOrModifyWorkflowVariables = {
+  body: WorCreateOrModifyWorkflowRequestBody;
+  pathParams: WorCreateOrModifyWorkflowPathParams;
+} & FetcherExtraProps;
+
+export const worCreateOrModifyWorkflow = (variables: WorCreateOrModifyWorkflowVariables, signal?: AbortSignal) =>
+  fetch<
+    WorCreateOrModifyWorkflowResponse,
+    WorCreateOrModifyWorkflowError,
+    WorCreateOrModifyWorkflowRequestBody,
+    {},
+    {},
+    WorCreateOrModifyWorkflowPathParams
+  >({ url: '/accounts/{accountId}/workflows/{workflowName}', method: 'put', ...variables, signal });
+
+export type WorListWorkflowInstancesPathParams = {
+  /**
+   * @maxLength 64
+   * @minLength 1
+   * @pattern ^[a-zA-Z0-9_][a-zA-Z0-9-_]*$
+   */
+  workflowName: string;
+  accountId: string;
+};
+
+export type WorListWorkflowInstancesQueryParams = {
+  /**
+   * @default 50
+   * @maximum 100
+   * @minimum 1
+   */
+  per_page?: number;
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  status?:
+    | 'queued'
+    | 'running'
+    | 'paused'
+    | 'errored'
+    | 'terminated'
+    | 'complete'
+    | 'waitingForPause'
+    | 'waiting'
+    | 'unknown';
+  /**
+   * In ISO 8601 with no timezone offsets and in UTC.
+   *
+   * @format date-time
+   */
+  date_start?: string;
+  /**
+   * In ISO 8601 with no timezone offsets and in UTC.
+   *
+   * @format date-time
+   */
+  date_end?: string;
+};
+
+export type WorListWorkflowInstancesError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: {
+        errors: {
+          code: number;
+          message: string;
+        }[];
+        messages: string[];
+        result: any | null;
+        success: false;
+      };
+    }
+  | {
+      status: 404;
+      payload: {
+        errors: {
+          code: number;
+          message: string;
+        }[];
+        messages: string[];
+        result: any | null;
+        success: false;
+      };
+    }
+>;
+
+export type WorListWorkflowInstancesResponse = {
+  errors: {
+    code: number;
+    message: string;
+  }[];
+  messages: {
+    code: number;
+    message: string;
+  }[];
+  result: {
+    /**
+     * @format date-time
+     */
+    created_on: string;
+    /**
+     * @format date-time
+     */
+    ended_on: string | null;
+    /**
+     * @maxLength 64
+     * @minLength 1
+     * @pattern ^[a-zA-Z0-9_][a-zA-Z0-9-_]*$
+     */
+    id: string;
+    /**
+     * @format date-time
+     */
+    modified_on: string;
+    /**
+     * @format date-time
+     */
+    started_on: string | null;
+    status:
+      | 'queued'
+      | 'running'
+      | 'paused'
+      | 'errored'
+      | 'terminated'
+      | 'complete'
+      | 'waitingForPause'
+      | 'waiting'
+      | 'unknown';
+    /**
+     * @format uuid
+     */
+    version_id: string;
+    /**
+     * @format uuid
+     */
+    workflow_id: string;
+  }[];
+  result_info?: {
+    count: number;
+    page: number;
+    per_page: number;
+    total_count: number;
+  };
+  success: true;
+};
+
+export type WorListWorkflowInstancesVariables = {
+  pathParams: WorListWorkflowInstancesPathParams;
+  queryParams?: WorListWorkflowInstancesQueryParams;
+} & FetcherExtraProps;
+
+export const worListWorkflowInstances = (variables: WorListWorkflowInstancesVariables, signal?: AbortSignal) =>
+  fetch<
+    WorListWorkflowInstancesResponse,
+    WorListWorkflowInstancesError,
+    undefined,
+    {},
+    WorListWorkflowInstancesQueryParams,
+    WorListWorkflowInstancesPathParams
+  >({ url: '/accounts/{accountId}/workflows/{workflowName}/instances', method: 'get', ...variables, signal });
+
+export type WorCreateNewWorkflowInstancePathParams = {
+  /**
+   * @maxLength 64
+   * @minLength 1
+   * @pattern ^[a-zA-Z0-9_][a-zA-Z0-9-_]*$
+   */
+  workflowName: string;
+  accountId: string;
+};
+
+export type WorCreateNewWorkflowInstanceError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: {
+        errors: {
+          code: number;
+          message: string;
+        }[];
+        messages: string[];
+        result: any | null;
+        success: false;
+      };
+    }
+  | {
+      status: 404;
+      payload: {
+        errors: {
+          code: number;
+          message: string;
+        }[];
+        messages: string[];
+        result: any | null;
+        success: false;
+      };
+    }
+>;
+
+export type WorCreateNewWorkflowInstanceResponse = {
+  errors: {
+    code: number;
+    message: string;
+  }[];
+  messages: {
+    code: number;
+    message: string;
+  }[];
+  result: {
+    /**
+     * @maxLength 64
+     * @minLength 1
+     * @pattern ^[a-zA-Z0-9_][a-zA-Z0-9-_]*$
+     */
+    id: string;
+    status:
+      | 'queued'
+      | 'running'
+      | 'paused'
+      | 'errored'
+      | 'terminated'
+      | 'complete'
+      | 'waitingForPause'
+      | 'waiting'
+      | 'unknown';
+    /**
+     * @format uuid
+     */
+    version_id: string;
+    /**
+     * @format uuid
+     */
+    workflow_id: string;
+  };
+  result_info?: {
+    count: number;
+    page: number;
+    per_page: number;
+    total_count: number;
+  };
+  success: true;
+};
+
+export type WorCreateNewWorkflowInstanceRequestBody = {
+  /**
+   * @maxLength 64
+   * @pattern ^[a-zA-Z0-9_][a-zA-Z0-9-_]*$
+   */
+  instance_id?: string;
+  params?: Record<string, any>;
+};
+
+export type WorCreateNewWorkflowInstanceVariables = {
+  body?: WorCreateNewWorkflowInstanceRequestBody;
+  pathParams: WorCreateNewWorkflowInstancePathParams;
+} & FetcherExtraProps;
+
+export const worCreateNewWorkflowInstance = (variables: WorCreateNewWorkflowInstanceVariables, signal?: AbortSignal) =>
+  fetch<
+    WorCreateNewWorkflowInstanceResponse,
+    WorCreateNewWorkflowInstanceError,
+    WorCreateNewWorkflowInstanceRequestBody,
+    {},
+    {},
+    WorCreateNewWorkflowInstancePathParams
+  >({ url: '/accounts/{accountId}/workflows/{workflowName}/instances', method: 'post', ...variables, signal });
+
+export type WorDescribeWorkflowInstancePathParams = {
+  /**
+   * @maxLength 64
+   * @minLength 1
+   * @pattern ^[a-zA-Z0-9_][a-zA-Z0-9-_]*$
+   */
+  workflowName: string;
+  /**
+   * @maxLength 64
+   * @minLength 1
+   * @pattern ^[a-zA-Z0-9_][a-zA-Z0-9-_]*$
+   */
+  instanceId: string;
+  accountId: string;
+};
+
+export type WorDescribeWorkflowInstanceError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: {
+        errors: {
+          code: number;
+          message: string;
+        }[];
+        messages: string[];
+        result: any | null;
+        success: false;
+      };
+    }
+  | {
+      status: 404;
+      payload: {
+        errors: {
+          code: number;
+          message: string;
+        }[];
+        messages: string[];
+        result: any | null;
+        success: false;
+      };
+    }
+>;
+
+export type WorDescribeWorkflowInstanceResponse = {
+  errors: {
+    code: number;
+    message: string;
+  }[];
+  messages: {
+    code: number;
+    message: string;
+  }[];
+  result: {
+    /**
+     * @format date-time
+     */
+    end: string | null;
+    error: {
+      message: string;
+      name: string;
+    } | null;
+    output: string | number;
+    params: Record<string, any>;
+    /**
+     * @format date-time
+     */
+    queued: string;
+    /**
+     * @format date-time
+     */
+    start: string | null;
+    status:
+      | 'queued'
+      | 'running'
+      | 'paused'
+      | 'errored'
+      | 'terminated'
+      | 'complete'
+      | 'waitingForPause'
+      | 'waiting'
+      | 'unknown';
+    steps: (
+      | {
+          attempts: {
+            /**
+             * @format date-time
+             */
+            end: string | null;
+            error: {
+              message: string;
+              name: string;
+            } | null;
+            /**
+             * @format date-time
+             */
+            start: string;
+            success: boolean | null;
+          }[];
+          config: {
+            retries: {
+              backoff?: 'constant' | 'linear' | 'exponential';
+              delay: string | number;
+              limit: number;
+            };
+            timeout: string | number;
+          };
+          /**
+           * @format date-time
+           */
+          end: string | null;
+          name: string;
+          output: Record<string, any>;
+          /**
+           * @format date-time
+           */
+          start: string;
+          success: boolean | null;
+          type: 'step';
+        }
+      | {
+          /**
+           * @format date-time
+           */
+          end: string;
+          error: {
+            message: string;
+            name: string;
+          } | null;
+          finished: boolean;
+          name: string;
+          /**
+           * @format date-time
+           */
+          start: string;
+          type: 'sleep';
+        }
+      | {
+          trigger: {
+            source: string;
+          };
+          type: 'termination';
+        }
+    )[];
+    success: boolean | null;
+    trigger: {
+      source: 'unknown' | 'api' | 'binding' | 'event' | 'cron';
+    };
+    /**
+     * @format uuid
+     */
+    versionId: string;
+  };
+  result_info?: {
+    count: number;
+    page: number;
+    per_page: number;
+    total_count: number;
+  };
+  success: true;
+};
+
+export type WorDescribeWorkflowInstanceVariables = {
+  pathParams: WorDescribeWorkflowInstancePathParams;
+} & FetcherExtraProps;
+
+export const worDescribeWorkflowInstance = (variables: WorDescribeWorkflowInstanceVariables, signal?: AbortSignal) =>
+  fetch<
+    WorDescribeWorkflowInstanceResponse,
+    WorDescribeWorkflowInstanceError,
+    undefined,
+    {},
+    {},
+    WorDescribeWorkflowInstancePathParams
+  >({
+    url: '/accounts/{accountId}/workflows/{workflowName}/instances/{instanceId}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type WorChangeStatusWorkflowInstancePathParams = {
+  /**
+   * @maxLength 64
+   * @minLength 1
+   * @pattern ^[a-zA-Z0-9_][a-zA-Z0-9-_]*$
+   */
+  workflowName: string;
+  /**
+   * @maxLength 64
+   * @minLength 1
+   * @pattern ^[a-zA-Z0-9_][a-zA-Z0-9-_]*$
+   */
+  instanceId: string;
+  accountId: string;
+};
+
+export type WorChangeStatusWorkflowInstanceError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: {
+        errors: {
+          code: number;
+          message: string;
+        }[];
+        messages: string[];
+        result: any | null;
+        success: false;
+      };
+    }
+  | {
+      status: 404;
+      payload: {
+        errors: {
+          code: number;
+          message: string;
+        }[];
+        messages: string[];
+        result: any | null;
+        success: false;
+      };
+    }
+  | {
+      status: 409;
+      payload: {
+        errors: {
+          code: number;
+          message: string;
+        }[];
+        messages: string[];
+        result: any | null;
+        success: false;
+      };
+    }
+>;
+
+export type WorChangeStatusWorkflowInstanceResponse = {
+  errors: {
+    code: number;
+    message: string;
+  }[];
+  messages: {
+    code: number;
+    message: string;
+  }[];
+  result: {
+    status:
+      | 'queued'
+      | 'running'
+      | 'paused'
+      | 'errored'
+      | 'terminated'
+      | 'complete'
+      | 'waitingForPause'
+      | 'waiting'
+      | 'unknown';
+    /**
+     * In ISO 8601 with no timezone offsets and in UTC.
+     *
+     * @format date-time
+     */
+    timestamp: string;
+  };
+  result_info?: {
+    count: number;
+    page: number;
+    per_page: number;
+    total_count: number;
+  };
+  success: true;
+};
+
+export type WorChangeStatusWorkflowInstanceRequestBody = {
+  /**
+   * Possible actions to apply to instance
+   */
+  status: 'resume' | 'pause' | 'terminate';
+};
+
+export type WorChangeStatusWorkflowInstanceVariables = {
+  body: WorChangeStatusWorkflowInstanceRequestBody;
+  pathParams: WorChangeStatusWorkflowInstancePathParams;
+} & FetcherExtraProps;
+
+export const worChangeStatusWorkflowInstance = (
+  variables: WorChangeStatusWorkflowInstanceVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorChangeStatusWorkflowInstanceResponse,
+    WorChangeStatusWorkflowInstanceError,
+    WorChangeStatusWorkflowInstanceRequestBody,
+    {},
+    {},
+    WorChangeStatusWorkflowInstancePathParams
+  >({
+    url: '/accounts/{accountId}/workflows/{workflowName}/instances/{instanceId}/status',
+    method: 'patch',
+    ...variables,
+    signal
+  });
+
+export type WorListWorkflowVersionsPathParams = {
+  /**
+   * @maxLength 64
+   * @minLength 1
+   * @pattern ^[a-zA-Z0-9_][a-zA-Z0-9-_]*$
+   */
+  workflowName: string;
+  accountId: string;
+};
+
+export type WorListWorkflowVersionsQueryParams = {
+  /**
+   * @default 50
+   * @maximum 100
+   * @minimum 1
+   */
+  per_page?: number;
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+};
+
+export type WorListWorkflowVersionsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      code: number;
+      message: string;
+    }[];
+    messages: string[];
+    result: any | null;
+    success: false;
+  };
+}>;
+
+export type WorListWorkflowVersionsResponse = {
+  errors: {
+    code: number;
+    message: string;
+  }[];
+  messages: {
+    code: number;
+    message: string;
+  }[];
+  result: {
+    class_name: string;
+    /**
+     * @format date-time
+     */
+    created_on: string;
+    /**
+     * @format uuid
+     */
+    id: string;
+    /**
+     * @format date-time
+     */
+    modified_on: string;
+    /**
+     * @format uuid
+     */
+    workflow_id: string;
+  }[];
+  result_info?: {
+    count: number;
+    page: number;
+    per_page: number;
+    total_count: number;
+  };
+  success: true;
+};
+
+export type WorListWorkflowVersionsVariables = {
+  pathParams: WorListWorkflowVersionsPathParams;
+  queryParams?: WorListWorkflowVersionsQueryParams;
+} & FetcherExtraProps;
+
+export const worListWorkflowVersions = (variables: WorListWorkflowVersionsVariables, signal?: AbortSignal) =>
+  fetch<
+    WorListWorkflowVersionsResponse,
+    WorListWorkflowVersionsError,
+    undefined,
+    {},
+    WorListWorkflowVersionsQueryParams,
+    WorListWorkflowVersionsPathParams
+  >({ url: '/accounts/{accountId}/workflows/{workflowName}/versions', method: 'get', ...variables, signal });
+
+export type WorDescribeWorkflowVersionsPathParams = {
+  /**
+   * @maxLength 64
+   * @minLength 1
+   * @pattern ^[a-zA-Z0-9_][a-zA-Z0-9-_]*$
+   */
+  workflowName: string;
+  /**
+   * @format uuid
+   */
+  versionId: string;
+  accountId: string;
+};
+
+export type WorDescribeWorkflowVersionsError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: {
+        errors: {
+          code: number;
+          message: string;
+        }[];
+        messages: string[];
+        result: any | null;
+        success: false;
+      };
+    }
+  | {
+      status: 404;
+      payload: {
+        errors: {
+          code: number;
+          message: string;
+        }[];
+        messages: string[];
+        result: any | null;
+        success: false;
+      };
+    }
+>;
+
+export type WorDescribeWorkflowVersionsResponse = {
+  errors: {
+    code: number;
+    message: string;
+  }[];
+  messages: {
+    code: number;
+    message: string;
+  }[];
+  result: {
+    class_name: string;
+    /**
+     * @format date-time
+     */
+    created_on: string;
+    /**
+     * @format uuid
+     */
+    id: string;
+    /**
+     * @format date-time
+     */
+    modified_on: string;
+    /**
+     * @format uuid
+     */
+    workflow_id: string;
+  };
+  result_info?: {
+    count: number;
+    page: number;
+    per_page: number;
+    total_count: number;
+  };
+  success: true;
+};
+
+export type WorDescribeWorkflowVersionsVariables = {
+  pathParams: WorDescribeWorkflowVersionsPathParams;
+} & FetcherExtraProps;
+
+export const worDescribeWorkflowVersions = (variables: WorDescribeWorkflowVersionsVariables, signal?: AbortSignal) =>
+  fetch<
+    WorDescribeWorkflowVersionsResponse,
+    WorDescribeWorkflowVersionsError,
+    undefined,
+    {},
+    {},
+    WorDescribeWorkflowVersionsPathParams
+  >({
+    url: '/accounts/{accountId}/workflows/{workflowName}/versions/{versionId}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type ZeroTrustAccountsGetConnectivitySettingsPathParams = {
+  accountId: Schemas.TunnelAccountId;
+};
+
+export type ZeroTrustAccountsGetConnectivitySettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TunnelApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustAccountsGetConnectivitySettingsVariables = {
+  pathParams: ZeroTrustAccountsGetConnectivitySettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets the Zero Trust Connectivity Settings for the given account.
+ */
+export const zeroTrustAccountsGetConnectivitySettings = (
+  variables: ZeroTrustAccountsGetConnectivitySettingsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TunnelZeroTrustConnectivitySettingsResponse,
+    ZeroTrustAccountsGetConnectivitySettingsError,
+    undefined,
+    {},
+    {},
+    ZeroTrustAccountsGetConnectivitySettingsPathParams
+  >({ url: '/accounts/{accountId}/zerotrust/connectivity_settings', method: 'get', ...variables, signal });
+
+export type ZeroTrustAccountsPatchConnectivitySettingsPathParams = {
+  accountId: Schemas.TunnelAccountId;
+};
+
+export type ZeroTrustAccountsPatchConnectivitySettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TunnelApiResponseCommonFailure;
+}>;
+
+export type ZeroTrustAccountsPatchConnectivitySettingsRequestBody = {
+  icmp_proxy_enabled?: Schemas.TunnelIcmpProxyEnabled;
+  offramp_warp_enabled?: Schemas.TunnelOfframpWarpEnabled;
+};
+
+export type ZeroTrustAccountsPatchConnectivitySettingsVariables = {
+  body?: ZeroTrustAccountsPatchConnectivitySettingsRequestBody;
+  pathParams: ZeroTrustAccountsPatchConnectivitySettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates the Zero Trust Connectivity Settings for the given account.
+ */
+export const zeroTrustAccountsPatchConnectivitySettings = (
+  variables: ZeroTrustAccountsPatchConnectivitySettingsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TunnelZeroTrustConnectivitySettingsResponse,
+    ZeroTrustAccountsPatchConnectivitySettingsError,
+    ZeroTrustAccountsPatchConnectivitySettingsRequestBody,
+    {},
+    {},
+    ZeroTrustAccountsPatchConnectivitySettingsPathParams
+  >({ url: '/accounts/{accountId}/zerotrust/connectivity_settings', method: 'patch', ...variables, signal });
+
+export type DlpRiskScoreBehaviorsGetPathParams = {
+  accountId: string;
+};
+
+export type DlpRiskScoreBehaviorsGetError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpRiskScoreBehaviorsGetResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpBehaviors;
+};
+
+export type DlpRiskScoreBehaviorsGetVariables = {
+  pathParams: DlpRiskScoreBehaviorsGetPathParams;
+} & FetcherExtraProps;
+
+export const dlpRiskScoreBehaviorsGet = (variables: DlpRiskScoreBehaviorsGetVariables, signal?: AbortSignal) =>
+  fetch<
+    DlpRiskScoreBehaviorsGetResponse,
+    DlpRiskScoreBehaviorsGetError,
+    undefined,
+    {},
+    {},
+    DlpRiskScoreBehaviorsGetPathParams
+  >({ url: '/accounts/{accountId}/zt_risk_scoring/behaviors', method: 'get', ...variables, signal });
+
+export type DlpRiskScoreBehaviorsPutPathParams = {
+  /**
+   * Account ID
+   */
+  accountId: string;
+};
+
+export type DlpRiskScoreBehaviorsPutError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpRiskScoreBehaviorsPutResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpUpdateBehaviors;
+};
+
+export type DlpRiskScoreBehaviorsPutVariables = {
+  body: Schemas.DlpUpdateBehaviors;
+  pathParams: DlpRiskScoreBehaviorsPutPathParams;
+} & FetcherExtraProps;
+
+export const dlpRiskScoreBehaviorsPut = (variables: DlpRiskScoreBehaviorsPutVariables, signal?: AbortSignal) =>
+  fetch<
+    DlpRiskScoreBehaviorsPutResponse,
+    DlpRiskScoreBehaviorsPutError,
+    Schemas.DlpUpdateBehaviors,
+    {},
+    {},
+    DlpRiskScoreBehaviorsPutPathParams
+  >({ url: '/accounts/{accountId}/zt_risk_scoring/behaviors', method: 'put', ...variables, signal });
+
+export type DlpZtRiskScoreIntegrationListPathParams = {
+  accountId: string;
+};
+
+export type DlpZtRiskScoreIntegrationListError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpZtRiskScoreIntegrationListResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpRiskScoreIntegrationArray;
+};
+
+export type DlpZtRiskScoreIntegrationListVariables = {
+  pathParams: DlpZtRiskScoreIntegrationListPathParams;
+} & FetcherExtraProps;
+
+export const dlpZtRiskScoreIntegrationList = (
+  variables: DlpZtRiskScoreIntegrationListVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    DlpZtRiskScoreIntegrationListResponse,
+    DlpZtRiskScoreIntegrationListError,
+    undefined,
+    {},
+    {},
+    DlpZtRiskScoreIntegrationListPathParams
+  >({ url: '/accounts/{accountId}/zt_risk_scoring/integrations', method: 'get', ...variables, signal });
+
+export type DlpZtRiskScoreIntegrationCreatePathParams = {
+  accountId: string;
+};
+
+export type DlpZtRiskScoreIntegrationCreateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpZtRiskScoreIntegrationCreateResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpRiskScoreIntegration;
+};
+
+export type DlpZtRiskScoreIntegrationCreateVariables = {
+  body: Schemas.DlpCreateIntegrationBody;
+  pathParams: DlpZtRiskScoreIntegrationCreatePathParams;
+} & FetcherExtraProps;
+
+export const dlpZtRiskScoreIntegrationCreate = (
+  variables: DlpZtRiskScoreIntegrationCreateVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    DlpZtRiskScoreIntegrationCreateResponse,
+    DlpZtRiskScoreIntegrationCreateError,
+    Schemas.DlpCreateIntegrationBody,
+    {},
+    {},
+    DlpZtRiskScoreIntegrationCreatePathParams
+  >({ url: '/accounts/{accountId}/zt_risk_scoring/integrations', method: 'post', ...variables, signal });
+
+export type DlpZtRiskScoreIntegrationGetByReferenceIdPathParams = {
+  accountId: string;
+  referenceId: string;
+};
+
+export type DlpZtRiskScoreIntegrationGetByReferenceIdError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpZtRiskScoreIntegrationGetByReferenceIdResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpRiskScoreIntegration;
+};
+
+export type DlpZtRiskScoreIntegrationGetByReferenceIdVariables = {
+  pathParams: DlpZtRiskScoreIntegrationGetByReferenceIdPathParams;
+} & FetcherExtraProps;
+
+export const dlpZtRiskScoreIntegrationGetByReferenceId = (
+  variables: DlpZtRiskScoreIntegrationGetByReferenceIdVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    DlpZtRiskScoreIntegrationGetByReferenceIdResponse,
+    DlpZtRiskScoreIntegrationGetByReferenceIdError,
+    undefined,
+    {},
+    {},
+    DlpZtRiskScoreIntegrationGetByReferenceIdPathParams
+  >({
+    url: '/accounts/{accountId}/zt_risk_scoring/integrations/reference_id/{referenceId}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type DlpZtRiskScoreIntegrationDeletePathParams = {
+  accountId: string;
+  /**
+   * @format uuid
+   */
+  integrationId: string;
+};
+
+export type DlpZtRiskScoreIntegrationDeleteError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpZtRiskScoreIntegrationDeleteResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpEmpty;
+};
+
+export type DlpZtRiskScoreIntegrationDeleteVariables = {
+  pathParams: DlpZtRiskScoreIntegrationDeletePathParams;
+} & FetcherExtraProps;
+
+export const dlpZtRiskScoreIntegrationDelete = (
+  variables: DlpZtRiskScoreIntegrationDeleteVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    DlpZtRiskScoreIntegrationDeleteResponse,
+    DlpZtRiskScoreIntegrationDeleteError,
+    undefined,
+    {},
+    {},
+    DlpZtRiskScoreIntegrationDeletePathParams
+  >({
+    url: '/accounts/{accountId}/zt_risk_scoring/integrations/{integrationId}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type DlpZtRiskScoreIntegrationGetPathParams = {
+  accountId: string;
+  /**
+   * @format uuid
+   */
+  integrationId: string;
+};
+
+export type DlpZtRiskScoreIntegrationGetError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpZtRiskScoreIntegrationGetResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpRiskScoreIntegration;
+};
+
+export type DlpZtRiskScoreIntegrationGetVariables = {
+  pathParams: DlpZtRiskScoreIntegrationGetPathParams;
+} & FetcherExtraProps;
+
+export const dlpZtRiskScoreIntegrationGet = (variables: DlpZtRiskScoreIntegrationGetVariables, signal?: AbortSignal) =>
+  fetch<
+    DlpZtRiskScoreIntegrationGetResponse,
+    DlpZtRiskScoreIntegrationGetError,
+    undefined,
+    {},
+    {},
+    DlpZtRiskScoreIntegrationGetPathParams
+  >({ url: '/accounts/{accountId}/zt_risk_scoring/integrations/{integrationId}', method: 'get', ...variables, signal });
+
+export type DlpZtRiskScoreIntegrationUpdatePathParams = {
+  accountId: string;
+  /**
+   * @format uuid
+   */
+  integrationId: string;
+};
+
+export type DlpZtRiskScoreIntegrationUpdateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpZtRiskScoreIntegrationUpdateResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpRiskScoreIntegration;
+};
+
+export type DlpZtRiskScoreIntegrationUpdateVariables = {
+  body: Schemas.DlpUpdateIntegrationBody;
+  pathParams: DlpZtRiskScoreIntegrationUpdatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Overwrite the reference_id, tenant_url, and active values with the ones provided
+ */
+export const dlpZtRiskScoreIntegrationUpdate = (
+  variables: DlpZtRiskScoreIntegrationUpdateVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    DlpZtRiskScoreIntegrationUpdateResponse,
+    DlpZtRiskScoreIntegrationUpdateError,
+    Schemas.DlpUpdateIntegrationBody,
+    {},
+    {},
+    DlpZtRiskScoreIntegrationUpdatePathParams
+  >({ url: '/accounts/{accountId}/zt_risk_scoring/integrations/{integrationId}', method: 'put', ...variables, signal });
+
+export type DlpRiskScoreSummaryGetPathParams = {
+  accountId: string;
+};
+
+export type DlpRiskScoreSummaryGetError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpRiskScoreSummaryGetResponse = Schemas.DlpApiResponseCollection & {
+  result?: Schemas.DlpRiskSummary;
+};
+
+export type DlpRiskScoreSummaryGetVariables = {
+  pathParams: DlpRiskScoreSummaryGetPathParams;
+} & FetcherExtraProps;
+
+export const dlpRiskScoreSummaryGet = (variables: DlpRiskScoreSummaryGetVariables, signal?: AbortSignal) =>
+  fetch<
+    DlpRiskScoreSummaryGetResponse,
+    DlpRiskScoreSummaryGetError,
+    undefined,
+    {},
+    {},
+    DlpRiskScoreSummaryGetPathParams
+  >({ url: '/accounts/{accountId}/zt_risk_scoring/summary', method: 'get', ...variables, signal });
+
+export type DlpRiskScoreSummaryGetForUserPathParams = {
+  accountId: string;
+  /**
+   * @format uuid
+   */
+  userId: string;
+};
+
+export type DlpRiskScoreSummaryGetForUserError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpRiskScoreSummaryGetForUserResponse = Schemas.DlpApiResponseCollection & {
+  result?: Schemas.DlpRiskEvents;
+};
+
+export type DlpRiskScoreSummaryGetForUserVariables = {
+  pathParams: DlpRiskScoreSummaryGetForUserPathParams;
+} & FetcherExtraProps;
+
+export const dlpRiskScoreSummaryGetForUser = (
+  variables: DlpRiskScoreSummaryGetForUserVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    DlpRiskScoreSummaryGetForUserResponse,
+    DlpRiskScoreSummaryGetForUserError,
+    undefined,
+    {},
+    {},
+    DlpRiskScoreSummaryGetForUserPathParams
+  >({ url: '/accounts/{accountId}/zt_risk_scoring/{userId}', method: 'get', ...variables, signal });
+
+export type DlpRiskScoreResetPostPathParams = {
+  accountId: string;
+  /**
+   * @format uuid
+   */
+  userId: string;
+};
+
+export type DlpRiskScoreResetPostError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlpApiResponseCommonFailure;
+}>;
+
+export type DlpRiskScoreResetPostResponse = Schemas.DlpApiResponseSingle & {
+  result?: Schemas.DlpEmpty;
+};
+
+export type DlpRiskScoreResetPostVariables = {
+  pathParams: DlpRiskScoreResetPostPathParams;
+} & FetcherExtraProps;
+
+export const dlpRiskScoreResetPost = (variables: DlpRiskScoreResetPostVariables, signal?: AbortSignal) =>
+  fetch<DlpRiskScoreResetPostResponse, DlpRiskScoreResetPostError, undefined, {}, {}, DlpRiskScoreResetPostPathParams>({
+    url: '/accounts/{accountId}/zt_risk_scoring/{userId}/reset',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type OriginCaListCertificatesQueryParams = {
+  zone_id?: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type OriginCaListCertificatesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesSchemasCertificateResponseCollection &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type OriginCaListCertificatesVariables = {
+  queryParams?: OriginCaListCertificatesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * List all existing Origin CA certificates for a given zone. You can use an Origin CA Key as your User Service Key or an API token when calling this endpoint ([see above](#requests)).
+ */
+export const originCaListCertificates = (variables: OriginCaListCertificatesVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesSchemasCertificateResponseCollection,
+    OriginCaListCertificatesError,
+    undefined,
+    {},
+    OriginCaListCertificatesQueryParams,
+    {}
+  >({ url: '/certificates', method: 'get', ...variables, signal });
+
+export type OriginCaCreateCertificateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesSchemasCertificateResponseSingle &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type OriginCaCreateCertificateRequestBody = {
+  csr?: Schemas.TlsCertificatesAndHostnamesCsr;
+  hostnames?: Schemas.TlsCertificatesAndHostnamesHostnames;
+  request_type?: Schemas.TlsCertificatesAndHostnamesRequestType;
+  requested_validity?: Schemas.TlsCertificatesAndHostnamesRequestedValidity;
+};
+
+export type OriginCaCreateCertificateVariables = {
+  body?: OriginCaCreateCertificateRequestBody;
+} & FetcherExtraProps;
+
+/**
+ * Create an Origin CA certificate. You can use an Origin CA Key as your User Service Key or an API token when calling this endpoint ([see above](#requests)).
+ */
+export const originCaCreateCertificate = (variables: OriginCaCreateCertificateVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesSchemasCertificateResponseSingle,
+    OriginCaCreateCertificateError,
+    OriginCaCreateCertificateRequestBody,
+    {},
+    {},
+    {}
+  >({ url: '/certificates', method: 'post', ...variables, signal });
+
+export type OriginCaRevokeCertificatePathParams = {
+  certificateId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type OriginCaRevokeCertificateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesCertificateRevokeResponse &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type OriginCaRevokeCertificateVariables = {
+  pathParams: OriginCaRevokeCertificatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Revoke an existing Origin CA certificate by its serial number. You can use an Origin CA Key as your User Service Key or an API token when calling this endpoint ([see above](#requests)).
+ */
+export const originCaRevokeCertificate = (variables: OriginCaRevokeCertificateVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesCertificateRevokeResponse,
+    OriginCaRevokeCertificateError,
+    undefined,
+    {},
+    {},
+    OriginCaRevokeCertificatePathParams
+  >({ url: '/certificates/{certificateId}', method: 'delete', ...variables, signal });
+
+export type OriginCaGetCertificatePathParams = {
+  certificateId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type OriginCaGetCertificateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesSchemasCertificateResponseSingle &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type OriginCaGetCertificateVariables = {
+  pathParams: OriginCaGetCertificatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get an existing Origin CA certificate by its serial number. You can use an Origin CA Key as your User Service Key or an API token when calling this endpoint ([see above](#requests)).
+ */
+export const originCaGetCertificate = (variables: OriginCaGetCertificateVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesSchemasCertificateResponseSingle,
+    OriginCaGetCertificateError,
+    undefined,
+    {},
+    {},
+    OriginCaGetCertificatePathParams
+  >({ url: '/certificates/{certificateId}', method: 'get', ...variables, signal });
+
+export type CloudflareIPsCloudflareIpDetailsQueryParams = {
+  /**
+   * Specified as `jdcloud` to list IPs used by JD Cloud data centers.
+   */
+  networks?: string;
+};
+
+export type CloudflareIPsCloudflareIpDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.AddressingApiResponseSingle & {
+    result?: Schemas.AddressingIps | Schemas.AddressingIpsJdcloud;
+  }) &
+    Schemas.AddressingApiResponseCommonFailure;
+}>;
+
+export type CloudflareIPsCloudflareIpDetailsResponse = Schemas.AddressingApiResponseSingle & {
+  result?: Schemas.AddressingIps | Schemas.AddressingIpsJdcloud;
+};
+
+export type CloudflareIPsCloudflareIpDetailsVariables = {
+  queryParams?: CloudflareIPsCloudflareIpDetailsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get IPs used on the Cloudflare/JD Cloud network, see https://www.cloudflare.com/ips for Cloudflare IPs or https://developers.cloudflare.com/china-network/reference/infrastructure/ for JD Cloud IPs.
+ */
+export const cloudflareIPsCloudflareIpDetails = (
+  variables: CloudflareIPsCloudflareIpDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    CloudflareIPsCloudflareIpDetailsResponse,
+    CloudflareIPsCloudflareIpDetailsError,
+    undefined,
+    {},
+    CloudflareIPsCloudflareIpDetailsQueryParams,
+    {}
+  >({ url: '/ips', method: 'get', ...variables, signal });
+
+export type UserSAccountMembershipsListMembershipsQueryParams = {
+  ['account.name']?: Schemas.IamPropertiesName;
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default 20
+   * @maximum 50
+   * @minimum 5
+   */
+  per_page?: number;
+  /**
+   * @example status
+   */
+  order?: 'id' | 'account.name' | 'status';
+  /**
+   * @example desc
+   */
+  direction?: 'asc' | 'desc';
+  name?: Schemas.IamPropertiesName;
+  /**
+   * @example accepted
+   */
+  status?: 'accepted' | 'pending' | 'rejected';
+};
+
+export type UserSAccountMembershipsListMembershipsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type UserSAccountMembershipsListMembershipsVariables = {
+  queryParams?: UserSAccountMembershipsListMembershipsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * List memberships of accounts the user can access.
+ */
+export const userSAccountMembershipsListMemberships = (
+  variables: UserSAccountMembershipsListMembershipsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.IamCollectionMembershipResponse | Schemas.IamCollectionMembershipResponseWithPolicies,
+    UserSAccountMembershipsListMembershipsError,
+    undefined,
+    {},
+    UserSAccountMembershipsListMembershipsQueryParams,
+    {}
+  >({ url: '/memberships', method: 'get', ...variables, signal });
+
+export type UserSAccountMembershipsDeleteMembershipPathParams = {
+  membershipId: Schemas.IamMembershipComponentsSchemasIdentifier;
+};
+
+export type UserSAccountMembershipsDeleteMembershipError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type UserSAccountMembershipsDeleteMembershipResponse = Schemas.IamApiResponseSingle & {
+  result?: {
+    id?: Schemas.IamMembershipComponentsSchemasIdentifier;
+  };
+};
+
+export type UserSAccountMembershipsDeleteMembershipVariables = {
+  pathParams: UserSAccountMembershipsDeleteMembershipPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Remove the associated member from an account.
+ */
+export const userSAccountMembershipsDeleteMembership = (
+  variables: UserSAccountMembershipsDeleteMembershipVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    UserSAccountMembershipsDeleteMembershipResponse,
+    UserSAccountMembershipsDeleteMembershipError,
+    undefined,
+    {},
+    {},
+    UserSAccountMembershipsDeleteMembershipPathParams
+  >({ url: '/memberships/{membershipId}', method: 'delete', ...variables, signal });
+
+export type UserSAccountMembershipsMembershipDetailsPathParams = {
+  membershipId: Schemas.IamMembershipComponentsSchemasIdentifier;
+};
+
+export type UserSAccountMembershipsMembershipDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type UserSAccountMembershipsMembershipDetailsVariables = {
+  pathParams: UserSAccountMembershipsMembershipDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a specific membership.
+ */
+export const userSAccountMembershipsMembershipDetails = (
+  variables: UserSAccountMembershipsMembershipDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.IamSingleMembershipResponseWithPolicies,
+    UserSAccountMembershipsMembershipDetailsError,
+    undefined,
+    {},
+    {},
+    UserSAccountMembershipsMembershipDetailsPathParams
+  >({ url: '/memberships/{membershipId}', method: 'get', ...variables, signal });
+
+export type UserSAccountMembershipsUpdateMembershipPathParams = {
+  membershipId: Schemas.IamMembershipComponentsSchemasIdentifier;
+};
+
+export type UserSAccountMembershipsUpdateMembershipError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type UserSAccountMembershipsUpdateMembershipRequestBody = {
+  /**
+   * Whether to accept or reject this account invitation.
+   *
+   * @example accepted
+   */
+  status: 'accepted' | 'rejected';
+};
+
+export type UserSAccountMembershipsUpdateMembershipVariables = {
+  body: UserSAccountMembershipsUpdateMembershipRequestBody;
+  pathParams: UserSAccountMembershipsUpdateMembershipPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Accept or reject this account invitation.
+ */
+export const userSAccountMembershipsUpdateMembership = (
+  variables: UserSAccountMembershipsUpdateMembershipVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.IamSingleMembershipResponseWithPolicies,
+    UserSAccountMembershipsUpdateMembershipError,
+    UserSAccountMembershipsUpdateMembershipRequestBody,
+    {},
+    {},
+    UserSAccountMembershipsUpdateMembershipPathParams
+  >({ url: '/memberships/{membershipId}', method: 'put', ...variables, signal });
+
+export type AuditLogsGetOrganizationAuditLogsPathParams = {
+  organizationId: Schemas.AaaIdentifier;
+};
+
+export type AuditLogsGetOrganizationAuditLogsQueryParams = {
+  /**
+   * @example f174be97-19b1-40d6-954d-70cd5fbd52db
+   */
+  id?: string;
+  /**
+   * @example true
+   */
+  ['export']?: boolean;
+  /**
+   * @example add
+   */
+  ['action.type']?: string;
+  /**
+   * @example 17.168.228.63
+   */
+  ['actor.ip']?: string;
+  /**
+   * @example alice@example.com
+   * @format email
+   */
+  ['actor.email']?: string;
+  since?: string | string;
+  before?: string | string;
+  /**
+   * @example example.com
+   */
+  ['zone.name']?: string;
+  /**
+   * @default desc
+   * @example desc
+   */
+  direction?: 'desc' | 'asc';
+  /**
+   * @default 100
+   * @example 25
+   * @maximum 1000
+   * @minimum 1
+   */
+  per_page?: number;
+  /**
+   * @default 1
+   * @example 50
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default false
+   */
+  hide_user_logs?: boolean;
+};
+
+export type AuditLogsGetOrganizationAuditLogsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AaaAuditLogsResponseCollection & Schemas.AaaApiResponseCommonFailure;
+}>;
+
+export type AuditLogsGetOrganizationAuditLogsVariables = {
+  pathParams: AuditLogsGetOrganizationAuditLogsPathParams;
+  queryParams?: AuditLogsGetOrganizationAuditLogsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets a list of audit logs for an organization. Can be filtered by who made the change, on which zone, and the timeframe of the change.
+ */
+export const auditLogsGetOrganizationAuditLogs = (
+  variables: AuditLogsGetOrganizationAuditLogsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AaaAuditLogsResponseCollection,
+    AuditLogsGetOrganizationAuditLogsError,
+    undefined,
+    {},
+    AuditLogsGetOrganizationAuditLogsQueryParams,
+    AuditLogsGetOrganizationAuditLogsPathParams
+  >({ url: '/organizations/{organizationId}/audit_logs', method: 'get', ...variables, signal });
+
+export type OrganizationSharesListPathParams = {
+  organizationId: Schemas.ResourceSharingOrganizationId;
+};
+
+export type OrganizationSharesListQueryParams = {
+  /**
+   * Filter shares by status.
+   */
+  status?: Schemas.ResourceSharingShareStatus;
+  /**
+   * Filter shares by kind.
+   */
+  kind?: Schemas.ResourceSharingShareKind;
+  /**
+   * Filter shares by target_type.
+   */
+  target_type?: Schemas.ResourceSharingShareTargetType;
+  /**
+   * Order shares by values in the given field.
+   *
+   * @default created
+   */
+  order?: 'name' | 'created';
+  /**
+   * Direction to sort objects.
+   *
+   * @default asc
+   */
+  direction?: 'asc' | 'desc';
+  /**
+   * Page number.
+   *
+   * @example 2
+   * @minimum 0
+   * @multipleOf 1
+   */
+  page?: number;
+  /**
+   * Number of objects to return per page.
+   *
+   * @example 20
+   * @maximum 100
+   * @minimum 0
+   * @multipleOf 1
+   */
+  per_page?: number;
+};
+
+export type OrganizationSharesListError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: Schemas.ResourceSharingApiResponseCommonFailure;
+    }
+  | {
+      status: 500;
+      payload: Schemas.ResourceSharingApiResponseCommonFailure;
+    }
+>;
+
+export type OrganizationSharesListVariables = {
+  pathParams: OrganizationSharesListPathParams;
+  queryParams?: OrganizationSharesListQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists all organization shares.
+ */
+export const organizationSharesList = (variables: OrganizationSharesListVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.ResourceSharingShareResponseCollection,
+    OrganizationSharesListError,
+    undefined,
+    {},
+    OrganizationSharesListQueryParams,
+    OrganizationSharesListPathParams
+  >({ url: '/organizations/{organizationId}/shares', method: 'get', ...variables, signal });
+
+export type RadarGetAiBotsSummaryByUserAgentQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAiBotsSummaryByUserAgentError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetAiBotsSummaryByUserAgentResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    /**
+     * @example {"Amazonbot":"10.274394","Bytespider":"8.381743","facebookexternalhit":"63.40249"}
+     */
+    summary_0: {
+      [key: string]: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAiBotsSummaryByUserAgentVariables = {
+  queryParams?: RadarGetAiBotsSummaryByUserAgentQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage of Internet traffic generated by AI user agents, over a given time period.
+ */
+export const radarGetAiBotsSummaryByUserAgent = (
+  variables: RadarGetAiBotsSummaryByUserAgentVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAiBotsSummaryByUserAgentResponse,
+    RadarGetAiBotsSummaryByUserAgentError,
+    undefined,
+    {},
+    RadarGetAiBotsSummaryByUserAgentQueryParams,
+    {}
+  >({ url: '/radar/ai/bots/summary/user_agent', method: 'get', ...variables, signal });
+
+export type RadarGetAiBotsTimeseriesGroupByUserAgentQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Limit the number of objects (eg browsers, verticals, etc) to the top items over the time range.
+   *
+   * @example 4
+   */
+  limitPerGroup?: number;
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAiBotsTimeseriesGroupByUserAgentError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetAiBotsTimeseriesGroupByUserAgentResponse = {
+  result: {
+    meta: Record<string, any>;
+    /**
+     * @example {"facebookexternalhit":["0.862022"],"timestamps":["2024-07-30T03:00:00Z"]}
+     */
+    serie_0: {
+      timestamps: string[];
+    } & {
+      [key: string]: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAiBotsTimeseriesGroupByUserAgentVariables = {
+  queryParams?: RadarGetAiBotsTimeseriesGroupByUserAgentQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of traffic per AI user agent over time.
+ */
+export const radarGetAiBotsTimeseriesGroupByUserAgent = (
+  variables: RadarGetAiBotsTimeseriesGroupByUserAgentVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAiBotsTimeseriesGroupByUserAgentResponse,
+    RadarGetAiBotsTimeseriesGroupByUserAgentError,
+    undefined,
+    {},
+    RadarGetAiBotsTimeseriesGroupByUserAgentQueryParams,
+    {}
+  >({ url: '/radar/ai/bots/timeseries_groups/user_agent', method: 'get', ...variables, signal });
+
+export type RadarGetAnnotationsQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Number of objects to skip before grabbing results.
+   */
+  offset?: number;
+  /**
+   * Shorthand date ranges for the last X days - use when you don't need specific start and end dates.
+   *
+   * @example 7d
+   * @pattern ^((([1-9]|[1-9][0-9]|[1-2][0-9][0-9]|3[0-5][0-9]|36[0-4])[d](control)?)|(([1-9]|[1-4][0-9]|5[0-2])[w](control)?))$
+   */
+  dateRange?: string;
+  /**
+   * Start of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   * @format date-time
+   */
+  dateStart?: string;
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   * @format date-time
+   */
+  dateEnd?: string;
+  /**
+   * Single ASN as integer.
+   *
+   * @example 174
+   */
+  asn?: number;
+  /**
+   * Location Alpha2 code.
+   *
+   * @example US
+   */
+  location?: string;
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAnnotationsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetAnnotationsResponse = {
+  result: {
+    annotations: {
+      asns: number[];
+      asnsDetails: {
+        /**
+         * @example 189
+         */
+        asn: string;
+        locations?: {
+          /**
+           * @example US
+           */
+          code: string;
+          /**
+           * @example United States
+           */
+          name: string;
+        };
+        /**
+         * @example LUMEN-LEGACY-L3-PARTITION
+         */
+        name: string;
+      }[];
+      /**
+       * @example ALL
+       */
+      dataSource: string;
+      /**
+       * @example example
+       */
+      description?: string;
+      /**
+       * @example 2022-09-08T10:00:28Z
+       */
+      endDate?: string;
+      /**
+       * @example OUTAGE
+       */
+      eventType: string;
+      /**
+       * @example 550
+       */
+      id: string;
+      /**
+       * @example http://example.com
+       */
+      linkedUrl?: string;
+      locations: string[];
+      locationsDetails: {
+        /**
+         * @example US
+         */
+        code: string;
+        /**
+         * @example United States
+         */
+        name: string;
+      }[];
+      outage: {
+        /**
+         * @example CABLE_CUT
+         */
+        outageCause: string;
+        /**
+         * @example NATIONWIDE
+         */
+        outageType: string;
+      };
+      /**
+       * @example Colima, Michoacán, México
+       */
+      scope?: string;
+      /**
+       * @example 2022-09-06T10:00:28Z
+       */
+      startDate: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAnnotationsVariables = {
+  queryParams?: RadarGetAnnotationsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the latest annotations.
+ */
+export const radarGetAnnotations = (variables: RadarGetAnnotationsVariables, signal?: AbortSignal) =>
+  fetch<RadarGetAnnotationsResponse, RadarGetAnnotationsError, undefined, {}, RadarGetAnnotationsQueryParams, {}>({
+    url: '/radar/annotations',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type RadarGetAnnotationsOutagesQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Number of objects to skip before grabbing results.
+   */
+  offset?: number;
+  /**
+   * Shorthand date ranges for the last X days - use when you don't need specific start and end dates.
+   *
+   * @example 7d
+   * @pattern ^((([1-9]|[1-9][0-9]|[1-2][0-9][0-9]|3[0-5][0-9]|36[0-4])[d](control)?)|(([1-9]|[1-4][0-9]|5[0-2])[w](control)?))$
+   */
+  dateRange?: string;
+  /**
+   * Start of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   * @format date-time
+   */
+  dateStart?: string;
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   * @format date-time
+   */
+  dateEnd?: string;
+  /**
+   * Single ASN as integer.
+   *
+   * @example 174
+   */
+  asn?: number;
+  /**
+   * Location Alpha2 code.
+   *
+   * @example US
+   */
+  location?: string;
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAnnotationsOutagesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetAnnotationsOutagesResponse = {
+  result: {
+    annotations: {
+      asns: number[];
+      asnsDetails: {
+        /**
+         * @example 189
+         */
+        asn: string;
+        locations?: {
+          /**
+           * @example US
+           */
+          code: string;
+          /**
+           * @example United States
+           */
+          name: string;
+        };
+        /**
+         * @example LUMEN-LEGACY-L3-PARTITION
+         */
+        name: string;
+      }[];
+      /**
+       * @example ALL
+       */
+      dataSource: string;
+      /**
+       * @example example
+       */
+      description?: string;
+      /**
+       * @example 2022-09-08T10:00:28Z
+       */
+      endDate?: string;
+      /**
+       * @example OUTAGE
+       */
+      eventType: string;
+      /**
+       * @example 550
+       */
+      id: string;
+      /**
+       * @example http://example.com
+       */
+      linkedUrl?: string;
+      locations: string[];
+      locationsDetails: {
+        /**
+         * @example US
+         */
+        code: string;
+        /**
+         * @example United States
+         */
+        name: string;
+      }[];
+      outage: {
+        /**
+         * @example CABLE_CUT
+         */
+        outageCause: string;
+        /**
+         * @example NATIONWIDE
+         */
+        outageType: string;
+      };
+      /**
+       * @example Colima, Michoacán, México
+       */
+      scope?: string;
+      /**
+       * @example 2022-09-06T10:00:28Z
+       */
+      startDate: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAnnotationsOutagesVariables = {
+  queryParams?: RadarGetAnnotationsOutagesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get latest Internet outages and anomalies.
+ */
+export const radarGetAnnotationsOutages = (variables: RadarGetAnnotationsOutagesVariables, signal?: AbortSignal) =>
+  fetch<
+    RadarGetAnnotationsOutagesResponse,
+    RadarGetAnnotationsOutagesError,
+    undefined,
+    {},
+    RadarGetAnnotationsOutagesQueryParams,
+    {}
+  >({ url: '/radar/annotations/outages', method: 'get', ...variables, signal });
+
+export type RadarGetAnnotationsOutagesTopQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Shorthand date ranges for the last X days - use when you don't need specific start and end dates.
+   *
+   * @example 7d
+   * @pattern ^((([1-9]|[1-9][0-9]|[1-2][0-9][0-9]|3[0-5][0-9]|36[0-4])[d](control)?)|(([1-9]|[1-4][0-9]|5[0-2])[w](control)?))$
+   */
+  dateRange?: string;
+  /**
+   * Start of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   * @format date-time
+   */
+  dateStart?: string;
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   * @format date-time
+   */
+  dateEnd?: string;
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAnnotationsOutagesTopError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetAnnotationsOutagesTopResponse = {
+  result: {
+    annotations: {
+      /**
+       * @example PT
+       */
+      clientCountryAlpha2: string;
+      /**
+       * @example Portugal
+       */
+      clientCountryName: string;
+      /**
+       * @example 5
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAnnotationsOutagesTopVariables = {
+  queryParams?: RadarGetAnnotationsOutagesTopQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the number of outages by location.
+ */
+export const radarGetAnnotationsOutagesTop = (
+  variables: RadarGetAnnotationsOutagesTopVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAnnotationsOutagesTopResponse,
+    RadarGetAnnotationsOutagesTopError,
+    undefined,
+    {},
+    RadarGetAnnotationsOutagesTopQueryParams,
+    {}
+  >({ url: '/radar/annotations/outages/locations', method: 'get', ...variables, signal });
+
+export type RadarGetDnsAs112TimeseriesByDnssecQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetDnsAs112TimeseriesByDnssecError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetDnsAs112TimeseriesByDnssecResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 16
+       */
+      NOT_SUPPORTED: string;
+      /**
+       * @example 84
+       */
+      SUPPORTED: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetDnsAs112TimeseriesByDnssecVariables = {
+  queryParams?: RadarGetDnsAs112TimeseriesByDnssecQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of DNS queries to AS112 by DNSSEC support.
+ */
+export const radarGetDnsAs112TimeseriesByDnssec = (
+  variables: RadarGetDnsAs112TimeseriesByDnssecVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetDnsAs112TimeseriesByDnssecResponse,
+    RadarGetDnsAs112TimeseriesByDnssecError,
+    undefined,
+    {},
+    RadarGetDnsAs112TimeseriesByDnssecQueryParams,
+    {}
+  >({ url: '/radar/as112/summary/dnssec', method: 'get', ...variables, signal });
+
+export type RadarGetDnsAs112TimeseriesByEdnsQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetDnsAs112TimeseriesByEdnsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetDnsAs112TimeseriesByEdnsResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 6
+       */
+      NOT_SUPPORTED: string;
+      /**
+       * @example 94
+       */
+      SUPPORTED: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetDnsAs112TimeseriesByEdnsVariables = {
+  queryParams?: RadarGetDnsAs112TimeseriesByEdnsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of DNS queries to AS112 by EDNS support.
+ */
+export const radarGetDnsAs112TimeseriesByEdns = (
+  variables: RadarGetDnsAs112TimeseriesByEdnsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetDnsAs112TimeseriesByEdnsResponse,
+    RadarGetDnsAs112TimeseriesByEdnsError,
+    undefined,
+    {},
+    RadarGetDnsAs112TimeseriesByEdnsQueryParams,
+    {}
+  >({ url: '/radar/as112/summary/edns', method: 'get', ...variables, signal });
+
+export type RadarGetDnsAs112TimeseriesByIpVersionQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetDnsAs112TimeseriesByIpVersionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetDnsAs112TimeseriesByIpVersionResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 80
+       */
+      IPv4: string;
+      /**
+       * @example 20
+       */
+      IPv6: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetDnsAs112TimeseriesByIpVersionVariables = {
+  queryParams?: RadarGetDnsAs112TimeseriesByIpVersionQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of DNS queries to AS112 per IP Version.
+ */
+export const radarGetDnsAs112TimeseriesByIpVersion = (
+  variables: RadarGetDnsAs112TimeseriesByIpVersionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetDnsAs112TimeseriesByIpVersionResponse,
+    RadarGetDnsAs112TimeseriesByIpVersionError,
+    undefined,
+    {},
+    RadarGetDnsAs112TimeseriesByIpVersionQueryParams,
+    {}
+  >({ url: '/radar/as112/summary/ip_version', method: 'get', ...variables, signal });
+
+export type RadarGetDnsAs112TimeseriesByProtocolQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetDnsAs112TimeseriesByProtocolError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetDnsAs112TimeseriesByProtocolResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 1
+       */
+      tcp: string;
+      /**
+       * @example 99
+       */
+      udp: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetDnsAs112TimeseriesByProtocolVariables = {
+  queryParams?: RadarGetDnsAs112TimeseriesByProtocolQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of DNS queries to AS112 per protocol.
+ */
+export const radarGetDnsAs112TimeseriesByProtocol = (
+  variables: RadarGetDnsAs112TimeseriesByProtocolVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetDnsAs112TimeseriesByProtocolResponse,
+    RadarGetDnsAs112TimeseriesByProtocolError,
+    undefined,
+    {},
+    RadarGetDnsAs112TimeseriesByProtocolQueryParams,
+    {}
+  >({ url: '/radar/as112/summary/protocol', method: 'get', ...variables, signal });
+
+export type RadarGetDnsAs112TimeseriesByQueryTypeQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetDnsAs112TimeseriesByQueryTypeError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetDnsAs112TimeseriesByQueryTypeResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 19
+       */
+      A: string;
+      /**
+       * @example 1
+       */
+      AAAA: string;
+      /**
+       * @example 74
+       */
+      PTR: string;
+      /**
+       * @example 5
+       */
+      SOA: string;
+      /**
+       * @example 1
+       */
+      SRV: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetDnsAs112TimeseriesByQueryTypeVariables = {
+  queryParams?: RadarGetDnsAs112TimeseriesByQueryTypeQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of DNS queries to AS112 by query type.
+ */
+export const radarGetDnsAs112TimeseriesByQueryType = (
+  variables: RadarGetDnsAs112TimeseriesByQueryTypeVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetDnsAs112TimeseriesByQueryTypeResponse,
+    RadarGetDnsAs112TimeseriesByQueryTypeError,
+    undefined,
+    {},
+    RadarGetDnsAs112TimeseriesByQueryTypeQueryParams,
+    {}
+  >({ url: '/radar/as112/summary/query_type', method: 'get', ...variables, signal });
+
+export type RadarGetDnsAs112TimeseriesByResponseCodesQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetDnsAs112TimeseriesByResponseCodesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetDnsAs112TimeseriesByResponseCodesResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 6
+       */
+      NOERROR: string;
+      /**
+       * @example 94
+       */
+      NXDOMAIN: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetDnsAs112TimeseriesByResponseCodesVariables = {
+  queryParams?: RadarGetDnsAs112TimeseriesByResponseCodesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of AS112 DNS requests classified by response code.
+ */
+export const radarGetDnsAs112TimeseriesByResponseCodes = (
+  variables: RadarGetDnsAs112TimeseriesByResponseCodesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetDnsAs112TimeseriesByResponseCodesResponse,
+    RadarGetDnsAs112TimeseriesByResponseCodesError,
+    undefined,
+    {},
+    RadarGetDnsAs112TimeseriesByResponseCodesQueryParams,
+    {}
+  >({ url: '/radar/as112/summary/response_codes', method: 'get', ...variables, signal });
+
+export type RadarGetDnsAs112TimeseriesQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetDnsAs112TimeseriesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetDnsAs112TimeseriesResponse = {
+  result: {
+    meta: {
+      /**
+       * @example 1h
+       */
+      aggInterval: string;
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @format date-time
+       */
+      lastUpdated: string;
+    };
+    serie_0: {
+      timestamps: string[];
+      values: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetDnsAs112TimeseriesVariables = {
+  queryParams?: RadarGetDnsAs112TimeseriesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get AS112 queries change over time.
+ */
+export const radarGetDnsAs112Timeseries = (variables: RadarGetDnsAs112TimeseriesVariables, signal?: AbortSignal) =>
+  fetch<
+    RadarGetDnsAs112TimeseriesResponse,
+    RadarGetDnsAs112TimeseriesError,
+    undefined,
+    {},
+    RadarGetDnsAs112TimeseriesQueryParams,
+    {}
+  >({ url: '/radar/as112/timeseries', method: 'get', ...variables, signal });
+
+export type RadarGetDnsAs112TimeseriesGroupByDnssecQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetDnsAs112TimeseriesGroupByDnssecError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetDnsAs112TimeseriesGroupByDnssecResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      NOT_SUPPORTED: string[];
+      SUPPORTED: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetDnsAs112TimeseriesGroupByDnssecVariables = {
+  queryParams?: RadarGetDnsAs112TimeseriesGroupByDnssecQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of AS112 DNS queries by DNSSEC support over time.
+ */
+export const radarGetDnsAs112TimeseriesGroupByDnssec = (
+  variables: RadarGetDnsAs112TimeseriesGroupByDnssecVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetDnsAs112TimeseriesGroupByDnssecResponse,
+    RadarGetDnsAs112TimeseriesGroupByDnssecError,
+    undefined,
+    {},
+    RadarGetDnsAs112TimeseriesGroupByDnssecQueryParams,
+    {}
+  >({ url: '/radar/as112/timeseries_groups/dnssec', method: 'get', ...variables, signal });
+
+export type RadarGetDnsAs112TimeseriesGroupByEdnsQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetDnsAs112TimeseriesGroupByEdnsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetDnsAs112TimeseriesGroupByEdnsResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      NOT_SUPPORTED: string[];
+      SUPPORTED: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetDnsAs112TimeseriesGroupByEdnsVariables = {
+  queryParams?: RadarGetDnsAs112TimeseriesGroupByEdnsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of AS112 DNS queries by EDNS support over time.
+ */
+export const radarGetDnsAs112TimeseriesGroupByEdns = (
+  variables: RadarGetDnsAs112TimeseriesGroupByEdnsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetDnsAs112TimeseriesGroupByEdnsResponse,
+    RadarGetDnsAs112TimeseriesGroupByEdnsError,
+    undefined,
+    {},
+    RadarGetDnsAs112TimeseriesGroupByEdnsQueryParams,
+    {}
+  >({ url: '/radar/as112/timeseries_groups/edns', method: 'get', ...variables, signal });
+
+export type RadarGetDnsAs112TimeseriesGroupByIpVersionQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetDnsAs112TimeseriesGroupByIpVersionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetDnsAs112TimeseriesGroupByIpVersionResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      IPv4: string[];
+      IPv6: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetDnsAs112TimeseriesGroupByIpVersionVariables = {
+  queryParams?: RadarGetDnsAs112TimeseriesGroupByIpVersionQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of AS112 DNS queries by IP version over time.
+ */
+export const radarGetDnsAs112TimeseriesGroupByIpVersion = (
+  variables: RadarGetDnsAs112TimeseriesGroupByIpVersionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetDnsAs112TimeseriesGroupByIpVersionResponse,
+    RadarGetDnsAs112TimeseriesGroupByIpVersionError,
+    undefined,
+    {},
+    RadarGetDnsAs112TimeseriesGroupByIpVersionQueryParams,
+    {}
+  >({ url: '/radar/as112/timeseries_groups/ip_version', method: 'get', ...variables, signal });
+
+export type RadarGetDnsAs112TimeseriesGroupByProtocolQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetDnsAs112TimeseriesGroupByProtocolError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetDnsAs112TimeseriesGroupByProtocolResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      tcp: string[];
+      udp: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetDnsAs112TimeseriesGroupByProtocolVariables = {
+  queryParams?: RadarGetDnsAs112TimeseriesGroupByProtocolQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of AS112 DNS requests classified by protocol over time.
+ */
+export const radarGetDnsAs112TimeseriesGroupByProtocol = (
+  variables: RadarGetDnsAs112TimeseriesGroupByProtocolVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetDnsAs112TimeseriesGroupByProtocolResponse,
+    RadarGetDnsAs112TimeseriesGroupByProtocolError,
+    undefined,
+    {},
+    RadarGetDnsAs112TimeseriesGroupByProtocolQueryParams,
+    {}
+  >({ url: '/radar/as112/timeseries_groups/protocol', method: 'get', ...variables, signal });
+
+export type RadarGetDnsAs112TimeseriesGroupByQueryTypeQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetDnsAs112TimeseriesGroupByQueryTypeError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetDnsAs112TimeseriesGroupByQueryTypeResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      A: string[];
+      AAAA: string[];
+      PTR: string[];
+      SOA: string[];
+      SRV: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetDnsAs112TimeseriesGroupByQueryTypeVariables = {
+  queryParams?: RadarGetDnsAs112TimeseriesGroupByQueryTypeQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of AS112 DNS queries by query type over time.
+ */
+export const radarGetDnsAs112TimeseriesGroupByQueryType = (
+  variables: RadarGetDnsAs112TimeseriesGroupByQueryTypeVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetDnsAs112TimeseriesGroupByQueryTypeResponse,
+    RadarGetDnsAs112TimeseriesGroupByQueryTypeError,
+    undefined,
+    {},
+    RadarGetDnsAs112TimeseriesGroupByQueryTypeQueryParams,
+    {}
+  >({ url: '/radar/as112/timeseries_groups/query_type', method: 'get', ...variables, signal });
+
+export type RadarGetDnsAs112TimeseriesGroupByResponseCodesQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetDnsAs112TimeseriesGroupByResponseCodesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetDnsAs112TimeseriesGroupByResponseCodesResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      NOERROR: string[];
+      NXDOMAIN: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetDnsAs112TimeseriesGroupByResponseCodesVariables = {
+  queryParams?: RadarGetDnsAs112TimeseriesGroupByResponseCodesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of AS112 DNS requests classified by response code over time.
+ */
+export const radarGetDnsAs112TimeseriesGroupByResponseCodes = (
+  variables: RadarGetDnsAs112TimeseriesGroupByResponseCodesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetDnsAs112TimeseriesGroupByResponseCodesResponse,
+    RadarGetDnsAs112TimeseriesGroupByResponseCodesError,
+    undefined,
+    {},
+    RadarGetDnsAs112TimeseriesGroupByResponseCodesQueryParams,
+    {}
+  >({ url: '/radar/as112/timeseries_groups/response_codes', method: 'get', ...variables, signal });
+
+export type RadarGetDnsAs112TopLocationsQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetDnsAs112TopLocationsError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetDnsAs112TopLocationsResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example US
+       */
+      clientCountryAlpha2: string;
+      /**
+       * @example United States
+       */
+      clientCountryName: string;
+      /**
+       * @example 65
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetDnsAs112TopLocationsVariables = {
+  queryParams?: RadarGetDnsAs112TopLocationsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the top locations by AS112 DNS queries. Values are a percentage out of the total queries.
+ */
+export const radarGetDnsAs112TopLocations = (variables: RadarGetDnsAs112TopLocationsVariables, signal?: AbortSignal) =>
+  fetch<
+    RadarGetDnsAs112TopLocationsResponse,
+    RadarGetDnsAs112TopLocationsError,
+    undefined,
+    {},
+    RadarGetDnsAs112TopLocationsQueryParams,
+    {}
+  >({ url: '/radar/as112/top/locations', method: 'get', ...variables, signal });
+
+export type RadarGetDnsAs112TopLocationsByDnssecPathParams = {
+  /**
+   * DNSSEC.
+   *
+   * @example SUPPORTED
+   */
+  dnssec: 'SUPPORTED' | 'NOT_SUPPORTED';
+};
+
+export type RadarGetDnsAs112TopLocationsByDnssecQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetDnsAs112TopLocationsByDnssecError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetDnsAs112TopLocationsByDnssecResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example US
+       */
+      clientCountryAlpha2: string;
+      /**
+       * @example United States
+       */
+      clientCountryName: string;
+      /**
+       * @example 65
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetDnsAs112TopLocationsByDnssecVariables = {
+  pathParams: RadarGetDnsAs112TopLocationsByDnssecPathParams;
+  queryParams?: RadarGetDnsAs112TopLocationsByDnssecQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the top locations of DNS queries to AS112 with DNSSEC.
+ */
+export const radarGetDnsAs112TopLocationsByDnssec = (
+  variables: RadarGetDnsAs112TopLocationsByDnssecVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetDnsAs112TopLocationsByDnssecResponse,
+    RadarGetDnsAs112TopLocationsByDnssecError,
+    undefined,
+    {},
+    RadarGetDnsAs112TopLocationsByDnssecQueryParams,
+    RadarGetDnsAs112TopLocationsByDnssecPathParams
+  >({ url: '/radar/as112/top/locations/dnssec/{dnssec}', method: 'get', ...variables, signal });
+
+export type RadarGetDnsAs112TopLocationsByEdnsPathParams = {
+  /**
+   * EDNS.
+   *
+   * @example SUPPORTED
+   */
+  edns: 'SUPPORTED' | 'NOT_SUPPORTED';
+};
+
+export type RadarGetDnsAs112TopLocationsByEdnsQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetDnsAs112TopLocationsByEdnsError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetDnsAs112TopLocationsByEdnsResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example US
+       */
+      clientCountryAlpha2: string;
+      /**
+       * @example United States
+       */
+      clientCountryName: string;
+      /**
+       * @example 65
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetDnsAs112TopLocationsByEdnsVariables = {
+  pathParams: RadarGetDnsAs112TopLocationsByEdnsPathParams;
+  queryParams?: RadarGetDnsAs112TopLocationsByEdnsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the top locations of DNS queries to AS112 with EDNS support.
+ */
+export const radarGetDnsAs112TopLocationsByEdns = (
+  variables: RadarGetDnsAs112TopLocationsByEdnsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetDnsAs112TopLocationsByEdnsResponse,
+    RadarGetDnsAs112TopLocationsByEdnsError,
+    undefined,
+    {},
+    RadarGetDnsAs112TopLocationsByEdnsQueryParams,
+    RadarGetDnsAs112TopLocationsByEdnsPathParams
+  >({ url: '/radar/as112/top/locations/edns/{edns}', method: 'get', ...variables, signal });
+
+export type RadarGetDnsAs112TopLocationsByIpVersionPathParams = {
+  /**
+   * IP Version.
+   *
+   * @example IPv4
+   */
+  ipVersion: 'IPv4' | 'IPv6';
+};
+
+export type RadarGetDnsAs112TopLocationsByIpVersionQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetDnsAs112TopLocationsByIpVersionError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetDnsAs112TopLocationsByIpVersionResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example US
+       */
+      clientCountryAlpha2: string;
+      /**
+       * @example United States
+       */
+      clientCountryName: string;
+      /**
+       * @example 65
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetDnsAs112TopLocationsByIpVersionVariables = {
+  pathParams: RadarGetDnsAs112TopLocationsByIpVersionPathParams;
+  queryParams?: RadarGetDnsAs112TopLocationsByIpVersionQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the top locations of DNS queries to AS112 by IP version.
+ */
+export const radarGetDnsAs112TopLocationsByIpVersion = (
+  variables: RadarGetDnsAs112TopLocationsByIpVersionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetDnsAs112TopLocationsByIpVersionResponse,
+    RadarGetDnsAs112TopLocationsByIpVersionError,
+    undefined,
+    {},
+    RadarGetDnsAs112TopLocationsByIpVersionQueryParams,
+    RadarGetDnsAs112TopLocationsByIpVersionPathParams
+  >({ url: '/radar/as112/top/locations/ip_version/{ipVersion}', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer3SummaryQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer3SummaryError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetAttacksLayer3SummaryResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+    };
+    summary_0: {
+      /**
+       * @example 0.9
+       */
+      gre: string;
+      /**
+       * @example 0.1
+       */
+      icmp: string;
+      /**
+       * @example 60
+       */
+      tcp: string;
+      /**
+       * @example 39
+       */
+      udp: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer3SummaryVariables = {
+  queryParams?: RadarGetAttacksLayer3SummaryQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of network protocols in Layer 3/4 attacks over a given time period.
+ */
+export const radarGetAttacksLayer3Summary = (variables: RadarGetAttacksLayer3SummaryVariables, signal?: AbortSignal) =>
+  fetch<
+    RadarGetAttacksLayer3SummaryResponse,
+    RadarGetAttacksLayer3SummaryError,
+    undefined,
+    {},
+    RadarGetAttacksLayer3SummaryQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer3/summary', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer3SummaryByBitrateQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Array of L3/4 attack types.
+   */
+  protocol?: ('UDP' | 'TCP' | 'ICMP' | 'GRE')[];
+  /**
+   * Together with the `location` parameter, will apply the filter to origin or target location.
+   *
+   * @default ORIGIN
+   */
+  direction?: 'ORIGIN' | 'TARGET';
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer3SummaryByBitrateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetAttacksLayer3SummaryByBitrateResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 13.141944
+       */
+      OVER_100_GBPS: string;
+      /**
+       * @example 74.891763
+       */
+      UNDER_500_MBPS: string;
+      /**
+       * @example 0.01056
+       */
+      _10_GBPS_TO_100_GBPS: string;
+      /**
+       * @example 6.007082
+       */
+      _1_GBPS_TO_10_GBPS: string;
+      /**
+       * @example 5.948652
+       */
+      _500_MBPS_TO_1_GBPS: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer3SummaryByBitrateVariables = {
+  queryParams?: RadarGetAttacksLayer3SummaryByBitrateQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of attacks by bitrate.
+ */
+export const radarGetAttacksLayer3SummaryByBitrate = (
+  variables: RadarGetAttacksLayer3SummaryByBitrateVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer3SummaryByBitrateResponse,
+    RadarGetAttacksLayer3SummaryByBitrateError,
+    undefined,
+    {},
+    RadarGetAttacksLayer3SummaryByBitrateQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer3/summary/bitrate', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer3SummaryByDurationQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Array of L3/4 attack types.
+   */
+  protocol?: ('UDP' | 'TCP' | 'ICMP' | 'GRE')[];
+  /**
+   * Together with the `location` parameter, will apply the filter to origin or target location.
+   *
+   * @default ORIGIN
+   */
+  direction?: 'ORIGIN' | 'TARGET';
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer3SummaryByDurationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetAttacksLayer3SummaryByDurationResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 4.462923
+       */
+      OVER_3_HOURS: string;
+      /**
+       * @example 76.243322
+       */
+      UNDER_10_MINS: string;
+      /**
+       * @example 9.48709
+       */
+      _10_MINS_TO_20_MINS: string;
+      /**
+       * @example 4.038413
+       */
+      _1_HOUR_TO_3_HOURS: string;
+      /**
+       * @example 3.87624
+       */
+      _20_MINS_TO_40_MINS: string;
+      /**
+       * @example 1.892012
+       */
+      _40_MINS_TO_1_HOUR: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer3SummaryByDurationVariables = {
+  queryParams?: RadarGetAttacksLayer3SummaryByDurationQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of attacks by duration.
+ */
+export const radarGetAttacksLayer3SummaryByDuration = (
+  variables: RadarGetAttacksLayer3SummaryByDurationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer3SummaryByDurationResponse,
+    RadarGetAttacksLayer3SummaryByDurationError,
+    undefined,
+    {},
+    RadarGetAttacksLayer3SummaryByDurationQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer3/summary/duration', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer3SummaryByIpVersionQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Array of L3/4 attack types.
+   */
+  protocol?: ('UDP' | 'TCP' | 'ICMP' | 'GRE')[];
+  /**
+   * Together with the `location` parameter, will apply the filter to origin or target location.
+   *
+   * @default ORIGIN
+   */
+  direction?: 'ORIGIN' | 'TARGET';
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer3SummaryByIpVersionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetAttacksLayer3SummaryByIpVersionResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 99.984766
+       */
+      IPv4: string;
+      /**
+       * @example 0.015234
+       */
+      IPv6: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer3SummaryByIpVersionVariables = {
+  queryParams?: RadarGetAttacksLayer3SummaryByIpVersionQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of attacks by ip version used.
+ */
+export const radarGetAttacksLayer3SummaryByIpVersion = (
+  variables: RadarGetAttacksLayer3SummaryByIpVersionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer3SummaryByIpVersionResponse,
+    RadarGetAttacksLayer3SummaryByIpVersionError,
+    undefined,
+    {},
+    RadarGetAttacksLayer3SummaryByIpVersionQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer3/summary/ip_version', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer3SummaryByProtocolQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Together with the `location` parameter, will apply the filter to origin or target location.
+   *
+   * @default ORIGIN
+   */
+  direction?: 'ORIGIN' | 'TARGET';
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer3SummaryByProtocolError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetAttacksLayer3SummaryByProtocolResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 0.756379
+       */
+      GRE: string;
+      /**
+       * @example 0.015245
+       */
+      ICMP: string;
+      /**
+       * @example 82.89908
+       */
+      TCP: string;
+      /**
+       * @example 16.328986
+       */
+      UDP: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer3SummaryByProtocolVariables = {
+  queryParams?: RadarGetAttacksLayer3SummaryByProtocolQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of attacks by protocol used.
+ */
+export const radarGetAttacksLayer3SummaryByProtocol = (
+  variables: RadarGetAttacksLayer3SummaryByProtocolVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer3SummaryByProtocolResponse,
+    RadarGetAttacksLayer3SummaryByProtocolError,
+    undefined,
+    {},
+    RadarGetAttacksLayer3SummaryByProtocolQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer3/summary/protocol', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer3SummaryByVectorQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Array of L3/4 attack types.
+   */
+  protocol?: ('UDP' | 'TCP' | 'ICMP' | 'GRE')[];
+  /**
+   * Together with the `location` parameter, will apply the filter to origin or target location.
+   *
+   * @default ORIGIN
+   */
+  direction?: 'ORIGIN' | 'TARGET';
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer3SummaryByVectorError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetAttacksLayer3SummaryByVectorResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    /**
+     * @example {"ACK Flood":["65.662148"],"SYN Flood":["16.86401"]}
+     */
+    summary_0: {
+      [key: string]: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer3SummaryByVectorVariables = {
+  queryParams?: RadarGetAttacksLayer3SummaryByVectorQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of attacks by vector.
+ */
+export const radarGetAttacksLayer3SummaryByVector = (
+  variables: RadarGetAttacksLayer3SummaryByVectorVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer3SummaryByVectorResponse,
+    RadarGetAttacksLayer3SummaryByVectorError,
+    undefined,
+    {},
+    RadarGetAttacksLayer3SummaryByVectorQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer3/summary/vector', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer3TimeseriesByBytesQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Array of L3/4 attack types.
+   */
+  protocol?: ('UDP' | 'TCP' | 'ICMP' | 'GRE')[];
+  /**
+   * Normalization method applied. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/).
+   *
+   * @example MIN0_MAX
+   */
+  normalization?: 'PERCENTAGE_CHANGE' | 'MIN0_MAX';
+  /**
+   * Measurement units, eg. bytes.
+   *
+   * @default bytes
+   */
+  metric?: 'BYTES' | 'BYTES_OLD';
+  /**
+   * Together with the `location` parameter, will apply the filter to origin or target location.
+   *
+   * @default ORIGIN
+   */
+  direction?: 'ORIGIN' | 'TARGET';
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer3TimeseriesByBytesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetAttacksLayer3TimeseriesByBytesResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      timestamps: string[];
+      values: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer3TimeseriesByBytesVariables = {
+  queryParams?: RadarGetAttacksLayer3TimeseriesByBytesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get attacks change over time by bytes.
+ */
+export const radarGetAttacksLayer3TimeseriesByBytes = (
+  variables: RadarGetAttacksLayer3TimeseriesByBytesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer3TimeseriesByBytesResponse,
+    RadarGetAttacksLayer3TimeseriesByBytesError,
+    undefined,
+    {},
+    RadarGetAttacksLayer3TimeseriesByBytesQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer3/timeseries', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer3TimeseriesGroupsQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer3TimeseriesGroupsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetAttacksLayer3TimeseriesGroupsResponse = {
+  result: {
+    meta: {
+      /**
+       * @example 1h
+       */
+      aggInterval: string;
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @format date-time
+       */
+      lastUpdated: string;
+    };
+    serie_0: {
+      gre: string[];
+      icmp: string[];
+      tcp: string[];
+      timestamps: string[];
+      udp: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer3TimeseriesGroupsVariables = {
+  queryParams?: RadarGetAttacksLayer3TimeseriesGroupsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a time series of the percentage distribution of network protocols in Layer 3/4 attacks.
+ */
+export const radarGetAttacksLayer3TimeseriesGroups = (
+  variables: RadarGetAttacksLayer3TimeseriesGroupsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer3TimeseriesGroupsResponse,
+    RadarGetAttacksLayer3TimeseriesGroupsError,
+    undefined,
+    {},
+    RadarGetAttacksLayer3TimeseriesGroupsQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer3/timeseries_groups', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer3TimeseriesGroupByBitrateQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Array of L3/4 attack types.
+   */
+  protocol?: ('UDP' | 'TCP' | 'ICMP' | 'GRE')[];
+  /**
+   * Normalization method applied. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/).
+   *
+   * @default PERCENTAGE
+   * @example PERCENTAGE
+   */
+  normalization?: 'PERCENTAGE' | 'MIN0_MAX';
+  /**
+   * Together with the `location` parameter, will apply the filter to origin or target location.
+   *
+   * @default ORIGIN
+   */
+  direction?: 'ORIGIN' | 'TARGET';
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer3TimeseriesGroupByBitrateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetAttacksLayer3TimeseriesGroupByBitrateResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      OVER_100_GBPS: string[];
+      UNDER_500_MBPS: string[];
+      _10_GBPS_TO_100_GBPS: string[];
+      _1_GBPS_TO_10_GBPS: string[];
+      _500_MBPS_TO_1_GBPS: string[];
+      timestamps: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer3TimeseriesGroupByBitrateVariables = {
+  queryParams?: RadarGetAttacksLayer3TimeseriesGroupByBitrateQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of attacks by bitrate over time.
+ */
+export const radarGetAttacksLayer3TimeseriesGroupByBitrate = (
+  variables: RadarGetAttacksLayer3TimeseriesGroupByBitrateVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer3TimeseriesGroupByBitrateResponse,
+    RadarGetAttacksLayer3TimeseriesGroupByBitrateError,
+    undefined,
+    {},
+    RadarGetAttacksLayer3TimeseriesGroupByBitrateQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer3/timeseries_groups/bitrate', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer3TimeseriesGroupByDurationQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Array of L3/4 attack types.
+   */
+  protocol?: ('UDP' | 'TCP' | 'ICMP' | 'GRE')[];
+  /**
+   * Normalization method applied. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/).
+   *
+   * @default PERCENTAGE
+   * @example PERCENTAGE
+   */
+  normalization?: 'PERCENTAGE' | 'MIN0_MAX';
+  /**
+   * Together with the `location` parameter, will apply the filter to origin or target location.
+   *
+   * @default ORIGIN
+   */
+  direction?: 'ORIGIN' | 'TARGET';
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer3TimeseriesGroupByDurationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetAttacksLayer3TimeseriesGroupByDurationResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      OVER_3_HOURS: string[];
+      UNDER_10_MINS: string[];
+      _10_MINS_TO_20_MINS: string[];
+      _1_HOUR_TO_3_HOURS: string[];
+      _20_MINS_TO_40_MINS: string[];
+      _40_MINS_TO_1_HOUR: string[];
+      timestamps: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer3TimeseriesGroupByDurationVariables = {
+  queryParams?: RadarGetAttacksLayer3TimeseriesGroupByDurationQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of attacks by duration over time.
+ */
+export const radarGetAttacksLayer3TimeseriesGroupByDuration = (
+  variables: RadarGetAttacksLayer3TimeseriesGroupByDurationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer3TimeseriesGroupByDurationResponse,
+    RadarGetAttacksLayer3TimeseriesGroupByDurationError,
+    undefined,
+    {},
+    RadarGetAttacksLayer3TimeseriesGroupByDurationQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer3/timeseries_groups/duration', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer3TimeseriesGroupByIndustryQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Array of L3/4 attack types.
+   */
+  protocol?: ('UDP' | 'TCP' | 'ICMP' | 'GRE')[];
+  /**
+   * Normalization method applied. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/).
+   *
+   * @default PERCENTAGE
+   * @example PERCENTAGE
+   */
+  normalization?: 'PERCENTAGE' | 'MIN0_MAX';
+  /**
+   * Together with the `location` parameter, will apply the filter to origin or target location.
+   *
+   * @default ORIGIN
+   */
+  direction?: 'ORIGIN' | 'TARGET';
+  /**
+   * Limit the number of objects (eg browsers, verticals, etc) to the top items over the time range.
+   *
+   * @example 4
+   */
+  limitPerGroup?: number;
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer3TimeseriesGroupByIndustryError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetAttacksLayer3TimeseriesGroupByIndustryResponse = {
+  result: {
+    meta: Record<string, any>;
+    /**
+     * @example {"Internet":["5.519081"],"timestamps":["2023-08-08T10:15:00Z"]}
+     */
+    serie_0: {
+      timestamps: string[];
+    } & {
+      [key: string]: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer3TimeseriesGroupByIndustryVariables = {
+  queryParams?: RadarGetAttacksLayer3TimeseriesGroupByIndustryQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of attacks by industry targeted over time.
+ */
+export const radarGetAttacksLayer3TimeseriesGroupByIndustry = (
+  variables: RadarGetAttacksLayer3TimeseriesGroupByIndustryVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer3TimeseriesGroupByIndustryResponse,
+    RadarGetAttacksLayer3TimeseriesGroupByIndustryError,
+    undefined,
+    {},
+    RadarGetAttacksLayer3TimeseriesGroupByIndustryQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer3/timeseries_groups/industry', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer3TimeseriesGroupByIpVersionQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Array of L3/4 attack types.
+   */
+  protocol?: ('UDP' | 'TCP' | 'ICMP' | 'GRE')[];
+  /**
+   * Normalization method applied. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/).
+   *
+   * @default PERCENTAGE
+   * @example PERCENTAGE
+   */
+  normalization?: 'PERCENTAGE' | 'MIN0_MAX';
+  /**
+   * Together with the `location` parameter, will apply the filter to origin or target location.
+   *
+   * @default ORIGIN
+   */
+  direction?: 'ORIGIN' | 'TARGET';
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer3TimeseriesGroupByIpVersionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetAttacksLayer3TimeseriesGroupByIpVersionResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      IPv4: string[];
+      IPv6: string[];
+      timestamps: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer3TimeseriesGroupByIpVersionVariables = {
+  queryParams?: RadarGetAttacksLayer3TimeseriesGroupByIpVersionQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of attacks by ip version used over time.
+ */
+export const radarGetAttacksLayer3TimeseriesGroupByIpVersion = (
+  variables: RadarGetAttacksLayer3TimeseriesGroupByIpVersionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer3TimeseriesGroupByIpVersionResponse,
+    RadarGetAttacksLayer3TimeseriesGroupByIpVersionError,
+    undefined,
+    {},
+    RadarGetAttacksLayer3TimeseriesGroupByIpVersionQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer3/timeseries_groups/ip_version', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer3TimeseriesGroupByProtocolQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Normalization method applied. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/).
+   *
+   * @default PERCENTAGE
+   * @example PERCENTAGE
+   */
+  normalization?: 'PERCENTAGE' | 'MIN0_MAX';
+  /**
+   * Together with the `location` parameter, will apply the filter to origin or target location.
+   *
+   * @default ORIGIN
+   */
+  direction?: 'ORIGIN' | 'TARGET';
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer3TimeseriesGroupByProtocolError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetAttacksLayer3TimeseriesGroupByProtocolResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      GRE: string[];
+      ICMP: string[];
+      TCP: string[];
+      UDP: string[];
+      timestamps: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer3TimeseriesGroupByProtocolVariables = {
+  queryParams?: RadarGetAttacksLayer3TimeseriesGroupByProtocolQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of attacks by protocol used over time.
+ */
+export const radarGetAttacksLayer3TimeseriesGroupByProtocol = (
+  variables: RadarGetAttacksLayer3TimeseriesGroupByProtocolVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer3TimeseriesGroupByProtocolResponse,
+    RadarGetAttacksLayer3TimeseriesGroupByProtocolError,
+    undefined,
+    {},
+    RadarGetAttacksLayer3TimeseriesGroupByProtocolQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer3/timeseries_groups/protocol', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer3TimeseriesGroupByVectorQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Array of L3/4 attack types.
+   */
+  protocol?: ('UDP' | 'TCP' | 'ICMP' | 'GRE')[];
+  /**
+   * Normalization method applied. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/).
+   *
+   * @default PERCENTAGE
+   * @example PERCENTAGE
+   */
+  normalization?: 'PERCENTAGE' | 'MIN0_MAX';
+  /**
+   * Together with the `location` parameter, will apply the filter to origin or target location.
+   *
+   * @default ORIGIN
+   */
+  direction?: 'ORIGIN' | 'TARGET';
+  /**
+   * Limit the number of objects (eg browsers, verticals, etc) to the top items over the time range.
+   *
+   * @example 4
+   */
+  limitPerGroup?: number;
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer3TimeseriesGroupByVectorError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetAttacksLayer3TimeseriesGroupByVectorResponse = {
+  result: {
+    meta: Record<string, any>;
+    /**
+     * @example {"ACK Flood":["97.28898"],"timestamps":["2023-08-08T10:15:00Z"]}
+     */
+    serie_0: {
+      timestamps: string[];
+    } & {
+      [key: string]: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer3TimeseriesGroupByVectorVariables = {
+  queryParams?: RadarGetAttacksLayer3TimeseriesGroupByVectorQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of attacks by vector used over time.
+ */
+export const radarGetAttacksLayer3TimeseriesGroupByVector = (
+  variables: RadarGetAttacksLayer3TimeseriesGroupByVectorVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer3TimeseriesGroupByVectorResponse,
+    RadarGetAttacksLayer3TimeseriesGroupByVectorError,
+    undefined,
+    {},
+    RadarGetAttacksLayer3TimeseriesGroupByVectorQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer3/timeseries_groups/vector', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer3TimeseriesGroupByVerticalQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Array of L3/4 attack types.
+   */
+  protocol?: ('UDP' | 'TCP' | 'ICMP' | 'GRE')[];
+  /**
+   * Normalization method applied. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/).
+   *
+   * @default PERCENTAGE
+   * @example PERCENTAGE
+   */
+  normalization?: 'PERCENTAGE' | 'MIN0_MAX';
+  /**
+   * Together with the `location` parameter, will apply the filter to origin or target location.
+   *
+   * @default ORIGIN
+   */
+  direction?: 'ORIGIN' | 'TARGET';
+  /**
+   * Limit the number of objects (eg browsers, verticals, etc) to the top items over the time range.
+   *
+   * @example 4
+   */
+  limitPerGroup?: number;
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer3TimeseriesGroupByVerticalError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetAttacksLayer3TimeseriesGroupByVerticalResponse = {
+  result: {
+    meta: Record<string, any>;
+    /**
+     * @example {"Internet and Telecom":["5.519081"],"timestamps":["2023-08-08T10:15:00Z"]}
+     */
+    serie_0: {
+      timestamps: string[];
+    } & {
+      [key: string]: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer3TimeseriesGroupByVerticalVariables = {
+  queryParams?: RadarGetAttacksLayer3TimeseriesGroupByVerticalQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of attacks by vertical targeted over time.
+ */
+export const radarGetAttacksLayer3TimeseriesGroupByVertical = (
+  variables: RadarGetAttacksLayer3TimeseriesGroupByVerticalVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer3TimeseriesGroupByVerticalResponse,
+    RadarGetAttacksLayer3TimeseriesGroupByVerticalError,
+    undefined,
+    {},
+    RadarGetAttacksLayer3TimeseriesGroupByVerticalQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer3/timeseries_groups/vertical', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer3TopAttacksQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Array of L3/4 attack types.
+   */
+  protocol?: ('UDP' | 'TCP' | 'ICMP' | 'GRE')[];
+  /**
+   * Array of attack origin/target location attack limits. Together with `limitPerLocation`, limits how many objects will be fetched per origin/target location.
+   *
+   * @default ORIGIN
+   * @example ORIGIN
+   */
+  limitDirection?: 'ORIGIN' | 'TARGET';
+  /**
+   * Limit the number of attacks per origin/target (refer to `limitDirection` parameter) location.
+   *
+   * @example 10
+   */
+  limitPerLocation?: number;
+  /**
+   * Normalization method applied. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/).
+   *
+   * @default PERCENTAGE
+   * @example PERCENTAGE
+   */
+  normalization?: 'PERCENTAGE' | 'MIN_MAX';
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer3TopAttacksError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetAttacksLayer3TopAttacksResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example FR
+       */
+      originCountryAlpha2: string;
+      /**
+       * @example France
+       */
+      originCountryName: string;
+      /**
+       * @example 4.323214
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer3TopAttacksVariables = {
+  queryParams?: RadarGetAttacksLayer3TopAttacksQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the top attacks from origin to target location. Values are a percentage out of the total layer 3 attacks (with billing country). You can optionally limit the number of attacks per origin/target location (useful if all the top attacks are from or to the same location).
+ */
+export const radarGetAttacksLayer3TopAttacks = (
+  variables: RadarGetAttacksLayer3TopAttacksVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer3TopAttacksResponse,
+    RadarGetAttacksLayer3TopAttacksError,
+    undefined,
+    {},
+    RadarGetAttacksLayer3TopAttacksQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer3/top/attacks', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer3TopIndustriesQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Array of L3/4 attack types.
+   */
+  protocol?: ('UDP' | 'TCP' | 'ICMP' | 'GRE')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer3TopIndustriesError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetAttacksLayer3TopIndustriesResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example Computer Software
+       */
+      name: string;
+      /**
+       * @example 65
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer3TopIndustriesVariables = {
+  queryParams?: RadarGetAttacksLayer3TopIndustriesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the industries targeted by attacks.
+ */
+export const radarGetAttacksLayer3TopIndustries = (
+  variables: RadarGetAttacksLayer3TopIndustriesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer3TopIndustriesResponse,
+    RadarGetAttacksLayer3TopIndustriesError,
+    undefined,
+    {},
+    RadarGetAttacksLayer3TopIndustriesQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer3/top/industry', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer3TopOriginLocationsQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Array of L3/4 attack types.
+   */
+  protocol?: ('UDP' | 'TCP' | 'ICMP' | 'GRE')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer3TopOriginLocationsError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetAttacksLayer3TopOriginLocationsResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example FR
+       */
+      originCountryAlpha2: string;
+      /**
+       * @example France
+       */
+      originCountryName: string;
+      /**
+       * @example 1
+       */
+      rank: number;
+      /**
+       * @example 4.323214
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer3TopOriginLocationsVariables = {
+  queryParams?: RadarGetAttacksLayer3TopOriginLocationsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the origin locations of attacks.
+ */
+export const radarGetAttacksLayer3TopOriginLocations = (
+  variables: RadarGetAttacksLayer3TopOriginLocationsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer3TopOriginLocationsResponse,
+    RadarGetAttacksLayer3TopOriginLocationsError,
+    undefined,
+    {},
+    RadarGetAttacksLayer3TopOriginLocationsQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer3/top/locations/origin', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer3TopTargetLocationsQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Array of L3/4 attack types.
+   */
+  protocol?: ('UDP' | 'TCP' | 'ICMP' | 'GRE')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer3TopTargetLocationsError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetAttacksLayer3TopTargetLocationsResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example 1
+       */
+      rank: number;
+      /**
+       * @example FR
+       */
+      targetCountryAlpha2: string;
+      /**
+       * @example France
+       */
+      targetCountryName: string;
+      /**
+       * @example 4.323214
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer3TopTargetLocationsVariables = {
+  queryParams?: RadarGetAttacksLayer3TopTargetLocationsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the target locations of attacks.
+ */
+export const radarGetAttacksLayer3TopTargetLocations = (
+  variables: RadarGetAttacksLayer3TopTargetLocationsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer3TopTargetLocationsResponse,
+    RadarGetAttacksLayer3TopTargetLocationsError,
+    undefined,
+    {},
+    RadarGetAttacksLayer3TopTargetLocationsQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer3/top/locations/target', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer3TopVerticalsQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Array of L3/4 attack types.
+   */
+  protocol?: ('UDP' | 'TCP' | 'ICMP' | 'GRE')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer3TopVerticalsError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetAttacksLayer3TopVerticalsResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example Internet and Telecom
+       */
+      name: string;
+      /**
+       * @example 65
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer3TopVerticalsVariables = {
+  queryParams?: RadarGetAttacksLayer3TopVerticalsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the verticals targeted by attacks.
+ */
+export const radarGetAttacksLayer3TopVerticals = (
+  variables: RadarGetAttacksLayer3TopVerticalsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer3TopVerticalsResponse,
+    RadarGetAttacksLayer3TopVerticalsError,
+    undefined,
+    {},
+    RadarGetAttacksLayer3TopVerticalsQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer3/top/vertical', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer7SummaryQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer7SummaryError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetAttacksLayer7SummaryResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+    };
+    summary_0: {
+      /**
+       * @example 0.9
+       */
+      ACCESS_RULES: string;
+      /**
+       * @example 0.9
+       */
+      API_SHIELD: string;
+      /**
+       * @example 0.9
+       */
+      BOT_MANAGEMENT: string;
+      /**
+       * @example 0.9
+       */
+      DATA_LOSS_PREVENTION: string;
+      /**
+       * @example 34
+       */
+      DDOS: string;
+      /**
+       * @example 0.1
+       */
+      IP_REPUTATION: string;
+      /**
+       * @example 65
+       */
+      WAF: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer7SummaryVariables = {
+  queryParams?: RadarGetAttacksLayer7SummaryQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of mitigation techniques in Layer 7 attacks.
+ */
+export const radarGetAttacksLayer7Summary = (variables: RadarGetAttacksLayer7SummaryVariables, signal?: AbortSignal) =>
+  fetch<
+    RadarGetAttacksLayer7SummaryResponse,
+    RadarGetAttacksLayer7SummaryError,
+    undefined,
+    {},
+    RadarGetAttacksLayer7SummaryQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer7/summary', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer7SummaryByHttpMethodQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Array of L7 mitigation products.
+   */
+  mitigationProduct?: (
+    | 'DDOS'
+    | 'WAF'
+    | 'BOT_MANAGEMENT'
+    | 'ACCESS_RULES'
+    | 'IP_REPUTATION'
+    | 'API_SHIELD'
+    | 'DATA_LOSS_PREVENTION'
+  )[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer7SummaryByHttpMethodError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetAttacksLayer7SummaryByHttpMethodResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 99.100257
+       */
+      GET: string;
+      /**
+       * @example 0.899743
+       */
+      POST: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer7SummaryByHttpMethodVariables = {
+  queryParams?: RadarGetAttacksLayer7SummaryByHttpMethodQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of attacks by http method used.
+ */
+export const radarGetAttacksLayer7SummaryByHttpMethod = (
+  variables: RadarGetAttacksLayer7SummaryByHttpMethodVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer7SummaryByHttpMethodResponse,
+    RadarGetAttacksLayer7SummaryByHttpMethodError,
+    undefined,
+    {},
+    RadarGetAttacksLayer7SummaryByHttpMethodQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer7/summary/http_method', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer7SummaryByHttpVersionQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for http method.
+   *
+   * @example GET
+   */
+  httpMethod?: (
+    | 'GET'
+    | 'POST'
+    | 'DELETE'
+    | 'PUT'
+    | 'HEAD'
+    | 'PURGE'
+    | 'OPTIONS'
+    | 'PROPFIND'
+    | 'MKCOL'
+    | 'PATCH'
+    | 'ACL'
+    | 'BCOPY'
+    | 'BDELETE'
+    | 'BMOVE'
+    | 'BPROPFIND'
+    | 'BPROPPATCH'
+    | 'CHECKIN'
+    | 'CHECKOUT'
+    | 'CONNECT'
+    | 'COPY'
+    | 'LABEL'
+    | 'LOCK'
+    | 'MERGE'
+    | 'MKACTIVITY'
+    | 'MKWORKSPACE'
+    | 'MOVE'
+    | 'NOTIFY'
+    | 'ORDERPATCH'
+    | 'POLL'
+    | 'PROPPATCH'
+    | 'REPORT'
+    | 'SEARCH'
+    | 'SUBSCRIBE'
+    | 'TRACE'
+    | 'UNCHECKOUT'
+    | 'UNLOCK'
+    | 'UNSUBSCRIBE'
+    | 'UPDATE'
+    | 'VERSIONCONTROL'
+    | 'BASELINECONTROL'
+    | 'XMSENUMATTS'
+    | 'RPC_OUT_DATA'
+    | 'RPC_IN_DATA'
+    | 'JSON'
+    | 'COOK'
+    | 'TRACK'
+  )[];
+  /**
+   * Array of L7 mitigation products.
+   */
+  mitigationProduct?: (
+    | 'DDOS'
+    | 'WAF'
+    | 'BOT_MANAGEMENT'
+    | 'ACCESS_RULES'
+    | 'IP_REPUTATION'
+    | 'API_SHIELD'
+    | 'DATA_LOSS_PREVENTION'
+  )[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer7SummaryByHttpVersionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetAttacksLayer7SummaryByHttpVersionResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 21.722365
+       */
+      ['HTTP/1.x']: string;
+      /**
+       * @example 77.056555
+       */
+      ['HTTP/2']: string;
+      /**
+       * @example 1.22108
+       */
+      ['HTTP/3']: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer7SummaryByHttpVersionVariables = {
+  queryParams?: RadarGetAttacksLayer7SummaryByHttpVersionQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of attacks by http version used.
+ */
+export const radarGetAttacksLayer7SummaryByHttpVersion = (
+  variables: RadarGetAttacksLayer7SummaryByHttpVersionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer7SummaryByHttpVersionResponse,
+    RadarGetAttacksLayer7SummaryByHttpVersionError,
+    undefined,
+    {},
+    RadarGetAttacksLayer7SummaryByHttpVersionQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer7/summary/http_version', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer7SummaryByIpVersionQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for http method.
+   *
+   * @example GET
+   */
+  httpMethod?: (
+    | 'GET'
+    | 'POST'
+    | 'DELETE'
+    | 'PUT'
+    | 'HEAD'
+    | 'PURGE'
+    | 'OPTIONS'
+    | 'PROPFIND'
+    | 'MKCOL'
+    | 'PATCH'
+    | 'ACL'
+    | 'BCOPY'
+    | 'BDELETE'
+    | 'BMOVE'
+    | 'BPROPFIND'
+    | 'BPROPPATCH'
+    | 'CHECKIN'
+    | 'CHECKOUT'
+    | 'CONNECT'
+    | 'COPY'
+    | 'LABEL'
+    | 'LOCK'
+    | 'MERGE'
+    | 'MKACTIVITY'
+    | 'MKWORKSPACE'
+    | 'MOVE'
+    | 'NOTIFY'
+    | 'ORDERPATCH'
+    | 'POLL'
+    | 'PROPPATCH'
+    | 'REPORT'
+    | 'SEARCH'
+    | 'SUBSCRIBE'
+    | 'TRACE'
+    | 'UNCHECKOUT'
+    | 'UNLOCK'
+    | 'UNSUBSCRIBE'
+    | 'UPDATE'
+    | 'VERSIONCONTROL'
+    | 'BASELINECONTROL'
+    | 'XMSENUMATTS'
+    | 'RPC_OUT_DATA'
+    | 'RPC_IN_DATA'
+    | 'JSON'
+    | 'COOK'
+    | 'TRACK'
+  )[];
+  /**
+   * Array of L7 mitigation products.
+   */
+  mitigationProduct?: (
+    | 'DDOS'
+    | 'WAF'
+    | 'BOT_MANAGEMENT'
+    | 'ACCESS_RULES'
+    | 'IP_REPUTATION'
+    | 'API_SHIELD'
+    | 'DATA_LOSS_PREVENTION'
+  )[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer7SummaryByIpVersionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetAttacksLayer7SummaryByIpVersionResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 99.935733
+       */
+      IPv4: string;
+      /**
+       * @example 0.064267
+       */
+      IPv6: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer7SummaryByIpVersionVariables = {
+  queryParams?: RadarGetAttacksLayer7SummaryByIpVersionQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of attacks by ip version used.
+ */
+export const radarGetAttacksLayer7SummaryByIpVersion = (
+  variables: RadarGetAttacksLayer7SummaryByIpVersionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer7SummaryByIpVersionResponse,
+    RadarGetAttacksLayer7SummaryByIpVersionError,
+    undefined,
+    {},
+    RadarGetAttacksLayer7SummaryByIpVersionQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer7/summary/ip_version', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer7SummaryByManagedRulesQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for http method.
+   *
+   * @example GET
+   */
+  httpMethod?: (
+    | 'GET'
+    | 'POST'
+    | 'DELETE'
+    | 'PUT'
+    | 'HEAD'
+    | 'PURGE'
+    | 'OPTIONS'
+    | 'PROPFIND'
+    | 'MKCOL'
+    | 'PATCH'
+    | 'ACL'
+    | 'BCOPY'
+    | 'BDELETE'
+    | 'BMOVE'
+    | 'BPROPFIND'
+    | 'BPROPPATCH'
+    | 'CHECKIN'
+    | 'CHECKOUT'
+    | 'CONNECT'
+    | 'COPY'
+    | 'LABEL'
+    | 'LOCK'
+    | 'MERGE'
+    | 'MKACTIVITY'
+    | 'MKWORKSPACE'
+    | 'MOVE'
+    | 'NOTIFY'
+    | 'ORDERPATCH'
+    | 'POLL'
+    | 'PROPPATCH'
+    | 'REPORT'
+    | 'SEARCH'
+    | 'SUBSCRIBE'
+    | 'TRACE'
+    | 'UNCHECKOUT'
+    | 'UNLOCK'
+    | 'UNSUBSCRIBE'
+    | 'UPDATE'
+    | 'VERSIONCONTROL'
+    | 'BASELINECONTROL'
+    | 'XMSENUMATTS'
+    | 'RPC_OUT_DATA'
+    | 'RPC_IN_DATA'
+    | 'JSON'
+    | 'COOK'
+    | 'TRACK'
+  )[];
+  /**
+   * Array of L7 mitigation products.
+   */
+  mitigationProduct?: (
+    | 'DDOS'
+    | 'WAF'
+    | 'BOT_MANAGEMENT'
+    | 'ACCESS_RULES'
+    | 'IP_REPUTATION'
+    | 'API_SHIELD'
+    | 'DATA_LOSS_PREVENTION'
+  )[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer7SummaryByManagedRulesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetAttacksLayer7SummaryByManagedRulesResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    /**
+     * @example {"Bot":"14.285714","HTTP Anomaly":"85.714286"}
+     */
+    summary_0: {
+      [key: string]: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer7SummaryByManagedRulesVariables = {
+  queryParams?: RadarGetAttacksLayer7SummaryByManagedRulesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of attacks by managed rules used.
+ */
+export const radarGetAttacksLayer7SummaryByManagedRules = (
+  variables: RadarGetAttacksLayer7SummaryByManagedRulesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer7SummaryByManagedRulesResponse,
+    RadarGetAttacksLayer7SummaryByManagedRulesError,
+    undefined,
+    {},
+    RadarGetAttacksLayer7SummaryByManagedRulesQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer7/summary/managed_rules', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer7SummaryByMitigationProductQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for http method.
+   *
+   * @example GET
+   */
+  httpMethod?: (
+    | 'GET'
+    | 'POST'
+    | 'DELETE'
+    | 'PUT'
+    | 'HEAD'
+    | 'PURGE'
+    | 'OPTIONS'
+    | 'PROPFIND'
+    | 'MKCOL'
+    | 'PATCH'
+    | 'ACL'
+    | 'BCOPY'
+    | 'BDELETE'
+    | 'BMOVE'
+    | 'BPROPFIND'
+    | 'BPROPPATCH'
+    | 'CHECKIN'
+    | 'CHECKOUT'
+    | 'CONNECT'
+    | 'COPY'
+    | 'LABEL'
+    | 'LOCK'
+    | 'MERGE'
+    | 'MKACTIVITY'
+    | 'MKWORKSPACE'
+    | 'MOVE'
+    | 'NOTIFY'
+    | 'ORDERPATCH'
+    | 'POLL'
+    | 'PROPPATCH'
+    | 'REPORT'
+    | 'SEARCH'
+    | 'SUBSCRIBE'
+    | 'TRACE'
+    | 'UNCHECKOUT'
+    | 'UNLOCK'
+    | 'UNSUBSCRIBE'
+    | 'UPDATE'
+    | 'VERSIONCONTROL'
+    | 'BASELINECONTROL'
+    | 'XMSENUMATTS'
+    | 'RPC_OUT_DATA'
+    | 'RPC_IN_DATA'
+    | 'JSON'
+    | 'COOK'
+    | 'TRACK'
+  )[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer7SummaryByMitigationProductError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetAttacksLayer7SummaryByMitigationProductResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 24.421594
+       */
+      DDOS: string;
+      /**
+       * @example 53.213368
+       */
+      WAF: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer7SummaryByMitigationProductVariables = {
+  queryParams?: RadarGetAttacksLayer7SummaryByMitigationProductQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of attacks by mitigation product used.
+ */
+export const radarGetAttacksLayer7SummaryByMitigationProduct = (
+  variables: RadarGetAttacksLayer7SummaryByMitigationProductVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer7SummaryByMitigationProductResponse,
+    RadarGetAttacksLayer7SummaryByMitigationProductError,
+    undefined,
+    {},
+    RadarGetAttacksLayer7SummaryByMitigationProductQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer7/summary/mitigation_product', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer7TimeseriesQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * This field is deprecated, please use the new `mitigationProduct`.
+   *
+   * @deprecated true
+   */
+  attack?: (
+    | 'DDOS'
+    | 'WAF'
+    | 'BOT_MANAGEMENT'
+    | 'ACCESS_RULES'
+    | 'IP_REPUTATION'
+    | 'API_SHIELD'
+    | 'DATA_LOSS_PREVENTION'
+  )[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Normalization method applied. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/).
+   *
+   * @example MIN0_MAX
+   */
+  normalization?: 'PERCENTAGE_CHANGE' | 'MIN0_MAX';
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for http method.
+   *
+   * @example GET
+   */
+  httpMethod?: (
+    | 'GET'
+    | 'POST'
+    | 'DELETE'
+    | 'PUT'
+    | 'HEAD'
+    | 'PURGE'
+    | 'OPTIONS'
+    | 'PROPFIND'
+    | 'MKCOL'
+    | 'PATCH'
+    | 'ACL'
+    | 'BCOPY'
+    | 'BDELETE'
+    | 'BMOVE'
+    | 'BPROPFIND'
+    | 'BPROPPATCH'
+    | 'CHECKIN'
+    | 'CHECKOUT'
+    | 'CONNECT'
+    | 'COPY'
+    | 'LABEL'
+    | 'LOCK'
+    | 'MERGE'
+    | 'MKACTIVITY'
+    | 'MKWORKSPACE'
+    | 'MOVE'
+    | 'NOTIFY'
+    | 'ORDERPATCH'
+    | 'POLL'
+    | 'PROPPATCH'
+    | 'REPORT'
+    | 'SEARCH'
+    | 'SUBSCRIBE'
+    | 'TRACE'
+    | 'UNCHECKOUT'
+    | 'UNLOCK'
+    | 'UNSUBSCRIBE'
+    | 'UPDATE'
+    | 'VERSIONCONTROL'
+    | 'BASELINECONTROL'
+    | 'XMSENUMATTS'
+    | 'RPC_OUT_DATA'
+    | 'RPC_IN_DATA'
+    | 'JSON'
+    | 'COOK'
+    | 'TRACK'
+  )[];
+  /**
+   * Array of L7 mitigation products.
+   */
+  mitigationProduct?: (
+    | 'DDOS'
+    | 'WAF'
+    | 'BOT_MANAGEMENT'
+    | 'ACCESS_RULES'
+    | 'IP_REPUTATION'
+    | 'API_SHIELD'
+    | 'DATA_LOSS_PREVENTION'
+  )[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer7TimeseriesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetAttacksLayer7TimeseriesResponse = {
+  result: {
+    meta: {
+      /**
+       * @example 1h
+       */
+      aggInterval: string;
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @format date-time
+       */
+      lastUpdated: string;
+    };
+    serie_0: {
+      timestamps: string[];
+      values: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer7TimeseriesVariables = {
+  queryParams?: RadarGetAttacksLayer7TimeseriesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a timeseries of Layer 7 attacks. Values represent HTTP requests and are normalized using min-max by default.
+ */
+export const radarGetAttacksLayer7Timeseries = (
+  variables: RadarGetAttacksLayer7TimeseriesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer7TimeseriesResponse,
+    RadarGetAttacksLayer7TimeseriesError,
+    undefined,
+    {},
+    RadarGetAttacksLayer7TimeseriesQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer7/timeseries', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer7TimeseriesGroupQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer7TimeseriesGroupError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetAttacksLayer7TimeseriesGroupResponse = {
+  result: {
+    meta: {
+      /**
+       * @example 1h
+       */
+      aggInterval: string;
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @format date-time
+       */
+      lastUpdated: string;
+    };
+    serie_0: {
+      ACCESS_RULES: string[];
+      API_SHIELD: string[];
+      BOT_MANAGEMENT: string[];
+      DATA_LOSS_PREVENTION: string[];
+      DDOS: string[];
+      IP_REPUTATION: string[];
+      WAF: string[];
+      timestamps: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer7TimeseriesGroupVariables = {
+  queryParams?: RadarGetAttacksLayer7TimeseriesGroupQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a time series of the distribution of mitigation techniques over time.
+ */
+export const radarGetAttacksLayer7TimeseriesGroup = (
+  variables: RadarGetAttacksLayer7TimeseriesGroupVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer7TimeseriesGroupResponse,
+    RadarGetAttacksLayer7TimeseriesGroupError,
+    undefined,
+    {},
+    RadarGetAttacksLayer7TimeseriesGroupQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer7/timeseries_groups', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer7TimeseriesGroupByHttpMethodQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Array of L7 mitigation products.
+   */
+  mitigationProduct?: (
+    | 'DDOS'
+    | 'WAF'
+    | 'BOT_MANAGEMENT'
+    | 'ACCESS_RULES'
+    | 'IP_REPUTATION'
+    | 'API_SHIELD'
+    | 'DATA_LOSS_PREVENTION'
+  )[];
+  /**
+   * Normalization method applied. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/).
+   *
+   * @default PERCENTAGE
+   * @example PERCENTAGE
+   */
+  normalization?: 'PERCENTAGE' | 'MIN0_MAX';
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer7TimeseriesGroupByHttpMethodError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetAttacksLayer7TimeseriesGroupByHttpMethodResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      GET: string[];
+      timestamps: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer7TimeseriesGroupByHttpMethodVariables = {
+  queryParams?: RadarGetAttacksLayer7TimeseriesGroupByHttpMethodQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of attacks by http method used over time.
+ */
+export const radarGetAttacksLayer7TimeseriesGroupByHttpMethod = (
+  variables: RadarGetAttacksLayer7TimeseriesGroupByHttpMethodVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer7TimeseriesGroupByHttpMethodResponse,
+    RadarGetAttacksLayer7TimeseriesGroupByHttpMethodError,
+    undefined,
+    {},
+    RadarGetAttacksLayer7TimeseriesGroupByHttpMethodQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer7/timeseries_groups/http_method', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer7TimeseriesGroupByHttpVersionQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for http method.
+   *
+   * @example GET
+   */
+  httpMethod?: (
+    | 'GET'
+    | 'POST'
+    | 'DELETE'
+    | 'PUT'
+    | 'HEAD'
+    | 'PURGE'
+    | 'OPTIONS'
+    | 'PROPFIND'
+    | 'MKCOL'
+    | 'PATCH'
+    | 'ACL'
+    | 'BCOPY'
+    | 'BDELETE'
+    | 'BMOVE'
+    | 'BPROPFIND'
+    | 'BPROPPATCH'
+    | 'CHECKIN'
+    | 'CHECKOUT'
+    | 'CONNECT'
+    | 'COPY'
+    | 'LABEL'
+    | 'LOCK'
+    | 'MERGE'
+    | 'MKACTIVITY'
+    | 'MKWORKSPACE'
+    | 'MOVE'
+    | 'NOTIFY'
+    | 'ORDERPATCH'
+    | 'POLL'
+    | 'PROPPATCH'
+    | 'REPORT'
+    | 'SEARCH'
+    | 'SUBSCRIBE'
+    | 'TRACE'
+    | 'UNCHECKOUT'
+    | 'UNLOCK'
+    | 'UNSUBSCRIBE'
+    | 'UPDATE'
+    | 'VERSIONCONTROL'
+    | 'BASELINECONTROL'
+    | 'XMSENUMATTS'
+    | 'RPC_OUT_DATA'
+    | 'RPC_IN_DATA'
+    | 'JSON'
+    | 'COOK'
+    | 'TRACK'
+  )[];
+  /**
+   * Array of L7 mitigation products.
+   */
+  mitigationProduct?: (
+    | 'DDOS'
+    | 'WAF'
+    | 'BOT_MANAGEMENT'
+    | 'ACCESS_RULES'
+    | 'IP_REPUTATION'
+    | 'API_SHIELD'
+    | 'DATA_LOSS_PREVENTION'
+  )[];
+  /**
+   * Normalization method applied. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/).
+   *
+   * @default PERCENTAGE
+   * @example PERCENTAGE
+   */
+  normalization?: 'PERCENTAGE' | 'MIN0_MAX';
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer7TimeseriesGroupByHttpVersionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetAttacksLayer7TimeseriesGroupByHttpVersionResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      ['HTTP/1.x']: string[];
+      timestamps: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer7TimeseriesGroupByHttpVersionVariables = {
+  queryParams?: RadarGetAttacksLayer7TimeseriesGroupByHttpVersionQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of attacks by http version used over time.
+ */
+export const radarGetAttacksLayer7TimeseriesGroupByHttpVersion = (
+  variables: RadarGetAttacksLayer7TimeseriesGroupByHttpVersionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer7TimeseriesGroupByHttpVersionResponse,
+    RadarGetAttacksLayer7TimeseriesGroupByHttpVersionError,
+    undefined,
+    {},
+    RadarGetAttacksLayer7TimeseriesGroupByHttpVersionQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer7/timeseries_groups/http_version', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer7TimeseriesGroupByIndustryQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for http method.
+   *
+   * @example GET
+   */
+  httpMethod?: (
+    | 'GET'
+    | 'POST'
+    | 'DELETE'
+    | 'PUT'
+    | 'HEAD'
+    | 'PURGE'
+    | 'OPTIONS'
+    | 'PROPFIND'
+    | 'MKCOL'
+    | 'PATCH'
+    | 'ACL'
+    | 'BCOPY'
+    | 'BDELETE'
+    | 'BMOVE'
+    | 'BPROPFIND'
+    | 'BPROPPATCH'
+    | 'CHECKIN'
+    | 'CHECKOUT'
+    | 'CONNECT'
+    | 'COPY'
+    | 'LABEL'
+    | 'LOCK'
+    | 'MERGE'
+    | 'MKACTIVITY'
+    | 'MKWORKSPACE'
+    | 'MOVE'
+    | 'NOTIFY'
+    | 'ORDERPATCH'
+    | 'POLL'
+    | 'PROPPATCH'
+    | 'REPORT'
+    | 'SEARCH'
+    | 'SUBSCRIBE'
+    | 'TRACE'
+    | 'UNCHECKOUT'
+    | 'UNLOCK'
+    | 'UNSUBSCRIBE'
+    | 'UPDATE'
+    | 'VERSIONCONTROL'
+    | 'BASELINECONTROL'
+    | 'XMSENUMATTS'
+    | 'RPC_OUT_DATA'
+    | 'RPC_IN_DATA'
+    | 'JSON'
+    | 'COOK'
+    | 'TRACK'
+  )[];
+  /**
+   * Array of L7 mitigation products.
+   */
+  mitigationProduct?: (
+    | 'DDOS'
+    | 'WAF'
+    | 'BOT_MANAGEMENT'
+    | 'ACCESS_RULES'
+    | 'IP_REPUTATION'
+    | 'API_SHIELD'
+    | 'DATA_LOSS_PREVENTION'
+  )[];
+  /**
+   * Normalization method applied. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/).
+   *
+   * @default PERCENTAGE
+   * @example PERCENTAGE
+   */
+  normalization?: 'PERCENTAGE' | 'MIN0_MAX';
+  /**
+   * Limit the number of objects (eg browsers, verticals, etc) to the top items over the time range.
+   *
+   * @example 4
+   */
+  limitPerGroup?: number;
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer7TimeseriesGroupByIndustryError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetAttacksLayer7TimeseriesGroupByIndustryResponse = {
+  result: {
+    meta: Record<string, any>;
+    /**
+     * @example {"Internet":["5.519081"],"timestamps":["2023-08-08T10:15:00Z"]}
+     */
+    serie_0: {
+      timestamps: string[];
+    } & {
+      [key: string]: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer7TimeseriesGroupByIndustryVariables = {
+  queryParams?: RadarGetAttacksLayer7TimeseriesGroupByIndustryQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of attacks by targeted industry over time.
+ */
+export const radarGetAttacksLayer7TimeseriesGroupByIndustry = (
+  variables: RadarGetAttacksLayer7TimeseriesGroupByIndustryVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer7TimeseriesGroupByIndustryResponse,
+    RadarGetAttacksLayer7TimeseriesGroupByIndustryError,
+    undefined,
+    {},
+    RadarGetAttacksLayer7TimeseriesGroupByIndustryQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer7/timeseries_groups/industry', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer7TimeseriesGroupByIpVersionQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for http method.
+   *
+   * @example GET
+   */
+  httpMethod?: (
+    | 'GET'
+    | 'POST'
+    | 'DELETE'
+    | 'PUT'
+    | 'HEAD'
+    | 'PURGE'
+    | 'OPTIONS'
+    | 'PROPFIND'
+    | 'MKCOL'
+    | 'PATCH'
+    | 'ACL'
+    | 'BCOPY'
+    | 'BDELETE'
+    | 'BMOVE'
+    | 'BPROPFIND'
+    | 'BPROPPATCH'
+    | 'CHECKIN'
+    | 'CHECKOUT'
+    | 'CONNECT'
+    | 'COPY'
+    | 'LABEL'
+    | 'LOCK'
+    | 'MERGE'
+    | 'MKACTIVITY'
+    | 'MKWORKSPACE'
+    | 'MOVE'
+    | 'NOTIFY'
+    | 'ORDERPATCH'
+    | 'POLL'
+    | 'PROPPATCH'
+    | 'REPORT'
+    | 'SEARCH'
+    | 'SUBSCRIBE'
+    | 'TRACE'
+    | 'UNCHECKOUT'
+    | 'UNLOCK'
+    | 'UNSUBSCRIBE'
+    | 'UPDATE'
+    | 'VERSIONCONTROL'
+    | 'BASELINECONTROL'
+    | 'XMSENUMATTS'
+    | 'RPC_OUT_DATA'
+    | 'RPC_IN_DATA'
+    | 'JSON'
+    | 'COOK'
+    | 'TRACK'
+  )[];
+  /**
+   * Array of L7 mitigation products.
+   */
+  mitigationProduct?: (
+    | 'DDOS'
+    | 'WAF'
+    | 'BOT_MANAGEMENT'
+    | 'ACCESS_RULES'
+    | 'IP_REPUTATION'
+    | 'API_SHIELD'
+    | 'DATA_LOSS_PREVENTION'
+  )[];
+  /**
+   * Normalization method applied. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/).
+   *
+   * @default PERCENTAGE
+   * @example PERCENTAGE
+   */
+  normalization?: 'PERCENTAGE' | 'MIN0_MAX';
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer7TimeseriesGroupByIpVersionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetAttacksLayer7TimeseriesGroupByIpVersionResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      IPv4: string[];
+      IPv6: string[];
+      timestamps: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer7TimeseriesGroupByIpVersionVariables = {
+  queryParams?: RadarGetAttacksLayer7TimeseriesGroupByIpVersionQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of attacks by ip version used over time.
+ */
+export const radarGetAttacksLayer7TimeseriesGroupByIpVersion = (
+  variables: RadarGetAttacksLayer7TimeseriesGroupByIpVersionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer7TimeseriesGroupByIpVersionResponse,
+    RadarGetAttacksLayer7TimeseriesGroupByIpVersionError,
+    undefined,
+    {},
+    RadarGetAttacksLayer7TimeseriesGroupByIpVersionQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer7/timeseries_groups/ip_version', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer7TimeseriesGroupByManagedRulesQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for http method.
+   *
+   * @example GET
+   */
+  httpMethod?: (
+    | 'GET'
+    | 'POST'
+    | 'DELETE'
+    | 'PUT'
+    | 'HEAD'
+    | 'PURGE'
+    | 'OPTIONS'
+    | 'PROPFIND'
+    | 'MKCOL'
+    | 'PATCH'
+    | 'ACL'
+    | 'BCOPY'
+    | 'BDELETE'
+    | 'BMOVE'
+    | 'BPROPFIND'
+    | 'BPROPPATCH'
+    | 'CHECKIN'
+    | 'CHECKOUT'
+    | 'CONNECT'
+    | 'COPY'
+    | 'LABEL'
+    | 'LOCK'
+    | 'MERGE'
+    | 'MKACTIVITY'
+    | 'MKWORKSPACE'
+    | 'MOVE'
+    | 'NOTIFY'
+    | 'ORDERPATCH'
+    | 'POLL'
+    | 'PROPPATCH'
+    | 'REPORT'
+    | 'SEARCH'
+    | 'SUBSCRIBE'
+    | 'TRACE'
+    | 'UNCHECKOUT'
+    | 'UNLOCK'
+    | 'UNSUBSCRIBE'
+    | 'UPDATE'
+    | 'VERSIONCONTROL'
+    | 'BASELINECONTROL'
+    | 'XMSENUMATTS'
+    | 'RPC_OUT_DATA'
+    | 'RPC_IN_DATA'
+    | 'JSON'
+    | 'COOK'
+    | 'TRACK'
+  )[];
+  /**
+   * Array of L7 mitigation products.
+   */
+  mitigationProduct?: (
+    | 'DDOS'
+    | 'WAF'
+    | 'BOT_MANAGEMENT'
+    | 'ACCESS_RULES'
+    | 'IP_REPUTATION'
+    | 'API_SHIELD'
+    | 'DATA_LOSS_PREVENTION'
+  )[];
+  /**
+   * Normalization method applied. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/).
+   *
+   * @default PERCENTAGE
+   * @example PERCENTAGE
+   */
+  normalization?: 'PERCENTAGE' | 'MIN0_MAX';
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer7TimeseriesGroupByManagedRulesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetAttacksLayer7TimeseriesGroupByManagedRulesResponse = {
+  result: {
+    meta: Record<string, any>;
+    /**
+     * @example {"Bot":["0.324198"],"timestamps":["2023-10-01T00:00:00Z"]}
+     */
+    serie_0: {
+      timestamps: string[];
+    } & {
+      [key: string]: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer7TimeseriesGroupByManagedRulesVariables = {
+  queryParams?: RadarGetAttacksLayer7TimeseriesGroupByManagedRulesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of attacks by managed rules used over time.
+ */
+export const radarGetAttacksLayer7TimeseriesGroupByManagedRules = (
+  variables: RadarGetAttacksLayer7TimeseriesGroupByManagedRulesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer7TimeseriesGroupByManagedRulesResponse,
+    RadarGetAttacksLayer7TimeseriesGroupByManagedRulesError,
+    undefined,
+    {},
+    RadarGetAttacksLayer7TimeseriesGroupByManagedRulesQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer7/timeseries_groups/managed_rules', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer7TimeseriesGroupByMitigationProductQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for http method.
+   *
+   * @example GET
+   */
+  httpMethod?: (
+    | 'GET'
+    | 'POST'
+    | 'DELETE'
+    | 'PUT'
+    | 'HEAD'
+    | 'PURGE'
+    | 'OPTIONS'
+    | 'PROPFIND'
+    | 'MKCOL'
+    | 'PATCH'
+    | 'ACL'
+    | 'BCOPY'
+    | 'BDELETE'
+    | 'BMOVE'
+    | 'BPROPFIND'
+    | 'BPROPPATCH'
+    | 'CHECKIN'
+    | 'CHECKOUT'
+    | 'CONNECT'
+    | 'COPY'
+    | 'LABEL'
+    | 'LOCK'
+    | 'MERGE'
+    | 'MKACTIVITY'
+    | 'MKWORKSPACE'
+    | 'MOVE'
+    | 'NOTIFY'
+    | 'ORDERPATCH'
+    | 'POLL'
+    | 'PROPPATCH'
+    | 'REPORT'
+    | 'SEARCH'
+    | 'SUBSCRIBE'
+    | 'TRACE'
+    | 'UNCHECKOUT'
+    | 'UNLOCK'
+    | 'UNSUBSCRIBE'
+    | 'UPDATE'
+    | 'VERSIONCONTROL'
+    | 'BASELINECONTROL'
+    | 'XMSENUMATTS'
+    | 'RPC_OUT_DATA'
+    | 'RPC_IN_DATA'
+    | 'JSON'
+    | 'COOK'
+    | 'TRACK'
+  )[];
+  /**
+   * Normalization method applied. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/).
+   *
+   * @default PERCENTAGE
+   * @example PERCENTAGE
+   */
+  normalization?: 'PERCENTAGE' | 'MIN0_MAX';
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer7TimeseriesGroupByMitigationProductError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetAttacksLayer7TimeseriesGroupByMitigationProductResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      DDOS: string[];
+      timestamps: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer7TimeseriesGroupByMitigationProductVariables = {
+  queryParams?: RadarGetAttacksLayer7TimeseriesGroupByMitigationProductQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of attacks by mitigation product used over time.
+ */
+export const radarGetAttacksLayer7TimeseriesGroupByMitigationProduct = (
+  variables: RadarGetAttacksLayer7TimeseriesGroupByMitigationProductVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer7TimeseriesGroupByMitigationProductResponse,
+    RadarGetAttacksLayer7TimeseriesGroupByMitigationProductError,
+    undefined,
+    {},
+    RadarGetAttacksLayer7TimeseriesGroupByMitigationProductQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer7/timeseries_groups/mitigation_product', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer7TimeseriesGroupByVerticalQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for http method.
+   *
+   * @example GET
+   */
+  httpMethod?: (
+    | 'GET'
+    | 'POST'
+    | 'DELETE'
+    | 'PUT'
+    | 'HEAD'
+    | 'PURGE'
+    | 'OPTIONS'
+    | 'PROPFIND'
+    | 'MKCOL'
+    | 'PATCH'
+    | 'ACL'
+    | 'BCOPY'
+    | 'BDELETE'
+    | 'BMOVE'
+    | 'BPROPFIND'
+    | 'BPROPPATCH'
+    | 'CHECKIN'
+    | 'CHECKOUT'
+    | 'CONNECT'
+    | 'COPY'
+    | 'LABEL'
+    | 'LOCK'
+    | 'MERGE'
+    | 'MKACTIVITY'
+    | 'MKWORKSPACE'
+    | 'MOVE'
+    | 'NOTIFY'
+    | 'ORDERPATCH'
+    | 'POLL'
+    | 'PROPPATCH'
+    | 'REPORT'
+    | 'SEARCH'
+    | 'SUBSCRIBE'
+    | 'TRACE'
+    | 'UNCHECKOUT'
+    | 'UNLOCK'
+    | 'UNSUBSCRIBE'
+    | 'UPDATE'
+    | 'VERSIONCONTROL'
+    | 'BASELINECONTROL'
+    | 'XMSENUMATTS'
+    | 'RPC_OUT_DATA'
+    | 'RPC_IN_DATA'
+    | 'JSON'
+    | 'COOK'
+    | 'TRACK'
+  )[];
+  /**
+   * Array of L7 mitigation products.
+   */
+  mitigationProduct?: (
+    | 'DDOS'
+    | 'WAF'
+    | 'BOT_MANAGEMENT'
+    | 'ACCESS_RULES'
+    | 'IP_REPUTATION'
+    | 'API_SHIELD'
+    | 'DATA_LOSS_PREVENTION'
+  )[];
+  /**
+   * Normalization method applied. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/).
+   *
+   * @default PERCENTAGE
+   * @example PERCENTAGE
+   */
+  normalization?: 'PERCENTAGE' | 'MIN0_MAX';
+  /**
+   * Limit the number of objects (eg browsers, verticals, etc) to the top items over the time range.
+   *
+   * @example 4
+   */
+  limitPerGroup?: number;
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer7TimeseriesGroupByVerticalError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetAttacksLayer7TimeseriesGroupByVerticalResponse = {
+  result: {
+    meta: Record<string, any>;
+    /**
+     * @example {"Internet and Telecom":["5.519081"],"timestamps":["2023-08-08T10:15:00Z"]}
+     */
+    serie_0: {
+      timestamps: string[];
+    } & {
+      [key: string]: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer7TimeseriesGroupByVerticalVariables = {
+  queryParams?: RadarGetAttacksLayer7TimeseriesGroupByVerticalQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of attacks by targeted vertical over time.
+ */
+export const radarGetAttacksLayer7TimeseriesGroupByVertical = (
+  variables: RadarGetAttacksLayer7TimeseriesGroupByVerticalVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer7TimeseriesGroupByVerticalResponse,
+    RadarGetAttacksLayer7TimeseriesGroupByVerticalError,
+    undefined,
+    {},
+    RadarGetAttacksLayer7TimeseriesGroupByVerticalQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer7/timeseries_groups/vertical', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer7TopOriginAsQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for http method.
+   *
+   * @example GET
+   */
+  httpMethod?: (
+    | 'GET'
+    | 'POST'
+    | 'DELETE'
+    | 'PUT'
+    | 'HEAD'
+    | 'PURGE'
+    | 'OPTIONS'
+    | 'PROPFIND'
+    | 'MKCOL'
+    | 'PATCH'
+    | 'ACL'
+    | 'BCOPY'
+    | 'BDELETE'
+    | 'BMOVE'
+    | 'BPROPFIND'
+    | 'BPROPPATCH'
+    | 'CHECKIN'
+    | 'CHECKOUT'
+    | 'CONNECT'
+    | 'COPY'
+    | 'LABEL'
+    | 'LOCK'
+    | 'MERGE'
+    | 'MKACTIVITY'
+    | 'MKWORKSPACE'
+    | 'MOVE'
+    | 'NOTIFY'
+    | 'ORDERPATCH'
+    | 'POLL'
+    | 'PROPPATCH'
+    | 'REPORT'
+    | 'SEARCH'
+    | 'SUBSCRIBE'
+    | 'TRACE'
+    | 'UNCHECKOUT'
+    | 'UNLOCK'
+    | 'UNSUBSCRIBE'
+    | 'UPDATE'
+    | 'VERSIONCONTROL'
+    | 'BASELINECONTROL'
+    | 'XMSENUMATTS'
+    | 'RPC_OUT_DATA'
+    | 'RPC_IN_DATA'
+    | 'JSON'
+    | 'COOK'
+    | 'TRACK'
+  )[];
+  /**
+   * Array of L7 mitigation products.
+   */
+  mitigationProduct?: (
+    | 'DDOS'
+    | 'WAF'
+    | 'BOT_MANAGEMENT'
+    | 'ACCESS_RULES'
+    | 'IP_REPUTATION'
+    | 'API_SHIELD'
+    | 'DATA_LOSS_PREVENTION'
+  )[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer7TopOriginAsError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetAttacksLayer7TopOriginAsResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example 55836
+       */
+      originAsn: string;
+      /**
+       * @example RELIANCEJIO-IN Reliance Jio Infocomm Limited
+       */
+      originAsnName: string;
+      /**
+       * @example 1
+       */
+      rank: number;
+      /**
+       * @example 4.323214
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer7TopOriginAsVariables = {
+  queryParams?: RadarGetAttacksLayer7TopOriginAsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the top origin Autonomous Systems of and by Layer 7 attacks. Values are a percentage out of the total Layer 7 attacks. The origin Autonomous Systems is determined by the client IP address.
+ */
+export const radarGetAttacksLayer7TopOriginAs = (
+  variables: RadarGetAttacksLayer7TopOriginAsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer7TopOriginAsResponse,
+    RadarGetAttacksLayer7TopOriginAsError,
+    undefined,
+    {},
+    RadarGetAttacksLayer7TopOriginAsQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer7/top/ases/origin', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer7TopAttacksQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for http method.
+   *
+   * @example GET
+   */
+  httpMethod?: (
+    | 'GET'
+    | 'POST'
+    | 'DELETE'
+    | 'PUT'
+    | 'HEAD'
+    | 'PURGE'
+    | 'OPTIONS'
+    | 'PROPFIND'
+    | 'MKCOL'
+    | 'PATCH'
+    | 'ACL'
+    | 'BCOPY'
+    | 'BDELETE'
+    | 'BMOVE'
+    | 'BPROPFIND'
+    | 'BPROPPATCH'
+    | 'CHECKIN'
+    | 'CHECKOUT'
+    | 'CONNECT'
+    | 'COPY'
+    | 'LABEL'
+    | 'LOCK'
+    | 'MERGE'
+    | 'MKACTIVITY'
+    | 'MKWORKSPACE'
+    | 'MOVE'
+    | 'NOTIFY'
+    | 'ORDERPATCH'
+    | 'POLL'
+    | 'PROPPATCH'
+    | 'REPORT'
+    | 'SEARCH'
+    | 'SUBSCRIBE'
+    | 'TRACE'
+    | 'UNCHECKOUT'
+    | 'UNLOCK'
+    | 'UNSUBSCRIBE'
+    | 'UPDATE'
+    | 'VERSIONCONTROL'
+    | 'BASELINECONTROL'
+    | 'XMSENUMATTS'
+    | 'RPC_OUT_DATA'
+    | 'RPC_IN_DATA'
+    | 'JSON'
+    | 'COOK'
+    | 'TRACK'
+  )[];
+  /**
+   * Array of L7 mitigation products.
+   */
+  mitigationProduct?: (
+    | 'DDOS'
+    | 'WAF'
+    | 'BOT_MANAGEMENT'
+    | 'ACCESS_RULES'
+    | 'IP_REPUTATION'
+    | 'API_SHIELD'
+    | 'DATA_LOSS_PREVENTION'
+  )[];
+  /**
+   * Array of attack origin/target location attack limits. Together with `limitPerLocation`, limits how many objects will be fetched per origin/target location.
+   *
+   * @default ORIGIN
+   * @example ORIGIN
+   */
+  limitDirection?: 'ORIGIN' | 'TARGET';
+  /**
+   * Limit the number of attacks per origin/target (refer to `limitDirection` parameter) location.
+   *
+   * @example 10
+   */
+  limitPerLocation?: number;
+  /**
+   * Attack magnitude can be defined by total requests mitigated or by total zones attacked.
+   *
+   * @example MITIGATED_REQUESTS
+   */
+  magnitude?: 'AFFECTED_ZONES' | 'MITIGATED_REQUESTS';
+  /**
+   * Normalization method applied. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/).
+   *
+   * @default PERCENTAGE
+   * @example PERCENTAGE
+   */
+  normalization?: 'PERCENTAGE' | 'MIN_MAX';
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer7TopAttacksError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetAttacksLayer7TopAttacksResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example US
+       */
+      originCountryAlpha2: string;
+      /**
+       * @example United States
+       */
+      originCountryName: string;
+      /**
+       * @example FR
+       */
+      targetCountryAlpha2: string;
+      /**
+       * @example France
+       */
+      targetCountryName: string;
+      /**
+       * @example 4.323214
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer7TopAttacksVariables = {
+  queryParams?: RadarGetAttacksLayer7TopAttacksQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the top attacks from origin to target location. Values are a percentage out of the total Layer 7 attacks (with billing country). The attack magnitude can be defined by the number of mitigated requests or by the number of zones affected. You can optionally limit the number of attacks by origin/target location (useful if all the top attacks are from or to the same location).
+ */
+export const radarGetAttacksLayer7TopAttacks = (
+  variables: RadarGetAttacksLayer7TopAttacksVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer7TopAttacksResponse,
+    RadarGetAttacksLayer7TopAttacksError,
+    undefined,
+    {},
+    RadarGetAttacksLayer7TopAttacksQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer7/top/attacks', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer7TopIndustriesQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for http method.
+   *
+   * @example GET
+   */
+  httpMethod?: (
+    | 'GET'
+    | 'POST'
+    | 'DELETE'
+    | 'PUT'
+    | 'HEAD'
+    | 'PURGE'
+    | 'OPTIONS'
+    | 'PROPFIND'
+    | 'MKCOL'
+    | 'PATCH'
+    | 'ACL'
+    | 'BCOPY'
+    | 'BDELETE'
+    | 'BMOVE'
+    | 'BPROPFIND'
+    | 'BPROPPATCH'
+    | 'CHECKIN'
+    | 'CHECKOUT'
+    | 'CONNECT'
+    | 'COPY'
+    | 'LABEL'
+    | 'LOCK'
+    | 'MERGE'
+    | 'MKACTIVITY'
+    | 'MKWORKSPACE'
+    | 'MOVE'
+    | 'NOTIFY'
+    | 'ORDERPATCH'
+    | 'POLL'
+    | 'PROPPATCH'
+    | 'REPORT'
+    | 'SEARCH'
+    | 'SUBSCRIBE'
+    | 'TRACE'
+    | 'UNCHECKOUT'
+    | 'UNLOCK'
+    | 'UNSUBSCRIBE'
+    | 'UPDATE'
+    | 'VERSIONCONTROL'
+    | 'BASELINECONTROL'
+    | 'XMSENUMATTS'
+    | 'RPC_OUT_DATA'
+    | 'RPC_IN_DATA'
+    | 'JSON'
+    | 'COOK'
+    | 'TRACK'
+  )[];
+  /**
+   * Array of L7 mitigation products.
+   */
+  mitigationProduct?: (
+    | 'DDOS'
+    | 'WAF'
+    | 'BOT_MANAGEMENT'
+    | 'ACCESS_RULES'
+    | 'IP_REPUTATION'
+    | 'API_SHIELD'
+    | 'DATA_LOSS_PREVENTION'
+  )[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer7TopIndustriesError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetAttacksLayer7TopIndustriesResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example Computer Software
+       */
+      name: string;
+      /**
+       * @example 65
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer7TopIndustriesVariables = {
+  queryParams?: RadarGetAttacksLayer7TopIndustriesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the industries targeted by attacks.
+ */
+export const radarGetAttacksLayer7TopIndustries = (
+  variables: RadarGetAttacksLayer7TopIndustriesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer7TopIndustriesResponse,
+    RadarGetAttacksLayer7TopIndustriesError,
+    undefined,
+    {},
+    RadarGetAttacksLayer7TopIndustriesQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer7/top/industry', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer7TopOriginLocationQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for http method.
+   *
+   * @example GET
+   */
+  httpMethod?: (
+    | 'GET'
+    | 'POST'
+    | 'DELETE'
+    | 'PUT'
+    | 'HEAD'
+    | 'PURGE'
+    | 'OPTIONS'
+    | 'PROPFIND'
+    | 'MKCOL'
+    | 'PATCH'
+    | 'ACL'
+    | 'BCOPY'
+    | 'BDELETE'
+    | 'BMOVE'
+    | 'BPROPFIND'
+    | 'BPROPPATCH'
+    | 'CHECKIN'
+    | 'CHECKOUT'
+    | 'CONNECT'
+    | 'COPY'
+    | 'LABEL'
+    | 'LOCK'
+    | 'MERGE'
+    | 'MKACTIVITY'
+    | 'MKWORKSPACE'
+    | 'MOVE'
+    | 'NOTIFY'
+    | 'ORDERPATCH'
+    | 'POLL'
+    | 'PROPPATCH'
+    | 'REPORT'
+    | 'SEARCH'
+    | 'SUBSCRIBE'
+    | 'TRACE'
+    | 'UNCHECKOUT'
+    | 'UNLOCK'
+    | 'UNSUBSCRIBE'
+    | 'UPDATE'
+    | 'VERSIONCONTROL'
+    | 'BASELINECONTROL'
+    | 'XMSENUMATTS'
+    | 'RPC_OUT_DATA'
+    | 'RPC_IN_DATA'
+    | 'JSON'
+    | 'COOK'
+    | 'TRACK'
+  )[];
+  /**
+   * Array of L7 mitigation products.
+   */
+  mitigationProduct?: (
+    | 'DDOS'
+    | 'WAF'
+    | 'BOT_MANAGEMENT'
+    | 'ACCESS_RULES'
+    | 'IP_REPUTATION'
+    | 'API_SHIELD'
+    | 'DATA_LOSS_PREVENTION'
+  )[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer7TopOriginLocationError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetAttacksLayer7TopOriginLocationResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example FR
+       */
+      originCountryAlpha2: string;
+      /**
+       * @example France
+       */
+      originCountryName: string;
+      /**
+       * @example 1
+       */
+      rank: number;
+      /**
+       * @example 4.323214
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer7TopOriginLocationVariables = {
+  queryParams?: RadarGetAttacksLayer7TopOriginLocationQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the top origin locations of and by Layer 7 attacks. Values are a percentage out of the total Layer 7 attacks. The origin location is determined by the client IP address.
+ */
+export const radarGetAttacksLayer7TopOriginLocation = (
+  variables: RadarGetAttacksLayer7TopOriginLocationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer7TopOriginLocationResponse,
+    RadarGetAttacksLayer7TopOriginLocationError,
+    undefined,
+    {},
+    RadarGetAttacksLayer7TopOriginLocationQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer7/top/locations/origin', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer7TopTargetLocationQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for http method.
+   *
+   * @example GET
+   */
+  httpMethod?: (
+    | 'GET'
+    | 'POST'
+    | 'DELETE'
+    | 'PUT'
+    | 'HEAD'
+    | 'PURGE'
+    | 'OPTIONS'
+    | 'PROPFIND'
+    | 'MKCOL'
+    | 'PATCH'
+    | 'ACL'
+    | 'BCOPY'
+    | 'BDELETE'
+    | 'BMOVE'
+    | 'BPROPFIND'
+    | 'BPROPPATCH'
+    | 'CHECKIN'
+    | 'CHECKOUT'
+    | 'CONNECT'
+    | 'COPY'
+    | 'LABEL'
+    | 'LOCK'
+    | 'MERGE'
+    | 'MKACTIVITY'
+    | 'MKWORKSPACE'
+    | 'MOVE'
+    | 'NOTIFY'
+    | 'ORDERPATCH'
+    | 'POLL'
+    | 'PROPPATCH'
+    | 'REPORT'
+    | 'SEARCH'
+    | 'SUBSCRIBE'
+    | 'TRACE'
+    | 'UNCHECKOUT'
+    | 'UNLOCK'
+    | 'UNSUBSCRIBE'
+    | 'UPDATE'
+    | 'VERSIONCONTROL'
+    | 'BASELINECONTROL'
+    | 'XMSENUMATTS'
+    | 'RPC_OUT_DATA'
+    | 'RPC_IN_DATA'
+    | 'JSON'
+    | 'COOK'
+    | 'TRACK'
+  )[];
+  /**
+   * Array of L7 mitigation products.
+   */
+  mitigationProduct?: (
+    | 'DDOS'
+    | 'WAF'
+    | 'BOT_MANAGEMENT'
+    | 'ACCESS_RULES'
+    | 'IP_REPUTATION'
+    | 'API_SHIELD'
+    | 'DATA_LOSS_PREVENTION'
+  )[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer7TopTargetLocationError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetAttacksLayer7TopTargetLocationResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example 1
+       */
+      rank: number;
+      /**
+       * @example FR
+       */
+      targetCountryAlpha2: string;
+      /**
+       * @example France
+       */
+      targetCountryName: string;
+      /**
+       * @example 4.323214
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer7TopTargetLocationVariables = {
+  queryParams?: RadarGetAttacksLayer7TopTargetLocationQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the top target locations of and by layer 7 attacks. Values are a percentage out of the total layer 7 attacks. The target location is determined by the attacked zone's billing country, when available.
+ */
+export const radarGetAttacksLayer7TopTargetLocation = (
+  variables: RadarGetAttacksLayer7TopTargetLocationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer7TopTargetLocationResponse,
+    RadarGetAttacksLayer7TopTargetLocationError,
+    undefined,
+    {},
+    RadarGetAttacksLayer7TopTargetLocationQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer7/top/locations/target', method: 'get', ...variables, signal });
+
+export type RadarGetAttacksLayer7TopVerticalsQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for http method.
+   *
+   * @example GET
+   */
+  httpMethod?: (
+    | 'GET'
+    | 'POST'
+    | 'DELETE'
+    | 'PUT'
+    | 'HEAD'
+    | 'PURGE'
+    | 'OPTIONS'
+    | 'PROPFIND'
+    | 'MKCOL'
+    | 'PATCH'
+    | 'ACL'
+    | 'BCOPY'
+    | 'BDELETE'
+    | 'BMOVE'
+    | 'BPROPFIND'
+    | 'BPROPPATCH'
+    | 'CHECKIN'
+    | 'CHECKOUT'
+    | 'CONNECT'
+    | 'COPY'
+    | 'LABEL'
+    | 'LOCK'
+    | 'MERGE'
+    | 'MKACTIVITY'
+    | 'MKWORKSPACE'
+    | 'MOVE'
+    | 'NOTIFY'
+    | 'ORDERPATCH'
+    | 'POLL'
+    | 'PROPPATCH'
+    | 'REPORT'
+    | 'SEARCH'
+    | 'SUBSCRIBE'
+    | 'TRACE'
+    | 'UNCHECKOUT'
+    | 'UNLOCK'
+    | 'UNSUBSCRIBE'
+    | 'UPDATE'
+    | 'VERSIONCONTROL'
+    | 'BASELINECONTROL'
+    | 'XMSENUMATTS'
+    | 'RPC_OUT_DATA'
+    | 'RPC_IN_DATA'
+    | 'JSON'
+    | 'COOK'
+    | 'TRACK'
+  )[];
+  /**
+   * Array of L7 mitigation products.
+   */
+  mitigationProduct?: (
+    | 'DDOS'
+    | 'WAF'
+    | 'BOT_MANAGEMENT'
+    | 'ACCESS_RULES'
+    | 'IP_REPUTATION'
+    | 'API_SHIELD'
+    | 'DATA_LOSS_PREVENTION'
+  )[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAttacksLayer7TopVerticalsError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetAttacksLayer7TopVerticalsResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example Internet and Telecom
+       */
+      name: string;
+      /**
+       * @example 65
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAttacksLayer7TopVerticalsVariables = {
+  queryParams?: RadarGetAttacksLayer7TopVerticalsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the verticals targeted by attacks.
+ */
+export const radarGetAttacksLayer7TopVerticals = (
+  variables: RadarGetAttacksLayer7TopVerticalsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetAttacksLayer7TopVerticalsResponse,
+    RadarGetAttacksLayer7TopVerticalsError,
+    undefined,
+    {},
+    RadarGetAttacksLayer7TopVerticalsQueryParams,
+    {}
+  >({ url: '/radar/attacks/layer7/top/vertical', method: 'get', ...variables, signal });
+
+export type RadarGetBgpHijacksEventsQueryParams = {
+  /**
+   * Current page number, starting from 1
+   */
+  page?: number;
+  /**
+   * Number of entries per page
+   */
+  per_page?: number;
+  /**
+   * The unique identifier of a event
+   */
+  eventId?: number;
+  /**
+   * The potential hijacker AS of a BGP hijack event
+   */
+  hijackerAsn?: number;
+  /**
+   * The potential victim AS of a BGP hijack event
+   */
+  victimAsn?: number;
+  /**
+   * The potential hijacker or victim AS of a BGP hijack event
+   */
+  involvedAsn?: number;
+  /**
+   * The country code of the potential hijacker or victim AS of a BGP hijack event
+   */
+  involvedCountry?: string;
+  /**
+   * Network prefix, IPv4 or IPv6.
+   *
+   * @example 1.1.1.0/24
+   */
+  prefix?: string;
+  /**
+   * The minimum confidence score to filter events (1-4 low, 5-7 mid, 8+ high)
+   */
+  minConfidence?: number;
+  /**
+   * The maximum confidence score to filter events (1-4 low, 5-7 mid, 8+ high)
+   */
+  maxConfidence?: number;
+  /**
+   * Shorthand date ranges for the last X days - use when you don't need specific start and end dates.
+   *
+   * @example 7d
+   * @pattern ^((([1-9]|[1-9][0-9]|[1-2][0-9][0-9]|3[0-5][0-9]|36[0-4])[d](control)?)|(([1-9]|[1-4][0-9]|5[0-2])[w](control)?))$
+   */
+  dateRange?: string;
+  /**
+   * Start of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   * @format date-time
+   */
+  dateStart?: string;
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   * @format date-time
+   */
+  dateEnd?: string;
+  /**
+   * Sort events by field
+   *
+   * @example TIME
+   */
+  sortBy?: 'ID' | 'TIME' | 'CONFIDENCE';
+  /**
+   * Sort order
+   *
+   * @example DESC
+   */
+  sortOrder?: 'ASC' | 'DESC';
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetBgpHijacksEventsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetBgpHijacksEventsResponse = {
+  result: {
+    asn_info: {
+      asn: number;
+      country_code: string;
+      org_name: string;
+    }[];
+    events: {
+      confidence_score: number;
+      duration: number;
+      event_type: number;
+      hijack_msgs_count: number;
+      hijacker_asn: number;
+      hijacker_country: string;
+      id: number;
+      is_stale: boolean;
+      max_hijack_ts: string;
+      max_msg_ts: string;
+      min_hijack_ts: string;
+      on_going_count: number;
+      peer_asns: number[];
+      peer_ip_count: number;
+      prefixes: string[];
+      tags: {
+        name: string;
+        score: number;
+      }[];
+      victim_asns: number[];
+      victim_countries: string[];
+    }[];
+    total_monitors: number;
+  };
+  result_info: {
+    count: number;
+    page: number;
+    per_page: number;
+    total_count: number;
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetBgpHijacksEventsVariables = {
+  queryParams?: RadarGetBgpHijacksEventsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the BGP hijack events. (Beta)
+ */
+export const radarGetBgpHijacksEvents = (variables: RadarGetBgpHijacksEventsVariables, signal?: AbortSignal) =>
+  fetch<
+    RadarGetBgpHijacksEventsResponse,
+    RadarGetBgpHijacksEventsError,
+    undefined,
+    {},
+    RadarGetBgpHijacksEventsQueryParams,
+    {}
+  >({ url: '/radar/bgp/hijacks/events', method: 'get', ...variables, signal });
+
+export type RadarGetBgpIpsTimeseriesQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of locations (alpha-2 country codes).
+   *
+   * @example US
+   */
+  location?: string[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Include data delay meta information
+   *
+   * @example true
+   */
+  includeDelay?: boolean;
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetBgpIpsTimeseriesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetBgpIpsTimeseriesResponse = {
+  result: {
+    meta: {
+      queries: {
+        dateRange: {
+          /**
+           * @example 2024-07-29T13:30:00Z
+           */
+          endTime: string;
+          /**
+           * @example 2024-07-28T13:30:00Z
+           */
+          startTime: string;
+        };
+        /**
+         * @example 174
+         */
+        entity: string;
+      }[];
+    };
+    serie_174: {
+      ipv4: string[];
+      ipv6: string[];
+      timestamps: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetBgpIpsTimeseriesVariables = {
+  queryParams?: RadarGetBgpIpsTimeseriesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get time series data for the announced IP space count, represented as the number of IPv4 /24s and IPv6 /48s, for a given ASN.
+ */
+export const radarGetBgpIpsTimeseries = (variables: RadarGetBgpIpsTimeseriesVariables, signal?: AbortSignal) =>
+  fetch<
+    RadarGetBgpIpsTimeseriesResponse,
+    RadarGetBgpIpsTimeseriesError,
+    undefined,
+    {},
+    RadarGetBgpIpsTimeseriesQueryParams,
+    {}
+  >({ url: '/radar/bgp/ips/timeseries', method: 'get', ...variables, signal });
+
+export type RadarGetBgpRouteLeakEventsQueryParams = {
+  /**
+   * Current page number, starting from 1
+   */
+  page?: number;
+  /**
+   * Number of entries per page
+   */
+  per_page?: number;
+  /**
+   * The unique identifier of a event
+   */
+  eventId?: number;
+  /**
+   * The leaking AS of a route leak event
+   */
+  leakAsn?: number;
+  /**
+   * ASN that is causing or affected by a route leak event
+   */
+  involvedAsn?: number;
+  /**
+   * Country code of a involved ASN in a route leak event
+   */
+  involvedCountry?: string;
+  /**
+   * Shorthand date ranges for the last X days - use when you don't need specific start and end dates.
+   *
+   * @example 7d
+   * @pattern ^((([1-9]|[1-9][0-9]|[1-2][0-9][0-9]|3[0-5][0-9]|36[0-4])[d](control)?)|(([1-9]|[1-4][0-9]|5[0-2])[w](control)?))$
+   */
+  dateRange?: string;
+  /**
+   * Start of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   * @format date-time
+   */
+  dateStart?: string;
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   * @format date-time
+   */
+  dateEnd?: string;
+  /**
+   * Sort events by field
+   *
+   * @example TIME
+   */
+  sortBy?: 'ID' | 'LEAKS' | 'PEERS' | 'PREFIXES' | 'ORIGINS' | 'TIME';
+  /**
+   * Sort order
+   *
+   * @example DESC
+   */
+  sortOrder?: 'ASC' | 'DESC';
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetBgpRouteLeakEventsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetBgpRouteLeakEventsResponse = {
+  result: {
+    asn_info: {
+      asn: number;
+      country_code: string;
+      org_name: string;
+    }[];
+    events: {
+      countries: string[];
+      detected_ts: string;
+      finished: boolean;
+      id: number;
+      leak_asn: number;
+      leak_count: number;
+      leak_seg: number[];
+      leak_type: number;
+      max_ts: string;
+      min_ts: string;
+      origin_count: number;
+      peer_count: number;
+      prefix_count: number;
+    }[];
+  };
+  result_info: {
+    count: number;
+    page: number;
+    per_page: number;
+    total_count: number;
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetBgpRouteLeakEventsVariables = {
+  queryParams?: RadarGetBgpRouteLeakEventsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the BGP route leak events (Beta).
+ */
+export const radarGetBgpRouteLeakEvents = (variables: RadarGetBgpRouteLeakEventsVariables, signal?: AbortSignal) =>
+  fetch<
+    RadarGetBgpRouteLeakEventsResponse,
+    RadarGetBgpRouteLeakEventsError,
+    undefined,
+    {},
+    RadarGetBgpRouteLeakEventsQueryParams,
+    {}
+  >({ url: '/radar/bgp/leaks/events', method: 'get', ...variables, signal });
+
+export type RadarGetBgpRoutesAsnsQueryParams = {
+  /**
+   * Location Alpha2 code.
+   *
+   * @example US
+   */
+  location?: string;
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Return order results by given type
+   *
+   * @example ipv4
+   */
+  sortBy?: 'cone' | 'pfxs' | 'ipv4' | 'ipv6' | 'rpki_valid' | 'rpki_invalid' | 'rpki_unknown';
+  /**
+   * Sort by value ascending or descending
+   *
+   * @default desc
+   * @example desc
+   */
+  sortOrder?: 'asc' | 'desc';
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetBgpRoutesAsnsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetBgpRoutesAsnsResponse = {
+  result: {
+    asns: {
+      asn: number;
+      /**
+       * AS's customer cone size
+       */
+      coneSize: number;
+      /**
+       * 2-letter country code for the AS's registration country
+       *
+       * @example US
+       */
+      country: string;
+      /**
+       * number of IPv4 addresses originated by the AS
+       */
+      ipv4Count: number;
+      /**
+       * number of IPv6 addresses originated by the AS
+       *
+       * @example 1.21e24
+       */
+      ipv6Count: string;
+      /**
+       * name of the AS
+       */
+      name: string;
+      /**
+       * number of total IP prefixes originated by the AS
+       */
+      pfxsCount: number;
+      /**
+       * number of RPKI invalid prefixes originated by the AS
+       */
+      rpkiInvalid: number;
+      /**
+       * number of RPKI unknown prefixes originated by the AS
+       */
+      rpkiUnknown: number;
+      /**
+       * number of RPKI valid prefixes originated by the AS
+       */
+      rpkiValid: number;
+    }[];
+    meta: {
+      /**
+       * the timestamp of when the data is generated
+       *
+       * @example 2024-06-03T14:00:00
+       */
+      dataTime: string;
+      /**
+       * the timestamp of the query
+       *
+       * @example 2024-06-03T14:00:00
+       */
+      queryTime: string;
+      /**
+       * total number of route collector peers used to generate this data
+       */
+      totalPeers: number;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetBgpRoutesAsnsVariables = {
+  queryParams?: RadarGetBgpRoutesAsnsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * List all ASes in current global routing tables with routing statistics
+ */
+export const radarGetBgpRoutesAsns = (variables: RadarGetBgpRoutesAsnsVariables, signal?: AbortSignal) =>
+  fetch<RadarGetBgpRoutesAsnsResponse, RadarGetBgpRoutesAsnsError, undefined, {}, RadarGetBgpRoutesAsnsQueryParams, {}>(
+    { url: '/radar/bgp/routes/ases', method: 'get', ...variables, signal }
+  );
+
+export type RadarGetBgpPfx2asMoasQueryParams = {
+  /**
+   * Lookup MOASes originated by the given ASN
+   */
+  origin?: number;
+  /**
+   * Network prefix, IPv4 or IPv6.
+   *
+   * @example 1.1.1.0/24
+   */
+  prefix?: string;
+  /**
+   * Lookup only RPKI invalid MOASes
+   */
+  invalid_only?: boolean;
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetBgpPfx2asMoasError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetBgpPfx2asMoasResponse = {
+  result: {
+    meta: {
+      data_time: string;
+      query_time: string;
+      total_peers: number;
+    };
+    moas: {
+      origins: {
+        origin: number;
+        peer_count: number;
+        rpki_validation: string;
+      }[];
+      prefix: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetBgpPfx2asMoasVariables = {
+  queryParams?: RadarGetBgpPfx2asMoasQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * List all Multi-Origin AS (MOAS) prefixes on the global routing tables.
+ */
+export const radarGetBgpPfx2asMoas = (variables: RadarGetBgpPfx2asMoasVariables, signal?: AbortSignal) =>
+  fetch<RadarGetBgpPfx2asMoasResponse, RadarGetBgpPfx2asMoasError, undefined, {}, RadarGetBgpPfx2asMoasQueryParams, {}>(
+    { url: '/radar/bgp/routes/moas', method: 'get', ...variables, signal }
+  );
+
+export type RadarGetBgpPfx2asQueryParams = {
+  /**
+   * Network prefix, IPv4 or IPv6.
+   *
+   * @example 1.1.1.0/24
+   */
+  prefix?: string;
+  /**
+   * Lookup prefixes originated by the given ASN
+   */
+  origin?: number;
+  /**
+   * Return only results with matching rpki status: valid, invalid or unknown
+   *
+   * @example INVALID
+   */
+  rpkiStatus?: 'VALID' | 'INVALID' | 'UNKNOWN';
+  /**
+   * Return only results with the longest prefix match for the given prefix. For example, specify a /32 prefix to lookup the origin ASN for an IPv4 address.
+   *
+   * @example true
+   */
+  longestPrefixMatch?: boolean;
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetBgpPfx2asError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetBgpPfx2asResponse = {
+  result: {
+    meta: {
+      data_time: string;
+      query_time: string;
+      total_peers: number;
+    };
+    prefix_origins: {
+      origin: number;
+      peer_count: number;
+      prefix: string;
+      rpki_validation: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetBgpPfx2asVariables = {
+  queryParams?: RadarGetBgpPfx2asQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lookup prefix-to-ASN mapping on global routing tables.
+ */
+export const radarGetBgpPfx2as = (variables: RadarGetBgpPfx2asVariables, signal?: AbortSignal) =>
+  fetch<RadarGetBgpPfx2asResponse, RadarGetBgpPfx2asError, undefined, {}, RadarGetBgpPfx2asQueryParams, {}>({
+    url: '/radar/bgp/routes/pfx2as',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type RadarGetBgpRoutesStatsQueryParams = {
+  /**
+   * Single ASN as integer.
+   *
+   * @example 174
+   */
+  asn?: number;
+  /**
+   * Location Alpha2 code.
+   *
+   * @example US
+   */
+  location?: string;
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetBgpRoutesStatsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetBgpRoutesStatsResponse = {
+  result: {
+    meta: {
+      data_time: string;
+      query_time: string;
+      total_peers: number;
+    };
+    stats: {
+      distinct_origins: number;
+      distinct_origins_ipv4: number;
+      distinct_origins_ipv6: number;
+      distinct_prefixes: number;
+      distinct_prefixes_ipv4: number;
+      distinct_prefixes_ipv6: number;
+      routes_invalid: number;
+      routes_invalid_ipv4: number;
+      routes_invalid_ipv6: number;
+      routes_total: number;
+      routes_total_ipv4: number;
+      routes_total_ipv6: number;
+      routes_unknown: number;
+      routes_unknown_ipv4: number;
+      routes_unknown_ipv6: number;
+      routes_valid: number;
+      routes_valid_ipv4: number;
+      routes_valid_ipv6: number;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetBgpRoutesStatsVariables = {
+  queryParams?: RadarGetBgpRoutesStatsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the BGP routing table stats (Beta).
+ */
+export const radarGetBgpRoutesStats = (variables: RadarGetBgpRoutesStatsVariables, signal?: AbortSignal) =>
+  fetch<
+    RadarGetBgpRoutesStatsResponse,
+    RadarGetBgpRoutesStatsError,
+    undefined,
+    {},
+    RadarGetBgpRoutesStatsQueryParams,
+    {}
+  >({ url: '/radar/bgp/routes/stats', method: 'get', ...variables, signal });
+
+export type RadarGetBgpTimeseriesQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of BGP network prefixes.
+   *
+   * @example 1.1.1.0/24
+   */
+  prefix?: string[];
+  /**
+   * Array of BGP update types.
+   *
+   * @example ANNOUNCEMENT
+   */
+  updateType?: ('ANNOUNCEMENT' | 'WITHDRAWAL')[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetBgpTimeseriesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetBgpTimeseriesResponse = {
+  result: {
+    meta: {
+      /**
+       * @example 1h
+       */
+      aggInterval: string;
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @format date-time
+       */
+      lastUpdated: string;
+    };
+    serie_0: {
+      timestamps: string[];
+      values: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetBgpTimeseriesVariables = {
+  queryParams?: RadarGetBgpTimeseriesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get BGP updates change over time. Raw values are returned. When requesting updates for an autonomous system (AS), only BGP updates of type announcement are returned.
+ */
+export const radarGetBgpTimeseries = (variables: RadarGetBgpTimeseriesVariables, signal?: AbortSignal) =>
+  fetch<RadarGetBgpTimeseriesResponse, RadarGetBgpTimeseriesError, undefined, {}, RadarGetBgpTimeseriesQueryParams, {}>(
+    { url: '/radar/bgp/timeseries', method: 'get', ...variables, signal }
+  );
+
+export type RadarGetBgpTopAsesQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of BGP network prefixes.
+   *
+   * @example 1.1.1.0/24
+   */
+  prefix?: string[];
+  /**
+   * Array of BGP update types.
+   *
+   * @example ANNOUNCEMENT
+   */
+  updateType?: ('ANNOUNCEMENT' | 'WITHDRAWAL')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetBgpTopAsesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetBgpTopAsesResponse = {
+  result: {
+    meta: {
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+    };
+    top_0: {
+      /**
+       * @example Apple-Engineering
+       */
+      ASName: string;
+      /**
+       * @example 714
+       */
+      asn: number;
+      /**
+       * Percentage of updates by this AS out of the total updates by all autonomous systems.
+       *
+       * @example 0.73996
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetBgpTopAsesVariables = {
+  queryParams?: RadarGetBgpTopAsesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the top autonomous systems (ASes) by BGP updates (announcements only). Values are a percentage out of the total updates.
+ */
+export const radarGetBgpTopAses = (variables: RadarGetBgpTopAsesVariables, signal?: AbortSignal) =>
+  fetch<RadarGetBgpTopAsesResponse, RadarGetBgpTopAsesError, undefined, {}, RadarGetBgpTopAsesQueryParams, {}>({
+    url: '/radar/bgp/top/ases',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type RadarGetBgpTopAsnsByPrefixesQueryParams = {
+  /**
+   * Alpha-2 country code.
+   *
+   * @example NZ
+   */
+  country?: string;
+  /**
+   * Maximum number of ASes to return
+   *
+   * @example 10
+   */
+  limit?: number;
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetBgpTopAsnsByPrefixesError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetBgpTopAsnsByPrefixesResponse = {
+  result: {
+    asns: {
+      asn: number;
+      country: string;
+      name: string;
+      pfxs_count: number;
+    }[];
+    meta: {
+      data_time: string;
+      query_time: string;
+      total_peers: number;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetBgpTopAsnsByPrefixesVariables = {
+  queryParams?: RadarGetBgpTopAsnsByPrefixesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the full list of autonomous systems on the global routing table ordered by announced prefixes count. The data comes from public BGP MRT data archives and updates every 2 hours.
+ */
+export const radarGetBgpTopAsnsByPrefixes = (variables: RadarGetBgpTopAsnsByPrefixesVariables, signal?: AbortSignal) =>
+  fetch<
+    RadarGetBgpTopAsnsByPrefixesResponse,
+    RadarGetBgpTopAsnsByPrefixesError,
+    undefined,
+    {},
+    RadarGetBgpTopAsnsByPrefixesQueryParams,
+    {}
+  >({ url: '/radar/bgp/top/ases/prefixes', method: 'get', ...variables, signal });
+
+export type RadarGetBgpTopPrefixesQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of BGP update types.
+   *
+   * @example ANNOUNCEMENT
+   */
+  updateType?: ('ANNOUNCEMENT' | 'WITHDRAWAL')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetBgpTopPrefixesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetBgpTopPrefixesResponse = {
+  result: {
+    meta: {
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+    };
+    top_0: {
+      /**
+       * @example 2804:77cc:8000::/33
+       */
+      prefix: string;
+      /**
+       * @example 0.73996
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetBgpTopPrefixesVariables = {
+  queryParams?: RadarGetBgpTopPrefixesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the top network prefixes by BGP updates. Values are a percentage out of the total BGP updates.
+ */
+export const radarGetBgpTopPrefixes = (variables: RadarGetBgpTopPrefixesVariables, signal?: AbortSignal) =>
+  fetch<
+    RadarGetBgpTopPrefixesResponse,
+    RadarGetBgpTopPrefixesError,
+    undefined,
+    {},
+    RadarGetBgpTopPrefixesQueryParams,
+    {}
+  >({ url: '/radar/bgp/top/prefixes', method: 'get', ...variables, signal });
+
+export type RadarGetReportsDatasetsQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Number of objects to skip before grabbing results.
+   */
+  offset?: number;
+  /**
+   * Dataset type.
+   *
+   * @default RANKING_BUCKET
+   * @example RANKING_BUCKET
+   */
+  datasetType?: 'RANKING_BUCKET' | 'REPORT';
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetReportsDatasetsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetReportsDatasetsResponse = {
+  result: {
+    datasets: {
+      /**
+       * @example This dataset contains a list of the op 20000 domains globally
+       */
+      description: string;
+      /**
+       * @example 3
+       */
+      id: number;
+      meta: Record<string, any>;
+      tags: string[];
+      /**
+       * @example Top bucket 20000 domains
+       */
+      title: string;
+      /**
+       * @example RANKING_BUCKET
+       */
+      type: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetReportsDatasetsVariables = {
+  queryParams?: RadarGetReportsDatasetsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a list of datasets.
+ */
+export const radarGetReportsDatasets = (variables: RadarGetReportsDatasetsVariables, signal?: AbortSignal) =>
+  fetch<
+    RadarGetReportsDatasetsResponse,
+    RadarGetReportsDatasetsError,
+    undefined,
+    {},
+    RadarGetReportsDatasetsQueryParams,
+    {}
+  >({ url: '/radar/datasets', method: 'get', ...variables, signal });
+
+export type RadarPostReportsDatasetDownloadUrlQueryParams = {
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarPostReportsDatasetDownloadUrlError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarPostReportsDatasetDownloadUrlResponse = {
+  result: {
+    dataset: {
+      /**
+       * @example https://example.com/download
+       */
+      url: string;
+    };
+  };
+};
+
+export type RadarPostReportsDatasetDownloadUrlRequestBody = {
+  /**
+   * @example 3
+   */
+  datasetId: number;
+};
+
+export type RadarPostReportsDatasetDownloadUrlVariables = {
+  body: RadarPostReportsDatasetDownloadUrlRequestBody;
+  queryParams?: RadarPostReportsDatasetDownloadUrlQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a url to download a single dataset.
+ */
+export const radarPostReportsDatasetDownloadUrl = (
+  variables: RadarPostReportsDatasetDownloadUrlVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarPostReportsDatasetDownloadUrlResponse,
+    RadarPostReportsDatasetDownloadUrlError,
+    RadarPostReportsDatasetDownloadUrlRequestBody,
+    {},
+    RadarPostReportsDatasetDownloadUrlQueryParams,
+    {}
+  >({ url: '/radar/datasets/download', method: 'post', ...variables, signal });
+
+export type RadarGetReportsDatasetDownloadPathParams = {
+  /**
+   * Dataset alias or id
+   *
+   * @example ranking_top_1000
+   */
+  alias: string;
+};
+
+export type RadarGetReportsDatasetDownloadError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetReportsDatasetDownloadVariables = {
+  pathParams: RadarGetReportsDatasetDownloadPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the CSV content of a given dataset by alias or ID. When getting the content by alias the latest dataset is returned, optionally filtered by the latest available at a given date.
+ */
+export const radarGetReportsDatasetDownload = (
+  variables: RadarGetReportsDatasetDownloadVariables,
+  signal?: AbortSignal
+) =>
+  fetch<undefined, RadarGetReportsDatasetDownloadError, undefined, {}, {}, RadarGetReportsDatasetDownloadPathParams>({
+    url: '/radar/datasets/{alias}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type RadarGetDnsTopAsesQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * Array of domain names.
+   *
+   * @example google.com
+   */
+  domain: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetDnsTopAsesError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetDnsTopAsesResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+    };
+    top_0: {
+      /**
+       * @example 174
+       */
+      clientASN: number;
+      /**
+       * @example Cogent-174
+       */
+      clientASName: string;
+      /**
+       * @example 65
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetDnsTopAsesVariables = {
+  queryParams: RadarGetDnsTopAsesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get top autonomous systems by DNS queries made to Cloudflare's public DNS resolver.
+ */
+export const radarGetDnsTopAses = (variables: RadarGetDnsTopAsesVariables, signal?: AbortSignal) =>
+  fetch<RadarGetDnsTopAsesResponse, RadarGetDnsTopAsesError, undefined, {}, RadarGetDnsTopAsesQueryParams, {}>({
+    url: '/radar/dns/top/ases',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type RadarGetDnsTopLocationsQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * Array of domain names.
+   *
+   * @example google.com
+   */
+  domain: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetDnsTopLocationsError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetDnsTopLocationsResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+    };
+    top_0: {
+      /**
+       * @example PT
+       */
+      clientCountryAlpha2: string;
+      /**
+       * @example Portugal
+       */
+      clientCountryName: string;
+      /**
+       * @example 65
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetDnsTopLocationsVariables = {
+  queryParams: RadarGetDnsTopLocationsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get top locations by DNS queries made to Cloudflare's public DNS resolver.
+ */
+export const radarGetDnsTopLocations = (variables: RadarGetDnsTopLocationsVariables, signal?: AbortSignal) =>
+  fetch<
+    RadarGetDnsTopLocationsResponse,
+    RadarGetDnsTopLocationsError,
+    undefined,
+    {},
+    RadarGetDnsTopLocationsQueryParams,
+    {}
+  >({ url: '/radar/dns/top/locations', method: 'get', ...variables, signal });
+
+export type RadarGetEmailRoutingSummaryByArcQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Filter for dkim.
+   *
+   * @example PASS
+   */
+  dkim?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dmarc.
+   *
+   * @example PASS
+   */
+  dmarc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for spf.
+   *
+   * @example PASS
+   */
+  spf?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for encrypted emails.
+   *
+   * @example ENCRYPTED
+   */
+  encrypted?: ('ENCRYPTED' | 'NOT_ENCRYPTED')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEmailRoutingSummaryByArcError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetEmailRoutingSummaryByArcResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 2
+       */
+      FAIL: string;
+      /**
+       * @example 53
+       */
+      NONE: string;
+      /**
+       * @example 45
+       */
+      PASS: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEmailRoutingSummaryByArcVariables = {
+  queryParams?: RadarGetEmailRoutingSummaryByArcQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of emails classified by ARC validation.
+ */
+export const radarGetEmailRoutingSummaryByArc = (
+  variables: RadarGetEmailRoutingSummaryByArcVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetEmailRoutingSummaryByArcResponse,
+    RadarGetEmailRoutingSummaryByArcError,
+    undefined,
+    {},
+    RadarGetEmailRoutingSummaryByArcQueryParams,
+    {}
+  >({ url: '/radar/email/routing/summary/arc', method: 'get', ...variables, signal });
+
+export type RadarGetEmailRoutingSummaryByDkimQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Filter for arc (Authenticated Received Chain).
+   *
+   * @example PASS
+   */
+  arc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dmarc.
+   *
+   * @example PASS
+   */
+  dmarc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for spf.
+   *
+   * @example PASS
+   */
+  spf?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for encrypted emails.
+   *
+   * @example ENCRYPTED
+   */
+  encrypted?: ('ENCRYPTED' | 'NOT_ENCRYPTED')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEmailRoutingSummaryByDkimError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetEmailRoutingSummaryByDkimResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 2
+       */
+      FAIL: string;
+      /**
+       * @example 53
+       */
+      NONE: string;
+      /**
+       * @example 45
+       */
+      PASS: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEmailRoutingSummaryByDkimVariables = {
+  queryParams?: RadarGetEmailRoutingSummaryByDkimQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of emails classified by DKIM validation.
+ */
+export const radarGetEmailRoutingSummaryByDkim = (
+  variables: RadarGetEmailRoutingSummaryByDkimVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetEmailRoutingSummaryByDkimResponse,
+    RadarGetEmailRoutingSummaryByDkimError,
+    undefined,
+    {},
+    RadarGetEmailRoutingSummaryByDkimQueryParams,
+    {}
+  >({ url: '/radar/email/routing/summary/dkim', method: 'get', ...variables, signal });
+
+export type RadarGetEmailRoutingSummaryByDmarcQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Filter for arc (Authenticated Received Chain).
+   *
+   * @example PASS
+   */
+  arc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dkim.
+   *
+   * @example PASS
+   */
+  dkim?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for spf.
+   *
+   * @example PASS
+   */
+  spf?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for encrypted emails.
+   *
+   * @example ENCRYPTED
+   */
+  encrypted?: ('ENCRYPTED' | 'NOT_ENCRYPTED')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEmailRoutingSummaryByDmarcError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetEmailRoutingSummaryByDmarcResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 2
+       */
+      FAIL: string;
+      /**
+       * @example 53
+       */
+      NONE: string;
+      /**
+       * @example 45
+       */
+      PASS: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEmailRoutingSummaryByDmarcVariables = {
+  queryParams?: RadarGetEmailRoutingSummaryByDmarcQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of emails classified by DMARC validation.
+ */
+export const radarGetEmailRoutingSummaryByDmarc = (
+  variables: RadarGetEmailRoutingSummaryByDmarcVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetEmailRoutingSummaryByDmarcResponse,
+    RadarGetEmailRoutingSummaryByDmarcError,
+    undefined,
+    {},
+    RadarGetEmailRoutingSummaryByDmarcQueryParams,
+    {}
+  >({ url: '/radar/email/routing/summary/dmarc', method: 'get', ...variables, signal });
+
+export type RadarGetEmailRoutingSummaryByEncryptedQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Filter for arc (Authenticated Received Chain).
+   *
+   * @example PASS
+   */
+  arc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dkim.
+   *
+   * @example PASS
+   */
+  dkim?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dmarc.
+   *
+   * @example PASS
+   */
+  dmarc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for spf.
+   *
+   * @example PASS
+   */
+  spf?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEmailRoutingSummaryByEncryptedError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetEmailRoutingSummaryByEncryptedResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 65
+       */
+      ENCRYPTED: string;
+      /**
+       * @example 35
+       */
+      NOT_ENCRYPTED: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEmailRoutingSummaryByEncryptedVariables = {
+  queryParams?: RadarGetEmailRoutingSummaryByEncryptedQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of emails by encryption status.
+ */
+export const radarGetEmailRoutingSummaryByEncrypted = (
+  variables: RadarGetEmailRoutingSummaryByEncryptedVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetEmailRoutingSummaryByEncryptedResponse,
+    RadarGetEmailRoutingSummaryByEncryptedError,
+    undefined,
+    {},
+    RadarGetEmailRoutingSummaryByEncryptedQueryParams,
+    {}
+  >({ url: '/radar/email/routing/summary/encrypted', method: 'get', ...variables, signal });
+
+export type RadarGetEmailRoutingSummaryByIpVersionQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Filter for arc (Authenticated Received Chain).
+   *
+   * @example PASS
+   */
+  arc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dkim.
+   *
+   * @example PASS
+   */
+  dkim?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dmarc.
+   *
+   * @example PASS
+   */
+  dmarc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for spf.
+   *
+   * @example PASS
+   */
+  spf?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for encrypted emails.
+   *
+   * @example ENCRYPTED
+   */
+  encrypted?: ('ENCRYPTED' | 'NOT_ENCRYPTED')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEmailRoutingSummaryByIpVersionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetEmailRoutingSummaryByIpVersionResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 65
+       */
+      IPv4: string;
+      /**
+       * @example 35
+       */
+      IPv6: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEmailRoutingSummaryByIpVersionVariables = {
+  queryParams?: RadarGetEmailRoutingSummaryByIpVersionQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of emails by IP version.
+ */
+export const radarGetEmailRoutingSummaryByIpVersion = (
+  variables: RadarGetEmailRoutingSummaryByIpVersionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetEmailRoutingSummaryByIpVersionResponse,
+    RadarGetEmailRoutingSummaryByIpVersionError,
+    undefined,
+    {},
+    RadarGetEmailRoutingSummaryByIpVersionQueryParams,
+    {}
+  >({ url: '/radar/email/routing/summary/ip_version', method: 'get', ...variables, signal });
+
+export type RadarGetEmailRoutingSummaryBySpfQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Filter for arc (Authenticated Received Chain).
+   *
+   * @example PASS
+   */
+  arc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dkim.
+   *
+   * @example PASS
+   */
+  dkim?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dmarc.
+   *
+   * @example PASS
+   */
+  dmarc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for encrypted emails.
+   *
+   * @example ENCRYPTED
+   */
+  encrypted?: ('ENCRYPTED' | 'NOT_ENCRYPTED')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEmailRoutingSummaryBySpfError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetEmailRoutingSummaryBySpfResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 2
+       */
+      FAIL: string;
+      /**
+       * @example 53
+       */
+      NONE: string;
+      /**
+       * @example 45
+       */
+      PASS: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEmailRoutingSummaryBySpfVariables = {
+  queryParams?: RadarGetEmailRoutingSummaryBySpfQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of emails classified by SPF validation.
+ */
+export const radarGetEmailRoutingSummaryBySpf = (
+  variables: RadarGetEmailRoutingSummaryBySpfVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetEmailRoutingSummaryBySpfResponse,
+    RadarGetEmailRoutingSummaryBySpfError,
+    undefined,
+    {},
+    RadarGetEmailRoutingSummaryBySpfQueryParams,
+    {}
+  >({ url: '/radar/email/routing/summary/spf', method: 'get', ...variables, signal });
+
+export type RadarGetEmailRoutingTimeseriesGroupByArcQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Filter for dkim.
+   *
+   * @example PASS
+   */
+  dkim?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dmarc.
+   *
+   * @example PASS
+   */
+  dmarc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for spf.
+   *
+   * @example PASS
+   */
+  spf?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for encrypted emails.
+   *
+   * @example ENCRYPTED
+   */
+  encrypted?: ('ENCRYPTED' | 'NOT_ENCRYPTED')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEmailRoutingTimeseriesGroupByArcError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetEmailRoutingTimeseriesGroupByArcResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      FAIL: string[];
+      NONE: string[];
+      PASS: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEmailRoutingTimeseriesGroupByArcVariables = {
+  queryParams?: RadarGetEmailRoutingTimeseriesGroupByArcQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of emails classified by ARC validation over time.
+ */
+export const radarGetEmailRoutingTimeseriesGroupByArc = (
+  variables: RadarGetEmailRoutingTimeseriesGroupByArcVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetEmailRoutingTimeseriesGroupByArcResponse,
+    RadarGetEmailRoutingTimeseriesGroupByArcError,
+    undefined,
+    {},
+    RadarGetEmailRoutingTimeseriesGroupByArcQueryParams,
+    {}
+  >({ url: '/radar/email/routing/timeseries_groups/arc', method: 'get', ...variables, signal });
+
+export type RadarGetEmailRoutingTimeseriesGroupByDkimQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Filter for arc (Authenticated Received Chain).
+   *
+   * @example PASS
+   */
+  arc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dmarc.
+   *
+   * @example PASS
+   */
+  dmarc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for spf.
+   *
+   * @example PASS
+   */
+  spf?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for encrypted emails.
+   *
+   * @example ENCRYPTED
+   */
+  encrypted?: ('ENCRYPTED' | 'NOT_ENCRYPTED')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEmailRoutingTimeseriesGroupByDkimError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetEmailRoutingTimeseriesGroupByDkimResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      FAIL: string[];
+      NONE: string[];
+      PASS: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEmailRoutingTimeseriesGroupByDkimVariables = {
+  queryParams?: RadarGetEmailRoutingTimeseriesGroupByDkimQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of emails classified by DKIM validation over time.
+ */
+export const radarGetEmailRoutingTimeseriesGroupByDkim = (
+  variables: RadarGetEmailRoutingTimeseriesGroupByDkimVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetEmailRoutingTimeseriesGroupByDkimResponse,
+    RadarGetEmailRoutingTimeseriesGroupByDkimError,
+    undefined,
+    {},
+    RadarGetEmailRoutingTimeseriesGroupByDkimQueryParams,
+    {}
+  >({ url: '/radar/email/routing/timeseries_groups/dkim', method: 'get', ...variables, signal });
+
+export type RadarGetEmailRoutingTimeseriesGroupByDmarcQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Filter for arc (Authenticated Received Chain).
+   *
+   * @example PASS
+   */
+  arc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dkim.
+   *
+   * @example PASS
+   */
+  dkim?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for spf.
+   *
+   * @example PASS
+   */
+  spf?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for encrypted emails.
+   *
+   * @example ENCRYPTED
+   */
+  encrypted?: ('ENCRYPTED' | 'NOT_ENCRYPTED')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEmailRoutingTimeseriesGroupByDmarcError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetEmailRoutingTimeseriesGroupByDmarcResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      FAIL: string[];
+      NONE: string[];
+      PASS: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEmailRoutingTimeseriesGroupByDmarcVariables = {
+  queryParams?: RadarGetEmailRoutingTimeseriesGroupByDmarcQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of emails classified by DMARC validation over time.
+ */
+export const radarGetEmailRoutingTimeseriesGroupByDmarc = (
+  variables: RadarGetEmailRoutingTimeseriesGroupByDmarcVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetEmailRoutingTimeseriesGroupByDmarcResponse,
+    RadarGetEmailRoutingTimeseriesGroupByDmarcError,
+    undefined,
+    {},
+    RadarGetEmailRoutingTimeseriesGroupByDmarcQueryParams,
+    {}
+  >({ url: '/radar/email/routing/timeseries_groups/dmarc', method: 'get', ...variables, signal });
+
+export type RadarGetEmailRoutingTimeseriesGroupByEncryptedQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Filter for arc (Authenticated Received Chain).
+   *
+   * @example PASS
+   */
+  arc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dkim.
+   *
+   * @example PASS
+   */
+  dkim?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dmarc.
+   *
+   * @example PASS
+   */
+  dmarc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for spf.
+   *
+   * @example PASS
+   */
+  spf?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEmailRoutingTimeseriesGroupByEncryptedError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetEmailRoutingTimeseriesGroupByEncryptedResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      ENCRYPTED: string[];
+      NOT_ENCRYPTED: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEmailRoutingTimeseriesGroupByEncryptedVariables = {
+  queryParams?: RadarGetEmailRoutingTimeseriesGroupByEncryptedQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of emails by encryption status over time.
+ */
+export const radarGetEmailRoutingTimeseriesGroupByEncrypted = (
+  variables: RadarGetEmailRoutingTimeseriesGroupByEncryptedVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetEmailRoutingTimeseriesGroupByEncryptedResponse,
+    RadarGetEmailRoutingTimeseriesGroupByEncryptedError,
+    undefined,
+    {},
+    RadarGetEmailRoutingTimeseriesGroupByEncryptedQueryParams,
+    {}
+  >({ url: '/radar/email/routing/timeseries_groups/encrypted', method: 'get', ...variables, signal });
+
+export type RadarGetEmailRoutingTimeseriesGroupByIpVersionQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Filter for arc (Authenticated Received Chain).
+   *
+   * @example PASS
+   */
+  arc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dkim.
+   *
+   * @example PASS
+   */
+  dkim?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dmarc.
+   *
+   * @example PASS
+   */
+  dmarc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for spf.
+   *
+   * @example PASS
+   */
+  spf?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for encrypted emails.
+   *
+   * @example ENCRYPTED
+   */
+  encrypted?: ('ENCRYPTED' | 'NOT_ENCRYPTED')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEmailRoutingTimeseriesGroupByIpVersionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetEmailRoutingTimeseriesGroupByIpVersionResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      IPv4: string[];
+      IPv6: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEmailRoutingTimeseriesGroupByIpVersionVariables = {
+  queryParams?: RadarGetEmailRoutingTimeseriesGroupByIpVersionQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of emails by IP version over time.
+ */
+export const radarGetEmailRoutingTimeseriesGroupByIpVersion = (
+  variables: RadarGetEmailRoutingTimeseriesGroupByIpVersionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetEmailRoutingTimeseriesGroupByIpVersionResponse,
+    RadarGetEmailRoutingTimeseriesGroupByIpVersionError,
+    undefined,
+    {},
+    RadarGetEmailRoutingTimeseriesGroupByIpVersionQueryParams,
+    {}
+  >({ url: '/radar/email/routing/timeseries_groups/ip_version', method: 'get', ...variables, signal });
+
+export type RadarGetEmailRoutingTimeseriesGroupBySpfQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Filter for arc (Authenticated Received Chain).
+   *
+   * @example PASS
+   */
+  arc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dkim.
+   *
+   * @example PASS
+   */
+  dkim?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dmarc.
+   *
+   * @example PASS
+   */
+  dmarc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for encrypted emails.
+   *
+   * @example ENCRYPTED
+   */
+  encrypted?: ('ENCRYPTED' | 'NOT_ENCRYPTED')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEmailRoutingTimeseriesGroupBySpfError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetEmailRoutingTimeseriesGroupBySpfResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      FAIL: string[];
+      NONE: string[];
+      PASS: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEmailRoutingTimeseriesGroupBySpfVariables = {
+  queryParams?: RadarGetEmailRoutingTimeseriesGroupBySpfQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of emails classified by SPF validation over time.
+ */
+export const radarGetEmailRoutingTimeseriesGroupBySpf = (
+  variables: RadarGetEmailRoutingTimeseriesGroupBySpfVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetEmailRoutingTimeseriesGroupBySpfResponse,
+    RadarGetEmailRoutingTimeseriesGroupBySpfError,
+    undefined,
+    {},
+    RadarGetEmailRoutingTimeseriesGroupBySpfQueryParams,
+    {}
+  >({ url: '/radar/email/routing/timeseries_groups/spf', method: 'get', ...variables, signal });
+
+export type RadarGetEmailSecuritySummaryByArcQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Filter for dkim.
+   *
+   * @example PASS
+   */
+  dkim?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dmarc.
+   *
+   * @example PASS
+   */
+  dmarc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for spf.
+   *
+   * @example PASS
+   */
+  spf?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEmailSecuritySummaryByArcError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetEmailSecuritySummaryByArcResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 2
+       */
+      FAIL: string;
+      /**
+       * @example 53
+       */
+      NONE: string;
+      /**
+       * @example 45
+       */
+      PASS: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEmailSecuritySummaryByArcVariables = {
+  queryParams?: RadarGetEmailSecuritySummaryByArcQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of emails classified by ARC validation.
+ */
+export const radarGetEmailSecuritySummaryByArc = (
+  variables: RadarGetEmailSecuritySummaryByArcVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetEmailSecuritySummaryByArcResponse,
+    RadarGetEmailSecuritySummaryByArcError,
+    undefined,
+    {},
+    RadarGetEmailSecuritySummaryByArcQueryParams,
+    {}
+  >({ url: '/radar/email/security/summary/arc', method: 'get', ...variables, signal });
+
+export type RadarGetEmailSecuritySummaryByDkimQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Filter for arc (Authenticated Received Chain).
+   *
+   * @example PASS
+   */
+  arc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dmarc.
+   *
+   * @example PASS
+   */
+  dmarc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for spf.
+   *
+   * @example PASS
+   */
+  spf?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEmailSecuritySummaryByDkimError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetEmailSecuritySummaryByDkimResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 2
+       */
+      FAIL: string;
+      /**
+       * @example 53
+       */
+      NONE: string;
+      /**
+       * @example 45
+       */
+      PASS: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEmailSecuritySummaryByDkimVariables = {
+  queryParams?: RadarGetEmailSecuritySummaryByDkimQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of emails classified by DKIM validation.
+ */
+export const radarGetEmailSecuritySummaryByDkim = (
+  variables: RadarGetEmailSecuritySummaryByDkimVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetEmailSecuritySummaryByDkimResponse,
+    RadarGetEmailSecuritySummaryByDkimError,
+    undefined,
+    {},
+    RadarGetEmailSecuritySummaryByDkimQueryParams,
+    {}
+  >({ url: '/radar/email/security/summary/dkim', method: 'get', ...variables, signal });
+
+export type RadarGetEmailSecuritySummaryByDmarcQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Filter for arc (Authenticated Received Chain).
+   *
+   * @example PASS
+   */
+  arc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dkim.
+   *
+   * @example PASS
+   */
+  dkim?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for spf.
+   *
+   * @example PASS
+   */
+  spf?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEmailSecuritySummaryByDmarcError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetEmailSecuritySummaryByDmarcResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 2
+       */
+      FAIL: string;
+      /**
+       * @example 53
+       */
+      NONE: string;
+      /**
+       * @example 45
+       */
+      PASS: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEmailSecuritySummaryByDmarcVariables = {
+  queryParams?: RadarGetEmailSecuritySummaryByDmarcQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of emails classified by DMARC validation.
+ */
+export const radarGetEmailSecuritySummaryByDmarc = (
+  variables: RadarGetEmailSecuritySummaryByDmarcVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetEmailSecuritySummaryByDmarcResponse,
+    RadarGetEmailSecuritySummaryByDmarcError,
+    undefined,
+    {},
+    RadarGetEmailSecuritySummaryByDmarcQueryParams,
+    {}
+  >({ url: '/radar/email/security/summary/dmarc', method: 'get', ...variables, signal });
+
+export type RadarGetEmailSecuritySummaryByMaliciousQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Filter for arc (Authenticated Received Chain).
+   *
+   * @example PASS
+   */
+  arc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dkim.
+   *
+   * @example PASS
+   */
+  dkim?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dmarc.
+   *
+   * @example PASS
+   */
+  dmarc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for spf.
+   *
+   * @example PASS
+   */
+  spf?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEmailSecuritySummaryByMaliciousError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetEmailSecuritySummaryByMaliciousResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 65
+       */
+      MALICIOUS: string;
+      /**
+       * @example 35
+       */
+      NOT_MALICIOUS: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEmailSecuritySummaryByMaliciousVariables = {
+  queryParams?: RadarGetEmailSecuritySummaryByMaliciousQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of emails classified as MALICIOUS.
+ */
+export const radarGetEmailSecuritySummaryByMalicious = (
+  variables: RadarGetEmailSecuritySummaryByMaliciousVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetEmailSecuritySummaryByMaliciousResponse,
+    RadarGetEmailSecuritySummaryByMaliciousError,
+    undefined,
+    {},
+    RadarGetEmailSecuritySummaryByMaliciousQueryParams,
+    {}
+  >({ url: '/radar/email/security/summary/malicious', method: 'get', ...variables, signal });
+
+export type RadarGetEmailSecuritySummaryBySpamQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Filter for arc (Authenticated Received Chain).
+   *
+   * @example PASS
+   */
+  arc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dkim.
+   *
+   * @example PASS
+   */
+  dkim?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dmarc.
+   *
+   * @example PASS
+   */
+  dmarc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for spf.
+   *
+   * @example PASS
+   */
+  spf?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEmailSecuritySummaryBySpamError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetEmailSecuritySummaryBySpamResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 35
+       */
+      NOT_SPAM: string;
+      /**
+       * @example 65
+       */
+      SPAM: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEmailSecuritySummaryBySpamVariables = {
+  queryParams?: RadarGetEmailSecuritySummaryBySpamQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Proportion of emails categorized as either spam or legitimate (non-spam).
+ */
+export const radarGetEmailSecuritySummaryBySpam = (
+  variables: RadarGetEmailSecuritySummaryBySpamVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetEmailSecuritySummaryBySpamResponse,
+    RadarGetEmailSecuritySummaryBySpamError,
+    undefined,
+    {},
+    RadarGetEmailSecuritySummaryBySpamQueryParams,
+    {}
+  >({ url: '/radar/email/security/summary/spam', method: 'get', ...variables, signal });
+
+export type RadarGetEmailSecuritySummaryBySpfQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Filter for arc (Authenticated Received Chain).
+   *
+   * @example PASS
+   */
+  arc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dkim.
+   *
+   * @example PASS
+   */
+  dkim?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dmarc.
+   *
+   * @example PASS
+   */
+  dmarc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEmailSecuritySummaryBySpfError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetEmailSecuritySummaryBySpfResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 2
+       */
+      FAIL: string;
+      /**
+       * @example 53
+       */
+      NONE: string;
+      /**
+       * @example 45
+       */
+      PASS: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEmailSecuritySummaryBySpfVariables = {
+  queryParams?: RadarGetEmailSecuritySummaryBySpfQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of emails classified by SPF validation.
+ */
+export const radarGetEmailSecuritySummaryBySpf = (
+  variables: RadarGetEmailSecuritySummaryBySpfVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetEmailSecuritySummaryBySpfResponse,
+    RadarGetEmailSecuritySummaryBySpfError,
+    undefined,
+    {},
+    RadarGetEmailSecuritySummaryBySpfQueryParams,
+    {}
+  >({ url: '/radar/email/security/summary/spf', method: 'get', ...variables, signal });
+
+export type RadarGetEmailSecuritySummaryBySpoofQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Filter for arc (Authenticated Received Chain).
+   *
+   * @example PASS
+   */
+  arc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dkim.
+   *
+   * @example PASS
+   */
+  dkim?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dmarc.
+   *
+   * @example PASS
+   */
+  dmarc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for spf.
+   *
+   * @example PASS
+   */
+  spf?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEmailSecuritySummaryBySpoofError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetEmailSecuritySummaryBySpoofResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 35
+       */
+      NOT_SPOOF: string;
+      /**
+       * @example 65
+       */
+      SPOOF: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEmailSecuritySummaryBySpoofVariables = {
+  queryParams?: RadarGetEmailSecuritySummaryBySpoofQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Proportion of emails categorized as either spoof or legitimate (non-spoof).
+ */
+export const radarGetEmailSecuritySummaryBySpoof = (
+  variables: RadarGetEmailSecuritySummaryBySpoofVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetEmailSecuritySummaryBySpoofResponse,
+    RadarGetEmailSecuritySummaryBySpoofError,
+    undefined,
+    {},
+    RadarGetEmailSecuritySummaryBySpoofQueryParams,
+    {}
+  >({ url: '/radar/email/security/summary/spoof', method: 'get', ...variables, signal });
+
+export type RadarGetEmailSecuritySummaryByThreatCategoryQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Filter for arc (Authenticated Received Chain).
+   *
+   * @example PASS
+   */
+  arc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dkim.
+   *
+   * @example PASS
+   */
+  dkim?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dmarc.
+   *
+   * @example PASS
+   */
+  dmarc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for spf.
+   *
+   * @example PASS
+   */
+  spf?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEmailSecuritySummaryByThreatCategoryError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetEmailSecuritySummaryByThreatCategoryResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 35
+       */
+      BrandImpersonation: string;
+      /**
+       * @example 32
+       */
+      CredentialHarvester: string;
+      /**
+       * @example 47
+       */
+      IdentityDeception: string;
+      /**
+       * @example 43
+       */
+      Link: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEmailSecuritySummaryByThreatCategoryVariables = {
+  queryParams?: RadarGetEmailSecuritySummaryByThreatCategoryQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of emails classified in Threat Categories.
+ */
+export const radarGetEmailSecuritySummaryByThreatCategory = (
+  variables: RadarGetEmailSecuritySummaryByThreatCategoryVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetEmailSecuritySummaryByThreatCategoryResponse,
+    RadarGetEmailSecuritySummaryByThreatCategoryError,
+    undefined,
+    {},
+    RadarGetEmailSecuritySummaryByThreatCategoryQueryParams,
+    {}
+  >({ url: '/radar/email/security/summary/threat_category', method: 'get', ...variables, signal });
+
+export type RadarGetEmailSecuritySummaryByTlsVersionQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Filter for arc (Authenticated Received Chain).
+   *
+   * @example PASS
+   */
+  arc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dkim.
+   *
+   * @example PASS
+   */
+  dkim?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dmarc.
+   *
+   * @example PASS
+   */
+  dmarc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for spf.
+   *
+   * @example PASS
+   */
+  spf?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEmailSecuritySummaryByTlsVersionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetEmailSecuritySummaryByTlsVersionResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 3
+       */
+      ['TLS 1.0']: string;
+      /**
+       * @example 12
+       */
+      ['TLS 1.1']: string;
+      /**
+       * @example 41
+       */
+      ['TLS 1.2']: string;
+      /**
+       * @example 44
+       */
+      ['TLS 1.3']: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEmailSecuritySummaryByTlsVersionVariables = {
+  queryParams?: RadarGetEmailSecuritySummaryByTlsVersionQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of emails classified by TLS version.
+ */
+export const radarGetEmailSecuritySummaryByTlsVersion = (
+  variables: RadarGetEmailSecuritySummaryByTlsVersionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetEmailSecuritySummaryByTlsVersionResponse,
+    RadarGetEmailSecuritySummaryByTlsVersionError,
+    undefined,
+    {},
+    RadarGetEmailSecuritySummaryByTlsVersionQueryParams,
+    {}
+  >({ url: '/radar/email/security/summary/tls_version', method: 'get', ...variables, signal });
+
+export type RadarGetEmailSecurityTimeseriesGroupByArcQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Filter for dkim.
+   *
+   * @example PASS
+   */
+  dkim?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dmarc.
+   *
+   * @example PASS
+   */
+  dmarc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for spf.
+   *
+   * @example PASS
+   */
+  spf?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEmailSecurityTimeseriesGroupByArcError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetEmailSecurityTimeseriesGroupByArcResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      FAIL: string[];
+      NONE: string[];
+      PASS: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEmailSecurityTimeseriesGroupByArcVariables = {
+  queryParams?: RadarGetEmailSecurityTimeseriesGroupByArcQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of emails classified by ARC validation over time.
+ */
+export const radarGetEmailSecurityTimeseriesGroupByArc = (
+  variables: RadarGetEmailSecurityTimeseriesGroupByArcVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetEmailSecurityTimeseriesGroupByArcResponse,
+    RadarGetEmailSecurityTimeseriesGroupByArcError,
+    undefined,
+    {},
+    RadarGetEmailSecurityTimeseriesGroupByArcQueryParams,
+    {}
+  >({ url: '/radar/email/security/timeseries_groups/arc', method: 'get', ...variables, signal });
+
+export type RadarGetEmailSecurityTimeseriesGroupByDkimQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Filter for arc (Authenticated Received Chain).
+   *
+   * @example PASS
+   */
+  arc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dmarc.
+   *
+   * @example PASS
+   */
+  dmarc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for spf.
+   *
+   * @example PASS
+   */
+  spf?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEmailSecurityTimeseriesGroupByDkimError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetEmailSecurityTimeseriesGroupByDkimResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      FAIL: string[];
+      NONE: string[];
+      PASS: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEmailSecurityTimeseriesGroupByDkimVariables = {
+  queryParams?: RadarGetEmailSecurityTimeseriesGroupByDkimQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of emails classified by DKIM validation over time.
+ */
+export const radarGetEmailSecurityTimeseriesGroupByDkim = (
+  variables: RadarGetEmailSecurityTimeseriesGroupByDkimVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetEmailSecurityTimeseriesGroupByDkimResponse,
+    RadarGetEmailSecurityTimeseriesGroupByDkimError,
+    undefined,
+    {},
+    RadarGetEmailSecurityTimeseriesGroupByDkimQueryParams,
+    {}
+  >({ url: '/radar/email/security/timeseries_groups/dkim', method: 'get', ...variables, signal });
+
+export type RadarGetEmailSecurityTimeseriesGroupByDmarcQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Filter for arc (Authenticated Received Chain).
+   *
+   * @example PASS
+   */
+  arc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dkim.
+   *
+   * @example PASS
+   */
+  dkim?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for spf.
+   *
+   * @example PASS
+   */
+  spf?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEmailSecurityTimeseriesGroupByDmarcError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetEmailSecurityTimeseriesGroupByDmarcResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      FAIL: string[];
+      NONE: string[];
+      PASS: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEmailSecurityTimeseriesGroupByDmarcVariables = {
+  queryParams?: RadarGetEmailSecurityTimeseriesGroupByDmarcQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of emails classified by DMARC validation over time.
+ */
+export const radarGetEmailSecurityTimeseriesGroupByDmarc = (
+  variables: RadarGetEmailSecurityTimeseriesGroupByDmarcVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetEmailSecurityTimeseriesGroupByDmarcResponse,
+    RadarGetEmailSecurityTimeseriesGroupByDmarcError,
+    undefined,
+    {},
+    RadarGetEmailSecurityTimeseriesGroupByDmarcQueryParams,
+    {}
+  >({ url: '/radar/email/security/timeseries_groups/dmarc', method: 'get', ...variables, signal });
+
+export type RadarGetEmailSecurityTimeseriesGroupByMaliciousQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Filter for arc (Authenticated Received Chain).
+   *
+   * @example PASS
+   */
+  arc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dkim.
+   *
+   * @example PASS
+   */
+  dkim?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dmarc.
+   *
+   * @example PASS
+   */
+  dmarc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for spf.
+   *
+   * @example PASS
+   */
+  spf?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEmailSecurityTimeseriesGroupByMaliciousError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetEmailSecurityTimeseriesGroupByMaliciousResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      MALICIOUS: string[];
+      NOT_MALICIOUS: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEmailSecurityTimeseriesGroupByMaliciousVariables = {
+  queryParams?: RadarGetEmailSecurityTimeseriesGroupByMaliciousQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of emails classified as MALICIOUS over time.
+ */
+export const radarGetEmailSecurityTimeseriesGroupByMalicious = (
+  variables: RadarGetEmailSecurityTimeseriesGroupByMaliciousVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetEmailSecurityTimeseriesGroupByMaliciousResponse,
+    RadarGetEmailSecurityTimeseriesGroupByMaliciousError,
+    undefined,
+    {},
+    RadarGetEmailSecurityTimeseriesGroupByMaliciousQueryParams,
+    {}
+  >({ url: '/radar/email/security/timeseries_groups/malicious', method: 'get', ...variables, signal });
+
+export type RadarGetEmailSecurityTimeseriesGroupBySpamQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Filter for arc (Authenticated Received Chain).
+   *
+   * @example PASS
+   */
+  arc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dkim.
+   *
+   * @example PASS
+   */
+  dkim?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dmarc.
+   *
+   * @example PASS
+   */
+  dmarc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for spf.
+   *
+   * @example PASS
+   */
+  spf?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEmailSecurityTimeseriesGroupBySpamError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetEmailSecurityTimeseriesGroupBySpamResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      NOT_SPAM: string[];
+      SPAM: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEmailSecurityTimeseriesGroupBySpamVariables = {
+  queryParams?: RadarGetEmailSecurityTimeseriesGroupBySpamQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of emails classified as SPAM over time.
+ */
+export const radarGetEmailSecurityTimeseriesGroupBySpam = (
+  variables: RadarGetEmailSecurityTimeseriesGroupBySpamVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetEmailSecurityTimeseriesGroupBySpamResponse,
+    RadarGetEmailSecurityTimeseriesGroupBySpamError,
+    undefined,
+    {},
+    RadarGetEmailSecurityTimeseriesGroupBySpamQueryParams,
+    {}
+  >({ url: '/radar/email/security/timeseries_groups/spam', method: 'get', ...variables, signal });
+
+export type RadarGetEmailSecurityTimeseriesGroupBySpfQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Filter for arc (Authenticated Received Chain).
+   *
+   * @example PASS
+   */
+  arc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dkim.
+   *
+   * @example PASS
+   */
+  dkim?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dmarc.
+   *
+   * @example PASS
+   */
+  dmarc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEmailSecurityTimeseriesGroupBySpfError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetEmailSecurityTimeseriesGroupBySpfResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      FAIL: string[];
+      NONE: string[];
+      PASS: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEmailSecurityTimeseriesGroupBySpfVariables = {
+  queryParams?: RadarGetEmailSecurityTimeseriesGroupBySpfQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of emails classified by SPF validation over time.
+ */
+export const radarGetEmailSecurityTimeseriesGroupBySpf = (
+  variables: RadarGetEmailSecurityTimeseriesGroupBySpfVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetEmailSecurityTimeseriesGroupBySpfResponse,
+    RadarGetEmailSecurityTimeseriesGroupBySpfError,
+    undefined,
+    {},
+    RadarGetEmailSecurityTimeseriesGroupBySpfQueryParams,
+    {}
+  >({ url: '/radar/email/security/timeseries_groups/spf', method: 'get', ...variables, signal });
+
+export type RadarGetEmailSecurityTimeseriesGroupBySpoofQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Filter for arc (Authenticated Received Chain).
+   *
+   * @example PASS
+   */
+  arc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dkim.
+   *
+   * @example PASS
+   */
+  dkim?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dmarc.
+   *
+   * @example PASS
+   */
+  dmarc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for spf.
+   *
+   * @example PASS
+   */
+  spf?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEmailSecurityTimeseriesGroupBySpoofError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetEmailSecurityTimeseriesGroupBySpoofResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      NOT_SPOOF: string[];
+      SPOOF: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEmailSecurityTimeseriesGroupBySpoofVariables = {
+  queryParams?: RadarGetEmailSecurityTimeseriesGroupBySpoofQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of emails classified as SPOOF over time.
+ */
+export const radarGetEmailSecurityTimeseriesGroupBySpoof = (
+  variables: RadarGetEmailSecurityTimeseriesGroupBySpoofVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetEmailSecurityTimeseriesGroupBySpoofResponse,
+    RadarGetEmailSecurityTimeseriesGroupBySpoofError,
+    undefined,
+    {},
+    RadarGetEmailSecurityTimeseriesGroupBySpoofQueryParams,
+    {}
+  >({ url: '/radar/email/security/timeseries_groups/spoof', method: 'get', ...variables, signal });
+
+export type RadarGetEmailSecurityTimeseriesGroupByThreatCategoryQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Filter for arc (Authenticated Received Chain).
+   *
+   * @example PASS
+   */
+  arc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dkim.
+   *
+   * @example PASS
+   */
+  dkim?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dmarc.
+   *
+   * @example PASS
+   */
+  dmarc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for spf.
+   *
+   * @example PASS
+   */
+  spf?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEmailSecurityTimeseriesGroupByThreatCategoryError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetEmailSecurityTimeseriesGroupByThreatCategoryResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      BrandImpersonation: string[];
+      CredentialHarvester: string[];
+      IdentityDeception: string[];
+      Link: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEmailSecurityTimeseriesGroupByThreatCategoryVariables = {
+  queryParams?: RadarGetEmailSecurityTimeseriesGroupByThreatCategoryQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of emails classified by threat category over time.
+ */
+export const radarGetEmailSecurityTimeseriesGroupByThreatCategory = (
+  variables: RadarGetEmailSecurityTimeseriesGroupByThreatCategoryVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetEmailSecurityTimeseriesGroupByThreatCategoryResponse,
+    RadarGetEmailSecurityTimeseriesGroupByThreatCategoryError,
+    undefined,
+    {},
+    RadarGetEmailSecurityTimeseriesGroupByThreatCategoryQueryParams,
+    {}
+  >({ url: '/radar/email/security/timeseries_groups/threat_category', method: 'get', ...variables, signal });
+
+export type RadarGetEmailSecurityTimeseriesGroupByTlsVersionQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Filter for arc (Authenticated Received Chain).
+   *
+   * @example PASS
+   */
+  arc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dkim.
+   *
+   * @example PASS
+   */
+  dkim?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dmarc.
+   *
+   * @example PASS
+   */
+  dmarc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for spf.
+   *
+   * @example PASS
+   */
+  spf?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEmailSecurityTimeseriesGroupByTlsVersionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetEmailSecurityTimeseriesGroupByTlsVersionResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      ['TLS 1.0']: string[];
+      ['TLS 1.1']: string[];
+      ['TLS 1.2']: string[];
+      ['TLS 1.3']: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEmailSecurityTimeseriesGroupByTlsVersionVariables = {
+  queryParams?: RadarGetEmailSecurityTimeseriesGroupByTlsVersionQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of emails classified by TLS version over time.
+ */
+export const radarGetEmailSecurityTimeseriesGroupByTlsVersion = (
+  variables: RadarGetEmailSecurityTimeseriesGroupByTlsVersionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetEmailSecurityTimeseriesGroupByTlsVersionResponse,
+    RadarGetEmailSecurityTimeseriesGroupByTlsVersionError,
+    undefined,
+    {},
+    RadarGetEmailSecurityTimeseriesGroupByTlsVersionQueryParams,
+    {}
+  >({ url: '/radar/email/security/timeseries_groups/tls_version', method: 'get', ...variables, signal });
+
+export type RadarGetEmailSecurityTopTldsByMessagesQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Filter for arc (Authenticated Received Chain).
+   *
+   * @example PASS
+   */
+  arc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dkim.
+   *
+   * @example PASS
+   */
+  dkim?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dmarc.
+   *
+   * @example PASS
+   */
+  dmarc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for spf.
+   *
+   * @example PASS
+   */
+  spf?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3')[];
+  /**
+   * Filter for TLDs by category.
+   *
+   * @example CLASSIC
+   */
+  tldCategory?: 'CLASSIC' | 'COUNTRY';
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEmailSecurityTopTldsByMessagesError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetEmailSecurityTopTldsByMessagesResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example com.
+       */
+      name: string;
+      /**
+       * @example 65
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEmailSecurityTopTldsByMessagesVariables = {
+  queryParams?: RadarGetEmailSecurityTopTldsByMessagesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the top TLDs by email messages. Values are a percentage out of total email volume.
+ */
+export const radarGetEmailSecurityTopTldsByMessages = (
+  variables: RadarGetEmailSecurityTopTldsByMessagesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetEmailSecurityTopTldsByMessagesResponse,
+    RadarGetEmailSecurityTopTldsByMessagesError,
+    undefined,
+    {},
+    RadarGetEmailSecurityTopTldsByMessagesQueryParams,
+    {}
+  >({ url: '/radar/email/security/top/tlds', method: 'get', ...variables, signal });
+
+export type RadarGetEmailSecurityTopTldsByMaliciousPathParams = {
+  /**
+   * Malicious.
+   *
+   * @example MALICIOUS
+   */
+  malicious: 'MALICIOUS' | 'NOT_MALICIOUS';
+};
+
+export type RadarGetEmailSecurityTopTldsByMaliciousQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Filter for arc (Authenticated Received Chain).
+   *
+   * @example PASS
+   */
+  arc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dkim.
+   *
+   * @example PASS
+   */
+  dkim?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dmarc.
+   *
+   * @example PASS
+   */
+  dmarc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for spf.
+   *
+   * @example PASS
+   */
+  spf?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3')[];
+  /**
+   * Filter for TLDs by category.
+   *
+   * @example CLASSIC
+   */
+  tldCategory?: 'CLASSIC' | 'COUNTRY';
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEmailSecurityTopTldsByMaliciousError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetEmailSecurityTopTldsByMaliciousResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example com.
+       */
+      name: string;
+      /**
+       * @example 65
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEmailSecurityTopTldsByMaliciousVariables = {
+  pathParams: RadarGetEmailSecurityTopTldsByMaliciousPathParams;
+  queryParams?: RadarGetEmailSecurityTopTldsByMaliciousQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the TLDs by emails classified as malicious or not.
+ */
+export const radarGetEmailSecurityTopTldsByMalicious = (
+  variables: RadarGetEmailSecurityTopTldsByMaliciousVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetEmailSecurityTopTldsByMaliciousResponse,
+    RadarGetEmailSecurityTopTldsByMaliciousError,
+    undefined,
+    {},
+    RadarGetEmailSecurityTopTldsByMaliciousQueryParams,
+    RadarGetEmailSecurityTopTldsByMaliciousPathParams
+  >({ url: '/radar/email/security/top/tlds/malicious/{malicious}', method: 'get', ...variables, signal });
+
+export type RadarGetEmailSecurityTopTldsBySpamPathParams = {
+  /**
+   * Spam.
+   *
+   * @example SPAM
+   */
+  spam: 'SPAM' | 'NOT_SPAM';
+};
+
+export type RadarGetEmailSecurityTopTldsBySpamQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Filter for arc (Authenticated Received Chain).
+   *
+   * @example PASS
+   */
+  arc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dkim.
+   *
+   * @example PASS
+   */
+  dkim?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dmarc.
+   *
+   * @example PASS
+   */
+  dmarc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for spf.
+   *
+   * @example PASS
+   */
+  spf?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3')[];
+  /**
+   * Filter for TLDs by category.
+   *
+   * @example CLASSIC
+   */
+  tldCategory?: 'CLASSIC' | 'COUNTRY';
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEmailSecurityTopTldsBySpamError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetEmailSecurityTopTldsBySpamResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example com.
+       */
+      name: string;
+      /**
+       * @example 65
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEmailSecurityTopTldsBySpamVariables = {
+  pathParams: RadarGetEmailSecurityTopTldsBySpamPathParams;
+  queryParams?: RadarGetEmailSecurityTopTldsBySpamQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the top TLDs by emails classified as spam or not.
+ */
+export const radarGetEmailSecurityTopTldsBySpam = (
+  variables: RadarGetEmailSecurityTopTldsBySpamVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetEmailSecurityTopTldsBySpamResponse,
+    RadarGetEmailSecurityTopTldsBySpamError,
+    undefined,
+    {},
+    RadarGetEmailSecurityTopTldsBySpamQueryParams,
+    RadarGetEmailSecurityTopTldsBySpamPathParams
+  >({ url: '/radar/email/security/top/tlds/spam/{spam}', method: 'get', ...variables, signal });
+
+export type RadarGetEmailSecurityTopTldsBySpoofPathParams = {
+  /**
+   * Spoof.
+   *
+   * @example SPOOF
+   */
+  spoof: 'SPOOF' | 'NOT_SPOOF';
+};
+
+export type RadarGetEmailSecurityTopTldsBySpoofQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Filter for arc (Authenticated Received Chain).
+   *
+   * @example PASS
+   */
+  arc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dkim.
+   *
+   * @example PASS
+   */
+  dkim?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for dmarc.
+   *
+   * @example PASS
+   */
+  dmarc?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for spf.
+   *
+   * @example PASS
+   */
+  spf?: ('PASS' | 'NONE' | 'FAIL')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3')[];
+  /**
+   * Filter for TLDs by category.
+   *
+   * @example CLASSIC
+   */
+  tldCategory?: 'CLASSIC' | 'COUNTRY';
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEmailSecurityTopTldsBySpoofError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetEmailSecurityTopTldsBySpoofResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example com.
+       */
+      name: string;
+      /**
+       * @example 65
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEmailSecurityTopTldsBySpoofVariables = {
+  pathParams: RadarGetEmailSecurityTopTldsBySpoofPathParams;
+  queryParams?: RadarGetEmailSecurityTopTldsBySpoofQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the TLDs by emails classified as spoof or not.
+ */
+export const radarGetEmailSecurityTopTldsBySpoof = (
+  variables: RadarGetEmailSecurityTopTldsBySpoofVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetEmailSecurityTopTldsBySpoofResponse,
+    RadarGetEmailSecurityTopTldsBySpoofError,
+    undefined,
+    {},
+    RadarGetEmailSecurityTopTldsBySpoofQueryParams,
+    RadarGetEmailSecurityTopTldsBySpoofPathParams
+  >({ url: '/radar/email/security/top/tlds/spoof/{spoof}', method: 'get', ...variables, signal });
+
+export type RadarGetEntitiesAsnListQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Number of objects to skip before grabbing results.
+   */
+  offset?: number;
+  /**
+   * Comma separated list of ASNs.
+   *
+   * @example 174,7922
+   */
+  asn?: string;
+  /**
+   * Location Alpha2 to filter results.
+   *
+   * @example US
+   */
+  location?: string;
+  /**
+   * Order asn list.
+   *
+   * @default ASN
+   */
+  orderBy?: 'ASN' | 'POPULATION';
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEntitiesAsnListError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetEntitiesAsnListResponse = {
+  result: {
+    asns: {
+      aka?: string;
+      /**
+       * @example 714
+       */
+      asn: number;
+      /**
+       * @example GB
+       */
+      country: string;
+      /**
+       * @example United Kingdom
+       */
+      countryName: string;
+      /**
+       * @example Apple Inc.
+       */
+      name: string;
+      /**
+       * Deprecated field. Please use 'aka'.
+       */
+      nameLong?: string;
+      orgName?: string;
+      /**
+       * @example https://www.apple.com/support/systemstatus/
+       */
+      website?: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEntitiesAsnListVariables = {
+  queryParams?: RadarGetEntitiesAsnListQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a list of autonomous systems (ASes).
+ */
+export const radarGetEntitiesAsnList = (variables: RadarGetEntitiesAsnListVariables, signal?: AbortSignal) =>
+  fetch<
+    RadarGetEntitiesAsnListResponse,
+    RadarGetEntitiesAsnListError,
+    undefined,
+    {},
+    RadarGetEntitiesAsnListQueryParams,
+    {}
+  >({ url: '/radar/entities/asns', method: 'get', ...variables, signal });
+
+export type RadarGetEntitiesAsnByIpQueryParams = {
+  /**
+   * IP address.
+   *
+   * @example 8.8.8.8
+   * @format ip
+   */
+  ip: string;
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEntitiesAsnByIpError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetEntitiesAsnByIpResponse = {
+  result: {
+    asn: {
+      aka?: string;
+      /**
+       * @example 714
+       */
+      asn: number;
+      /**
+       * @example GB
+       */
+      country: string;
+      /**
+       * @example United Kingdom
+       */
+      countryName: string;
+      estimatedUsers: {
+        /**
+         * Total estimated users
+         *
+         * @example 86099
+         */
+        estimatedUsers?: number;
+        locations: {
+          /**
+           * Estimated users per location
+           *
+           * @example 16710
+           */
+          estimatedUsers?: number;
+          /**
+           * @example US
+           */
+          locationAlpha2: string;
+          /**
+           * @example United States
+           */
+          locationName: string;
+        }[];
+      };
+      /**
+       * @example Apple Inc.
+       */
+      name: string;
+      /**
+       * Deprecated field. Please use 'aka'.
+       */
+      nameLong?: string;
+      orgName: string;
+      related: {
+        aka?: string;
+        asn: number;
+        /**
+         * Total estimated users
+         *
+         * @example 65345
+         */
+        estimatedUsers?: number;
+        name: string;
+      }[];
+      /**
+       * Regional Internet Registry
+       *
+       * @example RIPE
+       */
+      source: string;
+      /**
+       * @example https://www.apple.com/support/systemstatus/
+       */
+      website: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEntitiesAsnByIpVariables = {
+  queryParams: RadarGetEntitiesAsnByIpQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the requested autonomous system information based on IP address. Population estimates come from APNIC (refer to https://labs.apnic.net/?p=526).
+ */
+export const radarGetEntitiesAsnByIp = (variables: RadarGetEntitiesAsnByIpVariables, signal?: AbortSignal) =>
+  fetch<
+    RadarGetEntitiesAsnByIpResponse,
+    RadarGetEntitiesAsnByIpError,
+    undefined,
+    {},
+    RadarGetEntitiesAsnByIpQueryParams,
+    {}
+  >({ url: '/radar/entities/asns/ip', method: 'get', ...variables, signal });
+
+export type RadarGetEntitiesAsnByIdPathParams = {
+  /**
+   * Autonomous System Number (ASN).
+   *
+   * @example 3
+   */
+  asn: number;
+};
+
+export type RadarGetEntitiesAsnByIdQueryParams = {
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEntitiesAsnByIdError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetEntitiesAsnByIdResponse = {
+  result: {
+    asn: {
+      aka?: string;
+      /**
+       * @example 714
+       */
+      asn: number;
+      /**
+       * @example 5
+       */
+      confidenceLevel: number;
+      /**
+       * @example GB
+       */
+      country: string;
+      /**
+       * @example United Kingdom
+       */
+      countryName: string;
+      estimatedUsers: {
+        /**
+         * Total estimated users
+         *
+         * @example 86099
+         */
+        estimatedUsers?: number;
+        locations: {
+          /**
+           * Estimated users per location
+           *
+           * @example 16710
+           */
+          estimatedUsers?: number;
+          /**
+           * @example US
+           */
+          locationAlpha2: string;
+          /**
+           * @example United States
+           */
+          locationName: string;
+        }[];
+      };
+      /**
+       * @example Apple Inc.
+       */
+      name: string;
+      /**
+       * Deprecated field. Please use 'aka'.
+       */
+      nameLong?: string;
+      orgName: string;
+      related: {
+        aka?: string;
+        /**
+         * @example 174
+         */
+        asn: number;
+        /**
+         * Total estimated users
+         *
+         * @example 65345
+         */
+        estimatedUsers?: number;
+        /**
+         * @example Cogent-174
+         */
+        name: string;
+      }[];
+      /**
+       * Regional Internet Registry
+       *
+       * @example RIPE
+       */
+      source: string;
+      /**
+       * @example https://www.apple.com/support/systemstatus/
+       */
+      website: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEntitiesAsnByIdVariables = {
+  pathParams: RadarGetEntitiesAsnByIdPathParams;
+  queryParams?: RadarGetEntitiesAsnByIdQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the requested autonomous system information. (A confidence level below `5` indicates a low level of confidence in the traffic data - normally this happens because Cloudflare has a small amount of traffic from/to this AS). Population estimates come from APNIC (refer to https://labs.apnic.net/?p=526).
+ */
+export const radarGetEntitiesAsnById = (variables: RadarGetEntitiesAsnByIdVariables, signal?: AbortSignal) =>
+  fetch<
+    RadarGetEntitiesAsnByIdResponse,
+    RadarGetEntitiesAsnByIdError,
+    undefined,
+    {},
+    RadarGetEntitiesAsnByIdQueryParams,
+    RadarGetEntitiesAsnByIdPathParams
+  >({ url: '/radar/entities/asns/{asn}', method: 'get', ...variables, signal });
+
+export type RadarGetAsnsRelPathParams = {
+  /**
+   * Get all ASNs with provider-customer or peering relationships with the given ASN
+   *
+   * @example 3
+   */
+  asn: number;
+};
+
+export type RadarGetAsnsRelQueryParams = {
+  /**
+   * Get the AS relationship of ASN2 with respect to the given ASN
+   */
+  asn2?: number;
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetAsnsRelError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetAsnsRelResponse = {
+  result: {
+    meta: {
+      data_time: string;
+      query_time: string;
+      total_peers: number;
+    };
+    rels: {
+      asn1: number;
+      asn1_country: string;
+      asn1_name: string;
+      asn2: number;
+      asn2_country: string;
+      asn2_name: string;
+      rel: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetAsnsRelVariables = {
+  pathParams: RadarGetAsnsRelPathParams;
+  queryParams?: RadarGetAsnsRelQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get AS-level relationship for given networks.
+ */
+export const radarGetAsnsRel = (variables: RadarGetAsnsRelVariables, signal?: AbortSignal) =>
+  fetch<
+    RadarGetAsnsRelResponse,
+    RadarGetAsnsRelError,
+    undefined,
+    {},
+    RadarGetAsnsRelQueryParams,
+    RadarGetAsnsRelPathParams
+  >({ url: '/radar/entities/asns/{asn}/rel', method: 'get', ...variables, signal });
+
+export type RadarGetEntitiesIpQueryParams = {
+  /**
+   * IP address.
+   *
+   * @example 8.8.8.8
+   * @format ip
+   */
+  ip: string;
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEntitiesIpError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetEntitiesIpResponse = {
+  result: {
+    ip: {
+      /**
+       * @example 15169
+       */
+      asn: string;
+      /**
+       * @example US
+       */
+      asnLocation: string;
+      /**
+       * @example GOOGLE
+       */
+      asnName: string;
+      /**
+       * @example Google LLC
+       */
+      asnOrgName: string;
+      /**
+       * @example 8.8.8.8
+       */
+      ip: string;
+      /**
+       * @example IPv4
+       */
+      ipVersion: string;
+      /**
+       * @example GB
+       */
+      location: string;
+      /**
+       * @example United Kingdom
+       */
+      locationName: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEntitiesIpVariables = {
+  queryParams: RadarGetEntitiesIpQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get IP address information.
+ */
+export const radarGetEntitiesIp = (variables: RadarGetEntitiesIpVariables, signal?: AbortSignal) =>
+  fetch<RadarGetEntitiesIpResponse, RadarGetEntitiesIpError, undefined, {}, RadarGetEntitiesIpQueryParams, {}>({
+    url: '/radar/entities/ip',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type RadarGetEntitiesLocationsQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Number of objects to skip before grabbing results.
+   */
+  offset?: number;
+  /**
+   * Comma separated list of locations.
+   *
+   * @example US,CA
+   */
+  location?: string;
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEntitiesLocationsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetEntitiesLocationsResponse = {
+  result: {
+    locations: {
+      /**
+       * @example AF
+       */
+      alpha2: string;
+      /**
+       * @example 33.939116
+       */
+      latitude: string;
+      /**
+       * @example 67.709953
+       */
+      longitude: string;
+      /**
+       * @example Afghanistan
+       */
+      name: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEntitiesLocationsVariables = {
+  queryParams?: RadarGetEntitiesLocationsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a list of locations.
+ */
+export const radarGetEntitiesLocations = (variables: RadarGetEntitiesLocationsVariables, signal?: AbortSignal) =>
+  fetch<
+    RadarGetEntitiesLocationsResponse,
+    RadarGetEntitiesLocationsError,
+    undefined,
+    {},
+    RadarGetEntitiesLocationsQueryParams,
+    {}
+  >({ url: '/radar/entities/locations', method: 'get', ...variables, signal });
+
+export type RadarGetEntitiesLocationByAlpha2PathParams = {
+  /**
+   * Alpha-2 country code.
+   *
+   * @example US
+   */
+  location: string;
+};
+
+export type RadarGetEntitiesLocationByAlpha2QueryParams = {
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetEntitiesLocationByAlpha2Error = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetEntitiesLocationByAlpha2Response = {
+  result: {
+    location: {
+      /**
+       * @example AF
+       */
+      alpha2: string;
+      /**
+       * @example 5
+       */
+      confidenceLevel: number;
+      /**
+       * @example 33.939116
+       */
+      latitude: string;
+      /**
+       * @example 67.709953
+       */
+      longitude: string;
+      /**
+       * @example Afghanistan
+       */
+      name: string;
+      /**
+       * @example Middle East
+       */
+      region: string;
+      /**
+       * @example Southern Asia
+       */
+      subregion: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetEntitiesLocationByAlpha2Variables = {
+  pathParams: RadarGetEntitiesLocationByAlpha2PathParams;
+  queryParams?: RadarGetEntitiesLocationByAlpha2QueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the requested location information. (A confidence level below `5` indicates a low level of confidence in the traffic data - normally this happens because Cloudflare has a small amount of traffic from/to this location).
+ */
+export const radarGetEntitiesLocationByAlpha2 = (
+  variables: RadarGetEntitiesLocationByAlpha2Variables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetEntitiesLocationByAlpha2Response,
+    RadarGetEntitiesLocationByAlpha2Error,
+    undefined,
+    {},
+    RadarGetEntitiesLocationByAlpha2QueryParams,
+    RadarGetEntitiesLocationByAlpha2PathParams
+  >({ url: '/radar/entities/locations/{location}', method: 'get', ...variables, signal });
+
+export type RadarGetHttpSummaryByBotClassQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for device type.
+   *
+   * @example DESKTOP
+   */
+  deviceType?: ('DESKTOP' | 'MOBILE' | 'OTHER')[];
+  /**
+   * Filter for http protocol.
+   *
+   * @example HTTPS
+   */
+  httpProtocol?: ('HTTP' | 'HTTPS')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for os name.
+   *
+   * @example WINDOWS
+   */
+  os?: ('WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpSummaryByBotClassError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetHttpSummaryByBotClassResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 35
+       */
+      bot: string;
+      /**
+       * @example 65
+       */
+      human: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpSummaryByBotClassVariables = {
+  queryParams?: RadarGetHttpSummaryByBotClassQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of bot-generated traffic to genuine human traffic, as classified by Cloudflare. Visit https://developers.cloudflare.com/radar/concepts/bot-classes/ for more information.
+ */
+export const radarGetHttpSummaryByBotClass = (
+  variables: RadarGetHttpSummaryByBotClassVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetHttpSummaryByBotClassResponse,
+    RadarGetHttpSummaryByBotClassError,
+    undefined,
+    {},
+    RadarGetHttpSummaryByBotClassQueryParams,
+    {}
+  >({ url: '/radar/http/summary/bot_class', method: 'get', ...variables, signal });
+
+export type RadarGetHttpSummaryByDeviceTypeQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/).
+   *
+   * @example LIKELY_AUTOMATED
+   */
+  botClass?: ('LIKELY_AUTOMATED' | 'LIKELY_HUMAN')[];
+  /**
+   * Filter for http protocol.
+   *
+   * @example HTTPS
+   */
+  httpProtocol?: ('HTTP' | 'HTTPS')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for os name.
+   *
+   * @example WINDOWS
+   */
+  os?: ('WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpSummaryByDeviceTypeError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetHttpSummaryByDeviceTypeResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 65
+       */
+      desktop: string;
+      /**
+       * @example 30
+       */
+      mobile: string;
+      /**
+       * @example 5
+       */
+      other: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpSummaryByDeviceTypeVariables = {
+  queryParams?: RadarGetHttpSummaryByDeviceTypeQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage of Internet traffic generated by mobile, desktop, and other types of devices over a given time period.
+ */
+export const radarGetHttpSummaryByDeviceType = (
+  variables: RadarGetHttpSummaryByDeviceTypeVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetHttpSummaryByDeviceTypeResponse,
+    RadarGetHttpSummaryByDeviceTypeError,
+    undefined,
+    {},
+    RadarGetHttpSummaryByDeviceTypeQueryParams,
+    {}
+  >({ url: '/radar/http/summary/device_type', method: 'get', ...variables, signal });
+
+export type RadarGetHttpSummaryByHttpProtocolQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/).
+   *
+   * @example LIKELY_AUTOMATED
+   */
+  botClass?: ('LIKELY_AUTOMATED' | 'LIKELY_HUMAN')[];
+  /**
+   * Filter for device type.
+   *
+   * @example DESKTOP
+   */
+  deviceType?: ('DESKTOP' | 'MOBILE' | 'OTHER')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for os name.
+   *
+   * @example WINDOWS
+   */
+  os?: ('WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpSummaryByHttpProtocolError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetHttpSummaryByHttpProtocolResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 99
+       */
+      http: string;
+      /**
+       * @example 1
+       */
+      https: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpSummaryByHttpProtocolVariables = {
+  queryParams?: RadarGetHttpSummaryByHttpProtocolQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of traffic by HTTP protocol over a given time period.
+ */
+export const radarGetHttpSummaryByHttpProtocol = (
+  variables: RadarGetHttpSummaryByHttpProtocolVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetHttpSummaryByHttpProtocolResponse,
+    RadarGetHttpSummaryByHttpProtocolError,
+    undefined,
+    {},
+    RadarGetHttpSummaryByHttpProtocolQueryParams,
+    {}
+  >({ url: '/radar/http/summary/http_protocol', method: 'get', ...variables, signal });
+
+export type RadarGetHttpSummaryByHttpVersionQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/).
+   *
+   * @example LIKELY_AUTOMATED
+   */
+  botClass?: ('LIKELY_AUTOMATED' | 'LIKELY_HUMAN')[];
+  /**
+   * Filter for device type.
+   *
+   * @example DESKTOP
+   */
+  deviceType?: ('DESKTOP' | 'MOBILE' | 'OTHER')[];
+  /**
+   * Filter for http protocol.
+   *
+   * @example HTTPS
+   */
+  httpProtocol?: ('HTTP' | 'HTTPS')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for os name.
+   *
+   * @example WINDOWS
+   */
+  os?: ('WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpSummaryByHttpVersionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetHttpSummaryByHttpVersionResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 1
+       */
+      ['HTTP/1.x']: string;
+      /**
+       * @example 39
+       */
+      ['HTTP/2']: string;
+      /**
+       * @example 60
+       */
+      ['HTTP/3']: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpSummaryByHttpVersionVariables = {
+  queryParams?: RadarGetHttpSummaryByHttpVersionQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of traffic by HTTP version over a given time period.
+ */
+export const radarGetHttpSummaryByHttpVersion = (
+  variables: RadarGetHttpSummaryByHttpVersionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetHttpSummaryByHttpVersionResponse,
+    RadarGetHttpSummaryByHttpVersionError,
+    undefined,
+    {},
+    RadarGetHttpSummaryByHttpVersionQueryParams,
+    {}
+  >({ url: '/radar/http/summary/http_version', method: 'get', ...variables, signal });
+
+export type RadarGetHttpSummaryByIpVersionQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/).
+   *
+   * @example LIKELY_AUTOMATED
+   */
+  botClass?: ('LIKELY_AUTOMATED' | 'LIKELY_HUMAN')[];
+  /**
+   * Filter for device type.
+   *
+   * @example DESKTOP
+   */
+  deviceType?: ('DESKTOP' | 'MOBILE' | 'OTHER')[];
+  /**
+   * Filter for http protocol.
+   *
+   * @example HTTPS
+   */
+  httpProtocol?: ('HTTP' | 'HTTPS')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for os name.
+   *
+   * @example WINDOWS
+   */
+  os?: ('WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpSummaryByIpVersionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetHttpSummaryByIpVersionResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 65
+       */
+      IPv4: string;
+      /**
+       * @example 35
+       */
+      IPv6: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpSummaryByIpVersionVariables = {
+  queryParams?: RadarGetHttpSummaryByIpVersionQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of Internet traffic based on IP versions (IPv4 and IPv6) over a given time period.
+ */
+export const radarGetHttpSummaryByIpVersion = (
+  variables: RadarGetHttpSummaryByIpVersionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetHttpSummaryByIpVersionResponse,
+    RadarGetHttpSummaryByIpVersionError,
+    undefined,
+    {},
+    RadarGetHttpSummaryByIpVersionQueryParams,
+    {}
+  >({ url: '/radar/http/summary/ip_version', method: 'get', ...variables, signal });
+
+export type RadarGetHttpSummaryByOperatingSystemQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/).
+   *
+   * @example LIKELY_AUTOMATED
+   */
+  botClass?: ('LIKELY_AUTOMATED' | 'LIKELY_HUMAN')[];
+  /**
+   * Filter for device type.
+   *
+   * @example DESKTOP
+   */
+  deviceType?: ('DESKTOP' | 'MOBILE' | 'OTHER')[];
+  /**
+   * Filter for http protocol.
+   *
+   * @example HTTPS
+   */
+  httpProtocol?: ('HTTP' | 'HTTPS')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpSummaryByOperatingSystemError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetHttpSummaryByOperatingSystemResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 65
+       */
+      ANDROID: string;
+      /**
+       * @example 35
+       */
+      IOS: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpSummaryByOperatingSystemVariables = {
+  queryParams?: RadarGetHttpSummaryByOperatingSystemQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of Internet traffic generated by different operating systems like Windows, macOS, Android, iOS, and others, over a given time period.
+ */
+export const radarGetHttpSummaryByOperatingSystem = (
+  variables: RadarGetHttpSummaryByOperatingSystemVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetHttpSummaryByOperatingSystemResponse,
+    RadarGetHttpSummaryByOperatingSystemError,
+    undefined,
+    {},
+    RadarGetHttpSummaryByOperatingSystemQueryParams,
+    {}
+  >({ url: '/radar/http/summary/os', method: 'get', ...variables, signal });
+
+export type RadarGetHttpSummaryByPostQuantumQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/).
+   *
+   * @example LIKELY_AUTOMATED
+   */
+  botClass?: ('LIKELY_AUTOMATED' | 'LIKELY_HUMAN')[];
+  /**
+   * Filter for device type.
+   *
+   * @example DESKTOP
+   */
+  deviceType?: ('DESKTOP' | 'MOBILE' | 'OTHER')[];
+  /**
+   * Filter for http protocol.
+   *
+   * @example HTTPS
+   */
+  httpProtocol?: ('HTTP' | 'HTTPS')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for os name.
+   *
+   * @example WINDOWS
+   */
+  os?: ('WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpSummaryByPostQuantumError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetHttpSummaryByPostQuantumResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 16
+       */
+      NOT_SUPPORTED: string;
+      /**
+       * @example 84
+       */
+      SUPPORTED: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpSummaryByPostQuantumVariables = {
+  queryParams?: RadarGetHttpSummaryByPostQuantumQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of traffic by post-quantum support over a given time period.
+ */
+export const radarGetHttpSummaryByPostQuantum = (
+  variables: RadarGetHttpSummaryByPostQuantumVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetHttpSummaryByPostQuantumResponse,
+    RadarGetHttpSummaryByPostQuantumError,
+    undefined,
+    {},
+    RadarGetHttpSummaryByPostQuantumQueryParams,
+    {}
+  >({ url: '/radar/http/summary/post_quantum', method: 'get', ...variables, signal });
+
+export type RadarGetHttpSummaryByTlsVersionQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/).
+   *
+   * @example LIKELY_AUTOMATED
+   */
+  botClass?: ('LIKELY_AUTOMATED' | 'LIKELY_HUMAN')[];
+  /**
+   * Filter for device type.
+   *
+   * @example DESKTOP
+   */
+  deviceType?: ('DESKTOP' | 'MOBILE' | 'OTHER')[];
+  /**
+   * Filter for http protocol.
+   *
+   * @example HTTPS
+   */
+  httpProtocol?: ('HTTP' | 'HTTPS')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for os name.
+   *
+   * @example WINDOWS
+   */
+  os?: ('WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpSummaryByTlsVersionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetHttpSummaryByTlsVersionResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 0.5
+       */
+      ['TLS 1.0']: string;
+      /**
+       * @example 0.5
+       */
+      ['TLS 1.1']: string;
+      /**
+       * @example 60
+       */
+      ['TLS 1.2']: string;
+      /**
+       * @example 10
+       */
+      ['TLS 1.3']: string;
+      /**
+       * @example 29
+       */
+      ['TLS QUIC']: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpSummaryByTlsVersionVariables = {
+  queryParams?: RadarGetHttpSummaryByTlsVersionQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of traffic by TLS protocol version, over a given time period.
+ */
+export const radarGetHttpSummaryByTlsVersion = (
+  variables: RadarGetHttpSummaryByTlsVersionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetHttpSummaryByTlsVersionResponse,
+    RadarGetHttpSummaryByTlsVersionError,
+    undefined,
+    {},
+    RadarGetHttpSummaryByTlsVersionQueryParams,
+    {}
+  >({ url: '/radar/http/summary/tls_version', method: 'get', ...variables, signal });
+
+export type RadarGetHttpTimeseriesQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Normalization method applied. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/).
+   *
+   * @example MIN0_MAX
+   */
+  normalization?: 'PERCENTAGE_CHANGE' | 'MIN0_MAX';
+  /**
+   * Filter for bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/).
+   *
+   * @example LIKELY_AUTOMATED
+   */
+  botClass?: ('LIKELY_AUTOMATED' | 'LIKELY_HUMAN')[];
+  /**
+   * Filter for device type.
+   *
+   * @example DESKTOP
+   */
+  deviceType?: ('DESKTOP' | 'MOBILE' | 'OTHER')[];
+  /**
+   * Filter for http protocol.
+   *
+   * @example HTTPS
+   */
+  httpProtocol?: ('HTTP' | 'HTTPS')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for os name.
+   *
+   * @example WINDOWS
+   */
+  os?: ('WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpTimeseriesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetHttpTimeseriesResponse = {
+  result: {
+    meta: {
+      /**
+       * @example 1h
+       */
+      aggInterval: string;
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @format date-time
+       */
+      lastUpdated: string;
+    };
+    serie_0: {
+      timestamps: string[];
+      values: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpTimeseriesVariables = {
+  queryParams?: RadarGetHttpTimeseriesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get HTTP requests over time.
+ */
+export const radarGetHttpTimeseries = (variables: RadarGetHttpTimeseriesVariables, signal?: AbortSignal) =>
+  fetch<
+    RadarGetHttpTimeseriesResponse,
+    RadarGetHttpTimeseriesError,
+    undefined,
+    {},
+    RadarGetHttpTimeseriesQueryParams,
+    {}
+  >({ url: '/radar/http/timeseries', method: 'get', ...variables, signal });
+
+export type RadarGetHttpTimeseriesGroupByBotClassQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for device type.
+   *
+   * @example DESKTOP
+   */
+  deviceType?: ('DESKTOP' | 'MOBILE' | 'OTHER')[];
+  /**
+   * Filter for http protocol.
+   *
+   * @example HTTPS
+   */
+  httpProtocol?: ('HTTP' | 'HTTPS')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for os name.
+   *
+   * @example WINDOWS
+   */
+  os?: ('WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpTimeseriesGroupByBotClassError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetHttpTimeseriesGroupByBotClassResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      bot: string[];
+      human: string[];
+      timestamps: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpTimeseriesGroupByBotClassVariables = {
+  queryParams?: RadarGetHttpTimeseriesGroupByBotClassQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a time series of the percentage distribution of traffic classified as automated or human. Visit https://developers.cloudflare.com/radar/concepts/bot-classes/ for more information.
+ */
+export const radarGetHttpTimeseriesGroupByBotClass = (
+  variables: RadarGetHttpTimeseriesGroupByBotClassVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetHttpTimeseriesGroupByBotClassResponse,
+    RadarGetHttpTimeseriesGroupByBotClassError,
+    undefined,
+    {},
+    RadarGetHttpTimeseriesGroupByBotClassQueryParams,
+    {}
+  >({ url: '/radar/http/timeseries_groups/bot_class', method: 'get', ...variables, signal });
+
+export type RadarGetHttpTimeseriesGroupByBrowsersQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/).
+   *
+   * @example LIKELY_AUTOMATED
+   */
+  botClass?: ('LIKELY_AUTOMATED' | 'LIKELY_HUMAN')[];
+  /**
+   * Filter for device type.
+   *
+   * @example DESKTOP
+   */
+  deviceType?: ('DESKTOP' | 'MOBILE' | 'OTHER')[];
+  /**
+   * Filter for http protocol.
+   *
+   * @example HTTPS
+   */
+  httpProtocol?: ('HTTP' | 'HTTPS')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for os name.
+   *
+   * @example WINDOWS
+   */
+  os?: ('WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC')[];
+  /**
+   * Limit the number of objects (eg browsers, verticals, etc) to the top items over the time range.
+   *
+   * @example 4
+   */
+  limitPerGroup?: number;
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpTimeseriesGroupByBrowsersError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetHttpTimeseriesGroupByBrowsersResponse = {
+  result: {
+    meta: Record<string, any>;
+    /**
+     * @example {"Chrome":["50.168733"],"timestamps":["2023-08-08T10:15:00Z"]}
+     */
+    serie_0: {
+      timestamps: string[];
+    } & {
+      [key: string]: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpTimeseriesGroupByBrowsersVariables = {
+  queryParams?: RadarGetHttpTimeseriesGroupByBrowsersQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a time series of the percentage distribution of traffic of the top user agents.
+ */
+export const radarGetHttpTimeseriesGroupByBrowsers = (
+  variables: RadarGetHttpTimeseriesGroupByBrowsersVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetHttpTimeseriesGroupByBrowsersResponse,
+    RadarGetHttpTimeseriesGroupByBrowsersError,
+    undefined,
+    {},
+    RadarGetHttpTimeseriesGroupByBrowsersQueryParams,
+    {}
+  >({ url: '/radar/http/timeseries_groups/browser', method: 'get', ...variables, signal });
+
+export type RadarGetHttpTimeseriesGroupByBrowserFamiliesQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/).
+   *
+   * @example LIKELY_AUTOMATED
+   */
+  botClass?: ('LIKELY_AUTOMATED' | 'LIKELY_HUMAN')[];
+  /**
+   * Filter for device type.
+   *
+   * @example DESKTOP
+   */
+  deviceType?: ('DESKTOP' | 'MOBILE' | 'OTHER')[];
+  /**
+   * Filter for http protocol.
+   *
+   * @example HTTPS
+   */
+  httpProtocol?: ('HTTP' | 'HTTPS')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for os name.
+   *
+   * @example WINDOWS
+   */
+  os?: ('WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpTimeseriesGroupByBrowserFamiliesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetHttpTimeseriesGroupByBrowserFamiliesResponse = {
+  result: {
+    meta: Record<string, any>;
+    /**
+     * @example {"Chrome":["50.168733"],"timestamps":["2023-08-08T10:15:00Z"]}
+     */
+    serie_0: {
+      timestamps: string[];
+    } & {
+      [key: string]: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpTimeseriesGroupByBrowserFamiliesVariables = {
+  queryParams?: RadarGetHttpTimeseriesGroupByBrowserFamiliesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a time series of the percentage distribution of traffic of the top user agents aggregated in families.
+ */
+export const radarGetHttpTimeseriesGroupByBrowserFamilies = (
+  variables: RadarGetHttpTimeseriesGroupByBrowserFamiliesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetHttpTimeseriesGroupByBrowserFamiliesResponse,
+    RadarGetHttpTimeseriesGroupByBrowserFamiliesError,
+    undefined,
+    {},
+    RadarGetHttpTimeseriesGroupByBrowserFamiliesQueryParams,
+    {}
+  >({ url: '/radar/http/timeseries_groups/browser_family', method: 'get', ...variables, signal });
+
+export type RadarGetHttpTimeseriesGroupByDeviceTypeQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/).
+   *
+   * @example LIKELY_AUTOMATED
+   */
+  botClass?: ('LIKELY_AUTOMATED' | 'LIKELY_HUMAN')[];
+  /**
+   * Filter for http protocol.
+   *
+   * @example HTTPS
+   */
+  httpProtocol?: ('HTTP' | 'HTTPS')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for os name.
+   *
+   * @example WINDOWS
+   */
+  os?: ('WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpTimeseriesGroupByDeviceTypeError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetHttpTimeseriesGroupByDeviceTypeResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      desktop: string[];
+      mobile: string[];
+      other: string[];
+      timestamps: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpTimeseriesGroupByDeviceTypeVariables = {
+  queryParams?: RadarGetHttpTimeseriesGroupByDeviceTypeQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a time series of the percentage distribution of traffic by device type.
+ */
+export const radarGetHttpTimeseriesGroupByDeviceType = (
+  variables: RadarGetHttpTimeseriesGroupByDeviceTypeVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetHttpTimeseriesGroupByDeviceTypeResponse,
+    RadarGetHttpTimeseriesGroupByDeviceTypeError,
+    undefined,
+    {},
+    RadarGetHttpTimeseriesGroupByDeviceTypeQueryParams,
+    {}
+  >({ url: '/radar/http/timeseries_groups/device_type', method: 'get', ...variables, signal });
+
+export type RadarGetHttpTimeseriesGroupByHttpProtocolQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/).
+   *
+   * @example LIKELY_AUTOMATED
+   */
+  botClass?: ('LIKELY_AUTOMATED' | 'LIKELY_HUMAN')[];
+  /**
+   * Filter for device type.
+   *
+   * @example DESKTOP
+   */
+  deviceType?: ('DESKTOP' | 'MOBILE' | 'OTHER')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for os name.
+   *
+   * @example WINDOWS
+   */
+  os?: ('WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpTimeseriesGroupByHttpProtocolError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetHttpTimeseriesGroupByHttpProtocolResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      http: string[];
+      https: string[];
+      timestamps: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpTimeseriesGroupByHttpProtocolVariables = {
+  queryParams?: RadarGetHttpTimeseriesGroupByHttpProtocolQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a time series of the percentage distribution of traffic by HTTP protocol.
+ */
+export const radarGetHttpTimeseriesGroupByHttpProtocol = (
+  variables: RadarGetHttpTimeseriesGroupByHttpProtocolVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetHttpTimeseriesGroupByHttpProtocolResponse,
+    RadarGetHttpTimeseriesGroupByHttpProtocolError,
+    undefined,
+    {},
+    RadarGetHttpTimeseriesGroupByHttpProtocolQueryParams,
+    {}
+  >({ url: '/radar/http/timeseries_groups/http_protocol', method: 'get', ...variables, signal });
+
+export type RadarGetHttpTimeseriesGroupByHttpVersionQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/).
+   *
+   * @example LIKELY_AUTOMATED
+   */
+  botClass?: ('LIKELY_AUTOMATED' | 'LIKELY_HUMAN')[];
+  /**
+   * Filter for device type.
+   *
+   * @example DESKTOP
+   */
+  deviceType?: ('DESKTOP' | 'MOBILE' | 'OTHER')[];
+  /**
+   * Filter for http protocol.
+   *
+   * @example HTTPS
+   */
+  httpProtocol?: ('HTTP' | 'HTTPS')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for os name.
+   *
+   * @example WINDOWS
+   */
+  os?: ('WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpTimeseriesGroupByHttpVersionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetHttpTimeseriesGroupByHttpVersionResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      ['HTTP/1.x']: string[];
+      ['HTTP/2']: string[];
+      ['HTTP/3']: string[];
+      timestamps: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpTimeseriesGroupByHttpVersionVariables = {
+  queryParams?: RadarGetHttpTimeseriesGroupByHttpVersionQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a time series of the percentage distribution of traffic by HTTP version.
+ */
+export const radarGetHttpTimeseriesGroupByHttpVersion = (
+  variables: RadarGetHttpTimeseriesGroupByHttpVersionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetHttpTimeseriesGroupByHttpVersionResponse,
+    RadarGetHttpTimeseriesGroupByHttpVersionError,
+    undefined,
+    {},
+    RadarGetHttpTimeseriesGroupByHttpVersionQueryParams,
+    {}
+  >({ url: '/radar/http/timeseries_groups/http_version', method: 'get', ...variables, signal });
+
+export type RadarGetHttpTimeseriesGroupByIpVersionQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/).
+   *
+   * @example LIKELY_AUTOMATED
+   */
+  botClass?: ('LIKELY_AUTOMATED' | 'LIKELY_HUMAN')[];
+  /**
+   * Filter for device type.
+   *
+   * @example DESKTOP
+   */
+  deviceType?: ('DESKTOP' | 'MOBILE' | 'OTHER')[];
+  /**
+   * Filter for http protocol.
+   *
+   * @example HTTPS
+   */
+  httpProtocol?: ('HTTP' | 'HTTPS')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for os name.
+   *
+   * @example WINDOWS
+   */
+  os?: ('WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpTimeseriesGroupByIpVersionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetHttpTimeseriesGroupByIpVersionResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      IPv4: string[];
+      IPv6: string[];
+      timestamps: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpTimeseriesGroupByIpVersionVariables = {
+  queryParams?: RadarGetHttpTimeseriesGroupByIpVersionQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a time series of the percentage distribution of traffic by IP version.
+ */
+export const radarGetHttpTimeseriesGroupByIpVersion = (
+  variables: RadarGetHttpTimeseriesGroupByIpVersionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetHttpTimeseriesGroupByIpVersionResponse,
+    RadarGetHttpTimeseriesGroupByIpVersionError,
+    undefined,
+    {},
+    RadarGetHttpTimeseriesGroupByIpVersionQueryParams,
+    {}
+  >({ url: '/radar/http/timeseries_groups/ip_version', method: 'get', ...variables, signal });
+
+export type RadarGetHttpTimeseriesGroupByOperatingSystemQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/).
+   *
+   * @example LIKELY_AUTOMATED
+   */
+  botClass?: ('LIKELY_AUTOMATED' | 'LIKELY_HUMAN')[];
+  /**
+   * Filter for device type.
+   *
+   * @example DESKTOP
+   */
+  deviceType?: ('DESKTOP' | 'MOBILE' | 'OTHER')[];
+  /**
+   * Filter for http protocol.
+   *
+   * @example HTTPS
+   */
+  httpProtocol?: ('HTTP' | 'HTTPS')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpTimeseriesGroupByOperatingSystemError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetHttpTimeseriesGroupByOperatingSystemResponse = {
+  result: {
+    meta: Record<string, any>;
+    /**
+     * @example {"ANDROID":["97.28898"],"timestamps":["2023-08-08T10:15:00Z"]}
+     */
+    serie_0: {
+      timestamps: string[];
+    } & {
+      [key: string]: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpTimeseriesGroupByOperatingSystemVariables = {
+  queryParams?: RadarGetHttpTimeseriesGroupByOperatingSystemQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a time series of the percentage distribution of traffic of the top operating systems.
+ */
+export const radarGetHttpTimeseriesGroupByOperatingSystem = (
+  variables: RadarGetHttpTimeseriesGroupByOperatingSystemVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetHttpTimeseriesGroupByOperatingSystemResponse,
+    RadarGetHttpTimeseriesGroupByOperatingSystemError,
+    undefined,
+    {},
+    RadarGetHttpTimeseriesGroupByOperatingSystemQueryParams,
+    {}
+  >({ url: '/radar/http/timeseries_groups/os', method: 'get', ...variables, signal });
+
+export type RadarGetHttpTimeseriesGroupByPostQuantumQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/).
+   *
+   * @example LIKELY_AUTOMATED
+   */
+  botClass?: ('LIKELY_AUTOMATED' | 'LIKELY_HUMAN')[];
+  /**
+   * Filter for device type.
+   *
+   * @example DESKTOP
+   */
+  deviceType?: ('DESKTOP' | 'MOBILE' | 'OTHER')[];
+  /**
+   * Filter for http protocol.
+   *
+   * @example HTTPS
+   */
+  httpProtocol?: ('HTTP' | 'HTTPS')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for os name.
+   *
+   * @example WINDOWS
+   */
+  os?: ('WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpTimeseriesGroupByPostQuantumError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetHttpTimeseriesGroupByPostQuantumResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      NOT_SUPPORTED: string[];
+      SUPPORTED: string[];
+      timestamps: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpTimeseriesGroupByPostQuantumVariables = {
+  queryParams?: RadarGetHttpTimeseriesGroupByPostQuantumQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a time series of the percentage distribution of traffic by post-quantum suport.
+ */
+export const radarGetHttpTimeseriesGroupByPostQuantum = (
+  variables: RadarGetHttpTimeseriesGroupByPostQuantumVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetHttpTimeseriesGroupByPostQuantumResponse,
+    RadarGetHttpTimeseriesGroupByPostQuantumError,
+    undefined,
+    {},
+    RadarGetHttpTimeseriesGroupByPostQuantumQueryParams,
+    {}
+  >({ url: '/radar/http/timeseries_groups/post_quantum', method: 'get', ...variables, signal });
+
+export type RadarGetHttpTimeseriesGroupByTlsVersionQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/).
+   *
+   * @example LIKELY_AUTOMATED
+   */
+  botClass?: ('LIKELY_AUTOMATED' | 'LIKELY_HUMAN')[];
+  /**
+   * Filter for device type.
+   *
+   * @example DESKTOP
+   */
+  deviceType?: ('DESKTOP' | 'MOBILE' | 'OTHER')[];
+  /**
+   * Filter for http protocol.
+   *
+   * @example HTTPS
+   */
+  httpProtocol?: ('HTTP' | 'HTTPS')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for os name.
+   *
+   * @example WINDOWS
+   */
+  os?: ('WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpTimeseriesGroupByTlsVersionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetHttpTimeseriesGroupByTlsVersionResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      ['TLS 1.0']: string[];
+      ['TLS 1.1']: string[];
+      ['TLS 1.2']: string[];
+      ['TLS 1.3']: string[];
+      ['TLS QUIC']: string[];
+      timestamps: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpTimeseriesGroupByTlsVersionVariables = {
+  queryParams?: RadarGetHttpTimeseriesGroupByTlsVersionQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a time series of the percentage distribution of traffic by TLS protocol version.
+ */
+export const radarGetHttpTimeseriesGroupByTlsVersion = (
+  variables: RadarGetHttpTimeseriesGroupByTlsVersionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetHttpTimeseriesGroupByTlsVersionResponse,
+    RadarGetHttpTimeseriesGroupByTlsVersionError,
+    undefined,
+    {},
+    RadarGetHttpTimeseriesGroupByTlsVersionQueryParams,
+    {}
+  >({ url: '/radar/http/timeseries_groups/tls_version', method: 'get', ...variables, signal });
+
+export type RadarGetHttpTopAsesByHttpRequestsQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/).
+   *
+   * @example LIKELY_AUTOMATED
+   */
+  botClass?: ('LIKELY_AUTOMATED' | 'LIKELY_HUMAN')[];
+  /**
+   * Filter for device type.
+   *
+   * @example DESKTOP
+   */
+  deviceType?: ('DESKTOP' | 'MOBILE' | 'OTHER')[];
+  /**
+   * Filter for http protocol.
+   *
+   * @example HTTPS
+   */
+  httpProtocol?: ('HTTP' | 'HTTPS')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for os name.
+   *
+   * @example WINDOWS
+   */
+  os?: ('WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC')[];
+  /**
+   * Filter for browser family.
+   *
+   * @example CHROME
+   */
+  browserFamily?: ('CHROME' | 'EDGE' | 'FIREFOX' | 'SAFARI')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpTopAsesByHttpRequestsError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetHttpTopAsesByHttpRequestsResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example 3243
+       */
+      clientASN: number;
+      /**
+       * @example MEO
+       */
+      clientASName: string;
+      /**
+       * @example 3
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpTopAsesByHttpRequestsVariables = {
+  queryParams?: RadarGetHttpTopAsesByHttpRequestsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the top autonomous systems by HTTP traffic. Values are a percentage out of the total traffic.
+ */
+export const radarGetHttpTopAsesByHttpRequests = (
+  variables: RadarGetHttpTopAsesByHttpRequestsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetHttpTopAsesByHttpRequestsResponse,
+    RadarGetHttpTopAsesByHttpRequestsError,
+    undefined,
+    {},
+    RadarGetHttpTopAsesByHttpRequestsQueryParams,
+    {}
+  >({ url: '/radar/http/top/ases', method: 'get', ...variables, signal });
+
+export type RadarGetHttpTopAsesByBotClassPathParams = {
+  /**
+   * Bot class.
+   */
+  botClass: 'LIKELY_AUTOMATED' | 'LIKELY_HUMAN';
+};
+
+export type RadarGetHttpTopAsesByBotClassQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for device type.
+   *
+   * @example DESKTOP
+   */
+  deviceType?: ('DESKTOP' | 'MOBILE' | 'OTHER')[];
+  /**
+   * Filter for http protocol.
+   *
+   * @example HTTPS
+   */
+  httpProtocol?: ('HTTP' | 'HTTPS')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for os name.
+   *
+   * @example WINDOWS
+   */
+  os?: ('WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC')[];
+  /**
+   * Filter for browser family.
+   *
+   * @example CHROME
+   */
+  browserFamily?: ('CHROME' | 'EDGE' | 'FIREFOX' | 'SAFARI')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpTopAsesByBotClassError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetHttpTopAsesByBotClassResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example 3243
+       */
+      clientASN: number;
+      /**
+       * @example MEO
+       */
+      clientASName: string;
+      /**
+       * @example 3
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpTopAsesByBotClassVariables = {
+  pathParams: RadarGetHttpTopAsesByBotClassPathParams;
+  queryParams?: RadarGetHttpTopAsesByBotClassQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the top autonomous systems (AS), by HTTP traffic, of the requested bot class. These two categories use Cloudflare's bot score - refer to [Bot Scores](https://developers.cloudflare.com/bots/concepts/bot-score) for more information. Values are a percentage out of the total traffic.
+ */
+export const radarGetHttpTopAsesByBotClass = (
+  variables: RadarGetHttpTopAsesByBotClassVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetHttpTopAsesByBotClassResponse,
+    RadarGetHttpTopAsesByBotClassError,
+    undefined,
+    {},
+    RadarGetHttpTopAsesByBotClassQueryParams,
+    RadarGetHttpTopAsesByBotClassPathParams
+  >({ url: '/radar/http/top/ases/bot_class/{botClass}', method: 'get', ...variables, signal });
+
+export type RadarGetHttpTopAsesByBrowserFamilyPathParams = {
+  /**
+   * Browser family.
+   */
+  browserFamily: 'CHROME' | 'EDGE' | 'FIREFOX' | 'SAFARI';
+};
+
+export type RadarGetHttpTopAsesByBrowserFamilyQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/).
+   *
+   * @example LIKELY_AUTOMATED
+   */
+  botClass?: ('LIKELY_AUTOMATED' | 'LIKELY_HUMAN')[];
+  /**
+   * Filter for device type.
+   *
+   * @example DESKTOP
+   */
+  deviceType?: ('DESKTOP' | 'MOBILE' | 'OTHER')[];
+  /**
+   * Filter for http protocol.
+   *
+   * @example HTTPS
+   */
+  httpProtocol?: ('HTTP' | 'HTTPS')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for os name.
+   *
+   * @example WINDOWS
+   */
+  os?: ('WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpTopAsesByBrowserFamilyError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetHttpTopAsesByBrowserFamilyResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example 3243
+       */
+      clientASN: number;
+      /**
+       * @example MEO
+       */
+      clientASName: string;
+      /**
+       * @example 3
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpTopAsesByBrowserFamilyVariables = {
+  pathParams: RadarGetHttpTopAsesByBrowserFamilyPathParams;
+  queryParams?: RadarGetHttpTopAsesByBrowserFamilyQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the top autonomous systems (AS), by HTTP traffic, of the requested browser family. Values are a percentage out of the total traffic.
+ */
+export const radarGetHttpTopAsesByBrowserFamily = (
+  variables: RadarGetHttpTopAsesByBrowserFamilyVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetHttpTopAsesByBrowserFamilyResponse,
+    RadarGetHttpTopAsesByBrowserFamilyError,
+    undefined,
+    {},
+    RadarGetHttpTopAsesByBrowserFamilyQueryParams,
+    RadarGetHttpTopAsesByBrowserFamilyPathParams
+  >({ url: '/radar/http/top/ases/browser_family/{browserFamily}', method: 'get', ...variables, signal });
+
+export type RadarGetHttpTopAsesByDeviceTypePathParams = {
+  /**
+   * Device type.
+   */
+  deviceType: 'DESKTOP' | 'MOBILE' | 'OTHER';
+};
+
+export type RadarGetHttpTopAsesByDeviceTypeQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/).
+   *
+   * @example LIKELY_AUTOMATED
+   */
+  botClass?: ('LIKELY_AUTOMATED' | 'LIKELY_HUMAN')[];
+  /**
+   * Filter for http protocol.
+   *
+   * @example HTTPS
+   */
+  httpProtocol?: ('HTTP' | 'HTTPS')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for os name.
+   *
+   * @example WINDOWS
+   */
+  os?: ('WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC')[];
+  /**
+   * Filter for browser family.
+   *
+   * @example CHROME
+   */
+  browserFamily?: ('CHROME' | 'EDGE' | 'FIREFOX' | 'SAFARI')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpTopAsesByDeviceTypeError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetHttpTopAsesByDeviceTypeResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example 3243
+       */
+      clientASN: number;
+      /**
+       * @example MEO
+       */
+      clientASName: string;
+      /**
+       * @example 3
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpTopAsesByDeviceTypeVariables = {
+  pathParams: RadarGetHttpTopAsesByDeviceTypePathParams;
+  queryParams?: RadarGetHttpTopAsesByDeviceTypeQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the top autonomous systems (AS), by HTTP traffic, of the requested device type. Values are a percentage out of the total traffic.
+ */
+export const radarGetHttpTopAsesByDeviceType = (
+  variables: RadarGetHttpTopAsesByDeviceTypeVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetHttpTopAsesByDeviceTypeResponse,
+    RadarGetHttpTopAsesByDeviceTypeError,
+    undefined,
+    {},
+    RadarGetHttpTopAsesByDeviceTypeQueryParams,
+    RadarGetHttpTopAsesByDeviceTypePathParams
+  >({ url: '/radar/http/top/ases/device_type/{deviceType}', method: 'get', ...variables, signal });
+
+export type RadarGetHttpTopAsesByHttpProtocolPathParams = {
+  /**
+   * HTTP Protocol.
+   */
+  httpProtocol: 'HTTP' | 'HTTPS';
+};
+
+export type RadarGetHttpTopAsesByHttpProtocolQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/).
+   *
+   * @example LIKELY_AUTOMATED
+   */
+  botClass?: ('LIKELY_AUTOMATED' | 'LIKELY_HUMAN')[];
+  /**
+   * Filter for device type.
+   *
+   * @example DESKTOP
+   */
+  deviceType?: ('DESKTOP' | 'MOBILE' | 'OTHER')[];
+  /**
+   * Filter for http protocol.
+   *
+   * @example HTTPS
+   */
+  httpProtocol?: ('HTTP' | 'HTTPS')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for os name.
+   *
+   * @example WINDOWS
+   */
+  os?: ('WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC')[];
+  /**
+   * Filter for browser family.
+   *
+   * @example CHROME
+   */
+  browserFamily?: ('CHROME' | 'EDGE' | 'FIREFOX' | 'SAFARI')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpTopAsesByHttpProtocolError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetHttpTopAsesByHttpProtocolResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example 3243
+       */
+      clientASN: number;
+      /**
+       * @example MEO
+       */
+      clientASName: string;
+      /**
+       * @example 3
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpTopAsesByHttpProtocolVariables = {
+  pathParams: RadarGetHttpTopAsesByHttpProtocolPathParams;
+  queryParams?: RadarGetHttpTopAsesByHttpProtocolQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the top autonomous systems (AS), by HTTP traffic, of the requested HTTP protocol. Values are a percentage out of the total traffic.
+ */
+export const radarGetHttpTopAsesByHttpProtocol = (
+  variables: RadarGetHttpTopAsesByHttpProtocolVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetHttpTopAsesByHttpProtocolResponse,
+    RadarGetHttpTopAsesByHttpProtocolError,
+    undefined,
+    {},
+    RadarGetHttpTopAsesByHttpProtocolQueryParams,
+    RadarGetHttpTopAsesByHttpProtocolPathParams
+  >({ url: '/radar/http/top/ases/http_protocol/{httpProtocol}', method: 'get', ...variables, signal });
+
+export type RadarGetHttpTopAsesByHttpVersionPathParams = {
+  /**
+   * HTTP version.
+   */
+  httpVersion: 'HTTPv1' | 'HTTPv2' | 'HTTPv3';
+};
+
+export type RadarGetHttpTopAsesByHttpVersionQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/).
+   *
+   * @example LIKELY_AUTOMATED
+   */
+  botClass?: ('LIKELY_AUTOMATED' | 'LIKELY_HUMAN')[];
+  /**
+   * Filter for device type.
+   *
+   * @example DESKTOP
+   */
+  deviceType?: ('DESKTOP' | 'MOBILE' | 'OTHER')[];
+  /**
+   * Filter for http protocol.
+   *
+   * @example HTTPS
+   */
+  httpProtocol?: ('HTTP' | 'HTTPS')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for os name.
+   *
+   * @example WINDOWS
+   */
+  os?: ('WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC')[];
+  /**
+   * Filter for browser family.
+   *
+   * @example CHROME
+   */
+  browserFamily?: ('CHROME' | 'EDGE' | 'FIREFOX' | 'SAFARI')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpTopAsesByHttpVersionError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetHttpTopAsesByHttpVersionResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example 3243
+       */
+      clientASN: number;
+      /**
+       * @example MEO
+       */
+      clientASName: string;
+      /**
+       * @example 3
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpTopAsesByHttpVersionVariables = {
+  pathParams: RadarGetHttpTopAsesByHttpVersionPathParams;
+  queryParams?: RadarGetHttpTopAsesByHttpVersionQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the top autonomous systems (AS), by HTTP traffic, of the requested HTTP version. Values are a percentage out of the total traffic.
+ */
+export const radarGetHttpTopAsesByHttpVersion = (
+  variables: RadarGetHttpTopAsesByHttpVersionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetHttpTopAsesByHttpVersionResponse,
+    RadarGetHttpTopAsesByHttpVersionError,
+    undefined,
+    {},
+    RadarGetHttpTopAsesByHttpVersionQueryParams,
+    RadarGetHttpTopAsesByHttpVersionPathParams
+  >({ url: '/radar/http/top/ases/http_version/{httpVersion}', method: 'get', ...variables, signal });
+
+export type RadarGetHttpTopAsesByIpVersionPathParams = {
+  /**
+   * IP version.
+   */
+  ipVersion: 'IPv4' | 'IPv6';
+};
+
+export type RadarGetHttpTopAsesByIpVersionQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/).
+   *
+   * @example LIKELY_AUTOMATED
+   */
+  botClass?: ('LIKELY_AUTOMATED' | 'LIKELY_HUMAN')[];
+  /**
+   * Filter for device type.
+   *
+   * @example DESKTOP
+   */
+  deviceType?: ('DESKTOP' | 'MOBILE' | 'OTHER')[];
+  /**
+   * Filter for http protocol.
+   *
+   * @example HTTPS
+   */
+  httpProtocol?: ('HTTP' | 'HTTPS')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for os name.
+   *
+   * @example WINDOWS
+   */
+  os?: ('WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC')[];
+  /**
+   * Filter for browser family.
+   *
+   * @example CHROME
+   */
+  browserFamily?: ('CHROME' | 'EDGE' | 'FIREFOX' | 'SAFARI')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpTopAsesByIpVersionError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetHttpTopAsesByIpVersionResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example 3243
+       */
+      clientASN: number;
+      /**
+       * @example MEO
+       */
+      clientASName: string;
+      /**
+       * @example 3
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpTopAsesByIpVersionVariables = {
+  pathParams: RadarGetHttpTopAsesByIpVersionPathParams;
+  queryParams?: RadarGetHttpTopAsesByIpVersionQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the top autonomous systems, by HTTP traffic, of the requested IP version. Values are a percentage out of the total traffic.
+ */
+export const radarGetHttpTopAsesByIpVersion = (
+  variables: RadarGetHttpTopAsesByIpVersionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetHttpTopAsesByIpVersionResponse,
+    RadarGetHttpTopAsesByIpVersionError,
+    undefined,
+    {},
+    RadarGetHttpTopAsesByIpVersionQueryParams,
+    RadarGetHttpTopAsesByIpVersionPathParams
+  >({ url: '/radar/http/top/ases/ip_version/{ipVersion}', method: 'get', ...variables, signal });
+
+export type RadarGetHttpTopAsesByOperatingSystemPathParams = {
+  /**
+   * Operating system.
+   */
+  os: 'WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV';
+};
+
+export type RadarGetHttpTopAsesByOperatingSystemQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/).
+   *
+   * @example LIKELY_AUTOMATED
+   */
+  botClass?: ('LIKELY_AUTOMATED' | 'LIKELY_HUMAN')[];
+  /**
+   * Filter for device type.
+   *
+   * @example DESKTOP
+   */
+  deviceType?: ('DESKTOP' | 'MOBILE' | 'OTHER')[];
+  /**
+   * Filter for http protocol.
+   *
+   * @example HTTPS
+   */
+  httpProtocol?: ('HTTP' | 'HTTPS')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC')[];
+  /**
+   * Filter for browser family.
+   *
+   * @example CHROME
+   */
+  browserFamily?: ('CHROME' | 'EDGE' | 'FIREFOX' | 'SAFARI')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpTopAsesByOperatingSystemError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetHttpTopAsesByOperatingSystemResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example 3243
+       */
+      clientASN: number;
+      /**
+       * @example MEO
+       */
+      clientASName: string;
+      /**
+       * @example 3
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpTopAsesByOperatingSystemVariables = {
+  pathParams: RadarGetHttpTopAsesByOperatingSystemPathParams;
+  queryParams?: RadarGetHttpTopAsesByOperatingSystemQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the top autonomous systems, by HTTP traffic, of the requested operating systems. Values are a percentage out of the total traffic.
+ */
+export const radarGetHttpTopAsesByOperatingSystem = (
+  variables: RadarGetHttpTopAsesByOperatingSystemVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetHttpTopAsesByOperatingSystemResponse,
+    RadarGetHttpTopAsesByOperatingSystemError,
+    undefined,
+    {},
+    RadarGetHttpTopAsesByOperatingSystemQueryParams,
+    RadarGetHttpTopAsesByOperatingSystemPathParams
+  >({ url: '/radar/http/top/ases/os/{os}', method: 'get', ...variables, signal });
+
+export type RadarGetHttpTopAsesByTlsVersionPathParams = {
+  /**
+   * TLS version.
+   */
+  tlsVersion: 'TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC';
+};
+
+export type RadarGetHttpTopAsesByTlsVersionQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/).
+   *
+   * @example LIKELY_AUTOMATED
+   */
+  botClass?: ('LIKELY_AUTOMATED' | 'LIKELY_HUMAN')[];
+  /**
+   * Filter for device type.
+   *
+   * @example DESKTOP
+   */
+  deviceType?: ('DESKTOP' | 'MOBILE' | 'OTHER')[];
+  /**
+   * Filter for http protocol.
+   *
+   * @example HTTPS
+   */
+  httpProtocol?: ('HTTP' | 'HTTPS')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for os name.
+   *
+   * @example WINDOWS
+   */
+  os?: ('WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV')[];
+  /**
+   * Filter for browser family.
+   *
+   * @example CHROME
+   */
+  browserFamily?: ('CHROME' | 'EDGE' | 'FIREFOX' | 'SAFARI')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpTopAsesByTlsVersionError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetHttpTopAsesByTlsVersionResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example 3243
+       */
+      clientASN: number;
+      /**
+       * @example MEO
+       */
+      clientASName: string;
+      /**
+       * @example 3
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpTopAsesByTlsVersionVariables = {
+  pathParams: RadarGetHttpTopAsesByTlsVersionPathParams;
+  queryParams?: RadarGetHttpTopAsesByTlsVersionQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the top autonomous systems (AS), by HTTP traffic, of the requested TLS protocol version. Values are a percentage out of the total traffic.
+ */
+export const radarGetHttpTopAsesByTlsVersion = (
+  variables: RadarGetHttpTopAsesByTlsVersionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetHttpTopAsesByTlsVersionResponse,
+    RadarGetHttpTopAsesByTlsVersionError,
+    undefined,
+    {},
+    RadarGetHttpTopAsesByTlsVersionQueryParams,
+    RadarGetHttpTopAsesByTlsVersionPathParams
+  >({ url: '/radar/http/top/ases/tls_version/{tlsVersion}', method: 'get', ...variables, signal });
+
+export type RadarGetHttpTopBrowsersQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/).
+   *
+   * @example LIKELY_AUTOMATED
+   */
+  botClass?: ('LIKELY_AUTOMATED' | 'LIKELY_HUMAN')[];
+  /**
+   * Filter for device type.
+   *
+   * @example DESKTOP
+   */
+  deviceType?: ('DESKTOP' | 'MOBILE' | 'OTHER')[];
+  /**
+   * Filter for http protocol.
+   *
+   * @example HTTPS
+   */
+  httpProtocol?: ('HTTP' | 'HTTPS')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for os name.
+   *
+   * @example WINDOWS
+   */
+  os?: ('WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC')[];
+  /**
+   * Filter for browser family.
+   *
+   * @example CHROME
+   */
+  browserFamily?: ('CHROME' | 'EDGE' | 'FIREFOX' | 'SAFARI')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpTopBrowsersError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetHttpTopBrowsersResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example chrome
+       */
+      name: string;
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpTopBrowsersVariables = {
+  queryParams?: RadarGetHttpTopBrowsersQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the top user agents by HTTP traffic. Values are a percentage out of the total traffic.
+ */
+export const radarGetHttpTopBrowsers = (variables: RadarGetHttpTopBrowsersVariables, signal?: AbortSignal) =>
+  fetch<
+    RadarGetHttpTopBrowsersResponse,
+    RadarGetHttpTopBrowsersError,
+    undefined,
+    {},
+    RadarGetHttpTopBrowsersQueryParams,
+    {}
+  >({ url: '/radar/http/top/browser', method: 'get', ...variables, signal });
+
+export type RadarGetHttpTopBrowserFamiliesQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/).
+   *
+   * @example LIKELY_AUTOMATED
+   */
+  botClass?: ('LIKELY_AUTOMATED' | 'LIKELY_HUMAN')[];
+  /**
+   * Filter for device type.
+   *
+   * @example DESKTOP
+   */
+  deviceType?: ('DESKTOP' | 'MOBILE' | 'OTHER')[];
+  /**
+   * Filter for http protocol.
+   *
+   * @example HTTPS
+   */
+  httpProtocol?: ('HTTP' | 'HTTPS')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for os name.
+   *
+   * @example WINDOWS
+   */
+  os?: ('WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC')[];
+  /**
+   * Filter for browser family.
+   *
+   * @example CHROME
+   */
+  browserFamily?: ('CHROME' | 'EDGE' | 'FIREFOX' | 'SAFARI')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpTopBrowserFamiliesError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetHttpTopBrowserFamiliesResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example chrome
+       */
+      name: string;
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpTopBrowserFamiliesVariables = {
+  queryParams?: RadarGetHttpTopBrowserFamiliesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the top user agents aggregated in families by HTTP traffic. Values are a percentage out of the total traffic.
+ */
+export const radarGetHttpTopBrowserFamilies = (
+  variables: RadarGetHttpTopBrowserFamiliesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetHttpTopBrowserFamiliesResponse,
+    RadarGetHttpTopBrowserFamiliesError,
+    undefined,
+    {},
+    RadarGetHttpTopBrowserFamiliesQueryParams,
+    {}
+  >({ url: '/radar/http/top/browser_family', method: 'get', ...variables, signal });
+
+export type RadarGetHttpTopLocationsByHttpRequestsQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/).
+   *
+   * @example LIKELY_AUTOMATED
+   */
+  botClass?: ('LIKELY_AUTOMATED' | 'LIKELY_HUMAN')[];
+  /**
+   * Filter for device type.
+   *
+   * @example DESKTOP
+   */
+  deviceType?: ('DESKTOP' | 'MOBILE' | 'OTHER')[];
+  /**
+   * Filter for http protocol.
+   *
+   * @example HTTPS
+   */
+  httpProtocol?: ('HTTP' | 'HTTPS')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for os name.
+   *
+   * @example WINDOWS
+   */
+  os?: ('WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC')[];
+  /**
+   * Filter for browser family.
+   *
+   * @example CHROME
+   */
+  browserFamily?: ('CHROME' | 'EDGE' | 'FIREFOX' | 'SAFARI')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpTopLocationsByHttpRequestsError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetHttpTopLocationsByHttpRequestsResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example US
+       */
+      clientCountryAlpha2: string;
+      /**
+       * @example United States
+       */
+      clientCountryName: string;
+      /**
+       * @example 65
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpTopLocationsByHttpRequestsVariables = {
+  queryParams?: RadarGetHttpTopLocationsByHttpRequestsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the top locations by HTTP traffic. Values are a percentage out of the total traffic.
+ */
+export const radarGetHttpTopLocationsByHttpRequests = (
+  variables: RadarGetHttpTopLocationsByHttpRequestsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetHttpTopLocationsByHttpRequestsResponse,
+    RadarGetHttpTopLocationsByHttpRequestsError,
+    undefined,
+    {},
+    RadarGetHttpTopLocationsByHttpRequestsQueryParams,
+    {}
+  >({ url: '/radar/http/top/locations', method: 'get', ...variables, signal });
+
+export type RadarGetHttpTopLocationsByBotClassPathParams = {
+  /**
+   * Bot class.
+   */
+  botClass: 'LIKELY_AUTOMATED' | 'LIKELY_HUMAN';
+};
+
+export type RadarGetHttpTopLocationsByBotClassQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for device type.
+   *
+   * @example DESKTOP
+   */
+  deviceType?: ('DESKTOP' | 'MOBILE' | 'OTHER')[];
+  /**
+   * Filter for http protocol.
+   *
+   * @example HTTPS
+   */
+  httpProtocol?: ('HTTP' | 'HTTPS')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for os name.
+   *
+   * @example WINDOWS
+   */
+  os?: ('WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC')[];
+  /**
+   * Filter for browser family.
+   *
+   * @example CHROME
+   */
+  browserFamily?: ('CHROME' | 'EDGE' | 'FIREFOX' | 'SAFARI')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpTopLocationsByBotClassError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetHttpTopLocationsByBotClassResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example US
+       */
+      clientCountryAlpha2: string;
+      /**
+       * @example United States
+       */
+      clientCountryName: string;
+      /**
+       * @example 65
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpTopLocationsByBotClassVariables = {
+  pathParams: RadarGetHttpTopLocationsByBotClassPathParams;
+  queryParams?: RadarGetHttpTopLocationsByBotClassQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the top locations, by HTTP traffic, of the requested bot class. These two categories use Cloudflare's bot score - refer to [Bot scores])https://developers.cloudflare.com/bots/concepts/bot-score). Values are a percentage out of the total traffic.
+ */
+export const radarGetHttpTopLocationsByBotClass = (
+  variables: RadarGetHttpTopLocationsByBotClassVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetHttpTopLocationsByBotClassResponse,
+    RadarGetHttpTopLocationsByBotClassError,
+    undefined,
+    {},
+    RadarGetHttpTopLocationsByBotClassQueryParams,
+    RadarGetHttpTopLocationsByBotClassPathParams
+  >({ url: '/radar/http/top/locations/bot_class/{botClass}', method: 'get', ...variables, signal });
+
+export type RadarGetHttpTopLocationsByBrowserFamilyPathParams = {
+  /**
+   * Browser family.
+   */
+  browserFamily: 'CHROME' | 'EDGE' | 'FIREFOX' | 'SAFARI';
+};
+
+export type RadarGetHttpTopLocationsByBrowserFamilyQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/).
+   *
+   * @example LIKELY_AUTOMATED
+   */
+  botClass?: ('LIKELY_AUTOMATED' | 'LIKELY_HUMAN')[];
+  /**
+   * Filter for device type.
+   *
+   * @example DESKTOP
+   */
+  deviceType?: ('DESKTOP' | 'MOBILE' | 'OTHER')[];
+  /**
+   * Filter for http protocol.
+   *
+   * @example HTTPS
+   */
+  httpProtocol?: ('HTTP' | 'HTTPS')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for os name.
+   *
+   * @example WINDOWS
+   */
+  os?: ('WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpTopLocationsByBrowserFamilyError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetHttpTopLocationsByBrowserFamilyResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example US
+       */
+      clientCountryAlpha2: string;
+      /**
+       * @example United States
+       */
+      clientCountryName: string;
+      /**
+       * @example 65
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpTopLocationsByBrowserFamilyVariables = {
+  pathParams: RadarGetHttpTopLocationsByBrowserFamilyPathParams;
+  queryParams?: RadarGetHttpTopLocationsByBrowserFamilyQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the top locations, by HTTP traffic, of the requested browser family. Values are a percentage out of the total traffic.
+ */
+export const radarGetHttpTopLocationsByBrowserFamily = (
+  variables: RadarGetHttpTopLocationsByBrowserFamilyVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetHttpTopLocationsByBrowserFamilyResponse,
+    RadarGetHttpTopLocationsByBrowserFamilyError,
+    undefined,
+    {},
+    RadarGetHttpTopLocationsByBrowserFamilyQueryParams,
+    RadarGetHttpTopLocationsByBrowserFamilyPathParams
+  >({ url: '/radar/http/top/locations/browser_family/{browserFamily}', method: 'get', ...variables, signal });
+
+export type RadarGetHttpTopLocationsByDeviceTypePathParams = {
+  /**
+   * Device type.
+   */
+  deviceType: 'DESKTOP' | 'MOBILE' | 'OTHER';
+};
+
+export type RadarGetHttpTopLocationsByDeviceTypeQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/).
+   *
+   * @example LIKELY_AUTOMATED
+   */
+  botClass?: ('LIKELY_AUTOMATED' | 'LIKELY_HUMAN')[];
+  /**
+   * Filter for http protocol.
+   *
+   * @example HTTPS
+   */
+  httpProtocol?: ('HTTP' | 'HTTPS')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for os name.
+   *
+   * @example WINDOWS
+   */
+  os?: ('WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC')[];
+  /**
+   * Filter for browser family.
+   *
+   * @example CHROME
+   */
+  browserFamily?: ('CHROME' | 'EDGE' | 'FIREFOX' | 'SAFARI')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpTopLocationsByDeviceTypeError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetHttpTopLocationsByDeviceTypeResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example US
+       */
+      clientCountryAlpha2: string;
+      /**
+       * @example United States
+       */
+      clientCountryName: string;
+      /**
+       * @example 65
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpTopLocationsByDeviceTypeVariables = {
+  pathParams: RadarGetHttpTopLocationsByDeviceTypePathParams;
+  queryParams?: RadarGetHttpTopLocationsByDeviceTypeQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the top locations, by HTTP traffic, of the requested device type. Values are a percentage out of the total traffic.
+ */
+export const radarGetHttpTopLocationsByDeviceType = (
+  variables: RadarGetHttpTopLocationsByDeviceTypeVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetHttpTopLocationsByDeviceTypeResponse,
+    RadarGetHttpTopLocationsByDeviceTypeError,
+    undefined,
+    {},
+    RadarGetHttpTopLocationsByDeviceTypeQueryParams,
+    RadarGetHttpTopLocationsByDeviceTypePathParams
+  >({ url: '/radar/http/top/locations/device_type/{deviceType}', method: 'get', ...variables, signal });
+
+export type RadarGetHttpTopLocationsByHttpProtocolPathParams = {
+  /**
+   * HTTP Protocol.
+   */
+  httpProtocol: 'HTTP' | 'HTTPS';
+};
+
+export type RadarGetHttpTopLocationsByHttpProtocolQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/).
+   *
+   * @example LIKELY_AUTOMATED
+   */
+  botClass?: ('LIKELY_AUTOMATED' | 'LIKELY_HUMAN')[];
+  /**
+   * Filter for device type.
+   *
+   * @example DESKTOP
+   */
+  deviceType?: ('DESKTOP' | 'MOBILE' | 'OTHER')[];
+  /**
+   * Filter for http protocol.
+   *
+   * @example HTTPS
+   */
+  httpProtocol?: ('HTTP' | 'HTTPS')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for os name.
+   *
+   * @example WINDOWS
+   */
+  os?: ('WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC')[];
+  /**
+   * Filter for browser family.
+   *
+   * @example CHROME
+   */
+  browserFamily?: ('CHROME' | 'EDGE' | 'FIREFOX' | 'SAFARI')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpTopLocationsByHttpProtocolError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetHttpTopLocationsByHttpProtocolResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example US
+       */
+      clientCountryAlpha2: string;
+      /**
+       * @example United States
+       */
+      clientCountryName: string;
+      /**
+       * @example 65
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpTopLocationsByHttpProtocolVariables = {
+  pathParams: RadarGetHttpTopLocationsByHttpProtocolPathParams;
+  queryParams?: RadarGetHttpTopLocationsByHttpProtocolQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the top locations, by HTTP traffic, of the requested HTTP protocol. Values are a percentage out of the total traffic.
+ */
+export const radarGetHttpTopLocationsByHttpProtocol = (
+  variables: RadarGetHttpTopLocationsByHttpProtocolVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetHttpTopLocationsByHttpProtocolResponse,
+    RadarGetHttpTopLocationsByHttpProtocolError,
+    undefined,
+    {},
+    RadarGetHttpTopLocationsByHttpProtocolQueryParams,
+    RadarGetHttpTopLocationsByHttpProtocolPathParams
+  >({ url: '/radar/http/top/locations/http_protocol/{httpProtocol}', method: 'get', ...variables, signal });
+
+export type RadarGetHttpTopLocationsByHttpVersionPathParams = {
+  /**
+   * HTTP version.
+   */
+  httpVersion: 'HTTPv1' | 'HTTPv2' | 'HTTPv3';
+};
+
+export type RadarGetHttpTopLocationsByHttpVersionQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/).
+   *
+   * @example LIKELY_AUTOMATED
+   */
+  botClass?: ('LIKELY_AUTOMATED' | 'LIKELY_HUMAN')[];
+  /**
+   * Filter for device type.
+   *
+   * @example DESKTOP
+   */
+  deviceType?: ('DESKTOP' | 'MOBILE' | 'OTHER')[];
+  /**
+   * Filter for http protocol.
+   *
+   * @example HTTPS
+   */
+  httpProtocol?: ('HTTP' | 'HTTPS')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for os name.
+   *
+   * @example WINDOWS
+   */
+  os?: ('WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC')[];
+  /**
+   * Filter for browser family.
+   *
+   * @example CHROME
+   */
+  browserFamily?: ('CHROME' | 'EDGE' | 'FIREFOX' | 'SAFARI')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpTopLocationsByHttpVersionError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetHttpTopLocationsByHttpVersionResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example US
+       */
+      clientCountryAlpha2: string;
+      /**
+       * @example United States
+       */
+      clientCountryName: string;
+      /**
+       * @example 65
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpTopLocationsByHttpVersionVariables = {
+  pathParams: RadarGetHttpTopLocationsByHttpVersionPathParams;
+  queryParams?: RadarGetHttpTopLocationsByHttpVersionQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the top locations, by HTTP traffic, of the requested HTTP version. Values are a percentage out of the total traffic.
+ */
+export const radarGetHttpTopLocationsByHttpVersion = (
+  variables: RadarGetHttpTopLocationsByHttpVersionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetHttpTopLocationsByHttpVersionResponse,
+    RadarGetHttpTopLocationsByHttpVersionError,
+    undefined,
+    {},
+    RadarGetHttpTopLocationsByHttpVersionQueryParams,
+    RadarGetHttpTopLocationsByHttpVersionPathParams
+  >({ url: '/radar/http/top/locations/http_version/{httpVersion}', method: 'get', ...variables, signal });
+
+export type RadarGetHttpTopLocationsByIpVersionPathParams = {
+  /**
+   * IP version.
+   */
+  ipVersion: 'IPv4' | 'IPv6';
+};
+
+export type RadarGetHttpTopLocationsByIpVersionQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/).
+   *
+   * @example LIKELY_AUTOMATED
+   */
+  botClass?: ('LIKELY_AUTOMATED' | 'LIKELY_HUMAN')[];
+  /**
+   * Filter for device type.
+   *
+   * @example DESKTOP
+   */
+  deviceType?: ('DESKTOP' | 'MOBILE' | 'OTHER')[];
+  /**
+   * Filter for http protocol.
+   *
+   * @example HTTPS
+   */
+  httpProtocol?: ('HTTP' | 'HTTPS')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for os name.
+   *
+   * @example WINDOWS
+   */
+  os?: ('WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC')[];
+  /**
+   * Filter for browser family.
+   *
+   * @example CHROME
+   */
+  browserFamily?: ('CHROME' | 'EDGE' | 'FIREFOX' | 'SAFARI')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpTopLocationsByIpVersionError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetHttpTopLocationsByIpVersionResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example US
+       */
+      clientCountryAlpha2: string;
+      /**
+       * @example United States
+       */
+      clientCountryName: string;
+      /**
+       * @example 65
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpTopLocationsByIpVersionVariables = {
+  pathParams: RadarGetHttpTopLocationsByIpVersionPathParams;
+  queryParams?: RadarGetHttpTopLocationsByIpVersionQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the top locations, by HTTP traffic, of the requested IP version. Values are a percentage out of the total traffic.
+ */
+export const radarGetHttpTopLocationsByIpVersion = (
+  variables: RadarGetHttpTopLocationsByIpVersionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetHttpTopLocationsByIpVersionResponse,
+    RadarGetHttpTopLocationsByIpVersionError,
+    undefined,
+    {},
+    RadarGetHttpTopLocationsByIpVersionQueryParams,
+    RadarGetHttpTopLocationsByIpVersionPathParams
+  >({ url: '/radar/http/top/locations/ip_version/{ipVersion}', method: 'get', ...variables, signal });
+
+export type RadarGetHttpTopLocationsByOperatingSystemPathParams = {
+  /**
+   * Operating system.
+   */
+  os: 'WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV';
+};
+
+export type RadarGetHttpTopLocationsByOperatingSystemQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/).
+   *
+   * @example LIKELY_AUTOMATED
+   */
+  botClass?: ('LIKELY_AUTOMATED' | 'LIKELY_HUMAN')[];
+  /**
+   * Filter for device type.
+   *
+   * @example DESKTOP
+   */
+  deviceType?: ('DESKTOP' | 'MOBILE' | 'OTHER')[];
+  /**
+   * Filter for http protocol.
+   *
+   * @example HTTPS
+   */
+  httpProtocol?: ('HTTP' | 'HTTPS')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for tls version.
+   *
+   * @example TLSv1_2
+   */
+  tlsVersion?: ('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC')[];
+  /**
+   * Filter for browser family.
+   *
+   * @example CHROME
+   */
+  browserFamily?: ('CHROME' | 'EDGE' | 'FIREFOX' | 'SAFARI')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpTopLocationsByOperatingSystemError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetHttpTopLocationsByOperatingSystemResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example US
+       */
+      clientCountryAlpha2: string;
+      /**
+       * @example United States
+       */
+      clientCountryName: string;
+      /**
+       * @example 65
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpTopLocationsByOperatingSystemVariables = {
+  pathParams: RadarGetHttpTopLocationsByOperatingSystemPathParams;
+  queryParams?: RadarGetHttpTopLocationsByOperatingSystemQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the top locations, by HTTP traffic, of the requested operating systems. Values are a percentage out of the total traffic.
+ */
+export const radarGetHttpTopLocationsByOperatingSystem = (
+  variables: RadarGetHttpTopLocationsByOperatingSystemVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetHttpTopLocationsByOperatingSystemResponse,
+    RadarGetHttpTopLocationsByOperatingSystemError,
+    undefined,
+    {},
+    RadarGetHttpTopLocationsByOperatingSystemQueryParams,
+    RadarGetHttpTopLocationsByOperatingSystemPathParams
+  >({ url: '/radar/http/top/locations/os/{os}', method: 'get', ...variables, signal });
+
+export type RadarGetHttpTopLocationsByTlsVersionPathParams = {
+  /**
+   * TLS version.
+   */
+  tlsVersion: 'TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC';
+};
+
+export type RadarGetHttpTopLocationsByTlsVersionQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Filter for bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/).
+   *
+   * @example LIKELY_AUTOMATED
+   */
+  botClass?: ('LIKELY_AUTOMATED' | 'LIKELY_HUMAN')[];
+  /**
+   * Filter for device type.
+   *
+   * @example DESKTOP
+   */
+  deviceType?: ('DESKTOP' | 'MOBILE' | 'OTHER')[];
+  /**
+   * Filter for http protocol.
+   *
+   * @example HTTPS
+   */
+  httpProtocol?: ('HTTP' | 'HTTPS')[];
+  /**
+   * Filter for http version.
+   *
+   * @example HTTPv1
+   */
+  httpVersion?: ('HTTPv1' | 'HTTPv2' | 'HTTPv3')[];
+  /**
+   * Filter for ip version.
+   *
+   * @example IPv4
+   */
+  ipVersion?: ('IPv4' | 'IPv6')[];
+  /**
+   * Filter for os name.
+   *
+   * @example WINDOWS
+   */
+  os?: ('WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV')[];
+  /**
+   * Filter for browser family.
+   *
+   * @example CHROME
+   */
+  browserFamily?: ('CHROME' | 'EDGE' | 'FIREFOX' | 'SAFARI')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetHttpTopLocationsByTlsVersionError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetHttpTopLocationsByTlsVersionResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example US
+       */
+      clientCountryAlpha2: string;
+      /**
+       * @example United States
+       */
+      clientCountryName: string;
+      /**
+       * @example 65
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetHttpTopLocationsByTlsVersionVariables = {
+  pathParams: RadarGetHttpTopLocationsByTlsVersionPathParams;
+  queryParams?: RadarGetHttpTopLocationsByTlsVersionQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the top locations, by HTTP traffic, of the requested TLS protocol version. Values are a percentage out of the total traffic.
+ */
+export const radarGetHttpTopLocationsByTlsVersion = (
+  variables: RadarGetHttpTopLocationsByTlsVersionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetHttpTopLocationsByTlsVersionResponse,
+    RadarGetHttpTopLocationsByTlsVersionError,
+    undefined,
+    {},
+    RadarGetHttpTopLocationsByTlsVersionQueryParams,
+    RadarGetHttpTopLocationsByTlsVersionPathParams
+  >({ url: '/radar/http/top/locations/tls_version/{tlsVersion}', method: 'get', ...variables, signal });
+
+export type RadarGetNetflowsSummaryQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetNetflowsSummaryError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetNetflowsSummaryResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+    };
+    summary_0: {
+      /**
+       * @example 60
+       */
+      HTTP: string;
+      /**
+       * @example 39
+       */
+      OTHER: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetNetflowsSummaryVariables = {
+  queryParams?: RadarGetNetflowsSummaryQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution of HTTP vs other protocols traffic over a given time period.
+ */
+export const radarGetNetflowsSummary = (variables: RadarGetNetflowsSummaryVariables, signal?: AbortSignal) =>
+  fetch<
+    RadarGetNetflowsSummaryResponse,
+    RadarGetNetflowsSummaryError,
+    undefined,
+    {},
+    RadarGetNetflowsSummaryQueryParams,
+    {}
+  >({ url: '/radar/netflows/summary', method: 'get', ...variables, signal });
+
+export type RadarGetNetflowsTimeseriesQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of network traffic product types.
+   *
+   * @example all
+   */
+  product?: ('HTTP' | 'ALL')[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Normalization method applied. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/).
+   *
+   * @example MIN0_MAX
+   */
+  normalization?: 'PERCENTAGE_CHANGE' | 'MIN0_MAX';
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetNetflowsTimeseriesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetNetflowsTimeseriesResponse = {
+  result: {
+    meta: {
+      /**
+       * @example 1h
+       */
+      aggInterval: string;
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @format date-time
+       */
+      lastUpdated: string;
+    };
+    serie_0: {
+      timestamps: string[];
+      values: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetNetflowsTimeseriesVariables = {
+  queryParams?: RadarGetNetflowsTimeseriesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get network traffic change over time. Visit https://en.wikipedia.org/wiki/NetFlow for more information on NetFlows.
+ */
+export const radarGetNetflowsTimeseries = (variables: RadarGetNetflowsTimeseriesVariables, signal?: AbortSignal) =>
+  fetch<
+    RadarGetNetflowsTimeseriesResponse,
+    RadarGetNetflowsTimeseriesError,
+    undefined,
+    {},
+    RadarGetNetflowsTimeseriesQueryParams,
+    {}
+  >({ url: '/radar/netflows/timeseries', method: 'get', ...variables, signal });
+
+export type RadarGetNetflowsTopAsesQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetNetflowsTopAsesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetNetflowsTopAsesResponse = {
+  result: {
+    top_0: {
+      /**
+       * @example 16509
+       */
+      clientASN: number;
+      /**
+       * @example AMAZON-02
+       */
+      clientASName: string;
+      /**
+       * @example 0.73996
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetNetflowsTopAsesVariables = {
+  queryParams?: RadarGetNetflowsTopAsesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the top autonomous systems (AS) by network traffic (NetFlows) over a given time period. Visit https://en.wikipedia.org/wiki/NetFlow for more information.
+ */
+export const radarGetNetflowsTopAses = (variables: RadarGetNetflowsTopAsesVariables, signal?: AbortSignal) =>
+  fetch<
+    RadarGetNetflowsTopAsesResponse,
+    RadarGetNetflowsTopAsesError,
+    undefined,
+    {},
+    RadarGetNetflowsTopAsesQueryParams,
+    {}
+  >({ url: '/radar/netflows/top/ases', method: 'get', ...variables, signal });
+
+export type RadarGetNetflowsTopLocationsQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetNetflowsTopLocationsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetNetflowsTopLocationsResponse = {
+  result: {
+    top_0: {
+      /**
+       * @example US
+       */
+      clientCountryAlpha2: string;
+      /**
+       * @example United States
+       */
+      clientCountryName: string;
+      /**
+       * @example 0.73996
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetNetflowsTopLocationsVariables = {
+  queryParams?: RadarGetNetflowsTopLocationsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the top locations by network traffic (NetFlows) over a given time period. Visit https://en.wikipedia.org/wiki/NetFlow for more information.
+ */
+export const radarGetNetflowsTopLocations = (variables: RadarGetNetflowsTopLocationsVariables, signal?: AbortSignal) =>
+  fetch<
+    RadarGetNetflowsTopLocationsResponse,
+    RadarGetNetflowsTopLocationsError,
+    undefined,
+    {},
+    RadarGetNetflowsTopLocationsQueryParams,
+    {}
+  >({ url: '/radar/netflows/top/locations', method: 'get', ...variables, signal });
+
+export type RadarGetQualityIndexSummaryQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Which metric to return: bandwidth, latency or DNS response time.
+   *
+   * @example latency
+   */
+  metric: 'BANDWIDTH' | 'DNS' | 'LATENCY';
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetQualityIndexSummaryError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetQualityIndexSummaryResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 32.20938
+       */
+      p25: string;
+      /**
+       * @example 61.819881
+       */
+      p50: string;
+      /**
+       * @example 133.813087
+       */
+      p75: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetQualityIndexSummaryVariables = {
+  queryParams: RadarGetQualityIndexSummaryQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a summary (percentiles) of bandwidth, latency or DNS response time from the Radar Internet Quality Index (IQI).
+ */
+export const radarGetQualityIndexSummary = (variables: RadarGetQualityIndexSummaryVariables, signal?: AbortSignal) =>
+  fetch<
+    RadarGetQualityIndexSummaryResponse,
+    RadarGetQualityIndexSummaryError,
+    undefined,
+    {},
+    RadarGetQualityIndexSummaryQueryParams,
+    {}
+  >({ url: '/radar/quality/iqi/summary', method: 'get', ...variables, signal });
+
+export type RadarGetQualityIndexTimeseriesGroupQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Enable interpolation for all series (using the average).
+   */
+  interpolation?: boolean;
+  /**
+   * Which metric to return: bandwidth, latency or DNS response time.
+   *
+   * @example latency
+   */
+  metric: 'BANDWIDTH' | 'DNS' | 'LATENCY';
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetQualityIndexTimeseriesGroupError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetQualityIndexTimeseriesGroupResponse = {
+  result: {
+    meta: Record<string, any>;
+    serie_0: {
+      p25: string[];
+      p50: string[];
+      p75: string[];
+      timestamps: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetQualityIndexTimeseriesGroupVariables = {
+  queryParams: RadarGetQualityIndexTimeseriesGroupQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a time series (percentiles) of bandwidth, latency or DNS response time from the Radar Internet Quality Index (IQI).
+ */
+export const radarGetQualityIndexTimeseriesGroup = (
+  variables: RadarGetQualityIndexTimeseriesGroupVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetQualityIndexTimeseriesGroupResponse,
+    RadarGetQualityIndexTimeseriesGroupError,
+    undefined,
+    {},
+    RadarGetQualityIndexTimeseriesGroupQueryParams,
+    {}
+  >({ url: '/radar/quality/iqi/timeseries_groups', method: 'get', ...variables, signal });
+
+export type RadarGetQualitySpeedHistogramQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * The width for every bucket in the histogram.
+   */
+  bucketSize?: number;
+  /**
+   * Metrics to be returned.
+   *
+   * @default bandwidth
+   * @example bandwidth
+   */
+  metricGroup?: 'BANDWIDTH' | 'LATENCY' | 'JITTER';
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetQualitySpeedHistogramError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetQualitySpeedHistogramResponse = {
+  result: {
+    histogram_0: {
+      bandwidthDownload: string[];
+      bandwidthUpload: string[];
+      bucketMin: string[];
+    };
+    meta: Record<string, any>;
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetQualitySpeedHistogramVariables = {
+  queryParams?: RadarGetQualitySpeedHistogramQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get an histogram from the previous 90 days of Cloudflare Speed Test data, split into fixed bandwidth (Mbps), latency (ms) or jitter (ms) buckets.
+ */
+export const radarGetQualitySpeedHistogram = (
+  variables: RadarGetQualitySpeedHistogramVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetQualitySpeedHistogramResponse,
+    RadarGetQualitySpeedHistogramError,
+    undefined,
+    {},
+    RadarGetQualitySpeedHistogramQueryParams,
+    {}
+  >({ url: '/radar/quality/speed/histogram', method: 'get', ...variables, signal });
+
+export type RadarGetQualitySpeedSummaryQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetQualitySpeedSummaryError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetQualitySpeedSummaryResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+      /**
+       * @example PERCENTAGE
+       */
+      normalization: string;
+    };
+    summary_0: {
+      /**
+       * @example 83.765201
+       */
+      bandwidthDownload: string;
+      /**
+       * @example 39.005561
+       */
+      bandwidthUpload: string;
+      /**
+       * @example 25.648713
+       */
+      jitterIdle: string;
+      /**
+       * @example 77.462155
+       */
+      jitterLoaded: string;
+      /**
+       * @example 83.165385
+       */
+      latencyIdle: string;
+      /**
+       * @example 270.561124
+       */
+      latencyLoaded: string;
+      /**
+       * @example 1.23705
+       */
+      packetLoss: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetQualitySpeedSummaryVariables = {
+  queryParams?: RadarGetQualitySpeedSummaryQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a summary of bandwidth, latency, jitter and packet loss, from the previous 90 days of Cloudflare Speed Test data.
+ */
+export const radarGetQualitySpeedSummary = (variables: RadarGetQualitySpeedSummaryVariables, signal?: AbortSignal) =>
+  fetch<
+    RadarGetQualitySpeedSummaryResponse,
+    RadarGetQualitySpeedSummaryError,
+    undefined,
+    {},
+    RadarGetQualitySpeedSummaryQueryParams,
+    {}
+  >({ url: '/radar/quality/speed/summary', method: 'get', ...variables, signal });
+
+export type RadarGetQualitySpeedTopAsesQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Metric to order the results by.
+   *
+   * @default BANDWIDTH_DOWNLOAD
+   */
+  orderBy?:
+    | 'BANDWIDTH_DOWNLOAD'
+    | 'BANDWIDTH_UPLOAD'
+    | 'LATENCY_IDLE'
+    | 'LATENCY_LOADED'
+    | 'JITTER_IDLE'
+    | 'JITTER_LOADED';
+  /**
+   * Reverse the order of results.
+   */
+  reverse?: boolean;
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetQualitySpeedTopAsesError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetQualitySpeedTopAsesResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example 642.509004
+       */
+      bandwidthDownload: string;
+      /**
+       * @example 300.672274
+       */
+      bandwidthUpload: string;
+      /**
+       * @example 33353
+       */
+      clientASN: number;
+      /**
+       * @example SIE-CGEI-ASN-1
+       */
+      clientASName: string;
+      /**
+       * @example 2.956908
+       */
+      jitterIdle: string;
+      /**
+       * @example 19.500469
+       */
+      jitterLoaded: string;
+      /**
+       * @example 15.925
+       */
+      latencyIdle: string;
+      /**
+       * @example 65.65
+       */
+      latencyLoaded: string;
+      /**
+       * @example 13123
+       */
+      numTests: number;
+      /**
+       * @example 0.77
+       */
+      rankPower: number;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetQualitySpeedTopAsesVariables = {
+  queryParams?: RadarGetQualitySpeedTopAsesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the top autonomous systems by bandwidth, latency, jitter or packet loss, from the previous 90 days of Cloudflare Speed Test data.
+ */
+export const radarGetQualitySpeedTopAses = (variables: RadarGetQualitySpeedTopAsesVariables, signal?: AbortSignal) =>
+  fetch<
+    RadarGetQualitySpeedTopAsesResponse,
+    RadarGetQualitySpeedTopAsesError,
+    undefined,
+    {},
+    RadarGetQualitySpeedTopAsesQueryParams,
+    {}
+  >({ url: '/radar/quality/speed/top/ases', method: 'get', ...variables, signal });
+
+export type RadarGetQualitySpeedTopLocationsQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Metric to order the results by.
+   *
+   * @default BANDWIDTH_DOWNLOAD
+   */
+  orderBy?:
+    | 'BANDWIDTH_DOWNLOAD'
+    | 'BANDWIDTH_UPLOAD'
+    | 'LATENCY_IDLE'
+    | 'LATENCY_LOADED'
+    | 'JITTER_IDLE'
+    | 'JITTER_LOADED';
+  /**
+   * Reverse the order of results.
+   */
+  reverse?: boolean;
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetQualitySpeedTopLocationsError = Fetcher.ErrorWrapper<{
+  status: 404;
+  payload: {
+    /**
+     * @example Not Found
+     */
+    error: string;
+  };
+}>;
+
+export type RadarGetQualitySpeedTopLocationsResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @example 2023-07-26T08:59:57Z
+       */
+      lastUpdated: string;
+    };
+    top_0: {
+      /**
+       * @example 295.886073
+       */
+      bandwidthDownload: string;
+      /**
+       * @example 158.85269
+       */
+      bandwidthUpload: string;
+      /**
+       * @example IS
+       */
+      clientCountryAlpha2: string;
+      /**
+       * @example Iceland
+       */
+      clientCountryName: string;
+      /**
+       * @example 9.640685
+       */
+      jitterIdle: string;
+      /**
+       * @example 46.480023
+       */
+      jitterLoaded: string;
+      /**
+       * @example 15.208124
+       */
+      latencyIdle: string;
+      /**
+       * @example 114.758887
+       */
+      latencyLoaded: string;
+      /**
+       * @example 13123
+       */
+      numTests: number;
+      /**
+       * @example 0.77
+       */
+      rankPower: number;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetQualitySpeedTopLocationsVariables = {
+  queryParams?: RadarGetQualitySpeedTopLocationsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the top locations by bandwidth, latency, jitter or packet loss, from the previous 90 days of Cloudflare Speed Test data.
+ */
+export const radarGetQualitySpeedTopLocations = (
+  variables: RadarGetQualitySpeedTopLocationsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetQualitySpeedTopLocationsResponse,
+    RadarGetQualitySpeedTopLocationsError,
+    undefined,
+    {},
+    RadarGetQualitySpeedTopLocationsQueryParams,
+    {}
+  >({ url: '/radar/quality/speed/top/locations', method: 'get', ...variables, signal });
+
+export type RadarGetRankingDomainDetailsPathParams = {
+  /**
+   * @example google.com
+   * @pattern ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9])$
+   */
+  domain: string;
+};
+
+export type RadarGetRankingDomainDetailsQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * The ranking type.
+   *
+   * @default POPULAR
+   * @example POPULAR
+   */
+  rankingType?: 'POPULAR' | 'TRENDING_RISE' | 'TRENDING_STEADY';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * Array of dates to filter the ranking.
+   *
+   * @example 2022-09-19
+   */
+  date?: string[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetRankingDomainDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetRankingDomainDetailsResponse = {
+  result: {
+    details_0: {
+      /**
+       * Only available in POPULAR ranking for the most recent ranking.
+       *
+       * @example 2000
+       */
+      bucket?: string;
+      categories: {
+        /**
+         * @example 81
+         */
+        id: number;
+        /**
+         * @example Content Servers
+         */
+        name: string;
+        /**
+         * @example 26
+         */
+        superCategoryId: number;
+      }[];
+      /**
+       * @example 3
+       */
+      rank?: number;
+      top_locations: {
+        /**
+         * @example US
+         */
+        locationCode: string;
+        /**
+         * @example United States
+         */
+        locationName: string;
+        /**
+         * @example 1
+         */
+        rank: number;
+      }[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetRankingDomainDetailsVariables = {
+  pathParams: RadarGetRankingDomainDetailsPathParams;
+  queryParams?: RadarGetRankingDomainDetailsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets Domains Rank details.
+ *     Cloudflare provides an ordered rank for the top 100 domains, but for the remainder it only provides ranking buckets
+ *     like top 200 thousand, top one million, etc.. These are available through Radar datasets endpoints.
+ */
+export const radarGetRankingDomainDetails = (variables: RadarGetRankingDomainDetailsVariables, signal?: AbortSignal) =>
+  fetch<
+    RadarGetRankingDomainDetailsResponse,
+    RadarGetRankingDomainDetailsError,
+    undefined,
+    {},
+    RadarGetRankingDomainDetailsQueryParams,
+    RadarGetRankingDomainDetailsPathParams
+  >({ url: '/radar/ranking/domain/{domain}', method: 'get', ...variables, signal });
+
+export type RadarGetRankingDomainTimeseriesQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * The ranking type.
+   *
+   * @default POPULAR
+   * @example POPULAR
+   */
+  rankingType?: 'POPULAR' | 'TRENDING_RISE' | 'TRENDING_STEADY';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * Array of locations (alpha-2 country codes).
+   *
+   * @example US
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of domains names.
+   *
+   * @example google.com,facebook.com
+   */
+  domains?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetRankingDomainTimeseriesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetRankingDomainTimeseriesResponse = {
+  result: {
+    meta: {
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+    };
+    /**
+     * @example {"google.com":[2],"timestamps":["2022-09-02"]}
+     */
+    serie_0: {
+      timestamps: string[];
+    } & {
+      [key: string]: (string | number)[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetRankingDomainTimeseriesVariables = {
+  queryParams?: RadarGetRankingDomainTimeseriesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets Domains Rank updates change over time. Raw values are returned.
+ */
+export const radarGetRankingDomainTimeseries = (
+  variables: RadarGetRankingDomainTimeseriesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetRankingDomainTimeseriesResponse,
+    RadarGetRankingDomainTimeseriesError,
+    undefined,
+    {},
+    RadarGetRankingDomainTimeseriesQueryParams,
+    {}
+  >({ url: '/radar/ranking/timeseries_groups', method: 'get', ...variables, signal });
+
+export type RadarGetRankingTopDomainsQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * Array of locations (alpha-2 country codes).
+   *
+   * @example US
+   */
+  location?: string[];
+  /**
+   * Array of dates to filter the ranking.
+   *
+   * @example 2022-09-19
+   */
+  date?: string[];
+  /**
+   * The ranking type.
+   *
+   * @default POPULAR
+   * @example POPULAR
+   */
+  rankingType?: 'POPULAR' | 'TRENDING_RISE' | 'TRENDING_STEADY';
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetRankingTopDomainsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetRankingTopDomainsResponse = {
+  result: {
+    meta: {
+      top_0: {
+        /**
+         * @example 2022-09-19
+         */
+        date: string;
+      };
+    };
+    top_0: {
+      categories: {
+        /**
+         * @example 81
+         */
+        id: number;
+        /**
+         * @example Content Servers
+         */
+        name: string;
+        /**
+         * @example 26
+         */
+        superCategoryId: number;
+      }[];
+      /**
+       * @example google.com
+       */
+      domain: string;
+      /**
+       * Only available in TRENDING rankings.
+       *
+       * @example 10.8
+       */
+      pctRankChange?: number;
+      /**
+       * @example 1
+       */
+      rank: number;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetRankingTopDomainsVariables = {
+  queryParams?: RadarGetRankingTopDomainsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get top or trending domains based on their rank. Popular domains are domains of broad appeal based on how people use the Internet. Trending domains are domains that are generating a surge in interest. For more information on top domains, see https://blog.cloudflare.com/radar-domain-rankings/.
+ */
+export const radarGetRankingTopDomains = (variables: RadarGetRankingTopDomainsVariables, signal?: AbortSignal) =>
+  fetch<
+    RadarGetRankingTopDomainsResponse,
+    RadarGetRankingTopDomainsError,
+    undefined,
+    {},
+    RadarGetRankingTopDomainsQueryParams,
+    {}
+  >({ url: '/radar/ranking/top', method: 'get', ...variables, signal });
+
+export type RadarGetSearchGlobalQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Limit the number of objects per search category.
+   */
+  limitPerGroup?: number;
+  /**
+   * Search for locations, AS and reports.
+   *
+   * @example United
+   */
+  query: string;
+  /**
+   * Search types to be included in results.
+   */
+  include?: ('SPECIAL_EVENTS' | 'NOTEBOOKS' | 'LOCATIONS' | 'ASNS')[];
+  /**
+   * Search types to be excluded from results.
+   */
+  exclude?: ('SPECIAL_EVENTS' | 'NOTEBOOKS' | 'LOCATIONS' | 'ASNS')[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetSearchGlobalError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetSearchGlobalResponse = {
+  result: {
+    search: {
+      /**
+       * @example 13335
+       */
+      code: string;
+      /**
+       * @example Cloudflare
+       */
+      name: string;
+      /**
+       * @example asn
+       */
+      type: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetSearchGlobalVariables = {
+  queryParams: RadarGetSearchGlobalQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lets you search for locations, autonomous systems (ASes), and reports.
+ */
+export const radarGetSearchGlobal = (variables: RadarGetSearchGlobalVariables, signal?: AbortSignal) =>
+  fetch<RadarGetSearchGlobalResponse, RadarGetSearchGlobalError, undefined, {}, RadarGetSearchGlobalQueryParams, {}>({
+    url: '/radar/search/global',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type RadarGetTcpResetsTimeoutsSummaryQueryParams = {
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetTcpResetsTimeoutsSummaryError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetTcpResetsTimeoutsSummaryResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+    };
+    summary_0: {
+      /**
+       * Connection resets within the first 10 packets from the client, but after the server has received multiple data packets.
+       *
+       * @example 10
+       */
+      later_in_flow: string;
+      /**
+       * All other connections.
+       *
+       * @example 65
+       */
+      no_match: string;
+      /**
+       * Connection resets or timeouts after the server received both a SYN packet and an ACK packet, meaning the connection was successfully established.
+       *
+       * @example 5
+       */
+      post_ack: string;
+      /**
+       * Connection resets or timeouts after the server received a packet with PSH flag set, following connection establishment.
+       *
+       * @example 10
+       */
+      post_psh: string;
+      /**
+       * Connection resets or timeouts after the server received only a single SYN packet.
+       *
+       * @example 10
+       */
+      post_syn: string;
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetTcpResetsTimeoutsSummaryVariables = {
+  queryParams?: RadarGetTcpResetsTimeoutsSummaryQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution by connection stage of TCP connections terminated within the first 10 packets by a reset or timeout, for a given time period.
+ */
+export const radarGetTcpResetsTimeoutsSummary = (
+  variables: RadarGetTcpResetsTimeoutsSummaryVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetTcpResetsTimeoutsSummaryResponse,
+    RadarGetTcpResetsTimeoutsSummaryError,
+    undefined,
+    {},
+    RadarGetTcpResetsTimeoutsSummaryQueryParams,
+    {}
+  >({ url: '/radar/tcp_resets_timeouts/summary', method: 'get', ...variables, signal });
+
+export type RadarGetTcpResetsTimeoutsTimeseriesGroupQueryParams = {
+  /**
+   * Aggregation interval results should be returned in (for example, in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/).
+   *
+   * @example 1h
+   */
+  aggInterval?: '15m' | '1h' | '1d' | '1w';
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetTcpResetsTimeoutsTimeseriesGroupError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetTcpResetsTimeoutsTimeseriesGroupResponse = {
+  result: {
+    meta: {
+      /**
+       * @example 1h
+       */
+      aggInterval: string;
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+      /**
+       * @format date-time
+       */
+      lastUpdated: string;
+    };
+    serie_0: {
+      /**
+       * Connection resets within the first 10 packets from the client, but after the server has received multiple data packets.
+       */
+      later_in_flow: string[];
+      /**
+       * All other connections.
+       */
+      no_match: string[];
+      /**
+       * Connection resets or timeouts after the server received both a SYN packet and an ACK packet, meaning the connection was successfully established.
+       */
+      post_ack: string[];
+      /**
+       * Connection resets or timeouts after the server received a packet with PSH flag set, following connection establishment.
+       */
+      post_psh: string[];
+      /**
+       * Connection resets or timeouts after the server received only a single SYN packet.
+       */
+      post_syn: string[];
+      timestamps: string[];
+    };
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetTcpResetsTimeoutsTimeseriesGroupVariables = {
+  queryParams?: RadarGetTcpResetsTimeoutsTimeseriesGroupQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Percentage distribution by connection stage of TCP connections terminated within the first 10 packets by a reset or timeout, over time.
+ */
+export const radarGetTcpResetsTimeoutsTimeseriesGroup = (
+  variables: RadarGetTcpResetsTimeoutsTimeseriesGroupVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetTcpResetsTimeoutsTimeseriesGroupResponse,
+    RadarGetTcpResetsTimeoutsTimeseriesGroupError,
+    undefined,
+    {},
+    RadarGetTcpResetsTimeoutsTimeseriesGroupQueryParams,
+    {}
+  >({ url: '/radar/tcp_resets_timeouts/timeseries_groups', method: 'get', ...variables, signal });
+
+export type RadarGetTrafficAnomaliesQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Number of objects to skip before grabbing results.
+   */
+  offset?: number;
+  /**
+   * Shorthand date ranges for the last X days - use when you don't need specific start and end dates.
+   *
+   * @example 7d
+   * @pattern ^((([1-9]|[1-9][0-9]|[1-2][0-9][0-9]|3[0-5][0-9]|36[0-4])[d](control)?)|(([1-9]|[1-4][0-9]|5[0-2])[w](control)?))$
+   */
+  dateRange?: string;
+  /**
+   * Start of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   * @format date-time
+   */
+  dateStart?: string;
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   * @format date-time
+   */
+  dateEnd?: string;
+  status?: 'VERIFIED' | 'UNVERIFIED';
+  /**
+   * Single ASN as integer.
+   *
+   * @example 174
+   */
+  asn?: number;
+  /**
+   * Location Alpha2 code.
+   *
+   * @example US
+   */
+  location?: string;
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetTrafficAnomaliesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetTrafficAnomaliesResponse = {
+  result: {
+    trafficAnomalies: {
+      asnDetails?: {
+        /**
+         * @example 189
+         */
+        asn: string;
+        locations?: {
+          /**
+           * @example US
+           */
+          code: string;
+          /**
+           * @example United States
+           */
+          name: string;
+        };
+        /**
+         * @example LUMEN-LEGACY-L3-PARTITION
+         */
+        name: string;
+      };
+      /**
+       * @example 2023-08-03T23:15:00Z
+       */
+      endDate?: string;
+      locationDetails?: {
+        /**
+         * @example US
+         */
+        code: string;
+        /**
+         * @example United States
+         */
+        name: string;
+      };
+      /**
+       * @example 2023-08-02T23:15:00Z
+       */
+      startDate: string;
+      /**
+       * @example UNVERIFIED
+       */
+      status: string;
+      /**
+       * @example LOCATION
+       */
+      type: string;
+      /**
+       * @example 55a57f33-8bc0-4984-b4df-fdaff72df39d
+       */
+      uuid: string;
+      visibleInDataSources?: string[];
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetTrafficAnomaliesVariables = {
+  queryParams?: RadarGetTrafficAnomaliesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Internet traffic anomalies are signals that might point to an outage.
+ *         These alerts are automatically detected by Radar and then manually verified by our team.
+ *         This endpoint returns the latest alerts.
+ */
+export const radarGetTrafficAnomalies = (variables: RadarGetTrafficAnomaliesVariables, signal?: AbortSignal) =>
+  fetch<
+    RadarGetTrafficAnomaliesResponse,
+    RadarGetTrafficAnomaliesError,
+    undefined,
+    {},
+    RadarGetTrafficAnomaliesQueryParams,
+    {}
+  >({ url: '/radar/traffic_anomalies', method: 'get', ...variables, signal });
+
+export type RadarGetTrafficAnomaliesTopQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Shorthand date ranges for the last X days - use when you don't need specific start and end dates.
+   *
+   * @example 7d
+   * @pattern ^((([1-9]|[1-9][0-9]|[1-2][0-9][0-9]|3[0-5][0-9]|36[0-4])[d](control)?)|(([1-9]|[1-4][0-9]|5[0-2])[w](control)?))$
+   */
+  dateRange?: string;
+  /**
+   * Start of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   * @format date-time
+   */
+  dateStart?: string;
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   * @format date-time
+   */
+  dateEnd?: string;
+  status?: 'VERIFIED' | 'UNVERIFIED';
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetTrafficAnomaliesTopError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetTrafficAnomaliesTopResponse = {
+  result: {
+    trafficAnomalies: {
+      /**
+       * @example PT
+       */
+      clientCountryAlpha2: string;
+      /**
+       * @example Portugal
+       */
+      clientCountryName: string;
+      /**
+       * @example 5
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetTrafficAnomaliesTopVariables = {
+  queryParams?: RadarGetTrafficAnomaliesTopQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Internet traffic anomalies are signals that might point to an outage.
+ *         These alerts are automatically detected by Radar and then manually verified by our team.
+ *         This endpoint returns the sum of alerts grouped by location.
+ */
+export const radarGetTrafficAnomaliesTop = (variables: RadarGetTrafficAnomaliesTopVariables, signal?: AbortSignal) =>
+  fetch<
+    RadarGetTrafficAnomaliesTopResponse,
+    RadarGetTrafficAnomaliesTopError,
+    undefined,
+    {},
+    RadarGetTrafficAnomaliesTopQueryParams,
+    {}
+  >({ url: '/radar/traffic_anomalies/locations', method: 'get', ...variables, signal });
+
+export type RadarGetVerifiedBotsTopByHttpRequestsQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetVerifiedBotsTopByHttpRequestsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetVerifiedBotsTopByHttpRequestsResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+    };
+    top_0: {
+      /**
+       * @example Search Engine Crawler
+       */
+      botCategory: string;
+      /**
+       * @example GoogleBot
+       */
+      botName: string;
+      /**
+       * @example Google
+       */
+      botOwner: string;
+      /**
+       * @example 29.034407
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetVerifiedBotsTopByHttpRequestsVariables = {
+  queryParams?: RadarGetVerifiedBotsTopByHttpRequestsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get top verified bots by HTTP requests, with owner and category.
+ */
+export const radarGetVerifiedBotsTopByHttpRequests = (
+  variables: RadarGetVerifiedBotsTopByHttpRequestsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetVerifiedBotsTopByHttpRequestsResponse,
+    RadarGetVerifiedBotsTopByHttpRequestsError,
+    undefined,
+    {},
+    RadarGetVerifiedBotsTopByHttpRequestsQueryParams,
+    {}
+  >({ url: '/radar/verified_bots/top/bots', method: 'get', ...variables, signal });
+
+export type RadarGetVerifiedBotsTopCategoriesByHttpRequestsQueryParams = {
+  /**
+   * Limit the number of objects in the response.
+   *
+   * @example 5
+   */
+  limit?: number;
+  /**
+   * Array of names that will be used to name the series in responses.
+   *
+   * @example main_series
+   */
+  name?: string[];
+  /**
+   * For example, use `7d` and `7dControl` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters).
+   *
+   * @example 7d
+   */
+  dateRange?: string[];
+  /**
+   * Array of datetimes to filter the start of a series.
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateStart?: string[];
+  /**
+   * End of the date range (inclusive).
+   *
+   * @example 2023-09-01T11:41:33.782Z
+   */
+  dateEnd?: string[];
+  /**
+   * Array of comma separated list of ASNs, start with `-` to exclude from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356.
+   *
+   * @example 15169
+   */
+  asn?: string[];
+  /**
+   * Array of comma separated list of locations (alpha-2 country codes). Start with `-` to exclude from results. For example, `-US,PT` excludes results from the US, but includes results from PT.
+   *
+   * @example US,CA
+   */
+  location?: string[];
+  /**
+   * Array of comma separated list of continents (alpha-2 continent codes). Start with `-` to exclude from results. For example, `-EU,NA` excludes results from Europe, but includes results from North America.
+   *
+   * @example EU,NA
+   */
+  continent?: string[];
+  /**
+   * Format results are returned in.
+   *
+   * @example json
+   */
+  format?: 'JSON' | 'CSV';
+};
+
+export type RadarGetVerifiedBotsTopCategoriesByHttpRequestsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    errors: {
+      message: string;
+    }[];
+    result: Record<string, any>;
+    /**
+     * @example false
+     */
+    success: boolean;
+  };
+}>;
+
+export type RadarGetVerifiedBotsTopCategoriesByHttpRequestsResponse = {
+  result: {
+    meta: {
+      confidenceInfo?: {
+        annotations?: {
+          /**
+           * @example ALL
+           */
+          dataSource: string;
+          /**
+           * @example Cable cut in Tonga
+           */
+          description: string;
+          /**
+           * @format date-time
+           */
+          endTime?: string;
+          /**
+           * @example OUTAGE
+           */
+          eventType: string;
+          /**
+           * @example true
+           */
+          isInstantaneous: boolean;
+          linkedUrl?: string;
+          /**
+           * @format date-time
+           */
+          startTime?: string;
+        }[];
+        level?: number;
+      };
+      dateRange: {
+        /**
+         * Adjusted end of date range.
+         *
+         * @example 2022-09-17T10:22:57.555Z
+         * @format date-time
+         */
+        endTime: string;
+        /**
+         * Adjusted start of date range.
+         *
+         * @example 2022-09-16T10:22:57.555Z
+         * @format date-time
+         */
+        startTime: string;
+      }[];
+    };
+    top_0: {
+      /**
+       * @example Search
+       */
+      botCategory: string;
+      /**
+       * @example 65
+       */
+      value: string;
+    }[];
+  };
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type RadarGetVerifiedBotsTopCategoriesByHttpRequestsVariables = {
+  queryParams?: RadarGetVerifiedBotsTopCategoriesByHttpRequestsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get top verified bot categories by HTTP requests, along with their corresponding percentage, over the total verified bot HTTP requests.
+ */
+export const radarGetVerifiedBotsTopCategoriesByHttpRequests = (
+  variables: RadarGetVerifiedBotsTopCategoriesByHttpRequestsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RadarGetVerifiedBotsTopCategoriesByHttpRequestsResponse,
+    RadarGetVerifiedBotsTopCategoriesByHttpRequestsError,
+    undefined,
+    {},
+    RadarGetVerifiedBotsTopCategoriesByHttpRequestsQueryParams,
+    {}
+  >({ url: '/radar/verified_bots/top/categories', method: 'get', ...variables, signal });
+
+export type UserUserDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type UserUserDetailsVariables = FetcherExtraProps;
+
+export const userUserDetails = (variables: UserUserDetailsVariables, signal?: AbortSignal) =>
+  fetch<Schemas.IamSingleUserResponse, UserUserDetailsError, undefined, {}, {}, {}>({
+    url: '/user',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type UserEditUserError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type UserEditUserRequestBody = {
+  country?: Schemas.IamCountry;
+  first_name?: Schemas.IamFirstName;
+  last_name?: Schemas.IamLastName;
+  telephone?: Schemas.IamTelephone;
+  zipcode?: Schemas.IamZipcode;
+};
+
+export type UserEditUserVariables = {
+  body?: UserEditUserRequestBody;
+} & FetcherExtraProps;
+
+/**
+ * Edit part of your user details.
+ */
+export const userEditUser = (variables: UserEditUserVariables, signal?: AbortSignal) =>
+  fetch<Schemas.IamSingleUserResponse, UserEditUserError, UserEditUserRequestBody, {}, {}, {}>({
+    url: '/user',
+    method: 'patch',
+    ...variables,
+    signal
+  });
+
+export type AuditLogsGetUserAuditLogsQueryParams = {
+  /**
+   * @example f174be97-19b1-40d6-954d-70cd5fbd52db
+   */
+  id?: string;
+  /**
+   * @example true
+   */
+  ['export']?: boolean;
+  /**
+   * @example add
+   */
+  ['action.type']?: string;
+  /**
+   * @example 17.168.228.63
+   */
+  ['actor.ip']?: string;
+  /**
+   * @example alice@example.com
+   * @format email
+   */
+  ['actor.email']?: string;
+  since?: string | string;
+  before?: string | string;
+  /**
+   * @example example.com
+   */
+  ['zone.name']?: string;
+  /**
+   * @default desc
+   * @example desc
+   */
+  direction?: 'desc' | 'asc';
+  /**
+   * @default 100
+   * @example 25
+   * @maximum 1000
+   * @minimum 1
+   */
+  per_page?: number;
+  /**
+   * @default 1
+   * @example 50
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default false
+   */
+  hide_user_logs?: boolean;
+};
+
+export type AuditLogsGetUserAuditLogsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AaaAuditLogsResponseCollection & Schemas.AaaApiResponseCommonFailure;
+}>;
+
+export type AuditLogsGetUserAuditLogsVariables = {
+  queryParams?: AuditLogsGetUserAuditLogsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets a list of audit logs for a user account. Can be filtered by who made the change, on which zone, and the timeframe of the change.
+ */
+export const auditLogsGetUserAuditLogs = (variables: AuditLogsGetUserAuditLogsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.AaaAuditLogsResponseCollection,
+    AuditLogsGetUserAuditLogsError,
+    undefined,
+    {},
+    AuditLogsGetUserAuditLogsQueryParams,
+    {}
+  >({ url: '/user/audit_logs', method: 'get', ...variables, signal });
+
+export type UserBillingHistoryDeprecatedBillingHistoryDetailsQueryParams = {
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default 20
+   * @maximum 50
+   * @minimum 5
+   */
+  per_page?: number;
+  /**
+   * @example occurred_at
+   */
+  order?: 'type' | 'occurred_at' | 'action';
+  occurred_at?: Schemas.BillSubsApiOccurredAt;
+  /**
+   * @example charge
+   * @maxLength 30
+   */
+  type?: string;
+  /**
+   * @example subscription
+   * @maxLength 30
+   */
+  action?: string;
+};
+
+export type UserBillingHistoryDeprecatedBillingHistoryDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.BillSubsApiBillingHistoryCollection & Schemas.BillSubsApiApiResponseCommonFailure;
+}>;
+
+export type UserBillingHistoryDeprecatedBillingHistoryDetailsVariables = {
+  queryParams?: UserBillingHistoryDeprecatedBillingHistoryDetailsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Accesses your billing history object.
+ */
+export const userBillingHistoryDeprecatedBillingHistoryDetails = (
+  variables: UserBillingHistoryDeprecatedBillingHistoryDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.BillSubsApiBillingHistoryCollection,
+    UserBillingHistoryDeprecatedBillingHistoryDetailsError,
+    undefined,
+    {},
+    UserBillingHistoryDeprecatedBillingHistoryDetailsQueryParams,
+    {}
+  >({ url: '/user/billing/history', method: 'get', ...variables, signal });
+
+export type UserBillingProfileDeprecatedBillingProfileDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.BillSubsApiBillingResponseSingle & Schemas.BillSubsApiApiResponseCommonFailure;
+}>;
+
+export type UserBillingProfileDeprecatedBillingProfileDetailsVariables = FetcherExtraProps;
+
+/**
+ * Accesses your billing profile object.
+ */
+export const userBillingProfileDeprecatedBillingProfileDetails = (
+  variables: UserBillingProfileDeprecatedBillingProfileDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.BillSubsApiBillingResponseSingle,
+    UserBillingProfileDeprecatedBillingProfileDetailsError,
+    undefined,
+    {},
+    {},
+    {}
+  >({ url: '/user/billing/profile', method: 'get', ...variables, signal });
+
+export type IpAccessRulesForAUserListIpAccessRulesQueryParams = {
+  mode?: Schemas.FirewallSchemasMode;
+  /**
+   * @example ip
+   */
+  ['configuration.target']?: 'ip' | 'ip_range' | 'asn' | 'country';
+  /**
+   * @example 198.51.100.4
+   */
+  ['configuration.value']?: string;
+  /**
+   * @example my note
+   */
+  notes?: string;
+  /**
+   * @default all
+   */
+  match?: 'any' | 'all';
+  /**
+   * @example 1
+   */
+  page?: number;
+  /**
+   * @example 20
+   */
+  per_page?: number;
+  /**
+   * @example mode
+   */
+  order?: 'configuration.target' | 'configuration.value' | 'mode';
+  /**
+   * @example desc
+   */
+  direction?: 'asc' | 'desc';
+};
+
+export type IpAccessRulesForAUserListIpAccessRulesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallRuleCollectionResponse & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type IpAccessRulesForAUserListIpAccessRulesVariables = {
+  queryParams?: IpAccessRulesForAUserListIpAccessRulesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches IP Access rules of the user. You can filter the results using several optional parameters.
+ */
+export const ipAccessRulesForAUserListIpAccessRules = (
+  variables: IpAccessRulesForAUserListIpAccessRulesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.FirewallRuleCollectionResponse,
+    IpAccessRulesForAUserListIpAccessRulesError,
+    undefined,
+    {},
+    IpAccessRulesForAUserListIpAccessRulesQueryParams,
+    {}
+  >({ url: '/user/firewall/access_rules/rules', method: 'get', ...variables, signal });
+
+export type IpAccessRulesForAUserCreateAnIpAccessRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallRuleSingleResponse & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type IpAccessRulesForAUserCreateAnIpAccessRuleRequestBody = {
+  configuration: Schemas.FirewallConfiguration;
+  mode: Schemas.FirewallSchemasMode;
+  notes?: Schemas.FirewallNotes;
+};
+
+export type IpAccessRulesForAUserCreateAnIpAccessRuleVariables = {
+  body: IpAccessRulesForAUserCreateAnIpAccessRuleRequestBody;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new IP Access rule for all zones owned by the current user.
+ *
+ * Note: To create an IP Access rule that applies to a specific zone, refer to the [IP Access rules for a zone](#ip-access-rules-for-a-zone) endpoints.
+ */
+export const ipAccessRulesForAUserCreateAnIpAccessRule = (
+  variables: IpAccessRulesForAUserCreateAnIpAccessRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.FirewallRuleSingleResponse,
+    IpAccessRulesForAUserCreateAnIpAccessRuleError,
+    IpAccessRulesForAUserCreateAnIpAccessRuleRequestBody,
+    {},
+    {},
+    {}
+  >({ url: '/user/firewall/access_rules/rules', method: 'post', ...variables, signal });
+
+export type IpAccessRulesForAUserDeleteAnIpAccessRulePathParams = {
+  ruleId: Schemas.FirewallRuleIdentifier;
+};
+
+export type IpAccessRulesForAUserDeleteAnIpAccessRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallRuleSingleIdResponse & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type IpAccessRulesForAUserDeleteAnIpAccessRuleVariables = {
+  pathParams: IpAccessRulesForAUserDeleteAnIpAccessRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes an IP Access rule at the user level.
+ *
+ * Note: Deleting a user-level rule will affect all zones owned by the user.
+ */
+export const ipAccessRulesForAUserDeleteAnIpAccessRule = (
+  variables: IpAccessRulesForAUserDeleteAnIpAccessRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.FirewallRuleSingleIdResponse,
+    IpAccessRulesForAUserDeleteAnIpAccessRuleError,
+    undefined,
+    {},
+    {},
+    IpAccessRulesForAUserDeleteAnIpAccessRulePathParams
+  >({ url: '/user/firewall/access_rules/rules/{ruleId}', method: 'delete', ...variables, signal });
+
+export type IpAccessRulesForAUserUpdateAnIpAccessRulePathParams = {
+  ruleId: Schemas.FirewallRuleIdentifier;
+};
+
+export type IpAccessRulesForAUserUpdateAnIpAccessRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallRuleSingleResponse & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type IpAccessRulesForAUserUpdateAnIpAccessRuleRequestBody = {
+  mode?: Schemas.FirewallSchemasMode;
+  notes?: Schemas.FirewallNotes;
+};
+
+export type IpAccessRulesForAUserUpdateAnIpAccessRuleVariables = {
+  body?: IpAccessRulesForAUserUpdateAnIpAccessRuleRequestBody;
+  pathParams: IpAccessRulesForAUserUpdateAnIpAccessRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates an IP Access rule defined at the user level. You can only update the rule action (`mode` parameter) and notes.
+ */
+export const ipAccessRulesForAUserUpdateAnIpAccessRule = (
+  variables: IpAccessRulesForAUserUpdateAnIpAccessRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.FirewallRuleSingleResponse,
+    IpAccessRulesForAUserUpdateAnIpAccessRuleError,
+    IpAccessRulesForAUserUpdateAnIpAccessRuleRequestBody,
+    {},
+    {},
+    IpAccessRulesForAUserUpdateAnIpAccessRulePathParams
+  >({ url: '/user/firewall/access_rules/rules/{ruleId}', method: 'patch', ...variables, signal });
+
+export type UserSInvitesListInvitationsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type UserSInvitesListInvitationsVariables = FetcherExtraProps;
+
+/**
+ * Lists all invitations associated with my user.
+ */
+export const userSInvitesListInvitations = (variables: UserSInvitesListInvitationsVariables, signal?: AbortSignal) =>
+  fetch<Schemas.IamSchemasCollectionInviteResponse, UserSInvitesListInvitationsError, undefined, {}, {}, {}>({
+    url: '/user/invites',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type UserSInvitesInvitationDetailsPathParams = {
+  inviteId: Schemas.IamInviteComponentsSchemasIdentifier;
+};
+
+export type UserSInvitesInvitationDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type UserSInvitesInvitationDetailsVariables = {
+  pathParams: UserSInvitesInvitationDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets the details of an invitation.
+ */
+export const userSInvitesInvitationDetails = (
+  variables: UserSInvitesInvitationDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.IamSingleInviteResponse,
+    UserSInvitesInvitationDetailsError,
+    undefined,
+    {},
+    {},
+    UserSInvitesInvitationDetailsPathParams
+  >({ url: '/user/invites/{inviteId}', method: 'get', ...variables, signal });
+
+export type UserSInvitesRespondToInvitationPathParams = {
+  inviteId: Schemas.IamInviteComponentsSchemasIdentifier;
+};
+
+export type UserSInvitesRespondToInvitationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type UserSInvitesRespondToInvitationRequestBody = {
+  /**
+   * Status of your response to the invitation (rejected or accepted).
+   *
+   * @example accepted
+   */
+  status: 'accepted' | 'rejected';
+};
+
+export type UserSInvitesRespondToInvitationVariables = {
+  body: UserSInvitesRespondToInvitationRequestBody;
+  pathParams: UserSInvitesRespondToInvitationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Responds to an invitation.
+ */
+export const userSInvitesRespondToInvitation = (
+  variables: UserSInvitesRespondToInvitationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.IamSingleInviteResponse,
+    UserSInvitesRespondToInvitationError,
+    UserSInvitesRespondToInvitationRequestBody,
+    {},
+    {},
+    UserSInvitesRespondToInvitationPathParams
+  >({ url: '/user/invites/{inviteId}', method: 'patch', ...variables, signal });
+
+export type LoadBalancerMonitorsListMonitorsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingMonitorResponseCollection & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type LoadBalancerMonitorsListMonitorsVariables = FetcherExtraProps;
+
+/**
+ * List configured monitors for a user.
+ */
+export const loadBalancerMonitorsListMonitors = (
+  variables: LoadBalancerMonitorsListMonitorsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<Schemas.LoadBalancingMonitorResponseCollection, LoadBalancerMonitorsListMonitorsError, undefined, {}, {}, {}>({
+    url: '/user/load_balancers/monitors',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type LoadBalancerMonitorsCreateMonitorError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingMonitorResponseSingle & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type LoadBalancerMonitorsCreateMonitorRequestBody = Schemas.LoadBalancingMonitorEditable;
+
+export type LoadBalancerMonitorsCreateMonitorVariables = {
+  body?: LoadBalancerMonitorsCreateMonitorRequestBody;
+} & FetcherExtraProps;
+
+/**
+ * Create a configured monitor.
+ */
+export const loadBalancerMonitorsCreateMonitor = (
+  variables: LoadBalancerMonitorsCreateMonitorVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LoadBalancingMonitorResponseSingle,
+    LoadBalancerMonitorsCreateMonitorError,
+    LoadBalancerMonitorsCreateMonitorRequestBody,
+    {},
+    {},
+    {}
+  >({ url: '/user/load_balancers/monitors', method: 'post', ...variables, signal });
+
+export type LoadBalancerMonitorsDeleteMonitorPathParams = {
+  monitorId: Schemas.LoadBalancingIdentifier;
+};
+
+export type LoadBalancerMonitorsDeleteMonitorError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingIdResponse & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type LoadBalancerMonitorsDeleteMonitorVariables = {
+  pathParams: LoadBalancerMonitorsDeleteMonitorPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete a configured monitor.
+ */
+export const loadBalancerMonitorsDeleteMonitor = (
+  variables: LoadBalancerMonitorsDeleteMonitorVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LoadBalancingIdResponse,
+    LoadBalancerMonitorsDeleteMonitorError,
+    undefined,
+    {},
+    {},
+    LoadBalancerMonitorsDeleteMonitorPathParams
+  >({ url: '/user/load_balancers/monitors/{monitorId}', method: 'delete', ...variables, signal });
+
+export type LoadBalancerMonitorsMonitorDetailsPathParams = {
+  monitorId: Schemas.LoadBalancingIdentifier;
+};
+
+export type LoadBalancerMonitorsMonitorDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingMonitorResponseSingle & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type LoadBalancerMonitorsMonitorDetailsVariables = {
+  pathParams: LoadBalancerMonitorsMonitorDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * List a single configured monitor for a user.
+ */
+export const loadBalancerMonitorsMonitorDetails = (
+  variables: LoadBalancerMonitorsMonitorDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LoadBalancingMonitorResponseSingle,
+    LoadBalancerMonitorsMonitorDetailsError,
+    undefined,
+    {},
+    {},
+    LoadBalancerMonitorsMonitorDetailsPathParams
+  >({ url: '/user/load_balancers/monitors/{monitorId}', method: 'get', ...variables, signal });
+
+export type LoadBalancerMonitorsPatchMonitorPathParams = {
+  monitorId: Schemas.LoadBalancingIdentifier;
+};
+
+export type LoadBalancerMonitorsPatchMonitorError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingMonitorResponseSingle & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type LoadBalancerMonitorsPatchMonitorRequestBody = Schemas.LoadBalancingMonitorEditable;
+
+export type LoadBalancerMonitorsPatchMonitorVariables = {
+  body?: LoadBalancerMonitorsPatchMonitorRequestBody;
+  pathParams: LoadBalancerMonitorsPatchMonitorPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Apply changes to an existing monitor, overwriting the supplied properties.
+ */
+export const loadBalancerMonitorsPatchMonitor = (
+  variables: LoadBalancerMonitorsPatchMonitorVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LoadBalancingMonitorResponseSingle,
+    LoadBalancerMonitorsPatchMonitorError,
+    LoadBalancerMonitorsPatchMonitorRequestBody,
+    {},
+    {},
+    LoadBalancerMonitorsPatchMonitorPathParams
+  >({ url: '/user/load_balancers/monitors/{monitorId}', method: 'patch', ...variables, signal });
+
+export type LoadBalancerMonitorsUpdateMonitorPathParams = {
+  monitorId: Schemas.LoadBalancingIdentifier;
+};
+
+export type LoadBalancerMonitorsUpdateMonitorError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingMonitorResponseSingle & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type LoadBalancerMonitorsUpdateMonitorRequestBody = Schemas.LoadBalancingMonitorEditable;
+
+export type LoadBalancerMonitorsUpdateMonitorVariables = {
+  body?: LoadBalancerMonitorsUpdateMonitorRequestBody;
+  pathParams: LoadBalancerMonitorsUpdateMonitorPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Modify a configured monitor.
+ */
+export const loadBalancerMonitorsUpdateMonitor = (
+  variables: LoadBalancerMonitorsUpdateMonitorVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LoadBalancingMonitorResponseSingle,
+    LoadBalancerMonitorsUpdateMonitorError,
+    LoadBalancerMonitorsUpdateMonitorRequestBody,
+    {},
+    {},
+    LoadBalancerMonitorsUpdateMonitorPathParams
+  >({ url: '/user/load_balancers/monitors/{monitorId}', method: 'put', ...variables, signal });
+
+export type LoadBalancerMonitorsPreviewMonitorPathParams = {
+  monitorId: Schemas.LoadBalancingIdentifier;
+};
+
+export type LoadBalancerMonitorsPreviewMonitorError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingPreviewResponse & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type LoadBalancerMonitorsPreviewMonitorRequestBody = Schemas.LoadBalancingMonitorEditable;
+
+export type LoadBalancerMonitorsPreviewMonitorVariables = {
+  body?: LoadBalancerMonitorsPreviewMonitorRequestBody;
+  pathParams: LoadBalancerMonitorsPreviewMonitorPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Preview pools using the specified monitor with provided monitor details. The returned preview_id can be used in the preview endpoint to retrieve the results.
+ */
+export const loadBalancerMonitorsPreviewMonitor = (
+  variables: LoadBalancerMonitorsPreviewMonitorVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LoadBalancingPreviewResponse,
+    LoadBalancerMonitorsPreviewMonitorError,
+    LoadBalancerMonitorsPreviewMonitorRequestBody,
+    {},
+    {},
+    LoadBalancerMonitorsPreviewMonitorPathParams
+  >({ url: '/user/load_balancers/monitors/{monitorId}/preview', method: 'post', ...variables, signal });
+
+export type LoadBalancerMonitorsListMonitorReferencesPathParams = {
+  monitorId: Schemas.LoadBalancingIdentifier;
+};
+
+export type LoadBalancerMonitorsListMonitorReferencesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingMonitorReferencesResponse & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type LoadBalancerMonitorsListMonitorReferencesVariables = {
+  pathParams: LoadBalancerMonitorsListMonitorReferencesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the list of resources that reference the provided monitor.
+ */
+export const loadBalancerMonitorsListMonitorReferences = (
+  variables: LoadBalancerMonitorsListMonitorReferencesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LoadBalancingMonitorReferencesResponse,
+    LoadBalancerMonitorsListMonitorReferencesError,
+    undefined,
+    {},
+    {},
+    LoadBalancerMonitorsListMonitorReferencesPathParams
+  >({ url: '/user/load_balancers/monitors/{monitorId}/references', method: 'get', ...variables, signal });
+
+export type LoadBalancerPoolsListPoolsQueryParams = {
+  monitor?: string;
+};
+
+export type LoadBalancerPoolsListPoolsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingSchemasResponseCollection & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type LoadBalancerPoolsListPoolsVariables = {
+  queryParams?: LoadBalancerPoolsListPoolsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * List configured pools.
+ */
+export const loadBalancerPoolsListPools = (variables: LoadBalancerPoolsListPoolsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.LoadBalancingSchemasResponseCollection,
+    LoadBalancerPoolsListPoolsError,
+    undefined,
+    {},
+    LoadBalancerPoolsListPoolsQueryParams,
+    {}
+  >({ url: '/user/load_balancers/pools', method: 'get', ...variables, signal });
+
+export type LoadBalancerPoolsPatchPoolsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingSchemasResponseCollection & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type LoadBalancerPoolsPatchPoolsRequestBody = {
+  notification_email?: Schemas.LoadBalancingPatchPoolsNotificationEmail;
+};
+
+export type LoadBalancerPoolsPatchPoolsVariables = {
+  body?: LoadBalancerPoolsPatchPoolsRequestBody;
+} & FetcherExtraProps;
+
+/**
+ * Apply changes to a number of existing pools, overwriting the supplied properties. Pools are ordered by ascending `name`. Returns the list of affected pools. Supports the standard pagination query parameters, either `limit`/`offset` or `per_page`/`page`.
+ */
+export const loadBalancerPoolsPatchPools = (variables: LoadBalancerPoolsPatchPoolsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.LoadBalancingSchemasResponseCollection,
+    LoadBalancerPoolsPatchPoolsError,
+    LoadBalancerPoolsPatchPoolsRequestBody,
+    {},
+    {},
+    {}
+  >({ url: '/user/load_balancers/pools', method: 'patch', ...variables, signal });
+
+export type LoadBalancerPoolsCreatePoolError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingSchemasSingleResponse & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type LoadBalancerPoolsCreatePoolRequestBody = {
+  check_regions?: Schemas.LoadBalancingCheckRegions;
+  description?: Schemas.LoadBalancingSchemasDescription;
+  enabled?: Schemas.LoadBalancingEnabled;
+  latitude?: Schemas.LoadBalancingLatitude;
+  load_shedding?: Schemas.LoadBalancingLoadShedding;
+  longitude?: Schemas.LoadBalancingLongitude;
+  minimum_origins?: Schemas.LoadBalancingMinimumOrigins;
+  monitor?: Schemas.LoadBalancingMonitorId;
+  name: Schemas.LoadBalancingName;
+  networks?: Schemas.LoadBalancingNetworks;
+  notification_email?: Schemas.LoadBalancingNotificationEmail;
+  notification_filter?: Schemas.LoadBalancingNotificationFilter;
+  origin_steering?: Schemas.LoadBalancingOriginSteering;
+  origins: Schemas.LoadBalancingOrigins;
+};
+
+export type LoadBalancerPoolsCreatePoolVariables = {
+  body: LoadBalancerPoolsCreatePoolRequestBody;
+} & FetcherExtraProps;
+
+/**
+ * Create a new pool.
+ */
+export const loadBalancerPoolsCreatePool = (variables: LoadBalancerPoolsCreatePoolVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.LoadBalancingSchemasSingleResponse,
+    LoadBalancerPoolsCreatePoolError,
+    LoadBalancerPoolsCreatePoolRequestBody,
+    {},
+    {},
+    {}
+  >({ url: '/user/load_balancers/pools', method: 'post', ...variables, signal });
+
+export type LoadBalancerPoolsDeletePoolPathParams = {
+  poolId: Schemas.LoadBalancingSchemasIdentifier;
+};
+
+export type LoadBalancerPoolsDeletePoolError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingSchemasIdResponse & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type LoadBalancerPoolsDeletePoolVariables = {
+  pathParams: LoadBalancerPoolsDeletePoolPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete a configured pool.
+ */
+export const loadBalancerPoolsDeletePool = (variables: LoadBalancerPoolsDeletePoolVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.LoadBalancingSchemasIdResponse,
+    LoadBalancerPoolsDeletePoolError,
+    undefined,
+    {},
+    {},
+    LoadBalancerPoolsDeletePoolPathParams
+  >({ url: '/user/load_balancers/pools/{poolId}', method: 'delete', ...variables, signal });
+
+export type LoadBalancerPoolsPoolDetailsPathParams = {
+  poolId: Schemas.LoadBalancingSchemasIdentifier;
+};
+
+export type LoadBalancerPoolsPoolDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingSchemasSingleResponse & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type LoadBalancerPoolsPoolDetailsVariables = {
+  pathParams: LoadBalancerPoolsPoolDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetch a single configured pool.
+ */
+export const loadBalancerPoolsPoolDetails = (variables: LoadBalancerPoolsPoolDetailsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.LoadBalancingSchemasSingleResponse,
+    LoadBalancerPoolsPoolDetailsError,
+    undefined,
+    {},
+    {},
+    LoadBalancerPoolsPoolDetailsPathParams
+  >({ url: '/user/load_balancers/pools/{poolId}', method: 'get', ...variables, signal });
+
+export type LoadBalancerPoolsPatchPoolPathParams = {
+  poolId: Schemas.LoadBalancingSchemasIdentifier;
+};
+
+export type LoadBalancerPoolsPatchPoolError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingSchemasSingleResponse & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type LoadBalancerPoolsPatchPoolRequestBody = {
+  check_regions?: Schemas.LoadBalancingCheckRegions;
+  description?: Schemas.LoadBalancingSchemasDescription;
+  disabled_at?: Schemas.LoadBalancingSchemasDisabledAt;
+  enabled?: Schemas.LoadBalancingEnabled;
+  latitude?: Schemas.LoadBalancingLatitude;
+  load_shedding?: Schemas.LoadBalancingLoadShedding;
+  longitude?: Schemas.LoadBalancingLongitude;
+  minimum_origins?: Schemas.LoadBalancingMinimumOrigins;
+  monitor?: Schemas.LoadBalancingMonitorId;
+  name?: Schemas.LoadBalancingName;
+  notification_email?: Schemas.LoadBalancingNotificationEmail;
+  notification_filter?: Schemas.LoadBalancingNotificationFilter;
+  origin_steering?: Schemas.LoadBalancingOriginSteering;
+  origins?: Schemas.LoadBalancingOrigins;
+};
+
+export type LoadBalancerPoolsPatchPoolVariables = {
+  body?: LoadBalancerPoolsPatchPoolRequestBody;
+  pathParams: LoadBalancerPoolsPatchPoolPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Apply changes to an existing pool, overwriting the supplied properties.
+ */
+export const loadBalancerPoolsPatchPool = (variables: LoadBalancerPoolsPatchPoolVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.LoadBalancingSchemasSingleResponse,
+    LoadBalancerPoolsPatchPoolError,
+    LoadBalancerPoolsPatchPoolRequestBody,
+    {},
+    {},
+    LoadBalancerPoolsPatchPoolPathParams
+  >({ url: '/user/load_balancers/pools/{poolId}', method: 'patch', ...variables, signal });
+
+export type LoadBalancerPoolsUpdatePoolPathParams = {
+  poolId: Schemas.LoadBalancingSchemasIdentifier;
+};
+
+export type LoadBalancerPoolsUpdatePoolError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingSchemasSingleResponse & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type LoadBalancerPoolsUpdatePoolRequestBody = {
+  check_regions?: Schemas.LoadBalancingCheckRegions;
+  description?: Schemas.LoadBalancingSchemasDescription;
+  disabled_at?: Schemas.LoadBalancingSchemasDisabledAt;
+  enabled?: Schemas.LoadBalancingEnabled;
+  latitude?: Schemas.LoadBalancingLatitude;
+  load_shedding?: Schemas.LoadBalancingLoadShedding;
+  longitude?: Schemas.LoadBalancingLongitude;
+  minimum_origins?: Schemas.LoadBalancingMinimumOrigins;
+  monitor?: Schemas.LoadBalancingMonitorId;
+  name: Schemas.LoadBalancingName;
+  networks?: Schemas.LoadBalancingNetworks;
+  notification_email?: Schemas.LoadBalancingNotificationEmail;
+  notification_filter?: Schemas.LoadBalancingNotificationFilter;
+  origin_steering?: Schemas.LoadBalancingOriginSteering;
+  origins: Schemas.LoadBalancingOrigins;
+};
+
+export type LoadBalancerPoolsUpdatePoolVariables = {
+  body: LoadBalancerPoolsUpdatePoolRequestBody;
+  pathParams: LoadBalancerPoolsUpdatePoolPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Modify a configured pool.
+ */
+export const loadBalancerPoolsUpdatePool = (variables: LoadBalancerPoolsUpdatePoolVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.LoadBalancingSchemasSingleResponse,
+    LoadBalancerPoolsUpdatePoolError,
+    LoadBalancerPoolsUpdatePoolRequestBody,
+    {},
+    {},
+    LoadBalancerPoolsUpdatePoolPathParams
+  >({ url: '/user/load_balancers/pools/{poolId}', method: 'put', ...variables, signal });
+
+export type LoadBalancerPoolsPoolHealthDetailsPathParams = {
+  poolId: Schemas.LoadBalancingSchemasIdentifier;
+};
+
+export type LoadBalancerPoolsPoolHealthDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingHealthDetails & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type LoadBalancerPoolsPoolHealthDetailsVariables = {
+  pathParams: LoadBalancerPoolsPoolHealthDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetch the latest pool health status for a single pool.
+ */
+export const loadBalancerPoolsPoolHealthDetails = (
+  variables: LoadBalancerPoolsPoolHealthDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LoadBalancingHealthDetails,
+    LoadBalancerPoolsPoolHealthDetailsError,
+    undefined,
+    {},
+    {},
+    LoadBalancerPoolsPoolHealthDetailsPathParams
+  >({ url: '/user/load_balancers/pools/{poolId}/health', method: 'get', ...variables, signal });
+
+export type LoadBalancerPoolsPreviewPoolPathParams = {
+  poolId: Schemas.LoadBalancingSchemasIdentifier;
+};
+
+export type LoadBalancerPoolsPreviewPoolError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingPreviewResponse & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type LoadBalancerPoolsPreviewPoolRequestBody = Schemas.LoadBalancingMonitorEditable;
+
+export type LoadBalancerPoolsPreviewPoolVariables = {
+  body?: LoadBalancerPoolsPreviewPoolRequestBody;
+  pathParams: LoadBalancerPoolsPreviewPoolPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Preview pool health using provided monitor details. The returned preview_id can be used in the preview endpoint to retrieve the results.
+ */
+export const loadBalancerPoolsPreviewPool = (variables: LoadBalancerPoolsPreviewPoolVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.LoadBalancingPreviewResponse,
+    LoadBalancerPoolsPreviewPoolError,
+    LoadBalancerPoolsPreviewPoolRequestBody,
+    {},
+    {},
+    LoadBalancerPoolsPreviewPoolPathParams
+  >({ url: '/user/load_balancers/pools/{poolId}/preview', method: 'post', ...variables, signal });
+
+export type LoadBalancerPoolsListPoolReferencesPathParams = {
+  poolId: Schemas.LoadBalancingSchemasIdentifier;
+};
+
+export type LoadBalancerPoolsListPoolReferencesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingPoolsReferencesResponse & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type LoadBalancerPoolsListPoolReferencesVariables = {
+  pathParams: LoadBalancerPoolsListPoolReferencesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the list of resources that reference the provided pool.
+ */
+export const loadBalancerPoolsListPoolReferences = (
+  variables: LoadBalancerPoolsListPoolReferencesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LoadBalancingPoolsReferencesResponse,
+    LoadBalancerPoolsListPoolReferencesError,
+    undefined,
+    {},
+    {},
+    LoadBalancerPoolsListPoolReferencesPathParams
+  >({ url: '/user/load_balancers/pools/{poolId}/references', method: 'get', ...variables, signal });
+
+export type LoadBalancerMonitorsPreviewResultPathParams = {
+  previewId: Schemas.LoadBalancingPreviewId;
+};
+
+export type LoadBalancerMonitorsPreviewResultError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingPreviewResultResponse & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type LoadBalancerMonitorsPreviewResultVariables = {
+  pathParams: LoadBalancerMonitorsPreviewResultPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the result of a previous preview operation using the provided preview_id.
+ */
+export const loadBalancerMonitorsPreviewResult = (
+  variables: LoadBalancerMonitorsPreviewResultVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LoadBalancingPreviewResultResponse,
+    LoadBalancerMonitorsPreviewResultError,
+    undefined,
+    {},
+    {},
+    LoadBalancerMonitorsPreviewResultPathParams
+  >({ url: '/user/load_balancers/preview/{previewId}', method: 'get', ...variables, signal });
+
+export type LoadBalancerHealthcheckEventsListHealthcheckEventsQueryParams = {
+  until?: Schemas.LoadBalancingUntil;
+  pool_name?: Schemas.LoadBalancingPoolName;
+  origin_healthy?: Schemas.LoadBalancingOriginHealthy2;
+  pool_id?: Schemas.LoadBalancingSchemasIdentifier;
+  /**
+   * @example 2016-11-11T12:00:00Z
+   * @format date-time
+   */
+  since?: string;
+  /**
+   * @example primary-dc-1
+   */
+  origin_name?: string;
+  /**
+   * @default true
+   * @example true
+   */
+  pool_healthy?: boolean;
+};
+
+export type LoadBalancerHealthcheckEventsListHealthcheckEventsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingComponentsSchemasResponseCollection & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type LoadBalancerHealthcheckEventsListHealthcheckEventsVariables = {
+  queryParams?: LoadBalancerHealthcheckEventsListHealthcheckEventsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * List origin health changes.
+ */
+export const loadBalancerHealthcheckEventsListHealthcheckEvents = (
+  variables: LoadBalancerHealthcheckEventsListHealthcheckEventsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LoadBalancingComponentsSchemasResponseCollection,
+    LoadBalancerHealthcheckEventsListHealthcheckEventsError,
+    undefined,
+    {},
+    LoadBalancerHealthcheckEventsListHealthcheckEventsQueryParams,
+    {}
+  >({ url: '/user/load_balancing_analytics/events', method: 'get', ...variables, signal });
+
+export type UserSOrganizationsListOrganizationsQueryParams = {
+  name?: Schemas.IamSchemasName;
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default 20
+   * @maximum 50
+   * @minimum 5
+   */
+  per_page?: number;
+  /**
+   * @example status
+   */
+  order?: 'id' | 'name' | 'status';
+  /**
+   * @example desc
+   */
+  direction?: 'asc' | 'desc';
+  /**
+   * @default all
+   */
+  match?: 'any' | 'all';
+  /**
+   * @example member
+   */
+  status?: 'member' | 'invited';
+};
+
+export type UserSOrganizationsListOrganizationsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type UserSOrganizationsListOrganizationsVariables = {
+  queryParams?: UserSOrganizationsListOrganizationsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists organizations the user is associated with.
+ */
+export const userSOrganizationsListOrganizations = (
+  variables: UserSOrganizationsListOrganizationsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.IamCollectionOrganizationResponse,
+    UserSOrganizationsListOrganizationsError,
+    undefined,
+    {},
+    UserSOrganizationsListOrganizationsQueryParams,
+    {}
+  >({ url: '/user/organizations', method: 'get', ...variables, signal });
+
+export type UserSOrganizationsLeaveOrganizationPathParams = {
+  organizationId: Schemas.IamCommonComponentsSchemasIdentifier;
+};
+
+export type UserSOrganizationsLeaveOrganizationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type UserSOrganizationsLeaveOrganizationResponse = {
+  id?: Schemas.IamCommonComponentsSchemasIdentifier;
+};
+
+export type UserSOrganizationsLeaveOrganizationVariables = {
+  pathParams: UserSOrganizationsLeaveOrganizationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Removes association to an organization.
+ */
+export const userSOrganizationsLeaveOrganization = (
+  variables: UserSOrganizationsLeaveOrganizationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    UserSOrganizationsLeaveOrganizationResponse,
+    UserSOrganizationsLeaveOrganizationError,
+    undefined,
+    {},
+    {},
+    UserSOrganizationsLeaveOrganizationPathParams
+  >({ url: '/user/organizations/{organizationId}', method: 'delete', ...variables, signal });
+
+export type UserSOrganizationsOrganizationDetailsPathParams = {
+  organizationId: Schemas.IamCommonComponentsSchemasIdentifier;
+};
+
+export type UserSOrganizationsOrganizationDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type UserSOrganizationsOrganizationDetailsVariables = {
+  pathParams: UserSOrganizationsOrganizationDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets a specific organization the user is associated with.
+ */
+export const userSOrganizationsOrganizationDetails = (
+  variables: UserSOrganizationsOrganizationDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.IamSingleOrganizationResponse,
+    UserSOrganizationsOrganizationDetailsError,
+    undefined,
+    {},
+    {},
+    UserSOrganizationsOrganizationDetailsPathParams
+  >({ url: '/user/organizations/{organizationId}', method: 'get', ...variables, signal });
+
+export type UserSubscriptionGetUserSubscriptionsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.BillSubsApiUserSubscriptionResponseCollection & Schemas.BillSubsApiApiResponseCommonFailure;
+}>;
+
+export type UserSubscriptionGetUserSubscriptionsVariables = FetcherExtraProps;
+
+/**
+ * Lists all of a user's subscriptions.
+ */
+export const userSubscriptionGetUserSubscriptions = (
+  variables: UserSubscriptionGetUserSubscriptionsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.BillSubsApiUserSubscriptionResponseCollection,
+    UserSubscriptionGetUserSubscriptionsError,
+    undefined,
+    {},
+    {},
+    {}
+  >({ url: '/user/subscriptions', method: 'get', ...variables, signal });
+
+export type UserSubscriptionDeleteUserSubscriptionPathParams = {
+  identifier: Schemas.BillSubsApiSchemasIdentifier;
+};
+
+export type UserSubscriptionDeleteUserSubscriptionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    subscription_id?: Schemas.BillSubsApiSchemasIdentifier;
+  } & Schemas.BillSubsApiApiResponseCommonFailure;
+}>;
+
+export type UserSubscriptionDeleteUserSubscriptionResponse = {
+  subscription_id?: Schemas.BillSubsApiSchemasIdentifier;
+};
+
+export type UserSubscriptionDeleteUserSubscriptionVariables = {
+  pathParams: UserSubscriptionDeleteUserSubscriptionPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes a user's subscription.
+ */
+export const userSubscriptionDeleteUserSubscription = (
+  variables: UserSubscriptionDeleteUserSubscriptionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    UserSubscriptionDeleteUserSubscriptionResponse,
+    UserSubscriptionDeleteUserSubscriptionError,
+    undefined,
+    {},
+    {},
+    UserSubscriptionDeleteUserSubscriptionPathParams
+  >({ url: '/user/subscriptions/{identifier}', method: 'delete', ...variables, signal });
+
+export type UserSubscriptionUpdateUserSubscriptionPathParams = {
+  identifier: Schemas.BillSubsApiSchemasIdentifier;
+};
+
+export type UserSubscriptionUpdateUserSubscriptionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.BillSubsApiUserSubscriptionResponseSingle & Schemas.BillSubsApiApiResponseCommonFailure;
+}>;
+
+export type UserSubscriptionUpdateUserSubscriptionVariables = {
+  body?: Schemas.BillSubsApiSubscriptionV2;
+  pathParams: UserSubscriptionUpdateUserSubscriptionPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a user's subscriptions.
+ */
+export const userSubscriptionUpdateUserSubscription = (
+  variables: UserSubscriptionUpdateUserSubscriptionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.BillSubsApiUserSubscriptionResponseSingle,
+    UserSubscriptionUpdateUserSubscriptionError,
+    Schemas.BillSubsApiSubscriptionV2,
+    {},
+    {},
+    UserSubscriptionUpdateUserSubscriptionPathParams
+  >({ url: '/user/subscriptions/{identifier}', method: 'put', ...variables, signal });
+
+export type UserApiTokensListTokensQueryParams = {
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default 20
+   * @maximum 50
+   * @minimum 5
+   */
+  per_page?: number;
+  /**
+   * @example desc
+   */
+  direction?: 'asc' | 'desc';
+};
+
+export type UserApiTokensListTokensError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type UserApiTokensListTokensVariables = {
+  queryParams?: UserApiTokensListTokensQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * List all access tokens you created.
+ */
+export const userApiTokensListTokens = (variables: UserApiTokensListTokensVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.IamCollectionTokensResponse,
+    UserApiTokensListTokensError,
+    undefined,
+    {},
+    UserApiTokensListTokensQueryParams,
+    {}
+  >({ url: '/user/tokens', method: 'get', ...variables, signal });
+
+export type UserApiTokensCreateTokenError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type UserApiTokensCreateTokenVariables = {
+  body: Schemas.IamCreatePayload;
+} & FetcherExtraProps;
+
+/**
+ * Create a new access token.
+ */
+export const userApiTokensCreateToken = (variables: UserApiTokensCreateTokenVariables, signal?: AbortSignal) =>
+  fetch<Schemas.IamSingleTokenCreateResponse, UserApiTokensCreateTokenError, Schemas.IamCreatePayload, {}, {}, {}>({
+    url: '/user/tokens',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type PermissionGroupsListPermissionGroupsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type PermissionGroupsListPermissionGroupsVariables = FetcherExtraProps;
+
+/**
+ * Find all available permission groups for API Tokens
+ */
+export const permissionGroupsListPermissionGroups = (
+  variables: PermissionGroupsListPermissionGroupsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<Schemas.IamSchemasResponseCollection, PermissionGroupsListPermissionGroupsError, undefined, {}, {}, {}>({
+    url: '/user/tokens/permission_groups',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type UserApiTokensVerifyTokenError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type UserApiTokensVerifyTokenVariables = FetcherExtraProps;
+
+/**
+ * Test whether a token works.
+ */
+export const userApiTokensVerifyToken = (variables: UserApiTokensVerifyTokenVariables, signal?: AbortSignal) =>
+  fetch<Schemas.IamResponseSingleSegment, UserApiTokensVerifyTokenError, undefined, {}, {}, {}>({
+    url: '/user/tokens/verify',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type UserApiTokensDeleteTokenPathParams = {
+  tokenId: Schemas.IamTokenIdentifier;
+};
+
+export type UserApiTokensDeleteTokenError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type UserApiTokensDeleteTokenVariables = {
+  pathParams: UserApiTokensDeleteTokenPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Destroy a token.
+ */
+export const userApiTokensDeleteToken = (variables: UserApiTokensDeleteTokenVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.IamApiResponseSingleId,
+    UserApiTokensDeleteTokenError,
+    undefined,
+    {},
+    {},
+    UserApiTokensDeleteTokenPathParams
+  >({ url: '/user/tokens/{tokenId}', method: 'delete', ...variables, signal });
+
+export type UserApiTokensTokenDetailsPathParams = {
+  tokenId: Schemas.IamTokenIdentifier;
+};
+
+export type UserApiTokensTokenDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type UserApiTokensTokenDetailsVariables = {
+  pathParams: UserApiTokensTokenDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get information about a specific token.
+ */
+export const userApiTokensTokenDetails = (variables: UserApiTokensTokenDetailsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.IamSingleTokenResponse,
+    UserApiTokensTokenDetailsError,
+    undefined,
+    {},
+    {},
+    UserApiTokensTokenDetailsPathParams
+  >({ url: '/user/tokens/{tokenId}', method: 'get', ...variables, signal });
+
+export type UserApiTokensUpdateTokenPathParams = {
+  tokenId: Schemas.IamTokenIdentifier;
+};
+
+export type UserApiTokensUpdateTokenError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type UserApiTokensUpdateTokenVariables = {
+  body?: Schemas.IamTokenBody;
+  pathParams: UserApiTokensUpdateTokenPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update an existing token.
+ */
+export const userApiTokensUpdateToken = (variables: UserApiTokensUpdateTokenVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.IamSingleTokenResponse,
+    UserApiTokensUpdateTokenError,
+    Schemas.IamTokenBody,
+    {},
+    {},
+    UserApiTokensUpdateTokenPathParams
+  >({ url: '/user/tokens/{tokenId}', method: 'put', ...variables, signal });
+
+export type UserApiTokensRollTokenPathParams = {
+  tokenId: Schemas.IamTokenIdentifier;
+};
+
+export type UserApiTokensRollTokenError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.IamApiResponseCommonFailure;
+}>;
+
+export type UserApiTokensRollTokenVariables = {
+  body?: Record<string, any>;
+  pathParams: UserApiTokensRollTokenPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Roll the token secret.
+ */
+export const userApiTokensRollToken = (variables: UserApiTokensRollTokenVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.IamResponseSingleValue,
+    UserApiTokensRollTokenError,
+    Record<string, any>,
+    {},
+    {},
+    UserApiTokensRollTokenPathParams
+  >({ url: '/user/tokens/{tokenId}/value', method: 'put', ...variables, signal });
+
+export type ZonesGetQueryParams = {
+  /**
+   * @maxLength 253
+   */
+  name?: string;
+  status?: 'initializing' | 'pending' | 'active' | 'moved';
+  ['account.id']?: string;
+  /**
+   * @maxLength 253
+   */
+  ['account.name']?: string;
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default 20
+   * @maximum 50
+   * @minimum 5
+   */
+  per_page?: number;
+  /**
+   * @example status
+   */
+  order?: 'name' | 'status' | 'account.id' | 'account.name';
+  /**
+   * @example desc
+   */
+  direction?: 'asc' | 'desc';
+  /**
+   * @default all
+   */
+  match?: 'any' | 'all';
+};
+
+export type ZonesGetError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZonesApiResponseCommonFailure;
+}>;
+
+export type ZonesGetResponse = Schemas.ZonesApiResponseCommon & {
+  result_info?: Schemas.ZonesResultInfo;
+} & {
+  result?: Schemas.ZonesZone[];
+};
+
+export type ZonesGetVariables = {
+  queryParams?: ZonesGetQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists, searches, sorts, and filters your zones. Listing zones across more than 500 accounts
+ * is currently not allowed.
+ */
+export const zonesGet = (variables: ZonesGetVariables, signal?: AbortSignal) =>
+  fetch<ZonesGetResponse, ZonesGetError, undefined, {}, ZonesGetQueryParams, {}>({
+    url: '/zones',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type ZonesPostError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZonesApiResponseCommonFailure;
+}>;
+
+export type ZonesPostResponse = Schemas.ZonesApiResponseCommon & {
+  result?: Schemas.ZonesZone;
+};
+
+export type ZonesPostRequestBody = {
+  account: {
+    id?: Schemas.ZonesIdentifier;
+  };
+  name: Schemas.ZonesName;
+  type?: Schemas.ZonesType;
+};
+
+export type ZonesPostVariables = {
+  body: ZonesPostRequestBody;
+} & FetcherExtraProps;
+
+export const zonesPost = (variables: ZonesPostVariables, signal?: AbortSignal) =>
+  fetch<ZonesPostResponse, ZonesPostError, ZonesPostRequestBody, {}, {}, {}>({
+    url: '/zones',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type ZoneSubscriptionZoneSubscriptionDetailsPathParams = {
+  identifier: Schemas.BillSubsApiSchemasIdentifier;
+};
+
+export type ZoneSubscriptionZoneSubscriptionDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.BillSubsApiZoneSubscriptionResponseSingle & Schemas.BillSubsApiApiResponseCommonFailure;
+}>;
+
+export type ZoneSubscriptionZoneSubscriptionDetailsVariables = {
+  pathParams: ZoneSubscriptionZoneSubscriptionDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists zone subscription details.
+ */
+export const zoneSubscriptionZoneSubscriptionDetails = (
+  variables: ZoneSubscriptionZoneSubscriptionDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.BillSubsApiZoneSubscriptionResponseSingle,
+    ZoneSubscriptionZoneSubscriptionDetailsError,
+    undefined,
+    {},
+    {},
+    ZoneSubscriptionZoneSubscriptionDetailsPathParams
+  >({ url: '/zones/{identifier}/subscription', method: 'get', ...variables, signal });
+
+export type ZoneSubscriptionCreateZoneSubscriptionPathParams = {
+  identifier: Schemas.BillSubsApiSchemasIdentifier;
+};
+
+export type ZoneSubscriptionCreateZoneSubscriptionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.BillSubsApiZoneSubscriptionResponseSingle & Schemas.BillSubsApiApiResponseCommonFailure;
+}>;
+
+export type ZoneSubscriptionCreateZoneSubscriptionVariables = {
+  body?: Schemas.BillSubsApiSubscriptionV2;
+  pathParams: ZoneSubscriptionCreateZoneSubscriptionPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create a zone subscription, either plan or add-ons.
+ */
+export const zoneSubscriptionCreateZoneSubscription = (
+  variables: ZoneSubscriptionCreateZoneSubscriptionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.BillSubsApiZoneSubscriptionResponseSingle,
+    ZoneSubscriptionCreateZoneSubscriptionError,
+    Schemas.BillSubsApiSubscriptionV2,
+    {},
+    {},
+    ZoneSubscriptionCreateZoneSubscriptionPathParams
+  >({ url: '/zones/{identifier}/subscription', method: 'post', ...variables, signal });
+
+export type ZoneSubscriptionUpdateZoneSubscriptionPathParams = {
+  identifier: Schemas.BillSubsApiSchemasIdentifier;
+};
+
+export type ZoneSubscriptionUpdateZoneSubscriptionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.BillSubsApiZoneSubscriptionResponseSingle & Schemas.BillSubsApiApiResponseCommonFailure;
+}>;
+
+export type ZoneSubscriptionUpdateZoneSubscriptionVariables = {
+  body?: Schemas.BillSubsApiSubscriptionV2;
+  pathParams: ZoneSubscriptionUpdateZoneSubscriptionPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates zone subscriptions, either plan or add-ons.
+ */
+export const zoneSubscriptionUpdateZoneSubscription = (
+  variables: ZoneSubscriptionUpdateZoneSubscriptionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.BillSubsApiZoneSubscriptionResponseSingle,
+    ZoneSubscriptionUpdateZoneSubscriptionError,
+    Schemas.BillSubsApiSubscriptionV2,
+    {},
+    {},
+    ZoneSubscriptionUpdateZoneSubscriptionPathParams
+  >({ url: '/zones/{identifier}/subscription', method: 'put', ...variables, signal });
+
+export type ZoneAnalyticsDeprecatedGetAnalyticsByCoLocationsPathParams = {
+  zoneIdentifier: Schemas.ZoneAnalyticsApiIdentifier;
+};
+
+export type ZoneAnalyticsDeprecatedGetAnalyticsByCoLocationsQueryParams = {
+  until?: Schemas.ZoneAnalyticsApiUntil;
+  /**
+   * @default -10080
+   * @example 2015-01-01T12:23:00Z
+   */
+  since?: string | number;
+  /**
+   * @default true
+   */
+  continuous?: boolean;
+};
+
+export type ZoneAnalyticsDeprecatedGetAnalyticsByCoLocationsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZoneAnalyticsApiColoResponse & Schemas.ZoneAnalyticsApiApiResponseCommonFailure;
+}>;
+
+export type ZoneAnalyticsDeprecatedGetAnalyticsByCoLocationsVariables = {
+  pathParams: ZoneAnalyticsDeprecatedGetAnalyticsByCoLocationsPathParams;
+  queryParams?: ZoneAnalyticsDeprecatedGetAnalyticsByCoLocationsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * This view provides a breakdown of analytics data by datacenter. Note: This is available to Enterprise customers only.
+ */
+export const zoneAnalyticsDeprecatedGetAnalyticsByCoLocations = (
+  variables: ZoneAnalyticsDeprecatedGetAnalyticsByCoLocationsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZoneAnalyticsApiColoResponse,
+    ZoneAnalyticsDeprecatedGetAnalyticsByCoLocationsError,
+    undefined,
+    {},
+    ZoneAnalyticsDeprecatedGetAnalyticsByCoLocationsQueryParams,
+    ZoneAnalyticsDeprecatedGetAnalyticsByCoLocationsPathParams
+  >({ url: '/zones/{zoneIdentifier}/analytics/colos', method: 'get', ...variables, signal });
+
+export type ZoneAnalyticsDeprecatedGetDashboardPathParams = {
+  zoneIdentifier: Schemas.ZoneAnalyticsApiIdentifier;
+};
+
+export type ZoneAnalyticsDeprecatedGetDashboardQueryParams = {
+  until?: Schemas.ZoneAnalyticsApiUntil;
+  /**
+   * @default -10080
+   * @example 2015-01-01T12:23:00Z
+   */
+  since?: string | number;
+  /**
+   * @default true
+   */
+  continuous?: boolean;
+};
+
+export type ZoneAnalyticsDeprecatedGetDashboardError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZoneAnalyticsApiDashboardResponse & Schemas.ZoneAnalyticsApiApiResponseCommonFailure;
+}>;
+
+export type ZoneAnalyticsDeprecatedGetDashboardVariables = {
+  pathParams: ZoneAnalyticsDeprecatedGetDashboardPathParams;
+  queryParams?: ZoneAnalyticsDeprecatedGetDashboardQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * The dashboard view provides both totals and timeseries data for the given zone and time period across the entire Cloudflare network.
+ */
+export const zoneAnalyticsDeprecatedGetDashboard = (
+  variables: ZoneAnalyticsDeprecatedGetDashboardVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZoneAnalyticsApiDashboardResponse,
+    ZoneAnalyticsDeprecatedGetDashboardError,
+    undefined,
+    {},
+    ZoneAnalyticsDeprecatedGetDashboardQueryParams,
+    ZoneAnalyticsDeprecatedGetDashboardPathParams
+  >({ url: '/zones/{zoneIdentifier}/analytics/dashboard', method: 'get', ...variables, signal });
+
+export type CustomPagesForAZoneListCustomPagesPathParams = {
+  zoneIdentifier: Schemas.CustomPagesIdentifier;
+};
+
+export type CustomPagesForAZoneListCustomPagesError = Fetcher.ErrorWrapper<{
+  status: ClientErrorStatus;
+  payload: Schemas.CustomPagesCustomPagesResponseCollection & Schemas.CustomPagesApiResponseCommonFailure;
+}>;
+
+export type CustomPagesForAZoneListCustomPagesVariables = {
+  pathParams: CustomPagesForAZoneListCustomPagesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches all the custom pages at the zone level.
+ */
+export const customPagesForAZoneListCustomPages = (
+  variables: CustomPagesForAZoneListCustomPagesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.CustomPagesCustomPagesResponseCollection,
+    CustomPagesForAZoneListCustomPagesError,
+    undefined,
+    {},
+    {},
+    CustomPagesForAZoneListCustomPagesPathParams
+  >({ url: '/zones/{zoneIdentifier}/custom_pages', method: 'get', ...variables, signal });
+
+export type CustomPagesForAZoneGetACustomPagePathParams = {
+  identifier: Schemas.CustomPagesIdentifier;
+  zoneIdentifier: Schemas.CustomPagesIdentifier;
+};
+
+export type CustomPagesForAZoneGetACustomPageError = Fetcher.ErrorWrapper<{
+  status: ClientErrorStatus;
+  payload: Schemas.CustomPagesCustomPagesResponseSingle & Schemas.CustomPagesApiResponseCommonFailure;
+}>;
+
+export type CustomPagesForAZoneGetACustomPageVariables = {
+  pathParams: CustomPagesForAZoneGetACustomPagePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the details of a custom page.
+ */
+export const customPagesForAZoneGetACustomPage = (
+  variables: CustomPagesForAZoneGetACustomPageVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.CustomPagesCustomPagesResponseSingle,
+    CustomPagesForAZoneGetACustomPageError,
+    undefined,
+    {},
+    {},
+    CustomPagesForAZoneGetACustomPagePathParams
+  >({ url: '/zones/{zoneIdentifier}/custom_pages/{identifier}', method: 'get', ...variables, signal });
+
+export type CustomPagesForAZoneUpdateACustomPagePathParams = {
+  identifier: Schemas.CustomPagesIdentifier;
+  zoneIdentifier: Schemas.CustomPagesIdentifier;
+};
+
+export type CustomPagesForAZoneUpdateACustomPageError = Fetcher.ErrorWrapper<{
+  status: ClientErrorStatus;
+  payload: Schemas.CustomPagesCustomPagesResponseSingle & Schemas.CustomPagesApiResponseCommonFailure;
+}>;
+
+export type CustomPagesForAZoneUpdateACustomPageRequestBody = {
+  state: Schemas.CustomPagesState;
+  url: Schemas.CustomPagesUrl;
+};
+
+export type CustomPagesForAZoneUpdateACustomPageVariables = {
+  body: CustomPagesForAZoneUpdateACustomPageRequestBody;
+  pathParams: CustomPagesForAZoneUpdateACustomPagePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates the configuration of an existing custom page.
+ */
+export const customPagesForAZoneUpdateACustomPage = (
+  variables: CustomPagesForAZoneUpdateACustomPageVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.CustomPagesCustomPagesResponseSingle,
+    CustomPagesForAZoneUpdateACustomPageError,
+    CustomPagesForAZoneUpdateACustomPageRequestBody,
+    {},
+    {},
+    CustomPagesForAZoneUpdateACustomPagePathParams
+  >({ url: '/zones/{zoneIdentifier}/custom_pages/{identifier}', method: 'put', ...variables, signal });
+
+export type SslTlsModeRecommendationSslTlsRecommendationPathParams = {
+  zoneIdentifier: Schemas.LegacyJhsIdentifier;
+};
+
+export type SslTlsModeRecommendationSslTlsRecommendationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.LegacyJhsApiResponseSingle & {
+    result?: {
+      id?: Schemas.LegacyJhsId;
+      modified_on?: Schemas.LegacyJhsTimestamp;
+      value?: Schemas.LegacyJhsValue;
+    };
+  }) &
+    Schemas.LegacyJhsApiResponseCommonFailure;
+}>;
+
+export type SslTlsModeRecommendationSslTlsRecommendationResponse = Schemas.LegacyJhsApiResponseSingle & {
+  result?: {
+    id?: Schemas.LegacyJhsId;
+    modified_on?: Schemas.LegacyJhsTimestamp;
+    value?: Schemas.LegacyJhsValue;
+  };
+};
+
+export type SslTlsModeRecommendationSslTlsRecommendationVariables = {
+  pathParams: SslTlsModeRecommendationSslTlsRecommendationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Retrieve the SSL/TLS Recommender's recommendation for a zone.
+ */
+export const sslTlsModeRecommendationSslTlsRecommendation = (
+  variables: SslTlsModeRecommendationSslTlsRecommendationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    SslTlsModeRecommendationSslTlsRecommendationResponse,
+    SslTlsModeRecommendationSslTlsRecommendationError,
+    undefined,
+    {},
+    {},
+    SslTlsModeRecommendationSslTlsRecommendationPathParams
+  >({ url: '/zones/{zoneIdentifier}/ssl/recommendation', method: 'get', ...variables, signal });
+
+export type Zones0DeletePathParams = {
+  zoneId: Schemas.ZonesIdentifier;
+};
+
+export type Zones0DeleteError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZonesApiResponseCommonFailure;
+}>;
+
+export type Zones0DeleteVariables = {
+  pathParams: Zones0DeletePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes an existing zone.
+ */
+export const zones0Delete = (variables: Zones0DeleteVariables, signal?: AbortSignal) =>
+  fetch<Schemas.ZonesApiResponseSingleId, Zones0DeleteError, undefined, {}, {}, Zones0DeletePathParams>({
+    url: '/zones/{zoneId}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type Zones0GetPathParams = {
+  zoneId: Schemas.ZonesIdentifier;
+};
+
+export type Zones0GetError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZonesApiResponseCommonFailure;
+}>;
+
+export type Zones0GetResponse = Schemas.ZonesApiResponseCommon & {
+  result?: Schemas.ZonesZone;
+};
+
+export type Zones0GetVariables = {
+  pathParams: Zones0GetPathParams;
+} & FetcherExtraProps;
+
+export const zones0Get = (variables: Zones0GetVariables, signal?: AbortSignal) =>
+  fetch<Zones0GetResponse, Zones0GetError, undefined, {}, {}, Zones0GetPathParams>({
+    url: '/zones/{zoneId}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type Zones0PatchPathParams = {
+  zoneId: Schemas.ZonesIdentifier;
+};
+
+export type Zones0PatchError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZonesApiResponseCommonFailure;
+}>;
+
+export type Zones0PatchResponse = Schemas.ZonesApiResponseCommon & {
+  result?: Schemas.ZonesZone;
+};
+
+export type Zones0PatchRequestBody = {
+  paused?: Schemas.ZonesPaused;
+  /**
+   * (Deprecated) Please use the `/zones/{zone_id}/subscription` API
+   * to update a zone's plan. Changing this value will create/cancel
+   * associated subscriptions. To view available plans for this zone,
+   * see Zone Plans.
+   */
+  plan?: {
+    id?: Schemas.ZonesIdentifier;
+  };
+  /**
+   * A full zone implies that DNS is hosted with Cloudflare. A partial
+   * zone is typically a partner-hosted zone or a CNAME setup. This
+   * parameter is only available to Enterprise customers or if it has
+   * been explicitly enabled on a zone.
+   *
+   * @example full
+   */
+  type?: 'full' | 'partial' | 'secondary';
+  vanity_name_servers?: Schemas.ZonesVanityNameServers;
+};
+
+export type Zones0PatchVariables = {
+  body?: Zones0PatchRequestBody;
+  pathParams: Zones0PatchPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Edits a zone. Only one zone property can be changed at a time.
+ */
+export const zones0Patch = (variables: Zones0PatchVariables, signal?: AbortSignal) =>
+  fetch<Zones0PatchResponse, Zones0PatchError, Zones0PatchRequestBody, {}, {}, Zones0PatchPathParams>({
+    url: '/zones/{zoneId}',
+    method: 'patch',
+    ...variables,
+    signal
+  });
+
+export type ZoneLevelAccessApplicationsListAccessApplicationsPathParams = {
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessApplicationsListAccessApplicationsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessApplicationsListAccessApplicationsVariables = {
+  pathParams: ZoneLevelAccessApplicationsListAccessApplicationsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * List all Access Applications in a zone.
+ */
+export const zoneLevelAccessApplicationsListAccessApplications = (
+  variables: ZoneLevelAccessApplicationsListAccessApplicationsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessAppsComponentsSchemasResponseCollection2,
+    ZoneLevelAccessApplicationsListAccessApplicationsError,
+    undefined,
+    {},
+    {},
+    ZoneLevelAccessApplicationsListAccessApplicationsPathParams
+  >({ url: '/zones/{zoneId}/access/apps', method: 'get', ...variables, signal });
+
+export type ZoneLevelAccessApplicationsAddABookmarkApplicationPathParams = {
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessApplicationsAddABookmarkApplicationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessApplicationsAddABookmarkApplicationResponse =
+  Schemas.AccessAppsComponentsSchemasSingleResponse2 & {
+    result?: Schemas.AccessApps;
+  };
+
+export type ZoneLevelAccessApplicationsAddABookmarkApplicationVariables = {
+  body?: Schemas.AccessApps;
+  pathParams: ZoneLevelAccessApplicationsAddABookmarkApplicationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Adds a new application to Access.
+ */
+export const zoneLevelAccessApplicationsAddABookmarkApplication = (
+  variables: ZoneLevelAccessApplicationsAddABookmarkApplicationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    ZoneLevelAccessApplicationsAddABookmarkApplicationResponse,
+    ZoneLevelAccessApplicationsAddABookmarkApplicationError,
+    Schemas.AccessApps,
+    {},
+    {},
+    ZoneLevelAccessApplicationsAddABookmarkApplicationPathParams
+  >({ url: '/zones/{zoneId}/access/apps', method: 'post', ...variables, signal });
+
+export type ZoneLevelAccessShortLivedCertificateCAsListShortLivedCertificateCAsPathParams = {
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessShortLivedCertificateCAsListShortLivedCertificateCAsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessShortLivedCertificateCAsListShortLivedCertificateCAsVariables = {
+  pathParams: ZoneLevelAccessShortLivedCertificateCAsListShortLivedCertificateCAsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists short-lived certificate CAs and their public keys.
+ */
+export const zoneLevelAccessShortLivedCertificateCAsListShortLivedCertificateCAs = (
+  variables: ZoneLevelAccessShortLivedCertificateCAsListShortLivedCertificateCAsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessCaComponentsSchemasResponseCollection,
+    ZoneLevelAccessShortLivedCertificateCAsListShortLivedCertificateCAsError,
+    undefined,
+    {},
+    {},
+    ZoneLevelAccessShortLivedCertificateCAsListShortLivedCertificateCAsPathParams
+  >({ url: '/zones/{zoneId}/access/apps/ca', method: 'get', ...variables, signal });
+
+export type ZoneLevelAccessApplicationsDeleteAnAccessApplicationPathParams = {
+  appId: Schemas.AccessAppId;
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessApplicationsDeleteAnAccessApplicationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessApplicationsDeleteAnAccessApplicationVariables = {
+  pathParams: ZoneLevelAccessApplicationsDeleteAnAccessApplicationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes an application from Access.
+ */
+export const zoneLevelAccessApplicationsDeleteAnAccessApplication = (
+  variables: ZoneLevelAccessApplicationsDeleteAnAccessApplicationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessIdResponse,
+    ZoneLevelAccessApplicationsDeleteAnAccessApplicationError,
+    undefined,
+    {},
+    {},
+    ZoneLevelAccessApplicationsDeleteAnAccessApplicationPathParams
+  >({ url: '/zones/{zoneId}/access/apps/{appId}', method: 'delete', ...variables, signal });
+
+export type ZoneLevelAccessApplicationsGetAnAccessApplicationPathParams = {
+  appId: Schemas.AccessAppId;
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessApplicationsGetAnAccessApplicationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessApplicationsGetAnAccessApplicationVariables = {
+  pathParams: ZoneLevelAccessApplicationsGetAnAccessApplicationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches information about an Access application.
+ */
+export const zoneLevelAccessApplicationsGetAnAccessApplication = (
+  variables: ZoneLevelAccessApplicationsGetAnAccessApplicationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessAppsComponentsSchemasSingleResponse2,
+    ZoneLevelAccessApplicationsGetAnAccessApplicationError,
+    undefined,
+    {},
+    {},
+    ZoneLevelAccessApplicationsGetAnAccessApplicationPathParams
+  >({ url: '/zones/{zoneId}/access/apps/{appId}', method: 'get', ...variables, signal });
+
+export type ZoneLevelAccessApplicationsUpdateABookmarkApplicationPathParams = {
+  appId: Schemas.AccessAppId;
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessApplicationsUpdateABookmarkApplicationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessApplicationsUpdateABookmarkApplicationResponse =
+  Schemas.AccessAppsComponentsSchemasSingleResponse2 & {
+    result?: Schemas.AccessApps;
+  };
+
+export type ZoneLevelAccessApplicationsUpdateABookmarkApplicationVariables = {
+  body?: Schemas.AccessApps;
+  pathParams: ZoneLevelAccessApplicationsUpdateABookmarkApplicationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates an Access application.
+ */
+export const zoneLevelAccessApplicationsUpdateABookmarkApplication = (
+  variables: ZoneLevelAccessApplicationsUpdateABookmarkApplicationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    ZoneLevelAccessApplicationsUpdateABookmarkApplicationResponse,
+    ZoneLevelAccessApplicationsUpdateABookmarkApplicationError,
+    Schemas.AccessApps,
+    {},
+    {},
+    ZoneLevelAccessApplicationsUpdateABookmarkApplicationPathParams
+  >({ url: '/zones/{zoneId}/access/apps/{appId}', method: 'put', ...variables, signal });
+
+export type ZoneLevelAccessShortLivedCertificateCAsDeleteAShortLivedCertificateCaPathParams = {
+  appId: Schemas.AccessUuid;
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessShortLivedCertificateCAsDeleteAShortLivedCertificateCaError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessShortLivedCertificateCAsDeleteAShortLivedCertificateCaVariables = {
+  pathParams: ZoneLevelAccessShortLivedCertificateCAsDeleteAShortLivedCertificateCaPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes a short-lived certificate CA.
+ */
+export const zoneLevelAccessShortLivedCertificateCAsDeleteAShortLivedCertificateCa = (
+  variables: ZoneLevelAccessShortLivedCertificateCAsDeleteAShortLivedCertificateCaVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessSchemasIdResponse,
+    ZoneLevelAccessShortLivedCertificateCAsDeleteAShortLivedCertificateCaError,
+    undefined,
+    {},
+    {},
+    ZoneLevelAccessShortLivedCertificateCAsDeleteAShortLivedCertificateCaPathParams
+  >({ url: '/zones/{zoneId}/access/apps/{appId}/ca', method: 'delete', ...variables, signal });
+
+export type ZoneLevelAccessShortLivedCertificateCAsGetAShortLivedCertificateCaPathParams = {
+  appId: Schemas.AccessUuid;
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessShortLivedCertificateCAsGetAShortLivedCertificateCaError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessShortLivedCertificateCAsGetAShortLivedCertificateCaVariables = {
+  pathParams: ZoneLevelAccessShortLivedCertificateCAsGetAShortLivedCertificateCaPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a short-lived certificate CA and its public key.
+ */
+export const zoneLevelAccessShortLivedCertificateCAsGetAShortLivedCertificateCa = (
+  variables: ZoneLevelAccessShortLivedCertificateCAsGetAShortLivedCertificateCaVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessCaComponentsSchemasSingleResponse,
+    ZoneLevelAccessShortLivedCertificateCAsGetAShortLivedCertificateCaError,
+    undefined,
+    {},
+    {},
+    ZoneLevelAccessShortLivedCertificateCAsGetAShortLivedCertificateCaPathParams
+  >({ url: '/zones/{zoneId}/access/apps/{appId}/ca', method: 'get', ...variables, signal });
+
+export type ZoneLevelAccessShortLivedCertificateCAsCreateAShortLivedCertificateCaPathParams = {
+  appId: Schemas.AccessUuid;
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessShortLivedCertificateCAsCreateAShortLivedCertificateCaError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessShortLivedCertificateCAsCreateAShortLivedCertificateCaVariables = {
+  pathParams: ZoneLevelAccessShortLivedCertificateCAsCreateAShortLivedCertificateCaPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Generates a new short-lived certificate CA and public key.
+ */
+export const zoneLevelAccessShortLivedCertificateCAsCreateAShortLivedCertificateCa = (
+  variables: ZoneLevelAccessShortLivedCertificateCAsCreateAShortLivedCertificateCaVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessCaComponentsSchemasSingleResponse,
+    ZoneLevelAccessShortLivedCertificateCAsCreateAShortLivedCertificateCaError,
+    undefined,
+    {},
+    {},
+    ZoneLevelAccessShortLivedCertificateCAsCreateAShortLivedCertificateCaPathParams
+  >({ url: '/zones/{zoneId}/access/apps/{appId}/ca', method: 'post', ...variables, signal });
+
+export type ZoneLevelAccessPoliciesListAccessPoliciesPathParams = {
+  appId: Schemas.AccessUuid;
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessPoliciesListAccessPoliciesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessPoliciesListAccessPoliciesVariables = {
+  pathParams: ZoneLevelAccessPoliciesListAccessPoliciesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists Access policies configured for an application.
+ */
+export const zoneLevelAccessPoliciesListAccessPolicies = (
+  variables: ZoneLevelAccessPoliciesListAccessPoliciesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessPoliciesComponentsSchemasResponseCollection,
+    ZoneLevelAccessPoliciesListAccessPoliciesError,
+    undefined,
+    {},
+    {},
+    ZoneLevelAccessPoliciesListAccessPoliciesPathParams
+  >({ url: '/zones/{zoneId}/access/apps/{appId}/policies', method: 'get', ...variables, signal });
+
+export type ZoneLevelAccessPoliciesCreateAnAccessPolicyPathParams = {
+  appId: Schemas.AccessUuid;
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessPoliciesCreateAnAccessPolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessPoliciesCreateAnAccessPolicyRequestBody = {
+  approval_groups?: Schemas.AccessSchemasApprovalGroups;
+  approval_required?: Schemas.AccessApprovalRequired;
+  decision: Schemas.AccessSchemasDecision;
+  exclude?: Schemas.AccessSchemasExclude;
+  include: Schemas.AccessInclude;
+  isolation_required?: Schemas.AccessSchemasIsolationRequired;
+  name: Schemas.AccessPoliciesComponentsSchemasName;
+  precedence?: Schemas.AccessSchemasPrecedence;
+  purpose_justification_prompt?: Schemas.AccessPurposeJustificationPrompt;
+  purpose_justification_required?: Schemas.AccessPurposeJustificationRequired;
+  require?: Schemas.AccessSchemasRequire;
+};
+
+export type ZoneLevelAccessPoliciesCreateAnAccessPolicyVariables = {
+  body: ZoneLevelAccessPoliciesCreateAnAccessPolicyRequestBody;
+  pathParams: ZoneLevelAccessPoliciesCreateAnAccessPolicyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create a new Access policy for an application.
+ */
+export const zoneLevelAccessPoliciesCreateAnAccessPolicy = (
+  variables: ZoneLevelAccessPoliciesCreateAnAccessPolicyVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessPoliciesComponentsSchemasSingleResponse,
+    ZoneLevelAccessPoliciesCreateAnAccessPolicyError,
+    ZoneLevelAccessPoliciesCreateAnAccessPolicyRequestBody,
+    {},
+    {},
+    ZoneLevelAccessPoliciesCreateAnAccessPolicyPathParams
+  >({ url: '/zones/{zoneId}/access/apps/{appId}/policies', method: 'post', ...variables, signal });
+
+export type ZoneLevelAccessPoliciesDeleteAnAccessPolicyPathParams = {
+  policyId: Schemas.AccessUuid;
+  appId: Schemas.AccessUuid;
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessPoliciesDeleteAnAccessPolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessPoliciesDeleteAnAccessPolicyVariables = {
+  pathParams: ZoneLevelAccessPoliciesDeleteAnAccessPolicyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete an Access policy.
+ */
+export const zoneLevelAccessPoliciesDeleteAnAccessPolicy = (
+  variables: ZoneLevelAccessPoliciesDeleteAnAccessPolicyVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessIdResponse,
+    ZoneLevelAccessPoliciesDeleteAnAccessPolicyError,
+    undefined,
+    {},
+    {},
+    ZoneLevelAccessPoliciesDeleteAnAccessPolicyPathParams
+  >({ url: '/zones/{zoneId}/access/apps/{appId}/policies/{policyId}', method: 'delete', ...variables, signal });
+
+export type ZoneLevelAccessPoliciesGetAnAccessPolicyPathParams = {
+  policyId: Schemas.AccessUuid;
+  appId: Schemas.AccessUuid;
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessPoliciesGetAnAccessPolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessPoliciesGetAnAccessPolicyVariables = {
+  pathParams: ZoneLevelAccessPoliciesGetAnAccessPolicyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a single Access policy.
+ */
+export const zoneLevelAccessPoliciesGetAnAccessPolicy = (
+  variables: ZoneLevelAccessPoliciesGetAnAccessPolicyVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessPoliciesComponentsSchemasSingleResponse,
+    ZoneLevelAccessPoliciesGetAnAccessPolicyError,
+    undefined,
+    {},
+    {},
+    ZoneLevelAccessPoliciesGetAnAccessPolicyPathParams
+  >({ url: '/zones/{zoneId}/access/apps/{appId}/policies/{policyId}', method: 'get', ...variables, signal });
+
+export type ZoneLevelAccessPoliciesUpdateAnAccessPolicyPathParams = {
+  policyId: Schemas.AccessUuid;
+  appId: Schemas.AccessUuid;
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessPoliciesUpdateAnAccessPolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessPoliciesUpdateAnAccessPolicyRequestBody = {
+  approval_groups?: Schemas.AccessSchemasApprovalGroups;
+  approval_required?: Schemas.AccessApprovalRequired;
+  decision: Schemas.AccessSchemasDecision;
+  exclude?: Schemas.AccessSchemasExclude;
+  include: Schemas.AccessInclude;
+  isolation_required?: Schemas.AccessSchemasIsolationRequired;
+  name: Schemas.AccessPoliciesComponentsSchemasName;
+  precedence?: Schemas.AccessSchemasPrecedence;
+  purpose_justification_prompt?: Schemas.AccessPurposeJustificationPrompt;
+  purpose_justification_required?: Schemas.AccessPurposeJustificationRequired;
+  require?: Schemas.AccessSchemasRequire;
+};
+
+export type ZoneLevelAccessPoliciesUpdateAnAccessPolicyVariables = {
+  body: ZoneLevelAccessPoliciesUpdateAnAccessPolicyRequestBody;
+  pathParams: ZoneLevelAccessPoliciesUpdateAnAccessPolicyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update a configured Access policy.
+ */
+export const zoneLevelAccessPoliciesUpdateAnAccessPolicy = (
+  variables: ZoneLevelAccessPoliciesUpdateAnAccessPolicyVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessPoliciesComponentsSchemasSingleResponse,
+    ZoneLevelAccessPoliciesUpdateAnAccessPolicyError,
+    ZoneLevelAccessPoliciesUpdateAnAccessPolicyRequestBody,
+    {},
+    {},
+    ZoneLevelAccessPoliciesUpdateAnAccessPolicyPathParams
+  >({ url: '/zones/{zoneId}/access/apps/{appId}/policies/{policyId}', method: 'put', ...variables, signal });
+
+export type ZoneLevelAccessApplicationsRevokeServiceTokensPathParams = {
+  appId: Schemas.AccessAppId;
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessApplicationsRevokeServiceTokensError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessApplicationsRevokeServiceTokensVariables = {
+  pathParams: ZoneLevelAccessApplicationsRevokeServiceTokensPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Revokes all tokens issued for an application.
+ */
+export const zoneLevelAccessApplicationsRevokeServiceTokens = (
+  variables: ZoneLevelAccessApplicationsRevokeServiceTokensVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessSchemasEmptyResponse,
+    ZoneLevelAccessApplicationsRevokeServiceTokensError,
+    undefined,
+    {},
+    {},
+    ZoneLevelAccessApplicationsRevokeServiceTokensPathParams
+  >({ url: '/zones/{zoneId}/access/apps/{appId}/revoke_tokens', method: 'post', ...variables, signal });
+
+export type ZoneLevelAccessApplicationsTestAccessPoliciesPathParams = {
+  appId: Schemas.AccessAppId;
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessApplicationsTestAccessPoliciesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessApplicationsTestAccessPoliciesVariables = {
+  pathParams: ZoneLevelAccessApplicationsTestAccessPoliciesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Tests if a specific user has permission to access an application.
+ */
+export const zoneLevelAccessApplicationsTestAccessPolicies = (
+  variables: ZoneLevelAccessApplicationsTestAccessPoliciesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessSchemasPolicyCheckResponse,
+    ZoneLevelAccessApplicationsTestAccessPoliciesError,
+    undefined,
+    {},
+    {},
+    ZoneLevelAccessApplicationsTestAccessPoliciesPathParams
+  >({ url: '/zones/{zoneId}/access/apps/{appId}/user_policy_checks', method: 'get', ...variables, signal });
+
+export type ZoneLevelAccessMtlsAuthenticationListMtlsCertificatesPathParams = {
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessMtlsAuthenticationListMtlsCertificatesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessMtlsAuthenticationListMtlsCertificatesVariables = {
+  pathParams: ZoneLevelAccessMtlsAuthenticationListMtlsCertificatesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists all mTLS certificates.
+ */
+export const zoneLevelAccessMtlsAuthenticationListMtlsCertificates = (
+  variables: ZoneLevelAccessMtlsAuthenticationListMtlsCertificatesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessCertificatesComponentsSchemasResponseCollection2,
+    ZoneLevelAccessMtlsAuthenticationListMtlsCertificatesError,
+    undefined,
+    {},
+    {},
+    ZoneLevelAccessMtlsAuthenticationListMtlsCertificatesPathParams
+  >({ url: '/zones/{zoneId}/access/certificates', method: 'get', ...variables, signal });
+
+export type ZoneLevelAccessMtlsAuthenticationAddAnMtlsCertificatePathParams = {
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessMtlsAuthenticationAddAnMtlsCertificateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessMtlsAuthenticationAddAnMtlsCertificateRequestBody = {
+  associated_hostnames?: Schemas.AccessAssociatedHostnames;
+  /**
+     * The certificate content.
+     *
+     * @example -----BEGIN CERTIFICATE-----
+    MIIGAjCCA+qgAwIBAgIJAI7kymlF7CWT...N4RI7KKB7nikiuUf8vhULKy5IX10
+    DrUtmu/B
+    -----END CERTIFICATE-----
+     */
+  certificate: string;
+  name: Schemas.AccessCertificatesComponentsSchemasName;
+};
+
+export type ZoneLevelAccessMtlsAuthenticationAddAnMtlsCertificateVariables = {
+  body: ZoneLevelAccessMtlsAuthenticationAddAnMtlsCertificateRequestBody;
+  pathParams: ZoneLevelAccessMtlsAuthenticationAddAnMtlsCertificatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Adds a new mTLS root certificate to Access.
+ */
+export const zoneLevelAccessMtlsAuthenticationAddAnMtlsCertificate = (
+  variables: ZoneLevelAccessMtlsAuthenticationAddAnMtlsCertificateVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessCertificatesComponentsSchemasSingleResponse2,
+    ZoneLevelAccessMtlsAuthenticationAddAnMtlsCertificateError,
+    ZoneLevelAccessMtlsAuthenticationAddAnMtlsCertificateRequestBody,
+    {},
+    {},
+    ZoneLevelAccessMtlsAuthenticationAddAnMtlsCertificatePathParams
+  >({ url: '/zones/{zoneId}/access/certificates', method: 'post', ...variables, signal });
+
+export type ZoneLevelAccessMtlsAuthenticationListMtlsCertificatesHostnameSettingsPathParams = {
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessMtlsAuthenticationListMtlsCertificatesHostnameSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessMtlsAuthenticationListMtlsCertificatesHostnameSettingsVariables = {
+  pathParams: ZoneLevelAccessMtlsAuthenticationListMtlsCertificatesHostnameSettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * List all mTLS hostname settings for this zone.
+ */
+export const zoneLevelAccessMtlsAuthenticationListMtlsCertificatesHostnameSettings = (
+  variables: ZoneLevelAccessMtlsAuthenticationListMtlsCertificatesHostnameSettingsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessResponseCollectionHostnames,
+    ZoneLevelAccessMtlsAuthenticationListMtlsCertificatesHostnameSettingsError,
+    undefined,
+    {},
+    {},
+    ZoneLevelAccessMtlsAuthenticationListMtlsCertificatesHostnameSettingsPathParams
+  >({ url: '/zones/{zoneId}/access/certificates/settings', method: 'get', ...variables, signal });
+
+export type ZoneLevelAccessMtlsAuthenticationUpdateAnMtlsCertificateSettingsPathParams = {
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessMtlsAuthenticationUpdateAnMtlsCertificateSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessMtlsAuthenticationUpdateAnMtlsCertificateSettingsRequestBody = {
+  settings: Schemas.AccessSettings[];
+};
+
+export type ZoneLevelAccessMtlsAuthenticationUpdateAnMtlsCertificateSettingsVariables = {
+  body: ZoneLevelAccessMtlsAuthenticationUpdateAnMtlsCertificateSettingsRequestBody;
+  pathParams: ZoneLevelAccessMtlsAuthenticationUpdateAnMtlsCertificateSettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates an mTLS certificate's hostname settings.
+ */
+export const zoneLevelAccessMtlsAuthenticationUpdateAnMtlsCertificateSettings = (
+  variables: ZoneLevelAccessMtlsAuthenticationUpdateAnMtlsCertificateSettingsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessResponseCollectionHostnames,
+    ZoneLevelAccessMtlsAuthenticationUpdateAnMtlsCertificateSettingsError,
+    ZoneLevelAccessMtlsAuthenticationUpdateAnMtlsCertificateSettingsRequestBody,
+    {},
+    {},
+    ZoneLevelAccessMtlsAuthenticationUpdateAnMtlsCertificateSettingsPathParams
+  >({ url: '/zones/{zoneId}/access/certificates/settings', method: 'put', ...variables, signal });
+
+export type ZoneLevelAccessMtlsAuthenticationDeleteAnMtlsCertificatePathParams = {
+  certificateId: Schemas.AccessUuid;
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessMtlsAuthenticationDeleteAnMtlsCertificateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessMtlsAuthenticationDeleteAnMtlsCertificateVariables = {
+  pathParams: ZoneLevelAccessMtlsAuthenticationDeleteAnMtlsCertificatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes an mTLS certificate.
+ */
+export const zoneLevelAccessMtlsAuthenticationDeleteAnMtlsCertificate = (
+  variables: ZoneLevelAccessMtlsAuthenticationDeleteAnMtlsCertificateVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessComponentsSchemasIdResponse,
+    ZoneLevelAccessMtlsAuthenticationDeleteAnMtlsCertificateError,
+    undefined,
+    {},
+    {},
+    ZoneLevelAccessMtlsAuthenticationDeleteAnMtlsCertificatePathParams
+  >({ url: '/zones/{zoneId}/access/certificates/{certificateId}', method: 'delete', ...variables, signal });
+
+export type ZoneLevelAccessMtlsAuthenticationGetAnMtlsCertificatePathParams = {
+  certificateId: Schemas.AccessUuid;
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessMtlsAuthenticationGetAnMtlsCertificateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessMtlsAuthenticationGetAnMtlsCertificateVariables = {
+  pathParams: ZoneLevelAccessMtlsAuthenticationGetAnMtlsCertificatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a single mTLS certificate.
+ */
+export const zoneLevelAccessMtlsAuthenticationGetAnMtlsCertificate = (
+  variables: ZoneLevelAccessMtlsAuthenticationGetAnMtlsCertificateVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessCertificatesComponentsSchemasSingleResponse2,
+    ZoneLevelAccessMtlsAuthenticationGetAnMtlsCertificateError,
+    undefined,
+    {},
+    {},
+    ZoneLevelAccessMtlsAuthenticationGetAnMtlsCertificatePathParams
+  >({ url: '/zones/{zoneId}/access/certificates/{certificateId}', method: 'get', ...variables, signal });
+
+export type ZoneLevelAccessMtlsAuthenticationUpdateAnMtlsCertificatePathParams = {
+  certificateId: Schemas.AccessUuid;
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessMtlsAuthenticationUpdateAnMtlsCertificateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessMtlsAuthenticationUpdateAnMtlsCertificateRequestBody = {
+  associated_hostnames: Schemas.AccessAssociatedHostnames;
+  name?: Schemas.AccessCertificatesComponentsSchemasName;
+};
+
+export type ZoneLevelAccessMtlsAuthenticationUpdateAnMtlsCertificateVariables = {
+  body: ZoneLevelAccessMtlsAuthenticationUpdateAnMtlsCertificateRequestBody;
+  pathParams: ZoneLevelAccessMtlsAuthenticationUpdateAnMtlsCertificatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a configured mTLS certificate.
+ */
+export const zoneLevelAccessMtlsAuthenticationUpdateAnMtlsCertificate = (
+  variables: ZoneLevelAccessMtlsAuthenticationUpdateAnMtlsCertificateVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessCertificatesComponentsSchemasSingleResponse2,
+    ZoneLevelAccessMtlsAuthenticationUpdateAnMtlsCertificateError,
+    ZoneLevelAccessMtlsAuthenticationUpdateAnMtlsCertificateRequestBody,
+    {},
+    {},
+    ZoneLevelAccessMtlsAuthenticationUpdateAnMtlsCertificatePathParams
+  >({ url: '/zones/{zoneId}/access/certificates/{certificateId}', method: 'put', ...variables, signal });
+
+export type ZoneLevelAccessGroupsListAccessGroupsPathParams = {
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessGroupsListAccessGroupsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessGroupsListAccessGroupsVariables = {
+  pathParams: ZoneLevelAccessGroupsListAccessGroupsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists all Access groups.
+ */
+export const zoneLevelAccessGroupsListAccessGroups = (
+  variables: ZoneLevelAccessGroupsListAccessGroupsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessGroupsComponentsSchemasResponseCollection,
+    ZoneLevelAccessGroupsListAccessGroupsError,
+    undefined,
+    {},
+    {},
+    ZoneLevelAccessGroupsListAccessGroupsPathParams
+  >({ url: '/zones/{zoneId}/access/groups', method: 'get', ...variables, signal });
+
+export type ZoneLevelAccessGroupsCreateAnAccessGroupPathParams = {
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessGroupsCreateAnAccessGroupError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessGroupsCreateAnAccessGroupRequestBody = {
+  exclude?: Schemas.AccessExclude;
+  include: Schemas.AccessInclude;
+  name: Schemas.AccessGroupsComponentsSchemasName;
+  require?: Schemas.AccessRequire;
+};
+
+export type ZoneLevelAccessGroupsCreateAnAccessGroupVariables = {
+  body: ZoneLevelAccessGroupsCreateAnAccessGroupRequestBody;
+  pathParams: ZoneLevelAccessGroupsCreateAnAccessGroupPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new Access group.
+ */
+export const zoneLevelAccessGroupsCreateAnAccessGroup = (
+  variables: ZoneLevelAccessGroupsCreateAnAccessGroupVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessGroupsComponentsSchemasSingleResponse2,
+    ZoneLevelAccessGroupsCreateAnAccessGroupError,
+    ZoneLevelAccessGroupsCreateAnAccessGroupRequestBody,
+    {},
+    {},
+    ZoneLevelAccessGroupsCreateAnAccessGroupPathParams
+  >({ url: '/zones/{zoneId}/access/groups', method: 'post', ...variables, signal });
+
+export type ZoneLevelAccessGroupsDeleteAnAccessGroupPathParams = {
+  groupId: Schemas.AccessUuid;
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessGroupsDeleteAnAccessGroupError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessGroupsDeleteAnAccessGroupVariables = {
+  pathParams: ZoneLevelAccessGroupsDeleteAnAccessGroupPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes an Access group.
+ */
+export const zoneLevelAccessGroupsDeleteAnAccessGroup = (
+  variables: ZoneLevelAccessGroupsDeleteAnAccessGroupVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessIdResponse,
+    ZoneLevelAccessGroupsDeleteAnAccessGroupError,
+    undefined,
+    {},
+    {},
+    ZoneLevelAccessGroupsDeleteAnAccessGroupPathParams
+  >({ url: '/zones/{zoneId}/access/groups/{groupId}', method: 'delete', ...variables, signal });
+
+export type ZoneLevelAccessGroupsGetAnAccessGroupPathParams = {
+  groupId: Schemas.AccessUuid;
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessGroupsGetAnAccessGroupError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessGroupsGetAnAccessGroupVariables = {
+  pathParams: ZoneLevelAccessGroupsGetAnAccessGroupPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a single Access group.
+ */
+export const zoneLevelAccessGroupsGetAnAccessGroup = (
+  variables: ZoneLevelAccessGroupsGetAnAccessGroupVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessGroupsComponentsSchemasSingleResponse2,
+    ZoneLevelAccessGroupsGetAnAccessGroupError,
+    undefined,
+    {},
+    {},
+    ZoneLevelAccessGroupsGetAnAccessGroupPathParams
+  >({ url: '/zones/{zoneId}/access/groups/{groupId}', method: 'get', ...variables, signal });
+
+export type ZoneLevelAccessGroupsUpdateAnAccessGroupPathParams = {
+  groupId: Schemas.AccessUuid;
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessGroupsUpdateAnAccessGroupError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessGroupsUpdateAnAccessGroupRequestBody = {
+  exclude?: Schemas.AccessExclude;
+  include: Schemas.AccessInclude;
+  name: Schemas.AccessGroupsComponentsSchemasName;
+  require?: Schemas.AccessRequire;
+};
+
+export type ZoneLevelAccessGroupsUpdateAnAccessGroupVariables = {
+  body: ZoneLevelAccessGroupsUpdateAnAccessGroupRequestBody;
+  pathParams: ZoneLevelAccessGroupsUpdateAnAccessGroupPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a configured Access group.
+ */
+export const zoneLevelAccessGroupsUpdateAnAccessGroup = (
+  variables: ZoneLevelAccessGroupsUpdateAnAccessGroupVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessGroupsComponentsSchemasSingleResponse2,
+    ZoneLevelAccessGroupsUpdateAnAccessGroupError,
+    ZoneLevelAccessGroupsUpdateAnAccessGroupRequestBody,
+    {},
+    {},
+    ZoneLevelAccessGroupsUpdateAnAccessGroupPathParams
+  >({ url: '/zones/{zoneId}/access/groups/{groupId}', method: 'put', ...variables, signal });
+
+export type ZoneLevelAccessIdentityProvidersListAccessIdentityProvidersPathParams = {
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessIdentityProvidersListAccessIdentityProvidersError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessIdentityProvidersListAccessIdentityProvidersVariables = {
+  pathParams: ZoneLevelAccessIdentityProvidersListAccessIdentityProvidersPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists all configured identity providers.
+ */
+export const zoneLevelAccessIdentityProvidersListAccessIdentityProviders = (
+  variables: ZoneLevelAccessIdentityProvidersListAccessIdentityProvidersVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessIdentityProvidersComponentsSchemasResponseCollection,
+    ZoneLevelAccessIdentityProvidersListAccessIdentityProvidersError,
+    undefined,
+    {},
+    {},
+    ZoneLevelAccessIdentityProvidersListAccessIdentityProvidersPathParams
+  >({ url: '/zones/{zoneId}/access/identity_providers', method: 'get', ...variables, signal });
+
+export type ZoneLevelAccessIdentityProvidersAddAnAccessIdentityProviderPathParams = {
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessIdentityProvidersAddAnAccessIdentityProviderError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessIdentityProvidersAddAnAccessIdentityProviderVariables = {
+  body?: Schemas.AccessSchemasIdentityProviders;
+  pathParams: ZoneLevelAccessIdentityProvidersAddAnAccessIdentityProviderPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Adds a new identity provider to Access.
+ */
+export const zoneLevelAccessIdentityProvidersAddAnAccessIdentityProvider = (
+  variables: ZoneLevelAccessIdentityProvidersAddAnAccessIdentityProviderVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessIdentityProvidersComponentsSchemasSingleResponse,
+    ZoneLevelAccessIdentityProvidersAddAnAccessIdentityProviderError,
+    Schemas.AccessSchemasIdentityProviders,
+    {},
+    {},
+    ZoneLevelAccessIdentityProvidersAddAnAccessIdentityProviderPathParams
+  >({ url: '/zones/{zoneId}/access/identity_providers', method: 'post', ...variables, signal });
+
+export type ZoneLevelAccessIdentityProvidersDeleteAnAccessIdentityProviderPathParams = {
+  identityProviderId: Schemas.AccessUuid;
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessIdentityProvidersDeleteAnAccessIdentityProviderError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessIdentityProvidersDeleteAnAccessIdentityProviderVariables = {
+  pathParams: ZoneLevelAccessIdentityProvidersDeleteAnAccessIdentityProviderPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes an identity provider from Access.
+ */
+export const zoneLevelAccessIdentityProvidersDeleteAnAccessIdentityProvider = (
+  variables: ZoneLevelAccessIdentityProvidersDeleteAnAccessIdentityProviderVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessIdResponse,
+    ZoneLevelAccessIdentityProvidersDeleteAnAccessIdentityProviderError,
+    undefined,
+    {},
+    {},
+    ZoneLevelAccessIdentityProvidersDeleteAnAccessIdentityProviderPathParams
+  >({ url: '/zones/{zoneId}/access/identity_providers/{identityProviderId}', method: 'delete', ...variables, signal });
+
+export type ZoneLevelAccessIdentityProvidersGetAnAccessIdentityProviderPathParams = {
+  identityProviderId: Schemas.AccessUuid;
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessIdentityProvidersGetAnAccessIdentityProviderError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessIdentityProvidersGetAnAccessIdentityProviderVariables = {
+  pathParams: ZoneLevelAccessIdentityProvidersGetAnAccessIdentityProviderPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a configured identity provider.
+ */
+export const zoneLevelAccessIdentityProvidersGetAnAccessIdentityProvider = (
+  variables: ZoneLevelAccessIdentityProvidersGetAnAccessIdentityProviderVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessIdentityProvidersComponentsSchemasSingleResponse,
+    ZoneLevelAccessIdentityProvidersGetAnAccessIdentityProviderError,
+    undefined,
+    {},
+    {},
+    ZoneLevelAccessIdentityProvidersGetAnAccessIdentityProviderPathParams
+  >({ url: '/zones/{zoneId}/access/identity_providers/{identityProviderId}', method: 'get', ...variables, signal });
+
+export type ZoneLevelAccessIdentityProvidersUpdateAnAccessIdentityProviderPathParams = {
+  identityProviderId: Schemas.AccessUuid;
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessIdentityProvidersUpdateAnAccessIdentityProviderError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessIdentityProvidersUpdateAnAccessIdentityProviderVariables = {
+  body?: Schemas.AccessSchemasIdentityProviders;
+  pathParams: ZoneLevelAccessIdentityProvidersUpdateAnAccessIdentityProviderPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a configured identity provider.
+ */
+export const zoneLevelAccessIdentityProvidersUpdateAnAccessIdentityProvider = (
+  variables: ZoneLevelAccessIdentityProvidersUpdateAnAccessIdentityProviderVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessIdentityProvidersComponentsSchemasSingleResponse,
+    ZoneLevelAccessIdentityProvidersUpdateAnAccessIdentityProviderError,
+    Schemas.AccessSchemasIdentityProviders,
+    {},
+    {},
+    ZoneLevelAccessIdentityProvidersUpdateAnAccessIdentityProviderPathParams
+  >({ url: '/zones/{zoneId}/access/identity_providers/{identityProviderId}', method: 'put', ...variables, signal });
+
+export type ZoneLevelZeroTrustOrganizationGetYourZeroTrustOrganizationPathParams = {
+  zoneId: Schemas.AccessOrganizationsComponentsSchemasIdentifier;
+};
+
+export type ZoneLevelZeroTrustOrganizationGetYourZeroTrustOrganizationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelZeroTrustOrganizationGetYourZeroTrustOrganizationVariables = {
+  pathParams: ZoneLevelZeroTrustOrganizationGetYourZeroTrustOrganizationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Returns the configuration for your Zero Trust organization.
+ */
+export const zoneLevelZeroTrustOrganizationGetYourZeroTrustOrganization = (
+  variables: ZoneLevelZeroTrustOrganizationGetYourZeroTrustOrganizationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessOrganizationsComponentsSchemasSingleResponse,
+    ZoneLevelZeroTrustOrganizationGetYourZeroTrustOrganizationError,
+    undefined,
+    {},
+    {},
+    ZoneLevelZeroTrustOrganizationGetYourZeroTrustOrganizationPathParams
+  >({ url: '/zones/{zoneId}/access/organizations', method: 'get', ...variables, signal });
+
+export type ZoneLevelZeroTrustOrganizationCreateYourZeroTrustOrganizationPathParams = {
+  zoneId: Schemas.AccessOrganizationsComponentsSchemasIdentifier;
+};
+
+export type ZoneLevelZeroTrustOrganizationCreateYourZeroTrustOrganizationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelZeroTrustOrganizationCreateYourZeroTrustOrganizationRequestBody = {
+  auth_domain: Schemas.AccessAuthDomain;
+  is_ui_read_only?: Schemas.AccessIsUiReadOnly;
+  login_design?: Schemas.AccessLoginDesign;
+  name: Schemas.AccessName;
+  ui_read_only_toggle_reason?: Schemas.AccessUiReadOnlyToggleReason;
+  user_seat_expiration_inactive_time?: Schemas.AccessSchemasUserSeatExpirationInactiveTime;
+};
+
+export type ZoneLevelZeroTrustOrganizationCreateYourZeroTrustOrganizationVariables = {
+  body: ZoneLevelZeroTrustOrganizationCreateYourZeroTrustOrganizationRequestBody;
+  pathParams: ZoneLevelZeroTrustOrganizationCreateYourZeroTrustOrganizationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Sets up a Zero Trust organization for your account.
+ */
+export const zoneLevelZeroTrustOrganizationCreateYourZeroTrustOrganization = (
+  variables: ZoneLevelZeroTrustOrganizationCreateYourZeroTrustOrganizationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessOrganizationsComponentsSchemasSingleResponse,
+    ZoneLevelZeroTrustOrganizationCreateYourZeroTrustOrganizationError,
+    ZoneLevelZeroTrustOrganizationCreateYourZeroTrustOrganizationRequestBody,
+    {},
+    {},
+    ZoneLevelZeroTrustOrganizationCreateYourZeroTrustOrganizationPathParams
+  >({ url: '/zones/{zoneId}/access/organizations', method: 'post', ...variables, signal });
+
+export type ZoneLevelZeroTrustOrganizationUpdateYourZeroTrustOrganizationPathParams = {
+  zoneId: Schemas.AccessOrganizationsComponentsSchemasIdentifier;
+};
+
+export type ZoneLevelZeroTrustOrganizationUpdateYourZeroTrustOrganizationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelZeroTrustOrganizationUpdateYourZeroTrustOrganizationRequestBody = {
+  auth_domain?: Schemas.AccessAuthDomain;
+  is_ui_read_only?: Schemas.AccessIsUiReadOnly;
+  login_design?: Schemas.AccessLoginDesign;
+  name?: Schemas.AccessName;
+  ui_read_only_toggle_reason?: Schemas.AccessUiReadOnlyToggleReason;
+  user_seat_expiration_inactive_time?: Schemas.AccessSchemasUserSeatExpirationInactiveTime;
+};
+
+export type ZoneLevelZeroTrustOrganizationUpdateYourZeroTrustOrganizationVariables = {
+  body?: ZoneLevelZeroTrustOrganizationUpdateYourZeroTrustOrganizationRequestBody;
+  pathParams: ZoneLevelZeroTrustOrganizationUpdateYourZeroTrustOrganizationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates the configuration for your Zero Trust organization.
+ */
+export const zoneLevelZeroTrustOrganizationUpdateYourZeroTrustOrganization = (
+  variables: ZoneLevelZeroTrustOrganizationUpdateYourZeroTrustOrganizationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessOrganizationsComponentsSchemasSingleResponse,
+    ZoneLevelZeroTrustOrganizationUpdateYourZeroTrustOrganizationError,
+    ZoneLevelZeroTrustOrganizationUpdateYourZeroTrustOrganizationRequestBody,
+    {},
+    {},
+    ZoneLevelZeroTrustOrganizationUpdateYourZeroTrustOrganizationPathParams
+  >({ url: '/zones/{zoneId}/access/organizations', method: 'put', ...variables, signal });
+
+export type ZoneLevelZeroTrustOrganizationRevokeAllAccessTokensForAUserPathParams = {
+  zoneId: Schemas.AccessOrganizationsComponentsSchemasIdentifier;
+};
+
+export type ZoneLevelZeroTrustOrganizationRevokeAllAccessTokensForAUserError = Fetcher.ErrorWrapper<{
+  status: ClientErrorStatus;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelZeroTrustOrganizationRevokeAllAccessTokensForAUserRequestBody = {
+  /**
+   * The email of the user to revoke.
+   *
+   * @example test@example.com
+   */
+  email: string;
+};
+
+export type ZoneLevelZeroTrustOrganizationRevokeAllAccessTokensForAUserVariables = {
+  body: ZoneLevelZeroTrustOrganizationRevokeAllAccessTokensForAUserRequestBody;
+  pathParams: ZoneLevelZeroTrustOrganizationRevokeAllAccessTokensForAUserPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Revokes a user's access across all applications.
+ */
+export const zoneLevelZeroTrustOrganizationRevokeAllAccessTokensForAUser = (
+  variables: ZoneLevelZeroTrustOrganizationRevokeAllAccessTokensForAUserVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessEmptyResponse,
+    ZoneLevelZeroTrustOrganizationRevokeAllAccessTokensForAUserError,
+    ZoneLevelZeroTrustOrganizationRevokeAllAccessTokensForAUserRequestBody,
+    {},
+    {},
+    ZoneLevelZeroTrustOrganizationRevokeAllAccessTokensForAUserPathParams
+  >({ url: '/zones/{zoneId}/access/organizations/revoke_user', method: 'post', ...variables, signal });
+
+export type ZoneLevelAccessServiceTokensListServiceTokensPathParams = {
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessServiceTokensListServiceTokensError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessServiceTokensListServiceTokensVariables = {
+  pathParams: ZoneLevelAccessServiceTokensListServiceTokensPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists all service tokens.
+ */
+export const zoneLevelAccessServiceTokensListServiceTokens = (
+  variables: ZoneLevelAccessServiceTokensListServiceTokensVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessComponentsSchemasResponseCollection,
+    ZoneLevelAccessServiceTokensListServiceTokensError,
+    undefined,
+    {},
+    {},
+    ZoneLevelAccessServiceTokensListServiceTokensPathParams
+  >({ url: '/zones/{zoneId}/access/service_tokens', method: 'get', ...variables, signal });
+
+export type ZoneLevelAccessServiceTokensCreateAServiceTokenPathParams = {
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessServiceTokensCreateAServiceTokenError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessServiceTokensCreateAServiceTokenRequestBody = {
+  duration?: Schemas.AccessDuration;
+  name: Schemas.AccessSchemasName;
+};
+
+export type ZoneLevelAccessServiceTokensCreateAServiceTokenVariables = {
+  body: ZoneLevelAccessServiceTokensCreateAServiceTokenRequestBody;
+  pathParams: ZoneLevelAccessServiceTokensCreateAServiceTokenPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Generates a new service token. **Note:** This is the only time you can get the Client Secret. If you lose the Client Secret, you will have to create a new service token.
+ */
+export const zoneLevelAccessServiceTokensCreateAServiceToken = (
+  variables: ZoneLevelAccessServiceTokensCreateAServiceTokenVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessCreateResponse,
+    ZoneLevelAccessServiceTokensCreateAServiceTokenError,
+    ZoneLevelAccessServiceTokensCreateAServiceTokenRequestBody,
+    {},
+    {},
+    ZoneLevelAccessServiceTokensCreateAServiceTokenPathParams
+  >({ url: '/zones/{zoneId}/access/service_tokens', method: 'post', ...variables, signal });
+
+export type ZoneLevelAccessServiceTokensDeleteAServiceTokenPathParams = {
+  serviceTokenId: Schemas.AccessUuid;
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessServiceTokensDeleteAServiceTokenError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessServiceTokensDeleteAServiceTokenVariables = {
+  pathParams: ZoneLevelAccessServiceTokensDeleteAServiceTokenPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes a service token.
+ */
+export const zoneLevelAccessServiceTokensDeleteAServiceToken = (
+  variables: ZoneLevelAccessServiceTokensDeleteAServiceTokenVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessSchemasSingleResponse,
+    ZoneLevelAccessServiceTokensDeleteAServiceTokenError,
+    undefined,
+    {},
+    {},
+    ZoneLevelAccessServiceTokensDeleteAServiceTokenPathParams
+  >({ url: '/zones/{zoneId}/access/service_tokens/{serviceTokenId}', method: 'delete', ...variables, signal });
+
+export type ZoneLevelAccessServiceTokensGetAServiceTokenPathParams = {
+  serviceTokenId: Schemas.AccessUuid;
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessServiceTokensGetAServiceTokenError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessServiceTokensGetAServiceTokenVariables = {
+  pathParams: ZoneLevelAccessServiceTokensGetAServiceTokenPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a single service token.
+ */
+export const zoneLevelAccessServiceTokensGetAServiceToken = (
+  variables: ZoneLevelAccessServiceTokensGetAServiceTokenVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessSchemasSingleResponse,
+    ZoneLevelAccessServiceTokensGetAServiceTokenError,
+    undefined,
+    {},
+    {},
+    ZoneLevelAccessServiceTokensGetAServiceTokenPathParams
+  >({ url: '/zones/{zoneId}/access/service_tokens/{serviceTokenId}', method: 'get', ...variables, signal });
+
+export type ZoneLevelAccessServiceTokensUpdateAServiceTokenPathParams = {
+  serviceTokenId: Schemas.AccessUuid;
+  zoneId: Schemas.AccessIdentifier;
+};
+
+export type ZoneLevelAccessServiceTokensUpdateAServiceTokenError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.AccessApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAccessServiceTokensUpdateAServiceTokenRequestBody = {
+  duration?: Schemas.AccessDuration;
+  name?: Schemas.AccessSchemasName;
+};
+
+export type ZoneLevelAccessServiceTokensUpdateAServiceTokenVariables = {
+  body?: ZoneLevelAccessServiceTokensUpdateAServiceTokenRequestBody;
+  pathParams: ZoneLevelAccessServiceTokensUpdateAServiceTokenPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a configured service token.
+ */
+export const zoneLevelAccessServiceTokensUpdateAServiceToken = (
+  variables: ZoneLevelAccessServiceTokensUpdateAServiceTokenVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.AccessSchemasSingleResponse,
+    ZoneLevelAccessServiceTokensUpdateAServiceTokenError,
+    ZoneLevelAccessServiceTokensUpdateAServiceTokenRequestBody,
+    {},
+    {},
+    ZoneLevelAccessServiceTokensUpdateAServiceTokenPathParams
+  >({ url: '/zones/{zoneId}/access/service_tokens/{serviceTokenId}', method: 'put', ...variables, signal });
+
+export type TotalTlsTotalTlsSettingsDetailsPathParams = {
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type TotalTlsTotalTlsSettingsDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesTotalTlsSettingsResponse &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type TotalTlsTotalTlsSettingsDetailsVariables = {
+  pathParams: TotalTlsTotalTlsSettingsDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get Total TLS Settings for a Zone.
+ */
+export const totalTlsTotalTlsSettingsDetails = (
+  variables: TotalTlsTotalTlsSettingsDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesTotalTlsSettingsResponse,
+    TotalTlsTotalTlsSettingsDetailsError,
+    undefined,
+    {},
+    {},
+    TotalTlsTotalTlsSettingsDetailsPathParams
+  >({ url: '/zones/{zoneId}/acm/total_tls', method: 'get', ...variables, signal });
+
+export type TotalTlsEnableOrDisableTotalTlsPathParams = {
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type TotalTlsEnableOrDisableTotalTlsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesTotalTlsSettingsResponse &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type TotalTlsEnableOrDisableTotalTlsRequestBody = {
+  certificate_authority?: Schemas.TlsCertificatesAndHostnamesComponentsSchemasCertificateAuthority;
+  enabled: Schemas.TlsCertificatesAndHostnamesComponentsSchemasEnabled;
+};
+
+export type TotalTlsEnableOrDisableTotalTlsVariables = {
+  body: TotalTlsEnableOrDisableTotalTlsRequestBody;
+  pathParams: TotalTlsEnableOrDisableTotalTlsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Set Total TLS Settings or disable the feature for a Zone.
+ */
+export const totalTlsEnableOrDisableTotalTls = (
+  variables: TotalTlsEnableOrDisableTotalTlsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesTotalTlsSettingsResponse,
+    TotalTlsEnableOrDisableTotalTlsError,
+    TotalTlsEnableOrDisableTotalTlsRequestBody,
+    {},
+    {},
+    TotalTlsEnableOrDisableTotalTlsPathParams
+  >({ url: '/zones/{zoneId}/acm/total_tls', method: 'post', ...variables, signal });
+
+export type PutZonesZoneIdActivationCheckPathParams = {
+  /**
+   * Zone ID
+   */
+  zoneId: Schemas.ZoneActivationIdentifier;
+};
+
+export type PutZonesZoneIdActivationCheckError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZoneActivationApiResponseCommonFailure;
+}>;
+
+export type PutZonesZoneIdActivationCheckResponse = Schemas.ZoneActivationApiResponseSingle & {
+  result?: {
+    id?: Schemas.ZoneActivationIdentifier;
+  };
+};
+
+export type PutZonesZoneIdActivationCheckVariables = {
+  pathParams: PutZonesZoneIdActivationCheckPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Triggeres a new activation check for a PENDING Zone. This can be
+ * triggered every 5 min for paygo/ent customers, every hour for FREE
+ * Zones.
+ */
+export const putZonesZoneIdActivationCheck = (
+  variables: PutZonesZoneIdActivationCheckVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    PutZonesZoneIdActivationCheckResponse,
+    PutZonesZoneIdActivationCheckError,
+    undefined,
+    {},
+    {},
+    PutZonesZoneIdActivationCheckPathParams
+  >({ url: '/zones/{zoneId}/activation_check', method: 'put', ...variables, signal });
+
+export type DlsAccountRegionalHostnamesAccountListHostnamesPathParams = {
+  zoneId: Schemas.DlsIdentifier;
+};
+
+export type DlsAccountRegionalHostnamesAccountListHostnamesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlsApiResponseCommonFailure;
+}>;
+
+export type DlsAccountRegionalHostnamesAccountListHostnamesResponse = Schemas.DlsApiResponseCollection & {
+  result?: Schemas.DlsRegionalHostnameResponse[];
+};
+
+export type DlsAccountRegionalHostnamesAccountListHostnamesVariables = {
+  pathParams: DlsAccountRegionalHostnamesAccountListHostnamesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * List all Regional Hostnames within a zone.
+ */
+export const dlsAccountRegionalHostnamesAccountListHostnames = (
+  variables: DlsAccountRegionalHostnamesAccountListHostnamesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    DlsAccountRegionalHostnamesAccountListHostnamesResponse,
+    DlsAccountRegionalHostnamesAccountListHostnamesError,
+    undefined,
+    {},
+    {},
+    DlsAccountRegionalHostnamesAccountListHostnamesPathParams
+  >({ url: '/zones/{zoneId}/addressing/regional_hostnames', method: 'get', ...variables, signal });
+
+export type DlsAccountRegionalHostnamesAccountCreateHostnamePathParams = {
+  zoneId: Schemas.DlsIdentifier;
+};
+
+export type DlsAccountRegionalHostnamesAccountCreateHostnameError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlsApiResponseCommonFailure;
+}>;
+
+export type DlsAccountRegionalHostnamesAccountCreateHostnameResponse = Schemas.DlsApiResponseCommon & {
+  result?: Schemas.DlsRegionalHostnameResponse;
+};
+
+export type DlsAccountRegionalHostnamesAccountCreateHostnameRequestBody = {
+  hostname: Schemas.DlsHostname;
+  region_key: Schemas.DlsRegionKey;
+};
+
+export type DlsAccountRegionalHostnamesAccountCreateHostnameVariables = {
+  body: DlsAccountRegionalHostnamesAccountCreateHostnameRequestBody;
+  pathParams: DlsAccountRegionalHostnamesAccountCreateHostnamePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create a new Regional Hostname entry. Cloudflare will only use data centers that are physically located within the chosen region to decrypt and service HTTPS traffic. Learn more about [Regional Services](https://developers.cloudflare.com/data-localization/regional-services/get-started/).
+ */
+export const dlsAccountRegionalHostnamesAccountCreateHostname = (
+  variables: DlsAccountRegionalHostnamesAccountCreateHostnameVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    DlsAccountRegionalHostnamesAccountCreateHostnameResponse,
+    DlsAccountRegionalHostnamesAccountCreateHostnameError,
+    DlsAccountRegionalHostnamesAccountCreateHostnameRequestBody,
+    {},
+    {},
+    DlsAccountRegionalHostnamesAccountCreateHostnamePathParams
+  >({ url: '/zones/{zoneId}/addressing/regional_hostnames', method: 'post', ...variables, signal });
+
+export type DlsAccountRegionalHostnamesAccountDeleteHostnamePathParams = {
+  zoneId: Schemas.DlsIdentifier;
+  hostname: Schemas.DlsHostname;
+};
+
+export type DlsAccountRegionalHostnamesAccountDeleteHostnameError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlsApiResponseCommonFailure;
+}>;
+
+export type DlsAccountRegionalHostnamesAccountDeleteHostnameResponse = Schemas.DlsApiResponseCommon;
+
+export type DlsAccountRegionalHostnamesAccountDeleteHostnameVariables = {
+  pathParams: DlsAccountRegionalHostnamesAccountDeleteHostnamePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete the region configuration for a specific Regional Hostname.
+ */
+export const dlsAccountRegionalHostnamesAccountDeleteHostname = (
+  variables: DlsAccountRegionalHostnamesAccountDeleteHostnameVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    DlsAccountRegionalHostnamesAccountDeleteHostnameResponse,
+    DlsAccountRegionalHostnamesAccountDeleteHostnameError,
+    undefined,
+    {},
+    {},
+    DlsAccountRegionalHostnamesAccountDeleteHostnamePathParams
+  >({ url: '/zones/{zoneId}/addressing/regional_hostnames/{hostname}', method: 'delete', ...variables, signal });
+
+export type DlsAccountRegionalHostnamesAccountFetchHostnamePathParams = {
+  zoneId: Schemas.DlsIdentifier;
+  hostname: Schemas.DlsHostname;
+};
+
+export type DlsAccountRegionalHostnamesAccountFetchHostnameError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlsApiResponseCommonFailure;
+}>;
+
+export type DlsAccountRegionalHostnamesAccountFetchHostnameResponse = Schemas.DlsApiResponseCommon & {
+  result?: Schemas.DlsRegionalHostnameResponse;
+};
+
+export type DlsAccountRegionalHostnamesAccountFetchHostnameVariables = {
+  pathParams: DlsAccountRegionalHostnamesAccountFetchHostnamePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetch the configuration for a specific Regional Hostname, within a zone.
+ */
+export const dlsAccountRegionalHostnamesAccountFetchHostname = (
+  variables: DlsAccountRegionalHostnamesAccountFetchHostnameVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    DlsAccountRegionalHostnamesAccountFetchHostnameResponse,
+    DlsAccountRegionalHostnamesAccountFetchHostnameError,
+    undefined,
+    {},
+    {},
+    DlsAccountRegionalHostnamesAccountFetchHostnamePathParams
+  >({ url: '/zones/{zoneId}/addressing/regional_hostnames/{hostname}', method: 'get', ...variables, signal });
+
+export type DlsAccountRegionalHostnamesAccountPatchHostnamePathParams = {
+  zoneId: Schemas.DlsIdentifier;
+  hostname: Schemas.DlsHostname;
+};
+
+export type DlsAccountRegionalHostnamesAccountPatchHostnameError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DlsApiResponseCommonFailure;
+}>;
+
+export type DlsAccountRegionalHostnamesAccountPatchHostnameResponse = Schemas.DlsApiResponseCommon & {
+  result?: Schemas.DlsRegionalHostnameResponse;
+};
+
+export type DlsAccountRegionalHostnamesAccountPatchHostnameRequestBody = {
+  region_key: Schemas.DlsRegionKey;
+};
+
+export type DlsAccountRegionalHostnamesAccountPatchHostnameVariables = {
+  body: DlsAccountRegionalHostnamesAccountPatchHostnameRequestBody;
+  pathParams: DlsAccountRegionalHostnamesAccountPatchHostnamePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update the configuration for a specific Regional Hostname. Only the region_key of a hostname is mutable.
+ */
+export const dlsAccountRegionalHostnamesAccountPatchHostname = (
+  variables: DlsAccountRegionalHostnamesAccountPatchHostnameVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    DlsAccountRegionalHostnamesAccountPatchHostnameResponse,
+    DlsAccountRegionalHostnamesAccountPatchHostnameError,
+    DlsAccountRegionalHostnamesAccountPatchHostnameRequestBody,
+    {},
+    {},
+    DlsAccountRegionalHostnamesAccountPatchHostnamePathParams
+  >({ url: '/zones/{zoneId}/addressing/regional_hostnames/{hostname}', method: 'patch', ...variables, signal });
+
+export type ArgoAnalyticsForZoneArgoAnalyticsForAZonePathParams = {
+  zoneId: Schemas.ArgoAnalyticsIdentifier;
+};
+
+export type ArgoAnalyticsForZoneArgoAnalyticsForAZoneQueryParams = {
+  bins?: string;
+};
+
+export type ArgoAnalyticsForZoneArgoAnalyticsForAZoneError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ArgoAnalyticsResponseSingle & Schemas.ArgoAnalyticsApiResponseCommonFailure;
+}>;
+
+export type ArgoAnalyticsForZoneArgoAnalyticsForAZoneVariables = {
+  pathParams: ArgoAnalyticsForZoneArgoAnalyticsForAZonePathParams;
+  queryParams?: ArgoAnalyticsForZoneArgoAnalyticsForAZoneQueryParams;
+} & FetcherExtraProps;
+
+export const argoAnalyticsForZoneArgoAnalyticsForAZone = (
+  variables: ArgoAnalyticsForZoneArgoAnalyticsForAZoneVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ArgoAnalyticsResponseSingle,
+    ArgoAnalyticsForZoneArgoAnalyticsForAZoneError,
+    undefined,
+    {},
+    ArgoAnalyticsForZoneArgoAnalyticsForAZoneQueryParams,
+    ArgoAnalyticsForZoneArgoAnalyticsForAZonePathParams
+  >({ url: '/zones/{zoneId}/analytics/latency', method: 'get', ...variables, signal });
+
+export type ArgoAnalyticsForGeolocationArgoAnalyticsForAZoneAtDifferentPoPsPathParams = {
+  zoneId: Schemas.ArgoAnalyticsIdentifier;
+};
+
+export type ArgoAnalyticsForGeolocationArgoAnalyticsForAZoneAtDifferentPoPsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ArgoAnalyticsResponseSingle & Schemas.ArgoAnalyticsApiResponseCommonFailure;
+}>;
+
+export type ArgoAnalyticsForGeolocationArgoAnalyticsForAZoneAtDifferentPoPsVariables = {
+  pathParams: ArgoAnalyticsForGeolocationArgoAnalyticsForAZoneAtDifferentPoPsPathParams;
+} & FetcherExtraProps;
+
+export const argoAnalyticsForGeolocationArgoAnalyticsForAZoneAtDifferentPoPs = (
+  variables: ArgoAnalyticsForGeolocationArgoAnalyticsForAZoneAtDifferentPoPsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ArgoAnalyticsResponseSingle,
+    ArgoAnalyticsForGeolocationArgoAnalyticsForAZoneAtDifferentPoPsError,
+    undefined,
+    {},
+    {},
+    ArgoAnalyticsForGeolocationArgoAnalyticsForAZoneAtDifferentPoPsPathParams
+  >({ url: '/zones/{zoneId}/analytics/latency/colos', method: 'get', ...variables, signal });
+
+export type ApiShieldSettingsRetrieveInformationAboutSpecificConfigurationPropertiesPathParams = {
+  zoneId: Schemas.ApiShieldSchemasIdentifier;
+};
+
+export type ApiShieldSettingsRetrieveInformationAboutSpecificConfigurationPropertiesQueryParams = {
+  properties?: Schemas.ApiShieldProperties;
+};
+
+export type ApiShieldSettingsRetrieveInformationAboutSpecificConfigurationPropertiesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ApiShieldApiResponseCommonFailure;
+}>;
+
+export type ApiShieldSettingsRetrieveInformationAboutSpecificConfigurationPropertiesVariables = {
+  pathParams: ApiShieldSettingsRetrieveInformationAboutSpecificConfigurationPropertiesPathParams;
+  queryParams?: ApiShieldSettingsRetrieveInformationAboutSpecificConfigurationPropertiesQueryParams;
+} & FetcherExtraProps;
+
+export const apiShieldSettingsRetrieveInformationAboutSpecificConfigurationProperties = (
+  variables: ApiShieldSettingsRetrieveInformationAboutSpecificConfigurationPropertiesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ApiShieldConfigurationSingleResponse,
+    ApiShieldSettingsRetrieveInformationAboutSpecificConfigurationPropertiesError,
+    undefined,
+    {},
+    ApiShieldSettingsRetrieveInformationAboutSpecificConfigurationPropertiesQueryParams,
+    ApiShieldSettingsRetrieveInformationAboutSpecificConfigurationPropertiesPathParams
+  >({ url: '/zones/{zoneId}/api_gateway/configuration', method: 'get', ...variables, signal });
+
+export type ApiShieldSettingsSetConfigurationPropertiesPathParams = {
+  zoneId: Schemas.ApiShieldSchemasIdentifier;
+};
+
+export type ApiShieldSettingsSetConfigurationPropertiesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ApiShieldApiResponseCommonFailure;
+}>;
+
+export type ApiShieldSettingsSetConfigurationPropertiesVariables = {
+  body: Schemas.ApiShieldConfiguration;
+  pathParams: ApiShieldSettingsSetConfigurationPropertiesPathParams;
+} & FetcherExtraProps;
+
+export const apiShieldSettingsSetConfigurationProperties = (
+  variables: ApiShieldSettingsSetConfigurationPropertiesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ApiShieldApiResponseCommon,
+    ApiShieldSettingsSetConfigurationPropertiesError,
+    Schemas.ApiShieldConfiguration,
+    {},
+    {},
+    ApiShieldSettingsSetConfigurationPropertiesPathParams
+  >({ url: '/zones/{zoneId}/api_gateway/configuration', method: 'put', ...variables, signal });
+
+export type ApiShieldApiDiscoveryRetrieveDiscoveredOperationsOnAZoneAsOpenapiPathParams = {
+  zoneId: Schemas.ApiShieldSchemasIdentifier;
+};
+
+export type ApiShieldApiDiscoveryRetrieveDiscoveredOperationsOnAZoneAsOpenapiError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ApiShieldSchemaResponseDiscovery & Schemas.ApiShieldApiResponseCommonFailure;
+}>;
+
+export type ApiShieldApiDiscoveryRetrieveDiscoveredOperationsOnAZoneAsOpenapiVariables = {
+  pathParams: ApiShieldApiDiscoveryRetrieveDiscoveredOperationsOnAZoneAsOpenapiPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Retrieve the most up to date view of discovered operations, rendered as OpenAPI schemas
+ */
+export const apiShieldApiDiscoveryRetrieveDiscoveredOperationsOnAZoneAsOpenapi = (
+  variables: ApiShieldApiDiscoveryRetrieveDiscoveredOperationsOnAZoneAsOpenapiVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ApiShieldSchemaResponseDiscovery,
+    ApiShieldApiDiscoveryRetrieveDiscoveredOperationsOnAZoneAsOpenapiError,
+    undefined,
+    {},
+    {},
+    ApiShieldApiDiscoveryRetrieveDiscoveredOperationsOnAZoneAsOpenapiPathParams
+  >({ url: '/zones/{zoneId}/api_gateway/discovery', method: 'get', ...variables, signal });
+
+export type ApiShieldApiDiscoveryRetrieveDiscoveredOperationsOnAZonePathParams = {
+  zoneId: Schemas.ApiShieldSchemasIdentifier;
+};
+
+export type ApiShieldApiDiscoveryRetrieveDiscoveredOperationsOnAZoneQueryParams = {
+  /**
+   * Page number of paginated results.
+   *
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * Maximum number of results per page.
+   *
+   * @default 20
+   * @maximum 50
+   * @minimum 5
+   */
+  per_page?: number;
+  /**
+   * @uniqueItems true
+   */
+  host?: string[];
+  /**
+   * @uniqueItems true
+   */
+  method?: string[];
+  /**
+   * @example /api/v1
+   */
+  endpoint?: string;
+  /**
+   * @example desc
+   */
+  direction?: 'asc' | 'desc';
+  /**
+   * @example method
+   */
+  order?: 'host' | 'method' | 'endpoint' | 'traffic_stats.requests' | 'traffic_stats.last_updated';
+  diff?: boolean;
+  /**
+   * Filter results to only include discovery results sourced from a particular discovery engine
+   *   * `ML` - Discovered operations that were sourced using ML API Discovery
+   *   * `SessionIdentifier` - Discovered operations that were sourced using Session Identifier API Discovery
+   */
+  origin?: Schemas.ApiShieldApiDiscoveryOrigin;
+  /**
+   * Filter results to only include discovery results in a particular state. States are as follows
+   *   * `review` - Discovered operations that are not saved into API Shield Endpoint Management
+   *   * `saved` - Discovered operations that are already saved into API Shield Endpoint Management
+   *   * `ignored` - Discovered operations that have been marked as ignored
+   */
+  state?: Schemas.ApiShieldApiDiscoveryState;
+};
+
+export type ApiShieldApiDiscoveryRetrieveDiscoveredOperationsOnAZoneError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ApiShieldApiResponseCommonFailure;
+}>;
+
+export type ApiShieldApiDiscoveryRetrieveDiscoveredOperationsOnAZoneResponse =
+  Schemas.ApiShieldApiResponseCollection & {
+    result: Schemas.ApiShieldDiscoveryOperation[];
+  };
+
+export type ApiShieldApiDiscoveryRetrieveDiscoveredOperationsOnAZoneVariables = {
+  pathParams: ApiShieldApiDiscoveryRetrieveDiscoveredOperationsOnAZonePathParams;
+  queryParams?: ApiShieldApiDiscoveryRetrieveDiscoveredOperationsOnAZoneQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Retrieve the most up to date view of discovered operations
+ */
+export const apiShieldApiDiscoveryRetrieveDiscoveredOperationsOnAZone = (
+  variables: ApiShieldApiDiscoveryRetrieveDiscoveredOperationsOnAZoneVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    ApiShieldApiDiscoveryRetrieveDiscoveredOperationsOnAZoneResponse,
+    ApiShieldApiDiscoveryRetrieveDiscoveredOperationsOnAZoneError,
+    undefined,
+    {},
+    ApiShieldApiDiscoveryRetrieveDiscoveredOperationsOnAZoneQueryParams,
+    ApiShieldApiDiscoveryRetrieveDiscoveredOperationsOnAZonePathParams
+  >({ url: '/zones/{zoneId}/api_gateway/discovery/operations', method: 'get', ...variables, signal });
+
+export type ApiShieldApiPatchDiscoveredOperationsPathParams = {
+  zoneId: Schemas.ApiShieldSchemasIdentifier;
+};
+
+export type ApiShieldApiPatchDiscoveredOperationsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ApiShieldApiResponseCommonFailure;
+}>;
+
+export type ApiShieldApiPatchDiscoveredOperationsVariables = {
+  body?: Schemas.ApiShieldApiDiscoveryPatchMultipleRequest;
+  pathParams: ApiShieldApiPatchDiscoveredOperationsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update the `state` on one or more discovered operations
+ */
+export const apiShieldApiPatchDiscoveredOperations = (
+  variables: ApiShieldApiPatchDiscoveredOperationsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ApiShieldPatchDiscoveriesResponse,
+    ApiShieldApiPatchDiscoveredOperationsError,
+    Schemas.ApiShieldApiDiscoveryPatchMultipleRequest,
+    {},
+    {},
+    ApiShieldApiPatchDiscoveredOperationsPathParams
+  >({ url: '/zones/{zoneId}/api_gateway/discovery/operations', method: 'patch', ...variables, signal });
+
+export type ApiShieldApiPatchDiscoveredOperationPathParams = {
+  zoneId: Schemas.ApiShieldSchemasIdentifier;
+  /**
+   * Identifier for the discovered operation
+   */
+  operationId: Schemas.ApiShieldSchemasUuid;
+};
+
+export type ApiShieldApiPatchDiscoveredOperationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ApiShieldApiResponseCommonFailure;
+}>;
+
+export type ApiShieldApiPatchDiscoveredOperationRequestBody = {
+  /**
+   * Mark state of operation in API Discovery
+   *   * `review` - Mark operation as for review
+   *   * `ignored` - Mark operation as ignored
+   */
+  state?: Schemas.ApiShieldApiDiscoveryStatePatch;
+};
+
+export type ApiShieldApiPatchDiscoveredOperationVariables = {
+  body?: ApiShieldApiPatchDiscoveredOperationRequestBody;
+  pathParams: ApiShieldApiPatchDiscoveredOperationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update the `state` on a discovered operation
+ */
+export const apiShieldApiPatchDiscoveredOperation = (
+  variables: ApiShieldApiPatchDiscoveredOperationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ApiShieldPatchDiscoveryResponse,
+    ApiShieldApiPatchDiscoveredOperationError,
+    ApiShieldApiPatchDiscoveredOperationRequestBody,
+    {},
+    {},
+    ApiShieldApiPatchDiscoveredOperationPathParams
+  >({ url: '/zones/{zoneId}/api_gateway/discovery/operations/{operationId}', method: 'patch', ...variables, signal });
+
+export type ApiShieldExpressionTemplatesFallthroughPathParams = {
+  zoneId: Schemas.ApiShieldSchemasIdentifier;
+};
+
+export type ApiShieldExpressionTemplatesFallthroughError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ApiShieldApiResponseCommonFailure;
+}>;
+
+export type ApiShieldExpressionTemplatesFallthroughResponse = Schemas.ApiShieldApiResponseCommon & {
+  result: Schemas.ApiShieldResponseExpressionTemplatesFallthrough;
+};
+
+export type ApiShieldExpressionTemplatesFallthroughVariables = {
+  body: Schemas.ApiShieldRequestExpressionTemplatesFallthrough;
+  pathParams: ApiShieldExpressionTemplatesFallthroughPathParams;
+} & FetcherExtraProps;
+
+export const apiShieldExpressionTemplatesFallthrough = (
+  variables: ApiShieldExpressionTemplatesFallthroughVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    ApiShieldExpressionTemplatesFallthroughResponse,
+    ApiShieldExpressionTemplatesFallthroughError,
+    Schemas.ApiShieldRequestExpressionTemplatesFallthrough,
+    {},
+    {},
+    ApiShieldExpressionTemplatesFallthroughPathParams
+  >({ url: '/zones/{zoneId}/api_gateway/expression-template/fallthrough', method: 'post', ...variables, signal });
+
+export type ApiShieldEndpointManagementDeleteMultipleOperationsPathParams = {
+  zoneId: Schemas.ApiShieldSchemasIdentifier;
+};
+
+export type ApiShieldEndpointManagementDeleteMultipleOperationsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ApiShieldApiResponseCommonFailure;
+}>;
+
+export type ApiShieldEndpointManagementDeleteMultipleOperationsRequestBody = Schemas.ApiShieldObjectWithOperationId[];
+
+export type ApiShieldEndpointManagementDeleteMultipleOperationsVariables = {
+  body?: ApiShieldEndpointManagementDeleteMultipleOperationsRequestBody;
+  pathParams: ApiShieldEndpointManagementDeleteMultipleOperationsPathParams;
+} & FetcherExtraProps;
+
+export const apiShieldEndpointManagementDeleteMultipleOperations = (
+  variables: ApiShieldEndpointManagementDeleteMultipleOperationsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ApiShieldApiResponseCommon,
+    ApiShieldEndpointManagementDeleteMultipleOperationsError,
+    ApiShieldEndpointManagementDeleteMultipleOperationsRequestBody,
+    {},
+    {},
+    ApiShieldEndpointManagementDeleteMultipleOperationsPathParams
+  >({ url: '/zones/{zoneId}/api_gateway/operations', method: 'delete', ...variables, signal });
+
+export type ApiShieldEndpointManagementRetrieveInformationAboutAllOperationsOnAZonePathParams = {
+  zoneId: Schemas.ApiShieldSchemasIdentifier;
+};
+
+export type ApiShieldEndpointManagementRetrieveInformationAboutAllOperationsOnAZoneQueryParams = {
+  /**
+   * Page number of paginated results.
+   *
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * Maximum number of results per page.
+   *
+   * @default 20
+   * @maximum 50
+   * @minimum 5
+   */
+  per_page?: number;
+  /**
+   * @example method
+   */
+  order?: 'method' | 'host' | 'endpoint' | 'thresholds.$key';
+  /**
+   * @example desc
+   */
+  direction?: 'asc' | 'desc';
+  /**
+   * @uniqueItems true
+   */
+  host?: string[];
+  /**
+   * @uniqueItems true
+   */
+  method?: string[];
+  /**
+   * @example /api/v1
+   */
+  endpoint?: string;
+  /**
+   * Add feature(s) to the results. The feature name that is given here corresponds to the resulting feature object. Have a look at the top-level object description for more details on the specific meaning.
+   *
+   * @example thresholds
+   * @uniqueItems true
+   */
+  feature?: ('thresholds' | 'parameter_schemas' | 'schema_info')[];
+};
+
+export type ApiShieldEndpointManagementRetrieveInformationAboutAllOperationsOnAZoneError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ApiShieldApiResponseCommonFailure;
+}>;
+
+export type ApiShieldEndpointManagementRetrieveInformationAboutAllOperationsOnAZoneVariables = {
+  pathParams: ApiShieldEndpointManagementRetrieveInformationAboutAllOperationsOnAZonePathParams;
+  queryParams?: ApiShieldEndpointManagementRetrieveInformationAboutAllOperationsOnAZoneQueryParams;
+} & FetcherExtraProps;
+
+export const apiShieldEndpointManagementRetrieveInformationAboutAllOperationsOnAZone = (
+  variables: ApiShieldEndpointManagementRetrieveInformationAboutAllOperationsOnAZoneVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ApiShieldMultipleOperationResponsePaginated,
+    ApiShieldEndpointManagementRetrieveInformationAboutAllOperationsOnAZoneError,
+    undefined,
+    {},
+    ApiShieldEndpointManagementRetrieveInformationAboutAllOperationsOnAZoneQueryParams,
+    ApiShieldEndpointManagementRetrieveInformationAboutAllOperationsOnAZonePathParams
+  >({ url: '/zones/{zoneId}/api_gateway/operations', method: 'get', ...variables, signal });
+
+export type ApiShieldEndpointManagementAddOperationsToAZonePathParams = {
+  zoneId: Schemas.ApiShieldSchemasIdentifier;
+};
+
+export type ApiShieldEndpointManagementAddOperationsToAZoneError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ApiShieldApiResponseCommonFailure;
+}>;
+
+export type ApiShieldEndpointManagementAddOperationsToAZoneRequestBody = Schemas.ApiShieldBasicOperation[];
+
+export type ApiShieldEndpointManagementAddOperationsToAZoneVariables = {
+  body?: ApiShieldEndpointManagementAddOperationsToAZoneRequestBody;
+  pathParams: ApiShieldEndpointManagementAddOperationsToAZonePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Add one or more operations to a zone. Endpoints can contain path variables. Host, method, endpoint will be normalized to a canoncial form when creating an operation and must be unique on the zone. Inserting an operation that matches an existing one will return the record of the already existing operation and update its last_updated date.
+ */
+export const apiShieldEndpointManagementAddOperationsToAZone = (
+  variables: ApiShieldEndpointManagementAddOperationsToAZoneVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ApiShieldMultipleOperationResponse,
+    ApiShieldEndpointManagementAddOperationsToAZoneError,
+    ApiShieldEndpointManagementAddOperationsToAZoneRequestBody,
+    {},
+    {},
+    ApiShieldEndpointManagementAddOperationsToAZonePathParams
+  >({ url: '/zones/{zoneId}/api_gateway/operations', method: 'post', ...variables, signal });
+
+export type ApiShieldSchemaValidationUpdateMultipleOperationLevelSettingsPathParams = {
+  zoneId: Schemas.ApiShieldSchemasIdentifier;
+};
+
+export type ApiShieldSchemaValidationUpdateMultipleOperationLevelSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ApiShieldApiResponseCommonFailure;
+}>;
+
+export type ApiShieldSchemaValidationUpdateMultipleOperationLevelSettingsResponse =
+  Schemas.ApiShieldApiResponseCommon & {
+    result: Schemas.ApiShieldOperationSchemaValidationSettingsMultipleRequest;
+  };
+
+export type ApiShieldSchemaValidationUpdateMultipleOperationLevelSettingsVariables = {
+  body?: Schemas.ApiShieldOperationSchemaValidationSettingsMultipleRequest;
+  pathParams: ApiShieldSchemaValidationUpdateMultipleOperationLevelSettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates multiple operation-level schema validation settings on the zone
+ */
+export const apiShieldSchemaValidationUpdateMultipleOperationLevelSettings = (
+  variables: ApiShieldSchemaValidationUpdateMultipleOperationLevelSettingsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    ApiShieldSchemaValidationUpdateMultipleOperationLevelSettingsResponse,
+    ApiShieldSchemaValidationUpdateMultipleOperationLevelSettingsError,
+    Schemas.ApiShieldOperationSchemaValidationSettingsMultipleRequest,
+    {},
+    {},
+    ApiShieldSchemaValidationUpdateMultipleOperationLevelSettingsPathParams
+  >({ url: '/zones/{zoneId}/api_gateway/operations/schema_validation', method: 'patch', ...variables, signal });
+
+export type ApiShieldEndpointManagementDeleteAnOperationPathParams = {
+  zoneId: Schemas.ApiShieldSchemasIdentifier;
+  /**
+   * Identifier for the operation
+   */
+  operationId: Schemas.ApiShieldUuid;
+};
+
+export type ApiShieldEndpointManagementDeleteAnOperationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ApiShieldApiResponseCommonFailure;
+}>;
+
+export type ApiShieldEndpointManagementDeleteAnOperationVariables = {
+  pathParams: ApiShieldEndpointManagementDeleteAnOperationPathParams;
+} & FetcherExtraProps;
+
+export const apiShieldEndpointManagementDeleteAnOperation = (
+  variables: ApiShieldEndpointManagementDeleteAnOperationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ApiShieldApiResponseCommon,
+    ApiShieldEndpointManagementDeleteAnOperationError,
+    undefined,
+    {},
+    {},
+    ApiShieldEndpointManagementDeleteAnOperationPathParams
+  >({ url: '/zones/{zoneId}/api_gateway/operations/{operationId}', method: 'delete', ...variables, signal });
+
+export type ApiShieldEndpointManagementRetrieveInformationAboutAnOperationPathParams = {
+  zoneId: Schemas.ApiShieldSchemasIdentifier;
+  /**
+   * Identifier for the operation
+   */
+  operationId: Schemas.ApiShieldUuid;
+};
+
+export type ApiShieldEndpointManagementRetrieveInformationAboutAnOperationQueryParams = {
+  /**
+   * Add feature(s) to the results. The feature name that is given here corresponds to the resulting feature object. Have a look at the top-level object description for more details on the specific meaning.
+   *
+   * @example thresholds
+   * @uniqueItems true
+   */
+  feature?: ('thresholds' | 'parameter_schemas' | 'schema_info')[];
+};
+
+export type ApiShieldEndpointManagementRetrieveInformationAboutAnOperationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ApiShieldApiResponseCommonFailure;
+}>;
+
+export type ApiShieldEndpointManagementRetrieveInformationAboutAnOperationVariables = {
+  pathParams: ApiShieldEndpointManagementRetrieveInformationAboutAnOperationPathParams;
+  queryParams?: ApiShieldEndpointManagementRetrieveInformationAboutAnOperationQueryParams;
+} & FetcherExtraProps;
+
+export const apiShieldEndpointManagementRetrieveInformationAboutAnOperation = (
+  variables: ApiShieldEndpointManagementRetrieveInformationAboutAnOperationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ApiShieldSingleOperationResponse,
+    ApiShieldEndpointManagementRetrieveInformationAboutAnOperationError,
+    undefined,
+    {},
+    ApiShieldEndpointManagementRetrieveInformationAboutAnOperationQueryParams,
+    ApiShieldEndpointManagementRetrieveInformationAboutAnOperationPathParams
+  >({ url: '/zones/{zoneId}/api_gateway/operations/{operationId}', method: 'get', ...variables, signal });
+
+export type ApiShieldSchemaValidationRetrieveOperationLevelSettingsPathParams = {
+  zoneId: Schemas.ApiShieldSchemasIdentifier;
+  /**
+   * Identifier for the operation
+   */
+  operationId: Schemas.ApiShieldUuid;
+};
+
+export type ApiShieldSchemaValidationRetrieveOperationLevelSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ApiShieldApiResponseCommonFailure;
+}>;
+
+export type ApiShieldSchemaValidationRetrieveOperationLevelSettingsVariables = {
+  pathParams: ApiShieldSchemaValidationRetrieveOperationLevelSettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Retrieves operation-level schema validation settings on the zone
+ */
+export const apiShieldSchemaValidationRetrieveOperationLevelSettings = (
+  variables: ApiShieldSchemaValidationRetrieveOperationLevelSettingsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ApiShieldOperationSchemaValidationSettings,
+    ApiShieldSchemaValidationRetrieveOperationLevelSettingsError,
+    undefined,
+    {},
+    {},
+    ApiShieldSchemaValidationRetrieveOperationLevelSettingsPathParams
+  >({
+    url: '/zones/{zoneId}/api_gateway/operations/{operationId}/schema_validation',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type ApiShieldSchemaValidationUpdateOperationLevelSettingsPathParams = {
+  zoneId: Schemas.ApiShieldSchemasIdentifier;
+  /**
+   * Identifier for the operation
+   */
+  operationId: Schemas.ApiShieldUuid;
+};
+
+export type ApiShieldSchemaValidationUpdateOperationLevelSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ApiShieldApiResponseCommonFailure;
+}>;
+
+export type ApiShieldSchemaValidationUpdateOperationLevelSettingsVariables = {
+  body?: Schemas.ApiShieldOperationSchemaValidationSettings;
+  pathParams: ApiShieldSchemaValidationUpdateOperationLevelSettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates operation-level schema validation settings on the zone
+ */
+export const apiShieldSchemaValidationUpdateOperationLevelSettings = (
+  variables: ApiShieldSchemaValidationUpdateOperationLevelSettingsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ApiShieldOperationSchemaValidationSettings,
+    ApiShieldSchemaValidationUpdateOperationLevelSettingsError,
+    Schemas.ApiShieldOperationSchemaValidationSettings,
+    {},
+    {},
+    ApiShieldSchemaValidationUpdateOperationLevelSettingsPathParams
+  >({
+    url: '/zones/{zoneId}/api_gateway/operations/{operationId}/schema_validation',
+    method: 'put',
+    ...variables,
+    signal
+  });
+
+export type ApiShieldEndpointManagementRetrieveOperationsAndFeaturesAsOpenApiSchemasPathParams = {
+  zoneId: Schemas.ApiShieldSchemasIdentifier;
+};
+
+export type ApiShieldEndpointManagementRetrieveOperationsAndFeaturesAsOpenApiSchemasQueryParams = {
+  /**
+   * @uniqueItems true
+   */
+  host?: string[];
+  /**
+   * Add feature(s) to the results. The feature name that is given here corresponds to the resulting feature object. Have a look at the top-level object description for more details on the specific meaning.
+   *
+   * @example thresholds
+   * @uniqueItems true
+   */
+  feature?: ('thresholds' | 'parameter_schemas' | 'schema_info')[];
+};
+
+export type ApiShieldEndpointManagementRetrieveOperationsAndFeaturesAsOpenApiSchemasError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ApiShieldApiResponseCommonFailure;
+}>;
+
+export type ApiShieldEndpointManagementRetrieveOperationsAndFeaturesAsOpenApiSchemasVariables = {
+  pathParams: ApiShieldEndpointManagementRetrieveOperationsAndFeaturesAsOpenApiSchemasPathParams;
+  queryParams?: ApiShieldEndpointManagementRetrieveOperationsAndFeaturesAsOpenApiSchemasQueryParams;
+} & FetcherExtraProps;
+
+export const apiShieldEndpointManagementRetrieveOperationsAndFeaturesAsOpenApiSchemas = (
+  variables: ApiShieldEndpointManagementRetrieveOperationsAndFeaturesAsOpenApiSchemasVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ApiShieldSchemaResponseWithThresholds,
+    ApiShieldEndpointManagementRetrieveOperationsAndFeaturesAsOpenApiSchemasError,
+    undefined,
+    {},
+    ApiShieldEndpointManagementRetrieveOperationsAndFeaturesAsOpenApiSchemasQueryParams,
+    ApiShieldEndpointManagementRetrieveOperationsAndFeaturesAsOpenApiSchemasPathParams
+  >({ url: '/zones/{zoneId}/api_gateway/schemas', method: 'get', ...variables, signal });
+
+export type ApiShieldSchemaValidationRetrieveZoneLevelSettingsPathParams = {
+  zoneId: Schemas.ApiShieldSchemasIdentifier;
+};
+
+export type ApiShieldSchemaValidationRetrieveZoneLevelSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ApiShieldApiResponseCommonFailure;
+}>;
+
+export type ApiShieldSchemaValidationRetrieveZoneLevelSettingsVariables = {
+  pathParams: ApiShieldSchemaValidationRetrieveZoneLevelSettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Retrieves zone level schema validation settings currently set on the zone
+ */
+export const apiShieldSchemaValidationRetrieveZoneLevelSettings = (
+  variables: ApiShieldSchemaValidationRetrieveZoneLevelSettingsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ApiShieldZoneSchemaValidationSettings,
+    ApiShieldSchemaValidationRetrieveZoneLevelSettingsError,
+    undefined,
+    {},
+    {},
+    ApiShieldSchemaValidationRetrieveZoneLevelSettingsPathParams
+  >({ url: '/zones/{zoneId}/api_gateway/settings/schema_validation', method: 'get', ...variables, signal });
+
+export type ApiShieldSchemaValidationPatchZoneLevelSettingsPathParams = {
+  zoneId: Schemas.ApiShieldSchemasIdentifier;
+};
+
+export type ApiShieldSchemaValidationPatchZoneLevelSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ApiShieldApiResponseCommonFailure;
+}>;
+
+export type ApiShieldSchemaValidationPatchZoneLevelSettingsVariables = {
+  body?: Schemas.ApiShieldZoneSchemaValidationSettingsPatch;
+  pathParams: ApiShieldSchemaValidationPatchZoneLevelSettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates zone level schema validation settings on the zone
+ */
+export const apiShieldSchemaValidationPatchZoneLevelSettings = (
+  variables: ApiShieldSchemaValidationPatchZoneLevelSettingsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ApiShieldZoneSchemaValidationSettings,
+    ApiShieldSchemaValidationPatchZoneLevelSettingsError,
+    Schemas.ApiShieldZoneSchemaValidationSettingsPatch,
+    {},
+    {},
+    ApiShieldSchemaValidationPatchZoneLevelSettingsPathParams
+  >({ url: '/zones/{zoneId}/api_gateway/settings/schema_validation', method: 'patch', ...variables, signal });
+
+export type ApiShieldSchemaValidationUpdateZoneLevelSettingsPathParams = {
+  zoneId: Schemas.ApiShieldSchemasIdentifier;
+};
+
+export type ApiShieldSchemaValidationUpdateZoneLevelSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ApiShieldApiResponseCommonFailure;
+}>;
+
+export type ApiShieldSchemaValidationUpdateZoneLevelSettingsVariables = {
+  body: Schemas.ApiShieldZoneSchemaValidationSettingsPut;
+  pathParams: ApiShieldSchemaValidationUpdateZoneLevelSettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates zone level schema validation settings on the zone
+ */
+export const apiShieldSchemaValidationUpdateZoneLevelSettings = (
+  variables: ApiShieldSchemaValidationUpdateZoneLevelSettingsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ApiShieldZoneSchemaValidationSettings,
+    ApiShieldSchemaValidationUpdateZoneLevelSettingsError,
+    Schemas.ApiShieldZoneSchemaValidationSettingsPut,
+    {},
+    {},
+    ApiShieldSchemaValidationUpdateZoneLevelSettingsPathParams
+  >({ url: '/zones/{zoneId}/api_gateway/settings/schema_validation', method: 'put', ...variables, signal });
+
+export type ApiShieldSchemaValidationRetrieveInformationAboutAllSchemasPathParams = {
+  zoneId: Schemas.ApiShieldSchemasIdentifier;
+};
+
+export type ApiShieldSchemaValidationRetrieveInformationAboutAllSchemasQueryParams = {
+  /**
+   * Page number of paginated results.
+   *
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * Maximum number of results per page.
+   *
+   * @default 20
+   * @maximum 50
+   * @minimum 5
+   */
+  per_page?: number;
+  /**
+   * Omit the source-files of schemas and only retrieve their meta-data.
+   *
+   * @default false
+   */
+  omit_source?: boolean;
+  validation_enabled?: Schemas.ApiShieldValidationEnabled;
+};
+
+export type ApiShieldSchemaValidationRetrieveInformationAboutAllSchemasError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ApiShieldApiResponseCommonFailure;
+}>;
+
+export type ApiShieldSchemaValidationRetrieveInformationAboutAllSchemasResponse =
+  Schemas.ApiShieldApiResponseCollection & {
+    result: Schemas.ApiShieldPublicSchema[];
+  };
+
+export type ApiShieldSchemaValidationRetrieveInformationAboutAllSchemasVariables = {
+  pathParams: ApiShieldSchemaValidationRetrieveInformationAboutAllSchemasPathParams;
+  queryParams?: ApiShieldSchemaValidationRetrieveInformationAboutAllSchemasQueryParams;
+} & FetcherExtraProps;
+
+export const apiShieldSchemaValidationRetrieveInformationAboutAllSchemas = (
+  variables: ApiShieldSchemaValidationRetrieveInformationAboutAllSchemasVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    ApiShieldSchemaValidationRetrieveInformationAboutAllSchemasResponse,
+    ApiShieldSchemaValidationRetrieveInformationAboutAllSchemasError,
+    undefined,
+    {},
+    ApiShieldSchemaValidationRetrieveInformationAboutAllSchemasQueryParams,
+    ApiShieldSchemaValidationRetrieveInformationAboutAllSchemasPathParams
+  >({ url: '/zones/{zoneId}/api_gateway/user_schemas', method: 'get', ...variables, signal });
+
+export type ApiShieldSchemaValidationPostSchemaPathParams = {
+  zoneId: Schemas.ApiShieldSchemasIdentifier;
+};
+
+export type ApiShieldSchemaValidationPostSchemaError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ApiShieldSchemaUploadFailure;
+}>;
+
+export type ApiShieldSchemaValidationPostSchemaResponse = Schemas.ApiShieldApiResponseCommon & {
+  result: Schemas.ApiShieldSchemaUploadResponse;
+};
+
+export type ApiShieldSchemaValidationPostSchemaRequestBody = {
+  /**
+   * Schema file bytes
+   *
+   * @format binary
+   */
+  file: Blob;
+  kind: Schemas.ApiShieldKind;
+  /**
+   * Name of the schema
+   *
+   * @example petstore schema
+   */
+  name?: string;
+  /**
+   * Flag whether schema is enabled for validation.
+   */
+  validation_enabled?: 'true' | 'false';
+};
+
+export type ApiShieldSchemaValidationPostSchemaVariables = {
+  body: ApiShieldSchemaValidationPostSchemaRequestBody;
+  pathParams: ApiShieldSchemaValidationPostSchemaPathParams;
+} & FetcherExtraProps;
+
+export const apiShieldSchemaValidationPostSchema = (
+  variables: ApiShieldSchemaValidationPostSchemaVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    ApiShieldSchemaValidationPostSchemaResponse,
+    ApiShieldSchemaValidationPostSchemaError,
+    ApiShieldSchemaValidationPostSchemaRequestBody,
+    {},
+    {},
+    ApiShieldSchemaValidationPostSchemaPathParams
+  >({ url: '/zones/{zoneId}/api_gateway/user_schemas', method: 'post', ...variables, signal });
+
+export type ApiShieldSchemaValidationRetrieveUserSchemaHostsPathParams = {
+  zoneId: Schemas.ApiShieldSchemasIdentifier;
+};
+
+export type ApiShieldSchemaValidationRetrieveUserSchemaHostsQueryParams = {
+  /**
+   * Page number of paginated results.
+   *
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * Maximum number of results per page.
+   *
+   * @default 20
+   * @maximum 50
+   * @minimum 5
+   */
+  per_page?: number;
+};
+
+export type ApiShieldSchemaValidationRetrieveUserSchemaHostsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ApiShieldApiResponseCommonFailure;
+}>;
+
+export type ApiShieldSchemaValidationRetrieveUserSchemaHostsResponse = Schemas.ApiShieldApiResponseCollection & {
+  result?: Schemas.ApiShieldResponseUserSchemasHosts[];
+};
+
+export type ApiShieldSchemaValidationRetrieveUserSchemaHostsVariables = {
+  pathParams: ApiShieldSchemaValidationRetrieveUserSchemaHostsPathParams;
+  queryParams?: ApiShieldSchemaValidationRetrieveUserSchemaHostsQueryParams;
+} & FetcherExtraProps;
+
+export const apiShieldSchemaValidationRetrieveUserSchemaHosts = (
+  variables: ApiShieldSchemaValidationRetrieveUserSchemaHostsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    ApiShieldSchemaValidationRetrieveUserSchemaHostsResponse,
+    ApiShieldSchemaValidationRetrieveUserSchemaHostsError,
+    undefined,
+    {},
+    ApiShieldSchemaValidationRetrieveUserSchemaHostsQueryParams,
+    ApiShieldSchemaValidationRetrieveUserSchemaHostsPathParams
+  >({ url: '/zones/{zoneId}/api_gateway/user_schemas/hosts', method: 'get', ...variables, signal });
+
+export type ApiShieldSchemaDeleteASchemaPathParams = {
+  zoneId: Schemas.ApiShieldSchemasIdentifier;
+  /**
+   * Identifier for the schema-ID
+   *
+   * @format uuid
+   * @maxLength 36
+   */
+  schemaId: string;
+};
+
+export type ApiShieldSchemaDeleteASchemaError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ApiShieldApiResponseCommonFailure;
+}>;
+
+export type ApiShieldSchemaDeleteASchemaVariables = {
+  pathParams: ApiShieldSchemaDeleteASchemaPathParams;
+} & FetcherExtraProps;
+
+export const apiShieldSchemaDeleteASchema = (variables: ApiShieldSchemaDeleteASchemaVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.ApiShieldApiResponseSingle,
+    ApiShieldSchemaDeleteASchemaError,
+    undefined,
+    {},
+    {},
+    ApiShieldSchemaDeleteASchemaPathParams
+  >({ url: '/zones/{zoneId}/api_gateway/user_schemas/{schemaId}', method: 'delete', ...variables, signal });
+
+export type ApiShieldSchemaValidationRetrieveInformationAboutSpecificSchemaPathParams = {
+  zoneId: Schemas.ApiShieldSchemasIdentifier;
+  /**
+   * Identifier for the schema-ID
+   *
+   * @format uuid
+   * @maxLength 36
+   */
+  schemaId: string;
+};
+
+export type ApiShieldSchemaValidationRetrieveInformationAboutSpecificSchemaQueryParams = {
+  /**
+   * Omit the source-files of schemas and only retrieve their meta-data.
+   *
+   * @default false
+   */
+  omit_source?: boolean;
+};
+
+export type ApiShieldSchemaValidationRetrieveInformationAboutSpecificSchemaError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ApiShieldApiResponseCommonFailure;
+}>;
+
+export type ApiShieldSchemaValidationRetrieveInformationAboutSpecificSchemaResponse =
+  Schemas.ApiShieldApiResponseCommon & {
+    result: Schemas.ApiShieldPublicSchema;
+  };
+
+export type ApiShieldSchemaValidationRetrieveInformationAboutSpecificSchemaVariables = {
+  pathParams: ApiShieldSchemaValidationRetrieveInformationAboutSpecificSchemaPathParams;
+  queryParams?: ApiShieldSchemaValidationRetrieveInformationAboutSpecificSchemaQueryParams;
+} & FetcherExtraProps;
+
+export const apiShieldSchemaValidationRetrieveInformationAboutSpecificSchema = (
+  variables: ApiShieldSchemaValidationRetrieveInformationAboutSpecificSchemaVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    ApiShieldSchemaValidationRetrieveInformationAboutSpecificSchemaResponse,
+    ApiShieldSchemaValidationRetrieveInformationAboutSpecificSchemaError,
+    undefined,
+    {},
+    ApiShieldSchemaValidationRetrieveInformationAboutSpecificSchemaQueryParams,
+    ApiShieldSchemaValidationRetrieveInformationAboutSpecificSchemaPathParams
+  >({ url: '/zones/{zoneId}/api_gateway/user_schemas/{schemaId}', method: 'get', ...variables, signal });
+
+export type ApiShieldSchemaValidationEnableValidationForASchemaPathParams = {
+  zoneId: Schemas.ApiShieldSchemasIdentifier;
+  /**
+   * Identifier for the schema-ID
+   *
+   * @format uuid
+   * @maxLength 36
+   */
+  schemaId: string;
+};
+
+export type ApiShieldSchemaValidationEnableValidationForASchemaError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ApiShieldApiResponseCommonFailure;
+}>;
+
+export type ApiShieldSchemaValidationEnableValidationForASchemaResponse = Schemas.ApiShieldApiResponseCommon & {
+  result: Schemas.ApiShieldPublicSchema;
+};
+
+export type ApiShieldSchemaValidationEnableValidationForASchemaRequestBody = {
+  /**
+   * Flag whether schema is enabled for validation.
+   */
+  validation_enabled?: Schemas.ApiShieldValidationEnabled & true;
+};
+
+export type ApiShieldSchemaValidationEnableValidationForASchemaVariables = {
+  body?: ApiShieldSchemaValidationEnableValidationForASchemaRequestBody;
+  pathParams: ApiShieldSchemaValidationEnableValidationForASchemaPathParams;
+} & FetcherExtraProps;
+
+export const apiShieldSchemaValidationEnableValidationForASchema = (
+  variables: ApiShieldSchemaValidationEnableValidationForASchemaVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    ApiShieldSchemaValidationEnableValidationForASchemaResponse,
+    ApiShieldSchemaValidationEnableValidationForASchemaError,
+    ApiShieldSchemaValidationEnableValidationForASchemaRequestBody,
+    {},
+    {},
+    ApiShieldSchemaValidationEnableValidationForASchemaPathParams
+  >({ url: '/zones/{zoneId}/api_gateway/user_schemas/{schemaId}', method: 'patch', ...variables, signal });
+
+export type ApiShieldSchemaValidationExtractOperationsFromSchemaPathParams = {
+  /**
+   * Identifier for the schema-ID
+   *
+   * @format uuid
+   * @maxLength 36
+   */
+  schemaId: string;
+  zoneId: Schemas.ApiShieldSchemasIdentifier;
+};
+
+export type ApiShieldSchemaValidationExtractOperationsFromSchemaQueryParams = {
+  /**
+   * Add feature(s) to the results. The feature name that is given here corresponds to the resulting feature object. Have a look at the top-level object description for more details on the specific meaning.
+   *
+   * @example thresholds
+   * @uniqueItems true
+   */
+  feature?: ('thresholds' | 'parameter_schemas' | 'schema_info')[];
+  /**
+   * @uniqueItems true
+   */
+  host?: string[];
+  /**
+   * @uniqueItems true
+   */
+  method?: string[];
+  /**
+   * @example /api/v1
+   */
+  endpoint?: string;
+  /**
+   * Page number of paginated results.
+   *
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * Maximum number of results per page.
+   *
+   * @default 20
+   * @maximum 50
+   * @minimum 5
+   */
+  per_page?: number;
+  /**
+   * Filter results by whether operations exist in API Shield Endpoint Management or not. `new` will just return operations from the schema that do not exist in API Shield Endpoint Management. `existing` will just return operations from the schema that already exist in API Shield Endpoint Management.
+   *
+   * @example new
+   */
+  operation_status?: 'new' | 'existing';
+};
+
+export type ApiShieldSchemaValidationExtractOperationsFromSchemaError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ApiShieldApiResponseCommonFailure;
+}>;
+
+export type ApiShieldSchemaValidationExtractOperationsFromSchemaResponse = Schemas.ApiShieldApiResponseCollection & {
+  result: (Schemas.ApiShieldOperation | Schemas.ApiShieldBasicOperation)[];
+};
+
+export type ApiShieldSchemaValidationExtractOperationsFromSchemaVariables = {
+  pathParams: ApiShieldSchemaValidationExtractOperationsFromSchemaPathParams;
+  queryParams?: ApiShieldSchemaValidationExtractOperationsFromSchemaQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Retrieves all operations from the schema. Operations that already exist in API Shield Endpoint Management will be returned as full operations.
+ */
+export const apiShieldSchemaValidationExtractOperationsFromSchema = (
+  variables: ApiShieldSchemaValidationExtractOperationsFromSchemaVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    ApiShieldSchemaValidationExtractOperationsFromSchemaResponse,
+    ApiShieldSchemaValidationExtractOperationsFromSchemaError,
+    undefined,
+    {},
+    ApiShieldSchemaValidationExtractOperationsFromSchemaQueryParams,
+    ApiShieldSchemaValidationExtractOperationsFromSchemaPathParams
+  >({ url: '/zones/{zoneId}/api_gateway/user_schemas/{schemaId}/operations', method: 'get', ...variables, signal });
+
+export type ArgoSmartRoutingGetArgoSmartRoutingSettingPathParams = {
+  zoneId: Schemas.ArgoConfigIdentifier;
+};
+
+export type ArgoSmartRoutingGetArgoSmartRoutingSettingError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ArgoConfigResponseSingle & Schemas.ArgoConfigApiResponseCommonFailure;
+}>;
+
+export type ArgoSmartRoutingGetArgoSmartRoutingSettingVariables = {
+  pathParams: ArgoSmartRoutingGetArgoSmartRoutingSettingPathParams;
+} & FetcherExtraProps;
+
+export const argoSmartRoutingGetArgoSmartRoutingSetting = (
+  variables: ArgoSmartRoutingGetArgoSmartRoutingSettingVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ArgoConfigResponseSingle,
+    ArgoSmartRoutingGetArgoSmartRoutingSettingError,
+    undefined,
+    {},
+    {},
+    ArgoSmartRoutingGetArgoSmartRoutingSettingPathParams
+  >({ url: '/zones/{zoneId}/argo/smart_routing', method: 'get', ...variables, signal });
+
+export type ArgoSmartRoutingPatchArgoSmartRoutingSettingPathParams = {
+  zoneId: Schemas.ArgoConfigIdentifier;
+};
+
+export type ArgoSmartRoutingPatchArgoSmartRoutingSettingError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ArgoConfigResponseSingle & Schemas.ArgoConfigApiResponseCommonFailure;
+}>;
+
+export type ArgoSmartRoutingPatchArgoSmartRoutingSettingVariables = {
+  body: Schemas.ArgoConfigPatch;
+  pathParams: ArgoSmartRoutingPatchArgoSmartRoutingSettingPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates enablement of Argo Smart Routing.
+ */
+export const argoSmartRoutingPatchArgoSmartRoutingSetting = (
+  variables: ArgoSmartRoutingPatchArgoSmartRoutingSettingVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ArgoConfigResponseSingle,
+    ArgoSmartRoutingPatchArgoSmartRoutingSettingError,
+    Schemas.ArgoConfigPatch,
+    {},
+    {},
+    ArgoSmartRoutingPatchArgoSmartRoutingSettingPathParams
+  >({ url: '/zones/{zoneId}/argo/smart_routing', method: 'patch', ...variables, signal });
+
+export type TieredCachingGetTieredCachingSettingPathParams = {
+  zoneId: Schemas.CacheRulesIdentifier;
+};
+
+export type TieredCachingGetTieredCachingSettingError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CacheRulesResponseSingle & Schemas.CacheRulesApiResponseCommonFailure;
+}>;
+
+export type TieredCachingGetTieredCachingSettingVariables = {
+  pathParams: TieredCachingGetTieredCachingSettingPathParams;
+} & FetcherExtraProps;
+
+export const tieredCachingGetTieredCachingSetting = (
+  variables: TieredCachingGetTieredCachingSettingVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.CacheRulesResponseSingle,
+    TieredCachingGetTieredCachingSettingError,
+    undefined,
+    {},
+    {},
+    TieredCachingGetTieredCachingSettingPathParams
+  >({ url: '/zones/{zoneId}/argo/tiered_caching', method: 'get', ...variables, signal });
+
+export type TieredCachingPatchTieredCachingSettingPathParams = {
+  zoneId: Schemas.CacheRulesIdentifier;
+};
+
+export type TieredCachingPatchTieredCachingSettingError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CacheRulesResponseSingle & Schemas.CacheRulesApiResponseCommonFailure;
+}>;
+
+export type TieredCachingPatchTieredCachingSettingVariables = {
+  body: Schemas.CacheRulesPatch;
+  pathParams: TieredCachingPatchTieredCachingSettingPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates enablement of Tiered Caching
+ */
+export const tieredCachingPatchTieredCachingSetting = (
+  variables: TieredCachingPatchTieredCachingSettingVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.CacheRulesResponseSingle,
+    TieredCachingPatchTieredCachingSettingError,
+    Schemas.CacheRulesPatch,
+    {},
+    {},
+    TieredCachingPatchTieredCachingSettingPathParams
+  >({ url: '/zones/{zoneId}/argo/tiered_caching', method: 'patch', ...variables, signal });
+
+export type ZoneRatePlanListAvailablePlansPathParams = {
+  zoneId: Schemas.BillSubsApiIdentifier;
+};
+
+export type ZoneRatePlanListAvailablePlansError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.BillSubsApiApiResponseCollection & {
+    result?: Schemas.BillSubsApiAvailableRatePlan[];
+  }) &
+    Schemas.BillSubsApiApiResponseCommonFailure;
+}>;
+
+export type ZoneRatePlanListAvailablePlansResponse = Schemas.BillSubsApiApiResponseCollection & {
+  result?: Schemas.BillSubsApiAvailableRatePlan[];
+};
+
+export type ZoneRatePlanListAvailablePlansVariables = {
+  pathParams: ZoneRatePlanListAvailablePlansPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists available plans the zone can subscribe to.
+ */
+export const zoneRatePlanListAvailablePlans = (
+  variables: ZoneRatePlanListAvailablePlansVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    ZoneRatePlanListAvailablePlansResponse,
+    ZoneRatePlanListAvailablePlansError,
+    undefined,
+    {},
+    {},
+    ZoneRatePlanListAvailablePlansPathParams
+  >({ url: '/zones/{zoneId}/available_plans', method: 'get', ...variables, signal });
+
+export type ZoneRatePlanAvailablePlanDetailsPathParams = {
+  planIdentifier: Schemas.BillSubsApiIdentifier;
+  zoneId: Schemas.BillSubsApiIdentifier;
+};
+
+export type ZoneRatePlanAvailablePlanDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.BillSubsApiApiResponseSingle & {
+    result?: Schemas.BillSubsApiAvailableRatePlan;
+  }) &
+    Schemas.BillSubsApiApiResponseCommonFailure;
+}>;
+
+export type ZoneRatePlanAvailablePlanDetailsResponse = Schemas.BillSubsApiApiResponseSingle & {
+  result?: Schemas.BillSubsApiAvailableRatePlan;
+};
+
+export type ZoneRatePlanAvailablePlanDetailsVariables = {
+  pathParams: ZoneRatePlanAvailablePlanDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Details of the available plan that the zone can subscribe to.
+ */
+export const zoneRatePlanAvailablePlanDetails = (
+  variables: ZoneRatePlanAvailablePlanDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    ZoneRatePlanAvailablePlanDetailsResponse,
+    ZoneRatePlanAvailablePlanDetailsError,
+    undefined,
+    {},
+    {},
+    ZoneRatePlanAvailablePlanDetailsPathParams
+  >({ url: '/zones/{zoneId}/available_plans/{planIdentifier}', method: 'get', ...variables, signal });
+
+export type ZoneRatePlanListAvailableRatePlansPathParams = {
+  zoneId: Schemas.BillSubsApiIdentifier;
+};
+
+export type ZoneRatePlanListAvailableRatePlansError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.BillSubsApiPlanResponseCollection & Schemas.BillSubsApiApiResponseCommonFailure;
+}>;
+
+export type ZoneRatePlanListAvailableRatePlansVariables = {
+  pathParams: ZoneRatePlanListAvailableRatePlansPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists all rate plans the zone can subscribe to.
+ */
+export const zoneRatePlanListAvailableRatePlans = (
+  variables: ZoneRatePlanListAvailableRatePlansVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.BillSubsApiPlanResponseCollection,
+    ZoneRatePlanListAvailableRatePlansError,
+    undefined,
+    {},
+    {},
+    ZoneRatePlanListAvailableRatePlansPathParams
+  >({ url: '/zones/{zoneId}/available_rate_plans', method: 'get', ...variables, signal });
+
+export type BotManagementForAZoneGetConfigPathParams = {
+  zoneId: Schemas.BotManagementIdentifier;
+};
+
+export type BotManagementForAZoneGetConfigError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.BotManagementBotManagementResponseBody & Schemas.BotManagementApiResponseCommonFailure;
+}>;
+
+export type BotManagementForAZoneGetConfigVariables = {
+  pathParams: BotManagementForAZoneGetConfigPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Retrieve a zone's Bot Management Config
+ */
+export const botManagementForAZoneGetConfig = (
+  variables: BotManagementForAZoneGetConfigVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.BotManagementBotManagementResponseBody,
+    BotManagementForAZoneGetConfigError,
+    undefined,
+    {},
+    {},
+    BotManagementForAZoneGetConfigPathParams
+  >({ url: '/zones/{zoneId}/bot_management', method: 'get', ...variables, signal });
+
+export type BotManagementForAZoneUpdateConfigPathParams = {
+  zoneId: Schemas.BotManagementIdentifier;
+};
+
+export type BotManagementForAZoneUpdateConfigError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.BotManagementBotManagementResponseBody & Schemas.BotManagementApiResponseCommonFailure;
+}>;
+
+export type BotManagementForAZoneUpdateConfigVariables = {
+  body?: Schemas.BotManagementConfigSingle;
+  pathParams: BotManagementForAZoneUpdateConfigPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates the Bot Management configuration for a zone.
+ *
+ * This API is used to update:
+ * - **Bot Fight Mode**
+ * - **Super Bot Fight Mode**
+ * - **Bot Management for Enterprise**
+ *
+ * See [Bot Plans](https://developers.cloudflare.com/bots/plans/) for more information on the different plans
+ * \
+ * If you recently upgraded or downgraded your plan, refer to the following examples to clean up old configurations.
+ * Copy and paste the example body to remove old zone configurations based on your current plan.
+ * #### Clean up configuration for Bot Fight Mode plan
+ * ```json
+ * {
+ *   "sbfm_likely_automated": "allow",
+ *   "sbfm_definitely_automated": "allow",
+ *   "sbfm_verified_bots": "allow",
+ *   "sbfm_static_resource_protection": false,
+ *   "optimize_wordpress": false,
+ *   "suppress_session_score": false
+ * }
+ * ```
+ * #### Clean up configuration for SBFM Pro plan
+ * ```json
+ * {
+ *   "sbfm_likely_automated": "allow",
+ *   "fight_mode": false
+ * }
+ * ```
+ * #### Clean up configuration for SBFM Biz plan
+ * ```json
+ * {
+ *   "fight_mode": false
+ * }
+ * ```
+ * #### Clean up configuration for BM Enterprise Subscription plan
+ * It is strongly recommended that you ensure you have [custom rules](https://developers.cloudflare.com/waf/custom-rules/) in place to protect your zone before disabling the SBFM rules. Without these protections, your zone is vulnerable to attacks.
+ * ```json
+ * {
+ *   "sbfm_likely_automated": "allow",
+ *   "sbfm_definitely_automated": "allow",
+ *   "sbfm_verified_bots": "allow",
+ *   "sbfm_static_resource_protection": false,
+ *   "optimize_wordpress": false,
+ *   "fight_mode": false
+ * }
+ * ```
+ */
+export const botManagementForAZoneUpdateConfig = (
+  variables: BotManagementForAZoneUpdateConfigVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.BotManagementBotManagementResponseBody,
+    BotManagementForAZoneUpdateConfigError,
+    Schemas.BotManagementConfigSingle,
+    {},
+    {},
+    BotManagementForAZoneUpdateConfigPathParams
+  >({ url: '/zones/{zoneId}/bot_management', method: 'put', ...variables, signal });
+
+export type ZoneCacheSettingsGetCacheReserveSettingPathParams = {
+  zoneId: Schemas.CacheRulesIdentifier;
+};
+
+export type ZoneCacheSettingsGetCacheReserveSettingError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.CacheRulesZoneCacheSettingsResponseSingle & Schemas.CacheRulesCacheReserveResponseValue) &
+    Schemas.CacheRulesApiResponseCommonFailure;
+}>;
+
+export type ZoneCacheSettingsGetCacheReserveSettingResponse = Schemas.CacheRulesZoneCacheSettingsResponseSingle &
+  Schemas.CacheRulesCacheReserveResponseValue;
+
+export type ZoneCacheSettingsGetCacheReserveSettingVariables = {
+  pathParams: ZoneCacheSettingsGetCacheReserveSettingPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Increase cache lifetimes by automatically storing all cacheable files into Cloudflare's persistent object storage buckets. Requires Cache Reserve subscription. Note: using Tiered Cache with Cache Reserve is highly recommended to reduce Reserve operations costs. See the [developer docs](https://developers.cloudflare.com/cache/about/cache-reserve) for more information.
+ */
+export const zoneCacheSettingsGetCacheReserveSetting = (
+  variables: ZoneCacheSettingsGetCacheReserveSettingVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    ZoneCacheSettingsGetCacheReserveSettingResponse,
+    ZoneCacheSettingsGetCacheReserveSettingError,
+    undefined,
+    {},
+    {},
+    ZoneCacheSettingsGetCacheReserveSettingPathParams
+  >({ url: '/zones/{zoneId}/cache/cache_reserve', method: 'get', ...variables, signal });
+
+export type ZoneCacheSettingsChangeCacheReserveSettingPathParams = {
+  zoneId: Schemas.CacheRulesIdentifier;
+};
+
+export type ZoneCacheSettingsChangeCacheReserveSettingError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.CacheRulesZoneCacheSettingsResponseSingle & Schemas.CacheRulesCacheReserveResponseValue) &
+    Schemas.CacheRulesApiResponseCommonFailure;
+}>;
+
+export type ZoneCacheSettingsChangeCacheReserveSettingResponse = Schemas.CacheRulesZoneCacheSettingsResponseSingle &
+  Schemas.CacheRulesCacheReserveResponseValue;
+
+export type ZoneCacheSettingsChangeCacheReserveSettingRequestBody = {
+  value: Schemas.CacheRulesCacheReserveValue;
+};
+
+export type ZoneCacheSettingsChangeCacheReserveSettingVariables = {
+  body: ZoneCacheSettingsChangeCacheReserveSettingRequestBody;
+  pathParams: ZoneCacheSettingsChangeCacheReserveSettingPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Increase cache lifetimes by automatically storing all cacheable files into Cloudflare's persistent object storage buckets. Requires Cache Reserve subscription. Note: using Tiered Cache with Cache Reserve is highly recommended to reduce Reserve operations costs. See the [developer docs](https://developers.cloudflare.com/cache/about/cache-reserve) for more information.
+ */
+export const zoneCacheSettingsChangeCacheReserveSetting = (
+  variables: ZoneCacheSettingsChangeCacheReserveSettingVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    ZoneCacheSettingsChangeCacheReserveSettingResponse,
+    ZoneCacheSettingsChangeCacheReserveSettingError,
+    ZoneCacheSettingsChangeCacheReserveSettingRequestBody,
+    {},
+    {},
+    ZoneCacheSettingsChangeCacheReserveSettingPathParams
+  >({ url: '/zones/{zoneId}/cache/cache_reserve', method: 'patch', ...variables, signal });
+
+export type ZoneCacheSettingsGetCacheReserveClearPathParams = {
+  zoneId: Schemas.CacheRulesIdentifier;
+};
+
+export type ZoneCacheSettingsGetCacheReserveClearError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.CacheRulesZoneCacheSettingsResponseSingle & Schemas.CacheRulesCacheReserveClearResponseValue) &
+    Schemas.CacheRulesApiResponseCommonFailure;
+}>;
+
+export type ZoneCacheSettingsGetCacheReserveClearResponse = Schemas.CacheRulesZoneCacheSettingsResponseSingle &
+  Schemas.CacheRulesCacheReserveClearResponseValue;
+
+export type ZoneCacheSettingsGetCacheReserveClearVariables = {
+  pathParams: ZoneCacheSettingsGetCacheReserveClearPathParams;
+} & FetcherExtraProps;
+
+/**
+ * You can use Cache Reserve Clear to clear your Cache Reserve, but you must first disable Cache Reserve. In most cases, this will be accomplished within 24 hours. You cannot re-enable Cache Reserve while this process is ongoing. Keep in mind that you cannot undo or cancel this operation.
+ */
+export const zoneCacheSettingsGetCacheReserveClear = (
+  variables: ZoneCacheSettingsGetCacheReserveClearVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    ZoneCacheSettingsGetCacheReserveClearResponse,
+    ZoneCacheSettingsGetCacheReserveClearError,
+    undefined,
+    {},
+    {},
+    ZoneCacheSettingsGetCacheReserveClearPathParams
+  >({ url: '/zones/{zoneId}/cache/cache_reserve_clear', method: 'get', ...variables, signal });
+
+export type ZoneCacheSettingsStartCacheReserveClearPathParams = {
+  zoneId: Schemas.CacheRulesIdentifier;
+};
+
+export type ZoneCacheSettingsStartCacheReserveClearError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.CacheRulesZoneCacheSettingsResponseSingle & Schemas.CacheRulesCacheReserveClearResponseValue) &
+    Schemas.CacheRulesApiResponseCommonFailure;
+}>;
+
+export type ZoneCacheSettingsStartCacheReserveClearResponse = Schemas.CacheRulesZoneCacheSettingsResponseSingle &
+  Schemas.CacheRulesCacheReserveClearResponseValue;
+
+export type ZoneCacheSettingsStartCacheReserveClearVariables = {
+  pathParams: ZoneCacheSettingsStartCacheReserveClearPathParams;
+} & FetcherExtraProps;
+
+/**
+ * You can use Cache Reserve Clear to clear your Cache Reserve, but you must first disable Cache Reserve. In most cases, this will be accomplished within 24 hours. You cannot re-enable Cache Reserve while this process is ongoing. Keep in mind that you cannot undo or cancel this operation.
+ */
+export const zoneCacheSettingsStartCacheReserveClear = (
+  variables: ZoneCacheSettingsStartCacheReserveClearVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    ZoneCacheSettingsStartCacheReserveClearResponse,
+    ZoneCacheSettingsStartCacheReserveClearError,
+    undefined,
+    {},
+    {},
+    ZoneCacheSettingsStartCacheReserveClearPathParams
+  >({ url: '/zones/{zoneId}/cache/cache_reserve_clear', method: 'post', ...variables, signal });
+
+export type ZoneCacheSettingsGetOriginPostQuantumEncryptionSettingPathParams = {
+  zoneId: Schemas.CacheRulesIdentifier;
+};
+
+export type ZoneCacheSettingsGetOriginPostQuantumEncryptionSettingError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CacheRulesOriginPostQuantumEncryptionValue & Schemas.CacheRulesApiResponseCommonFailure;
+}>;
+
+export type ZoneCacheSettingsGetOriginPostQuantumEncryptionSettingResponse =
+  Schemas.CacheRulesZoneCacheSettingsResponseSingle & Schemas.CacheRulesOriginPostQuantumEncryptionValue;
+
+export type ZoneCacheSettingsGetOriginPostQuantumEncryptionSettingVariables = {
+  pathParams: ZoneCacheSettingsGetOriginPostQuantumEncryptionSettingPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Instructs Cloudflare to use Post-Quantum (PQ) key agreement algorithms when connecting to your origin. Preferred instructs Cloudflare to opportunistically send a Post-Quantum keyshare in the first message to the origin (for fastest connections when the origin supports and prefers PQ), supported means that PQ algorithms are advertised but only used when requested by the origin, and off means that PQ algorithms are not advertised
+ */
+export const zoneCacheSettingsGetOriginPostQuantumEncryptionSetting = (
+  variables: ZoneCacheSettingsGetOriginPostQuantumEncryptionSettingVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    ZoneCacheSettingsGetOriginPostQuantumEncryptionSettingResponse,
+    ZoneCacheSettingsGetOriginPostQuantumEncryptionSettingError,
+    undefined,
+    {},
+    {},
+    ZoneCacheSettingsGetOriginPostQuantumEncryptionSettingPathParams
+  >({ url: '/zones/{zoneId}/cache/origin_post_quantum_encryption', method: 'get', ...variables, signal });
+
+export type ZoneCacheSettingsChangeOriginPostQuantumEncryptionSettingPathParams = {
+  zoneId: Schemas.CacheRulesIdentifier;
+};
+
+export type ZoneCacheSettingsChangeOriginPostQuantumEncryptionSettingError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CacheRulesOriginPostQuantumEncryptionValue & Schemas.CacheRulesApiResponseCommonFailure;
+}>;
+
+export type ZoneCacheSettingsChangeOriginPostQuantumEncryptionSettingResponse =
+  Schemas.CacheRulesZoneCacheSettingsResponseSingle & Schemas.CacheRulesOriginPostQuantumEncryptionValue;
+
+export type ZoneCacheSettingsChangeOriginPostQuantumEncryptionSettingRequestBody = {
+  value: Schemas.CacheRulesOriginPostQuantumEncryptionValue;
+};
+
+export type ZoneCacheSettingsChangeOriginPostQuantumEncryptionSettingVariables = {
+  body: ZoneCacheSettingsChangeOriginPostQuantumEncryptionSettingRequestBody;
+  pathParams: ZoneCacheSettingsChangeOriginPostQuantumEncryptionSettingPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Instructs Cloudflare to use Post-Quantum (PQ) key agreement algorithms when connecting to your origin. Preferred instructs Cloudflare to opportunistically send a Post-Quantum keyshare in the first message to the origin (for fastest connections when the origin supports and prefers PQ), supported means that PQ algorithms are advertised but only used when requested by the origin, and off means that PQ algorithms are not advertised
+ */
+export const zoneCacheSettingsChangeOriginPostQuantumEncryptionSetting = (
+  variables: ZoneCacheSettingsChangeOriginPostQuantumEncryptionSettingVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    ZoneCacheSettingsChangeOriginPostQuantumEncryptionSettingResponse,
+    ZoneCacheSettingsChangeOriginPostQuantumEncryptionSettingError,
+    ZoneCacheSettingsChangeOriginPostQuantumEncryptionSettingRequestBody,
+    {},
+    {},
+    ZoneCacheSettingsChangeOriginPostQuantumEncryptionSettingPathParams
+  >({ url: '/zones/{zoneId}/cache/origin_post_quantum_encryption', method: 'put', ...variables, signal });
+
+export type ZoneCacheSettingsGetRegionalTieredCacheSettingPathParams = {
+  zoneId: Schemas.CacheRulesIdentifier;
+};
+
+export type ZoneCacheSettingsGetRegionalTieredCacheSettingError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.CacheRulesZoneCacheSettingsResponseSingle & Schemas.CacheRulesRegionalTieredCacheResponseValue) &
+    Schemas.CacheRulesApiResponseCommonFailure;
+}>;
+
+export type ZoneCacheSettingsGetRegionalTieredCacheSettingResponse = Schemas.CacheRulesZoneCacheSettingsResponseSingle &
+  Schemas.CacheRulesRegionalTieredCacheResponseValue;
+
+export type ZoneCacheSettingsGetRegionalTieredCacheSettingVariables = {
+  pathParams: ZoneCacheSettingsGetRegionalTieredCacheSettingPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Instructs Cloudflare to check a regional hub data center on the way to your upper tier. This can help improve performance for smart and custom tiered cache topologies.
+ */
+export const zoneCacheSettingsGetRegionalTieredCacheSetting = (
+  variables: ZoneCacheSettingsGetRegionalTieredCacheSettingVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    ZoneCacheSettingsGetRegionalTieredCacheSettingResponse,
+    ZoneCacheSettingsGetRegionalTieredCacheSettingError,
+    undefined,
+    {},
+    {},
+    ZoneCacheSettingsGetRegionalTieredCacheSettingPathParams
+  >({ url: '/zones/{zoneId}/cache/regional_tiered_cache', method: 'get', ...variables, signal });
+
+export type ZoneCacheSettingsChangeRegionalTieredCacheSettingPathParams = {
+  zoneId: Schemas.CacheRulesIdentifier;
+};
+
+export type ZoneCacheSettingsChangeRegionalTieredCacheSettingError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.CacheRulesZoneCacheSettingsResponseSingle & Schemas.CacheRulesRegionalTieredCacheResponseValue) &
+    Schemas.CacheRulesApiResponseCommonFailure;
+}>;
+
+export type ZoneCacheSettingsChangeRegionalTieredCacheSettingResponse =
+  Schemas.CacheRulesZoneCacheSettingsResponseSingle & Schemas.CacheRulesRegionalTieredCacheResponseValue;
+
+export type ZoneCacheSettingsChangeRegionalTieredCacheSettingRequestBody = {
+  value: Schemas.CacheRulesRegionalTieredCacheValue;
+};
+
+export type ZoneCacheSettingsChangeRegionalTieredCacheSettingVariables = {
+  body: ZoneCacheSettingsChangeRegionalTieredCacheSettingRequestBody;
+  pathParams: ZoneCacheSettingsChangeRegionalTieredCacheSettingPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Instructs Cloudflare to check a regional hub data center on the way to your upper tier. This can help improve performance for smart and custom tiered cache topologies.
+ */
+export const zoneCacheSettingsChangeRegionalTieredCacheSetting = (
+  variables: ZoneCacheSettingsChangeRegionalTieredCacheSettingVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    ZoneCacheSettingsChangeRegionalTieredCacheSettingResponse,
+    ZoneCacheSettingsChangeRegionalTieredCacheSettingError,
+    ZoneCacheSettingsChangeRegionalTieredCacheSettingRequestBody,
+    {},
+    {},
+    ZoneCacheSettingsChangeRegionalTieredCacheSettingPathParams
+  >({ url: '/zones/{zoneId}/cache/regional_tiered_cache', method: 'patch', ...variables, signal });
+
+export type SmartTieredCacheDeleteSmartTieredCacheSettingPathParams = {
+  zoneId: Schemas.CacheRulesIdentifier;
+};
+
+export type SmartTieredCacheDeleteSmartTieredCacheSettingError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CacheRulesResponseSingle & Schemas.CacheRulesApiResponseCommonFailure;
+}>;
+
+export type SmartTieredCacheDeleteSmartTieredCacheSettingVariables = {
+  pathParams: SmartTieredCacheDeleteSmartTieredCacheSettingPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Remvoves enablement of Smart Tiered Cache
+ */
+export const smartTieredCacheDeleteSmartTieredCacheSetting = (
+  variables: SmartTieredCacheDeleteSmartTieredCacheSettingVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.CacheRulesResponseSingle,
+    SmartTieredCacheDeleteSmartTieredCacheSettingError,
+    undefined,
+    {},
+    {},
+    SmartTieredCacheDeleteSmartTieredCacheSettingPathParams
+  >({ url: '/zones/{zoneId}/cache/tiered_cache_smart_topology_enable', method: 'delete', ...variables, signal });
+
+export type SmartTieredCacheGetSmartTieredCacheSettingPathParams = {
+  zoneId: Schemas.CacheRulesIdentifier;
+};
+
+export type SmartTieredCacheGetSmartTieredCacheSettingError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CacheRulesResponseSingle & Schemas.CacheRulesApiResponseCommonFailure;
+}>;
+
+export type SmartTieredCacheGetSmartTieredCacheSettingVariables = {
+  pathParams: SmartTieredCacheGetSmartTieredCacheSettingPathParams;
+} & FetcherExtraProps;
+
+export const smartTieredCacheGetSmartTieredCacheSetting = (
+  variables: SmartTieredCacheGetSmartTieredCacheSettingVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.CacheRulesResponseSingle,
+    SmartTieredCacheGetSmartTieredCacheSettingError,
+    undefined,
+    {},
+    {},
+    SmartTieredCacheGetSmartTieredCacheSettingPathParams
+  >({ url: '/zones/{zoneId}/cache/tiered_cache_smart_topology_enable', method: 'get', ...variables, signal });
+
+export type SmartTieredCachePatchSmartTieredCacheSettingPathParams = {
+  zoneId: Schemas.CacheRulesIdentifier;
+};
+
+export type SmartTieredCachePatchSmartTieredCacheSettingError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CacheRulesResponseSingle & Schemas.CacheRulesApiResponseCommonFailure;
+}>;
+
+export type SmartTieredCachePatchSmartTieredCacheSettingVariables = {
+  body: Schemas.CacheRulesSmartTieredCachePatch;
+  pathParams: SmartTieredCachePatchSmartTieredCacheSettingPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates enablement of Tiered Cache
+ */
+export const smartTieredCachePatchSmartTieredCacheSetting = (
+  variables: SmartTieredCachePatchSmartTieredCacheSettingVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.CacheRulesResponseSingle,
+    SmartTieredCachePatchSmartTieredCacheSettingError,
+    Schemas.CacheRulesSmartTieredCachePatch,
+    {},
+    {},
+    SmartTieredCachePatchSmartTieredCacheSettingPathParams
+  >({ url: '/zones/{zoneId}/cache/tiered_cache_smart_topology_enable', method: 'patch', ...variables, signal });
+
+export type ZoneCacheSettingsDeleteVariantsSettingPathParams = {
+  zoneId: Schemas.CacheRulesIdentifier;
+};
+
+export type ZoneCacheSettingsDeleteVariantsSettingError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.CacheRulesZoneCacheSettingsResponseSingle & {
+    result?: Schemas.CacheRulesVariants;
+  }) &
+    Schemas.CacheRulesApiResponseCommonFailure;
+}>;
+
+export type ZoneCacheSettingsDeleteVariantsSettingResponse = Schemas.CacheRulesZoneCacheSettingsResponseSingle & {
+  result?: Schemas.CacheRulesVariants;
+};
+
+export type ZoneCacheSettingsDeleteVariantsSettingVariables = {
+  pathParams: ZoneCacheSettingsDeleteVariantsSettingPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Variant support enables caching variants of images with certain file extensions in addition to the original. This only applies when the origin server sends the 'Vary: Accept' response header. If the origin server sends 'Vary: Accept' but does not serve the variant requested, the response will not be cached. This will be indicated with BYPASS cache status in the response headers.
+ */
+export const zoneCacheSettingsDeleteVariantsSetting = (
+  variables: ZoneCacheSettingsDeleteVariantsSettingVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    ZoneCacheSettingsDeleteVariantsSettingResponse,
+    ZoneCacheSettingsDeleteVariantsSettingError,
+    undefined,
+    {},
+    {},
+    ZoneCacheSettingsDeleteVariantsSettingPathParams
+  >({ url: '/zones/{zoneId}/cache/variants', method: 'delete', ...variables, signal });
+
+export type ZoneCacheSettingsGetVariantsSettingPathParams = {
+  zoneId: Schemas.CacheRulesIdentifier;
+};
+
+export type ZoneCacheSettingsGetVariantsSettingError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.CacheRulesZoneCacheSettingsResponseSingle & Schemas.CacheRulesVariantsResponseValue) &
+    Schemas.CacheRulesApiResponseCommonFailure;
+}>;
+
+export type ZoneCacheSettingsGetVariantsSettingResponse = Schemas.CacheRulesZoneCacheSettingsResponseSingle &
+  Schemas.CacheRulesVariantsResponseValue;
+
+export type ZoneCacheSettingsGetVariantsSettingVariables = {
+  pathParams: ZoneCacheSettingsGetVariantsSettingPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Variant support enables caching variants of images with certain file extensions in addition to the original. This only applies when the origin server sends the 'Vary: Accept' response header. If the origin server sends 'Vary: Accept' but does not serve the variant requested, the response will not be cached. This will be indicated with BYPASS cache status in the response headers.
+ */
+export const zoneCacheSettingsGetVariantsSetting = (
+  variables: ZoneCacheSettingsGetVariantsSettingVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    ZoneCacheSettingsGetVariantsSettingResponse,
+    ZoneCacheSettingsGetVariantsSettingError,
+    undefined,
+    {},
+    {},
+    ZoneCacheSettingsGetVariantsSettingPathParams
+  >({ url: '/zones/{zoneId}/cache/variants', method: 'get', ...variables, signal });
+
+export type ZoneCacheSettingsChangeVariantsSettingPathParams = {
+  zoneId: Schemas.CacheRulesIdentifier;
+};
+
+export type ZoneCacheSettingsChangeVariantsSettingError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.CacheRulesZoneCacheSettingsResponseSingle & Schemas.CacheRulesVariantsResponseValue) &
+    Schemas.CacheRulesApiResponseCommonFailure;
+}>;
+
+export type ZoneCacheSettingsChangeVariantsSettingResponse = Schemas.CacheRulesZoneCacheSettingsResponseSingle &
+  Schemas.CacheRulesVariantsResponseValue;
+
+export type ZoneCacheSettingsChangeVariantsSettingRequestBody = {
+  value: Schemas.CacheRulesVariantsValue;
+};
+
+export type ZoneCacheSettingsChangeVariantsSettingVariables = {
+  body: ZoneCacheSettingsChangeVariantsSettingRequestBody;
+  pathParams: ZoneCacheSettingsChangeVariantsSettingPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Variant support enables caching variants of images with certain file extensions in addition to the original. This only applies when the origin server sends the 'Vary: Accept' response header. If the origin server sends 'Vary: Accept' but does not serve the variant requested, the response will not be cached. This will be indicated with BYPASS cache status in the response headers.
+ */
+export const zoneCacheSettingsChangeVariantsSetting = (
+  variables: ZoneCacheSettingsChangeVariantsSettingVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    ZoneCacheSettingsChangeVariantsSettingResponse,
+    ZoneCacheSettingsChangeVariantsSettingError,
+    ZoneCacheSettingsChangeVariantsSettingRequestBody,
+    {},
+    {},
+    ZoneCacheSettingsChangeVariantsSettingPathParams
+  >({ url: '/zones/{zoneId}/cache/variants', method: 'patch', ...variables, signal });
+
+export type ClientCertificateForAZoneListHostnameAssociationsPathParams = {
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type ClientCertificateForAZoneListHostnameAssociationsQueryParams = {
+  /**
+   * @example b2134436-2555-4acf-be5b-26c48136575e
+   * @maxLength 36
+   * @minLength 36
+   */
+  mtls_certificate_id?: string;
+};
+
+export type ClientCertificateForAZoneListHostnameAssociationsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type ClientCertificateForAZoneListHostnameAssociationsVariables = {
+  pathParams: ClientCertificateForAZoneListHostnameAssociationsPathParams;
+  queryParams?: ClientCertificateForAZoneListHostnameAssociationsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * List Hostname Associations
+ */
+export const clientCertificateForAZoneListHostnameAssociations = (
+  variables: ClientCertificateForAZoneListHostnameAssociationsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesHostnameAssociationsResponse,
+    ClientCertificateForAZoneListHostnameAssociationsError,
+    undefined,
+    {},
+    ClientCertificateForAZoneListHostnameAssociationsQueryParams,
+    ClientCertificateForAZoneListHostnameAssociationsPathParams
+  >({ url: '/zones/{zoneId}/certificate_authorities/hostname_associations', method: 'get', ...variables, signal });
+
+export type ClientCertificateForAZonePutHostnameAssociationsPathParams = {
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type ClientCertificateForAZonePutHostnameAssociationsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type ClientCertificateForAZonePutHostnameAssociationsVariables = {
+  body?: Schemas.TlsCertificatesAndHostnamesHostnameAssociation;
+  pathParams: ClientCertificateForAZonePutHostnameAssociationsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Replace Hostname Associations
+ */
+export const clientCertificateForAZonePutHostnameAssociations = (
+  variables: ClientCertificateForAZonePutHostnameAssociationsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesHostnameAssociationsResponse,
+    ClientCertificateForAZonePutHostnameAssociationsError,
+    Schemas.TlsCertificatesAndHostnamesHostnameAssociation,
+    {},
+    {},
+    ClientCertificateForAZonePutHostnameAssociationsPathParams
+  >({ url: '/zones/{zoneId}/certificate_authorities/hostname_associations', method: 'put', ...variables, signal });
+
+export type ClientCertificateForAZoneListClientCertificatesPathParams = {
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type ClientCertificateForAZoneListClientCertificatesQueryParams = {
+  /**
+   * @example all
+   */
+  status?: 'all' | 'active' | 'pending_reactivation' | 'pending_revocation' | 'revoked';
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default 20
+   * @maximum 50
+   * @minimum 5
+   */
+  per_page?: number;
+  /**
+   * @example 10
+   */
+  limit?: number;
+  /**
+   * @example 10
+   */
+  offset?: number;
+};
+
+export type ClientCertificateForAZoneListClientCertificatesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type ClientCertificateForAZoneListClientCertificatesVariables = {
+  pathParams: ClientCertificateForAZoneListClientCertificatesPathParams;
+  queryParams?: ClientCertificateForAZoneListClientCertificatesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * List all of your Zone's API Shield mTLS Client Certificates by Status and/or using Pagination
+ */
+export const clientCertificateForAZoneListClientCertificates = (
+  variables: ClientCertificateForAZoneListClientCertificatesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesClientCertificateResponseCollection,
+    ClientCertificateForAZoneListClientCertificatesError,
+    undefined,
+    {},
+    ClientCertificateForAZoneListClientCertificatesQueryParams,
+    ClientCertificateForAZoneListClientCertificatesPathParams
+  >({ url: '/zones/{zoneId}/client_certificates', method: 'get', ...variables, signal });
+
+export type ClientCertificateForAZoneCreateClientCertificatePathParams = {
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type ClientCertificateForAZoneCreateClientCertificateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesClientCertificateResponseSingle &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type ClientCertificateForAZoneCreateClientCertificateRequestBody = {
+  csr: Schemas.TlsCertificatesAndHostnamesSchemasCsr;
+  validity_days: Schemas.TlsCertificatesAndHostnamesSchemasValidityDays;
+};
+
+export type ClientCertificateForAZoneCreateClientCertificateVariables = {
+  body: ClientCertificateForAZoneCreateClientCertificateRequestBody;
+  pathParams: ClientCertificateForAZoneCreateClientCertificatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create a new API Shield mTLS Client Certificate
+ */
+export const clientCertificateForAZoneCreateClientCertificate = (
+  variables: ClientCertificateForAZoneCreateClientCertificateVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesClientCertificateResponseSingle,
+    ClientCertificateForAZoneCreateClientCertificateError,
+    ClientCertificateForAZoneCreateClientCertificateRequestBody,
+    {},
+    {},
+    ClientCertificateForAZoneCreateClientCertificatePathParams
+  >({ url: '/zones/{zoneId}/client_certificates', method: 'post', ...variables, signal });
+
+export type ClientCertificateForAZoneDeleteClientCertificatePathParams = {
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+  clientCertificateId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type ClientCertificateForAZoneDeleteClientCertificateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type ClientCertificateForAZoneDeleteClientCertificateVariables = {
+  pathParams: ClientCertificateForAZoneDeleteClientCertificatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Set a API Shield mTLS Client Certificate to pending_revocation status for processing to revoked status.
+ */
+export const clientCertificateForAZoneDeleteClientCertificate = (
+  variables: ClientCertificateForAZoneDeleteClientCertificateVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesClientCertificateResponseSingle,
+    ClientCertificateForAZoneDeleteClientCertificateError,
+    undefined,
+    {},
+    {},
+    ClientCertificateForAZoneDeleteClientCertificatePathParams
+  >({ url: '/zones/{zoneId}/client_certificates/{clientCertificateId}', method: 'delete', ...variables, signal });
+
+export type ClientCertificateForAZoneClientCertificateDetailsPathParams = {
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+  clientCertificateId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type ClientCertificateForAZoneClientCertificateDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type ClientCertificateForAZoneClientCertificateDetailsVariables = {
+  pathParams: ClientCertificateForAZoneClientCertificateDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get Details for a single mTLS API Shield Client Certificate
+ */
+export const clientCertificateForAZoneClientCertificateDetails = (
+  variables: ClientCertificateForAZoneClientCertificateDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesClientCertificateResponseSingle,
+    ClientCertificateForAZoneClientCertificateDetailsError,
+    undefined,
+    {},
+    {},
+    ClientCertificateForAZoneClientCertificateDetailsPathParams
+  >({ url: '/zones/{zoneId}/client_certificates/{clientCertificateId}', method: 'get', ...variables, signal });
+
+export type ClientCertificateForAZoneEditClientCertificatePathParams = {
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+  clientCertificateId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type ClientCertificateForAZoneEditClientCertificateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type ClientCertificateForAZoneEditClientCertificateVariables = {
+  pathParams: ClientCertificateForAZoneEditClientCertificatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * If a API Shield mTLS Client Certificate is in a pending_revocation state, you may reactivate it with this endpoint.
+ */
+export const clientCertificateForAZoneEditClientCertificate = (
+  variables: ClientCertificateForAZoneEditClientCertificateVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesClientCertificateResponseSingle,
+    ClientCertificateForAZoneEditClientCertificateError,
+    undefined,
+    {},
+    {},
+    ClientCertificateForAZoneEditClientCertificatePathParams
+  >({ url: '/zones/{zoneId}/client_certificates/{clientCertificateId}', method: 'patch', ...variables, signal });
+
+export type ZoneCloudConnectorRulesPathParams = {
+  zoneId: Schemas.CloudConnectorIdentifier;
+};
+
+export type ZoneCloudConnectorRulesError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: Schemas.CloudConnectorApiResponseCommonFailure;
+    }
+  | {
+      status: 500;
+      payload: Schemas.CloudConnectorApiResponseCommonFailure;
+    }
+>;
+
+export type ZoneCloudConnectorRulesResponse = Schemas.CloudConnectorApiResponseCommon & {
+  result?: Schemas.CloudConnectorRules;
+};
+
+export type ZoneCloudConnectorRulesVariables = {
+  pathParams: ZoneCloudConnectorRulesPathParams;
+} & FetcherExtraProps;
+
+export const zoneCloudConnectorRules = (variables: ZoneCloudConnectorRulesVariables, signal?: AbortSignal) =>
+  fetch<
+    ZoneCloudConnectorRulesResponse,
+    ZoneCloudConnectorRulesError,
+    undefined,
+    {},
+    {},
+    ZoneCloudConnectorRulesPathParams
+  >({ url: '/zones/{zoneId}/cloud_connector/rules', method: 'get', ...variables, signal });
+
+export type ZoneCloudConenctorRulesPutPathParams = {
+  zoneId: Schemas.CloudConnectorIdentifier;
+};
+
+export type ZoneCloudConenctorRulesPutError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: Schemas.CloudConnectorApiResponseCommonFailure;
+    }
+  | {
+      status: 500;
+      payload: Schemas.CloudConnectorApiResponseCommonFailure;
+    }
+>;
+
+export type ZoneCloudConenctorRulesPutResponse = Schemas.CloudConnectorApiResponseCommon & {
+  result?: Schemas.CloudConnectorRules;
+};
+
+export type ZoneCloudConenctorRulesPutVariables = {
+  body?: Schemas.CloudConnectorRules;
+  pathParams: ZoneCloudConenctorRulesPutPathParams;
+} & FetcherExtraProps;
+
+export const zoneCloudConenctorRulesPut = (variables: ZoneCloudConenctorRulesPutVariables, signal?: AbortSignal) =>
+  fetch<
+    ZoneCloudConenctorRulesPutResponse,
+    ZoneCloudConenctorRulesPutError,
+    Schemas.CloudConnectorRules,
+    {},
+    {},
+    ZoneCloudConenctorRulesPutPathParams
+  >({ url: '/zones/{zoneId}/cloud_connector/rules', method: 'put', ...variables, signal });
+
+export type WafContentScanningDisablePathParams = {
+  zoneId: Schemas.WafProductApiBundleIdentifier;
+};
+
+export type WafContentScanningDisableError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WafProductApiBundleSchemasApiResponseCommonFailure;
+}>;
+
+export type WafContentScanningDisableVariables = {
+  pathParams: WafContentScanningDisablePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Disable Content Scanning
+ */
+export const wafContentScanningDisable = (variables: WafContentScanningDisableVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WafProductApiBundleSchemasApiResponseCommon,
+    WafContentScanningDisableError,
+    undefined,
+    {},
+    {},
+    WafContentScanningDisablePathParams
+  >({ url: '/zones/{zoneId}/content-upload-scan/disable', method: 'post', ...variables, signal });
+
+export type WafContentScanningEnablePathParams = {
+  zoneId: Schemas.WafProductApiBundleIdentifier;
+};
+
+export type WafContentScanningEnableError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WafProductApiBundleSchemasApiResponseCommonFailure;
+}>;
+
+export type WafContentScanningEnableVariables = {
+  pathParams: WafContentScanningEnablePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Enable Content Scanning
+ */
+export const wafContentScanningEnable = (variables: WafContentScanningEnableVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WafProductApiBundleSchemasApiResponseCommon,
+    WafContentScanningEnableError,
+    undefined,
+    {},
+    {},
+    WafContentScanningEnablePathParams
+  >({ url: '/zones/{zoneId}/content-upload-scan/enable', method: 'post', ...variables, signal });
+
+export type WafContentScanningListCustomScanExpressionsPathParams = {
+  zoneId: Schemas.WafProductApiBundleIdentifier;
+};
+
+export type WafContentScanningListCustomScanExpressionsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WafProductApiBundleResponseCustomScanCollection &
+    Schemas.WafProductApiBundleSchemasApiResponseCommonFailure;
+}>;
+
+export type WafContentScanningListCustomScanExpressionsVariables = {
+  pathParams: WafContentScanningListCustomScanExpressionsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get a list of existing custom scan expressions for Content Scanning
+ */
+export const wafContentScanningListCustomScanExpressions = (
+  variables: WafContentScanningListCustomScanExpressionsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WafProductApiBundleResponseCustomScanCollection,
+    WafContentScanningListCustomScanExpressionsError,
+    undefined,
+    {},
+    {},
+    WafContentScanningListCustomScanExpressionsPathParams
+  >({ url: '/zones/{zoneId}/content-upload-scan/payloads', method: 'get', ...variables, signal });
+
+export type WafContentScanningAddCustomScanExpressionsPathParams = {
+  zoneId: Schemas.WafProductApiBundleIdentifier;
+};
+
+export type WafContentScanningAddCustomScanExpressionsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WafProductApiBundleResponseCustomScanCollection &
+    Schemas.WafProductApiBundleSchemasApiResponseCommonFailure;
+}>;
+
+export type WafContentScanningAddCustomScanExpressionsRequestBody = {
+  payload: Schemas.WafProductApiBundleCustomScanPayload;
+}[];
+
+export type WafContentScanningAddCustomScanExpressionsVariables = {
+  body?: WafContentScanningAddCustomScanExpressionsRequestBody;
+  pathParams: WafContentScanningAddCustomScanExpressionsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Add custom scan expressions for Content Scanning
+ */
+export const wafContentScanningAddCustomScanExpressions = (
+  variables: WafContentScanningAddCustomScanExpressionsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WafProductApiBundleResponseCustomScanCollection,
+    WafContentScanningAddCustomScanExpressionsError,
+    WafContentScanningAddCustomScanExpressionsRequestBody,
+    {},
+    {},
+    WafContentScanningAddCustomScanExpressionsPathParams
+  >({ url: '/zones/{zoneId}/content-upload-scan/payloads', method: 'post', ...variables, signal });
+
+export type WafContentScanningDeleteCustomScanExpressionsPathParams = {
+  zoneId: Schemas.WafProductApiBundleIdentifier;
+  expressionId: Schemas.WafProductApiBundleCustomScanId;
+};
+
+export type WafContentScanningDeleteCustomScanExpressionsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WafProductApiBundleResponseCustomScanCollection &
+    Schemas.WafProductApiBundleSchemasApiResponseCommonFailure;
+}>;
+
+export type WafContentScanningDeleteCustomScanExpressionsVariables = {
+  pathParams: WafContentScanningDeleteCustomScanExpressionsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete a Content Scan Custom Expression
+ */
+export const wafContentScanningDeleteCustomScanExpressions = (
+  variables: WafContentScanningDeleteCustomScanExpressionsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WafProductApiBundleResponseCustomScanCollection,
+    WafContentScanningDeleteCustomScanExpressionsError,
+    undefined,
+    {},
+    {},
+    WafContentScanningDeleteCustomScanExpressionsPathParams
+  >({ url: '/zones/{zoneId}/content-upload-scan/payloads/{expressionId}', method: 'delete', ...variables, signal });
+
+export type WafContentScanningGetStatusPathParams = {
+  zoneId: Schemas.WafProductApiBundleIdentifier;
+};
+
+export type WafContentScanningGetStatusError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WafProductApiBundleSchemasApiResponseCommonFailure;
+}>;
+
+export type WafContentScanningGetStatusVariables = {
+  pathParams: WafContentScanningGetStatusPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Retrieve the current status of Content Scanning
+ */
+export const wafContentScanningGetStatus = (variables: WafContentScanningGetStatusVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WafProductApiBundleSchemasResponseStatus,
+    WafContentScanningGetStatusError,
+    undefined,
+    {},
+    {},
+    WafContentScanningGetStatusPathParams
+  >({ url: '/zones/{zoneId}/content-upload-scan/settings', method: 'get', ...variables, signal });
+
+export type CustomSslForAZoneListSslConfigurationsPathParams = {
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type CustomSslForAZoneListSslConfigurationsQueryParams = {
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default 20
+   * @maximum 50
+   * @minimum 5
+   */
+  per_page?: number;
+  /**
+   * @default all
+   */
+  match?: 'any' | 'all';
+  /**
+   * @example active
+   */
+  status?: 'active' | 'expired' | 'deleted' | 'pending' | 'initializing';
+};
+
+export type CustomSslForAZoneListSslConfigurationsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesCertificateResponseCollection &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type CustomSslForAZoneListSslConfigurationsVariables = {
+  pathParams: CustomSslForAZoneListSslConfigurationsPathParams;
+  queryParams?: CustomSslForAZoneListSslConfigurationsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * List, search, and filter all of your custom SSL certificates. The higher priority will break ties across overlapping 'legacy_custom' certificates, but 'legacy_custom' certificates will always supercede 'sni_custom' certificates.
+ */
+export const customSslForAZoneListSslConfigurations = (
+  variables: CustomSslForAZoneListSslConfigurationsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesCertificateResponseCollection,
+    CustomSslForAZoneListSslConfigurationsError,
+    undefined,
+    {},
+    CustomSslForAZoneListSslConfigurationsQueryParams,
+    CustomSslForAZoneListSslConfigurationsPathParams
+  >({ url: '/zones/{zoneId}/custom_certificates', method: 'get', ...variables, signal });
+
+export type CustomSslForAZoneCreateSslConfigurationPathParams = {
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type CustomSslForAZoneCreateSslConfigurationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesCertificateResponseSingle &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type CustomSslForAZoneCreateSslConfigurationRequestBody = {
+  bundle_method?: Schemas.TlsCertificatesAndHostnamesBundleMethod;
+  certificate: Schemas.TlsCertificatesAndHostnamesCertificate;
+  geo_restrictions?: Schemas.TlsCertificatesAndHostnamesGeoRestrictions;
+  policy?: Schemas.TlsCertificatesAndHostnamesPolicy;
+  private_key: Schemas.TlsCertificatesAndHostnamesPrivateKey;
+  type?: Schemas.TlsCertificatesAndHostnamesType;
+};
+
+export type CustomSslForAZoneCreateSslConfigurationVariables = {
+  body: CustomSslForAZoneCreateSslConfigurationRequestBody;
+  pathParams: CustomSslForAZoneCreateSslConfigurationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Upload a new SSL certificate for a zone.
+ */
+export const customSslForAZoneCreateSslConfiguration = (
+  variables: CustomSslForAZoneCreateSslConfigurationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesCertificateResponseSingle,
+    CustomSslForAZoneCreateSslConfigurationError,
+    CustomSslForAZoneCreateSslConfigurationRequestBody,
+    {},
+    {},
+    CustomSslForAZoneCreateSslConfigurationPathParams
+  >({ url: '/zones/{zoneId}/custom_certificates', method: 'post', ...variables, signal });
+
+export type CustomSslForAZoneRePrioritizeSslCertificatesPathParams = {
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type CustomSslForAZoneRePrioritizeSslCertificatesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesCertificateResponseCollection &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type CustomSslForAZoneRePrioritizeSslCertificatesRequestBody = {
+  /**
+   * Array of ordered certificates.
+   *
+   * @example {"id":"5a7805061c76ada191ed06f989cc3dac","priority":2}
+   * @example {"id":"9a7806061c88ada191ed06f989cc3dac","priority":1}
+   */
+  certificates: {
+    id?: Schemas.TlsCertificatesAndHostnamesIdentifier;
+    priority?: Schemas.TlsCertificatesAndHostnamesPriority;
+  }[];
+};
+
+export type CustomSslForAZoneRePrioritizeSslCertificatesVariables = {
+  body: CustomSslForAZoneRePrioritizeSslCertificatesRequestBody;
+  pathParams: CustomSslForAZoneRePrioritizeSslCertificatesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * If a zone has multiple SSL certificates, you can set the order in which they should be used during a request. The higher priority will break ties across overlapping 'legacy_custom' certificates.
+ */
+export const customSslForAZoneRePrioritizeSslCertificates = (
+  variables: CustomSslForAZoneRePrioritizeSslCertificatesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesCertificateResponseCollection,
+    CustomSslForAZoneRePrioritizeSslCertificatesError,
+    CustomSslForAZoneRePrioritizeSslCertificatesRequestBody,
+    {},
+    {},
+    CustomSslForAZoneRePrioritizeSslCertificatesPathParams
+  >({ url: '/zones/{zoneId}/custom_certificates/prioritize', method: 'put', ...variables, signal });
+
+export type CustomSslForAZoneDeleteSslConfigurationPathParams = {
+  customCertificateId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type CustomSslForAZoneDeleteSslConfigurationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesCertificateResponseIdOnly &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type CustomSslForAZoneDeleteSslConfigurationVariables = {
+  pathParams: CustomSslForAZoneDeleteSslConfigurationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Remove a SSL certificate from a zone.
+ */
+export const customSslForAZoneDeleteSslConfiguration = (
+  variables: CustomSslForAZoneDeleteSslConfigurationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesCertificateResponseIdOnly,
+    CustomSslForAZoneDeleteSslConfigurationError,
+    undefined,
+    {},
+    {},
+    CustomSslForAZoneDeleteSslConfigurationPathParams
+  >({ url: '/zones/{zoneId}/custom_certificates/{customCertificateId}', method: 'delete', ...variables, signal });
+
+export type CustomSslForAZoneSslConfigurationDetailsPathParams = {
+  customCertificateId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type CustomSslForAZoneSslConfigurationDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesCertificateResponseSingle &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type CustomSslForAZoneSslConfigurationDetailsVariables = {
+  pathParams: CustomSslForAZoneSslConfigurationDetailsPathParams;
+} & FetcherExtraProps;
+
+export const customSslForAZoneSslConfigurationDetails = (
+  variables: CustomSslForAZoneSslConfigurationDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesCertificateResponseSingle,
+    CustomSslForAZoneSslConfigurationDetailsError,
+    undefined,
+    {},
+    {},
+    CustomSslForAZoneSslConfigurationDetailsPathParams
+  >({ url: '/zones/{zoneId}/custom_certificates/{customCertificateId}', method: 'get', ...variables, signal });
+
+export type CustomSslForAZoneEditSslConfigurationPathParams = {
+  customCertificateId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type CustomSslForAZoneEditSslConfigurationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesCertificateResponseSingle &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type CustomSslForAZoneEditSslConfigurationRequestBody = {
+  bundle_method?: Schemas.TlsCertificatesAndHostnamesBundleMethod;
+  certificate?: Schemas.TlsCertificatesAndHostnamesCertificate;
+  geo_restrictions?: Schemas.TlsCertificatesAndHostnamesGeoRestrictions;
+  policy?: Schemas.TlsCertificatesAndHostnamesPolicy;
+  private_key?: Schemas.TlsCertificatesAndHostnamesPrivateKey;
+};
+
+export type CustomSslForAZoneEditSslConfigurationVariables = {
+  body?: CustomSslForAZoneEditSslConfigurationRequestBody;
+  pathParams: CustomSslForAZoneEditSslConfigurationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Upload a new private key and/or PEM/CRT for the SSL certificate. Note: PATCHing a configuration for sni_custom certificates will result in a new resource id being returned, and the previous one being deleted.
+ */
+export const customSslForAZoneEditSslConfiguration = (
+  variables: CustomSslForAZoneEditSslConfigurationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesCertificateResponseSingle,
+    CustomSslForAZoneEditSslConfigurationError,
+    CustomSslForAZoneEditSslConfigurationRequestBody,
+    {},
+    {},
+    CustomSslForAZoneEditSslConfigurationPathParams
+  >({ url: '/zones/{zoneId}/custom_certificates/{customCertificateId}', method: 'patch', ...variables, signal });
+
+export type CustomHostnameForAZoneListCustomHostnamesPathParams = {
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type CustomHostnameForAZoneListCustomHostnamesQueryParams = {
+  /**
+   * @example app.example.com
+   * @maxLength 255
+   */
+  hostname?: string;
+  /**
+   * @example 0d89c70d-ad9f-4843-b99f-6cc0252067e9
+   * @maxLength 36
+   * @minLength 36
+   */
+  id?: string;
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default 20
+   * @maximum 50
+   * @minimum 5
+   */
+  per_page?: number;
+  /**
+   * @default ssl
+   * @example ssl
+   */
+  order?: 'ssl' | 'ssl_status';
+  /**
+   * @example desc
+   */
+  direction?: 'asc' | 'desc';
+  /**
+   * @default 0
+   */
+  ssl?: 0 | 1;
+};
+
+export type CustomHostnameForAZoneListCustomHostnamesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesCustomHostnameResponseCollection &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type CustomHostnameForAZoneListCustomHostnamesVariables = {
+  pathParams: CustomHostnameForAZoneListCustomHostnamesPathParams;
+  queryParams?: CustomHostnameForAZoneListCustomHostnamesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * List, search, sort, and filter all of your custom hostnames.
+ */
+export const customHostnameForAZoneListCustomHostnames = (
+  variables: CustomHostnameForAZoneListCustomHostnamesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesCustomHostnameResponseCollection,
+    CustomHostnameForAZoneListCustomHostnamesError,
+    undefined,
+    {},
+    CustomHostnameForAZoneListCustomHostnamesQueryParams,
+    CustomHostnameForAZoneListCustomHostnamesPathParams
+  >({ url: '/zones/{zoneId}/custom_hostnames', method: 'get', ...variables, signal });
+
+export type CustomHostnameForAZoneCreateCustomHostnamePathParams = {
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type CustomHostnameForAZoneCreateCustomHostnameError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesCustomHostnameResponseSingle &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type CustomHostnameForAZoneCreateCustomHostnameRequestBody = {
+  custom_metadata?: Schemas.TlsCertificatesAndHostnamesCustomMetadata;
+  hostname: Schemas.TlsCertificatesAndHostnamesHostnamePost;
+  ssl: Schemas.TlsCertificatesAndHostnamesSslpost;
+};
+
+export type CustomHostnameForAZoneCreateCustomHostnameVariables = {
+  body: CustomHostnameForAZoneCreateCustomHostnameRequestBody;
+  pathParams: CustomHostnameForAZoneCreateCustomHostnamePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Add a new custom hostname and request that an SSL certificate be issued for it. One of three validation methods—http, txt, email—should be used, with 'http' recommended if the CNAME is already in place (or will be soon). Specifying 'email' will send an email to the WHOIS contacts on file for the base domain plus hostmaster, postmaster, webmaster, admin, administrator. If http is used and the domain is not already pointing to the Managed CNAME host, the PATCH method must be used once it is (to complete validation).
+ */
+export const customHostnameForAZoneCreateCustomHostname = (
+  variables: CustomHostnameForAZoneCreateCustomHostnameVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesCustomHostnameResponseSingle,
+    CustomHostnameForAZoneCreateCustomHostnameError,
+    CustomHostnameForAZoneCreateCustomHostnameRequestBody,
+    {},
+    {},
+    CustomHostnameForAZoneCreateCustomHostnamePathParams
+  >({ url: '/zones/{zoneId}/custom_hostnames', method: 'post', ...variables, signal });
+
+export type CustomHostnameFallbackOriginForAZoneDeleteFallbackOriginForCustomHostnamesPathParams = {
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type CustomHostnameFallbackOriginForAZoneDeleteFallbackOriginForCustomHostnamesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesFallbackOriginResponse &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type CustomHostnameFallbackOriginForAZoneDeleteFallbackOriginForCustomHostnamesVariables = {
+  pathParams: CustomHostnameFallbackOriginForAZoneDeleteFallbackOriginForCustomHostnamesPathParams;
+} & FetcherExtraProps;
+
+export const customHostnameFallbackOriginForAZoneDeleteFallbackOriginForCustomHostnames = (
+  variables: CustomHostnameFallbackOriginForAZoneDeleteFallbackOriginForCustomHostnamesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesFallbackOriginResponse,
+    CustomHostnameFallbackOriginForAZoneDeleteFallbackOriginForCustomHostnamesError,
+    undefined,
+    {},
+    {},
+    CustomHostnameFallbackOriginForAZoneDeleteFallbackOriginForCustomHostnamesPathParams
+  >({ url: '/zones/{zoneId}/custom_hostnames/fallback_origin', method: 'delete', ...variables, signal });
+
+export type CustomHostnameFallbackOriginForAZoneGetFallbackOriginForCustomHostnamesPathParams = {
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type CustomHostnameFallbackOriginForAZoneGetFallbackOriginForCustomHostnamesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesFallbackOriginResponse &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type CustomHostnameFallbackOriginForAZoneGetFallbackOriginForCustomHostnamesVariables = {
+  pathParams: CustomHostnameFallbackOriginForAZoneGetFallbackOriginForCustomHostnamesPathParams;
+} & FetcherExtraProps;
+
+export const customHostnameFallbackOriginForAZoneGetFallbackOriginForCustomHostnames = (
+  variables: CustomHostnameFallbackOriginForAZoneGetFallbackOriginForCustomHostnamesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesFallbackOriginResponse,
+    CustomHostnameFallbackOriginForAZoneGetFallbackOriginForCustomHostnamesError,
+    undefined,
+    {},
+    {},
+    CustomHostnameFallbackOriginForAZoneGetFallbackOriginForCustomHostnamesPathParams
+  >({ url: '/zones/{zoneId}/custom_hostnames/fallback_origin', method: 'get', ...variables, signal });
+
+export type CustomHostnameFallbackOriginForAZoneUpdateFallbackOriginForCustomHostnamesPathParams = {
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type CustomHostnameFallbackOriginForAZoneUpdateFallbackOriginForCustomHostnamesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesFallbackOriginResponse &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type CustomHostnameFallbackOriginForAZoneUpdateFallbackOriginForCustomHostnamesRequestBody = {
+  origin: Schemas.TlsCertificatesAndHostnamesOrigin;
+};
+
+export type CustomHostnameFallbackOriginForAZoneUpdateFallbackOriginForCustomHostnamesVariables = {
+  body: CustomHostnameFallbackOriginForAZoneUpdateFallbackOriginForCustomHostnamesRequestBody;
+  pathParams: CustomHostnameFallbackOriginForAZoneUpdateFallbackOriginForCustomHostnamesPathParams;
+} & FetcherExtraProps;
+
+export const customHostnameFallbackOriginForAZoneUpdateFallbackOriginForCustomHostnames = (
+  variables: CustomHostnameFallbackOriginForAZoneUpdateFallbackOriginForCustomHostnamesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesFallbackOriginResponse,
+    CustomHostnameFallbackOriginForAZoneUpdateFallbackOriginForCustomHostnamesError,
+    CustomHostnameFallbackOriginForAZoneUpdateFallbackOriginForCustomHostnamesRequestBody,
+    {},
+    {},
+    CustomHostnameFallbackOriginForAZoneUpdateFallbackOriginForCustomHostnamesPathParams
+  >({ url: '/zones/{zoneId}/custom_hostnames/fallback_origin', method: 'put', ...variables, signal });
+
+export type CustomHostnameForAZoneDeleteCustomHostnameAndAnyIssuedSslCertificatesPathParams = {
+  customHostnameId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type CustomHostnameForAZoneDeleteCustomHostnameAndAnyIssuedSslCertificatesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    id?: Schemas.TlsCertificatesAndHostnamesIdentifier;
+  } & Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type CustomHostnameForAZoneDeleteCustomHostnameAndAnyIssuedSslCertificatesResponse = {
+  id?: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type CustomHostnameForAZoneDeleteCustomHostnameAndAnyIssuedSslCertificatesVariables = {
+  pathParams: CustomHostnameForAZoneDeleteCustomHostnameAndAnyIssuedSslCertificatesPathParams;
+} & FetcherExtraProps;
+
+export const customHostnameForAZoneDeleteCustomHostnameAndAnyIssuedSslCertificates = (
+  variables: CustomHostnameForAZoneDeleteCustomHostnameAndAnyIssuedSslCertificatesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    CustomHostnameForAZoneDeleteCustomHostnameAndAnyIssuedSslCertificatesResponse,
+    CustomHostnameForAZoneDeleteCustomHostnameAndAnyIssuedSslCertificatesError,
+    undefined,
+    {},
+    {},
+    CustomHostnameForAZoneDeleteCustomHostnameAndAnyIssuedSslCertificatesPathParams
+  >({ url: '/zones/{zoneId}/custom_hostnames/{customHostnameId}', method: 'delete', ...variables, signal });
+
+export type CustomHostnameForAZoneCustomHostnameDetailsPathParams = {
+  customHostnameId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type CustomHostnameForAZoneCustomHostnameDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesCustomHostnameResponseSingle &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type CustomHostnameForAZoneCustomHostnameDetailsVariables = {
+  pathParams: CustomHostnameForAZoneCustomHostnameDetailsPathParams;
+} & FetcherExtraProps;
+
+export const customHostnameForAZoneCustomHostnameDetails = (
+  variables: CustomHostnameForAZoneCustomHostnameDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesCustomHostnameResponseSingle,
+    CustomHostnameForAZoneCustomHostnameDetailsError,
+    undefined,
+    {},
+    {},
+    CustomHostnameForAZoneCustomHostnameDetailsPathParams
+  >({ url: '/zones/{zoneId}/custom_hostnames/{customHostnameId}', method: 'get', ...variables, signal });
+
+export type CustomHostnameForAZoneEditCustomHostnamePathParams = {
+  customHostnameId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type CustomHostnameForAZoneEditCustomHostnameError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesCustomHostnameResponseSingle &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type CustomHostnameForAZoneEditCustomHostnameRequestBody = {
+  custom_metadata?: Schemas.TlsCertificatesAndHostnamesCustomMetadata;
+  custom_origin_server?: Schemas.TlsCertificatesAndHostnamesCustomOriginServer;
+  custom_origin_sni?: Schemas.TlsCertificatesAndHostnamesCustomOriginSni;
+  ssl?: Schemas.TlsCertificatesAndHostnamesSslpost;
+};
+
+export type CustomHostnameForAZoneEditCustomHostnameVariables = {
+  body?: CustomHostnameForAZoneEditCustomHostnameRequestBody;
+  pathParams: CustomHostnameForAZoneEditCustomHostnamePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Modify SSL configuration for a custom hostname. When sent with SSL config that matches existing config, used to indicate that hostname should pass domain control validation (DCV). Can also be used to change validation type, e.g., from 'http' to 'email'.
+ */
+export const customHostnameForAZoneEditCustomHostname = (
+  variables: CustomHostnameForAZoneEditCustomHostnameVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesCustomHostnameResponseSingle,
+    CustomHostnameForAZoneEditCustomHostnameError,
+    CustomHostnameForAZoneEditCustomHostnameRequestBody,
+    {},
+    {},
+    CustomHostnameForAZoneEditCustomHostnamePathParams
+  >({ url: '/zones/{zoneId}/custom_hostnames/{customHostnameId}', method: 'patch', ...variables, signal });
+
+export type AccountLevelCustomNameserversUsageForAZoneGetAccountCustomNameserverRelatedZoneMetadataPathParams = {
+  zoneId: Schemas.DnsCustomNameserversSchemasIdentifier;
+};
+
+export type AccountLevelCustomNameserversUsageForAZoneGetAccountCustomNameserverRelatedZoneMetadataError =
+  Fetcher.ErrorWrapper<{
+    status: 400;
+    payload: Schemas.DnsCustomNameserversGetResponse & Schemas.DnsCustomNameserversApiResponseCommonFailure;
+  }>;
+
+export type AccountLevelCustomNameserversUsageForAZoneGetAccountCustomNameserverRelatedZoneMetadataVariables = {
+  pathParams: AccountLevelCustomNameserversUsageForAZoneGetAccountCustomNameserverRelatedZoneMetadataPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get metadata for account-level custom nameservers on a zone.
+ *
+ * Deprecated in favor of [Show DNS Settings](https://developers.cloudflare.com/api/operations/dns-settings-for-a-zone-list-dns-settings).
+ */
+export const accountLevelCustomNameserversUsageForAZoneGetAccountCustomNameserverRelatedZoneMetadata = (
+  variables: AccountLevelCustomNameserversUsageForAZoneGetAccountCustomNameserverRelatedZoneMetadataVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.DnsCustomNameserversGetResponse,
+    AccountLevelCustomNameserversUsageForAZoneGetAccountCustomNameserverRelatedZoneMetadataError,
+    undefined,
+    {},
+    {},
+    AccountLevelCustomNameserversUsageForAZoneGetAccountCustomNameserverRelatedZoneMetadataPathParams
+  >({ url: '/zones/{zoneId}/custom_ns', method: 'get', ...variables, signal });
+
+export type AccountLevelCustomNameserversUsageForAZoneSetAccountCustomNameserverRelatedZoneMetadataPathParams = {
+  zoneId: Schemas.DnsCustomNameserversSchemasIdentifier;
+};
+
+export type AccountLevelCustomNameserversUsageForAZoneSetAccountCustomNameserverRelatedZoneMetadataError =
+  Fetcher.ErrorWrapper<{
+    status: 400;
+    payload: Schemas.DnsCustomNameserversSchemasEmptyResponse & Schemas.DnsCustomNameserversApiResponseCommonFailure;
+  }>;
+
+export type AccountLevelCustomNameserversUsageForAZoneSetAccountCustomNameserverRelatedZoneMetadataVariables = {
+  body?: Schemas.DnsCustomNameserversZoneMetadata;
+  pathParams: AccountLevelCustomNameserversUsageForAZoneSetAccountCustomNameserverRelatedZoneMetadataPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Set metadata for account-level custom nameservers on a zone.
+ *
+ * If you would like new zones in the account to use account custom nameservers by default, use PUT /accounts/:identifier to set the account setting use_account_custom_ns_by_default to true.
+ *
+ * Deprecated in favor of [Update DNS Settings](https://developers.cloudflare.com/api/operations/dns-settings-for-a-zone-update-dns-settings).
+ */
+export const accountLevelCustomNameserversUsageForAZoneSetAccountCustomNameserverRelatedZoneMetadata = (
+  variables: AccountLevelCustomNameserversUsageForAZoneSetAccountCustomNameserverRelatedZoneMetadataVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.DnsCustomNameserversSchemasEmptyResponse,
+    AccountLevelCustomNameserversUsageForAZoneSetAccountCustomNameserverRelatedZoneMetadataError,
+    Schemas.DnsCustomNameserversZoneMetadata,
+    {},
+    {},
+    AccountLevelCustomNameserversUsageForAZoneSetAccountCustomNameserverRelatedZoneMetadataPathParams
+  >({ url: '/zones/{zoneId}/custom_ns', method: 'put', ...variables, signal });
+
+export type DcvDelegationUuidGetPathParams = {
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type DcvDelegationUuidGetError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesDcvDelegationResponse &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type DcvDelegationUuidGetVariables = {
+  pathParams: DcvDelegationUuidGetPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Retrieve the account and zone specific unique identifier used as part of the CNAME target for DCV Delegation.
+ */
+export const dcvDelegationUuidGet = (variables: DcvDelegationUuidGetVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesDcvDelegationResponse,
+    DcvDelegationUuidGetError,
+    undefined,
+    {},
+    {},
+    DcvDelegationUuidGetPathParams
+  >({ url: '/zones/{zoneId}/dcv_delegation/uuid', method: 'get', ...variables, signal });
+
+export type DevicesGetPolicyCertificatesPathParams = {
+  zoneId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DevicesGetPolicyCertificatesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesDevicesPolicyCertificatesSingle & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DevicesGetPolicyCertificatesVariables = {
+  pathParams: DevicesGetPolicyCertificatesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches device certificate provisioning
+ */
+export const devicesGetPolicyCertificates = (variables: DevicesGetPolicyCertificatesVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.TeamsDevicesDevicesPolicyCertificatesSingle,
+    DevicesGetPolicyCertificatesError,
+    undefined,
+    {},
+    {},
+    DevicesGetPolicyCertificatesPathParams
+  >({ url: '/zones/{zoneId}/devices/policy/certificates', method: 'get', ...variables, signal });
+
+export type DevicesUpdatePolicyCertificatesPathParams = {
+  zoneId: Schemas.TeamsDevicesIdentifier;
+};
+
+export type DevicesUpdatePolicyCertificatesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TeamsDevicesDevicesPolicyCertificatesSingle & Schemas.TeamsDevicesApiResponseCommonFailure;
+}>;
+
+export type DevicesUpdatePolicyCertificatesVariables = {
+  body: Schemas.TeamsDevicesDevicesPolicyCertificates;
+  pathParams: DevicesUpdatePolicyCertificatesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Enable Zero Trust Clients to provision a certificate, containing a x509 subject, and referenced by Access device posture policies when the client visits MTLS protected domains. This facilitates device posture without a WARP session.
+ */
+export const devicesUpdatePolicyCertificates = (
+  variables: DevicesUpdatePolicyCertificatesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TeamsDevicesDevicesPolicyCertificatesSingle,
+    DevicesUpdatePolicyCertificatesError,
+    Schemas.TeamsDevicesDevicesPolicyCertificates,
+    {},
+    {},
+    DevicesUpdatePolicyCertificatesPathParams
+  >({ url: '/zones/{zoneId}/devices/policy/certificates', method: 'patch', ...variables, signal });
+
+export type DnsAnalyticsTablePathParams = {
+  zoneId: Schemas.DnsAnalyticsIdentifier;
+};
+
+export type DnsAnalyticsTableQueryParams = {
+  metrics?: Schemas.DnsAnalyticsMetrics;
+  dimensions?: Schemas.DnsAnalyticsDimensions;
+  since?: Schemas.DnsAnalyticsSince;
+  until?: Schemas.DnsAnalyticsUntil;
+  limit?: Schemas.DnsAnalyticsLimit;
+  sort?: Schemas.DnsAnalyticsSort;
+  filters?: Schemas.DnsAnalyticsFilters;
+};
+
+export type DnsAnalyticsTableError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.DnsAnalyticsApiResponseSingle & {
+    result?: Schemas.DnsAnalyticsReport;
+  }) &
+    Schemas.DnsAnalyticsApiResponseCommonFailure;
+}>;
+
+export type DnsAnalyticsTableResponse = Schemas.DnsAnalyticsApiResponseSingle & {
+  result?: Schemas.DnsAnalyticsReport;
+};
+
+export type DnsAnalyticsTableVariables = {
+  pathParams: DnsAnalyticsTablePathParams;
+  queryParams?: DnsAnalyticsTableQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Retrieves a list of summarised aggregate metrics over a given time period.
+ *
+ * See [Analytics API properties](https://developers.cloudflare.com/dns/reference/analytics-api-properties/) for detailed information about the available query parameters.
+ */
+export const dnsAnalyticsTable = (variables: DnsAnalyticsTableVariables, signal?: AbortSignal) =>
+  fetch<
+    DnsAnalyticsTableResponse,
+    DnsAnalyticsTableError,
+    undefined,
+    {},
+    DnsAnalyticsTableQueryParams,
+    DnsAnalyticsTablePathParams
+  >({ url: '/zones/{zoneId}/dns_analytics/report', method: 'get', ...variables, signal });
+
+export type DnsAnalyticsByTimePathParams = {
+  zoneId: Schemas.DnsAnalyticsIdentifier;
+};
+
+export type DnsAnalyticsByTimeQueryParams = {
+  metrics?: Schemas.DnsAnalyticsMetrics;
+  dimensions?: Schemas.DnsAnalyticsDimensions;
+  since?: Schemas.DnsAnalyticsSince;
+  until?: Schemas.DnsAnalyticsUntil;
+  limit?: Schemas.DnsAnalyticsLimit;
+  sort?: Schemas.DnsAnalyticsSort;
+  filters?: Schemas.DnsAnalyticsFilters;
+  time_delta?: Schemas.DnsAnalyticsTimeDelta;
+};
+
+export type DnsAnalyticsByTimeError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.DnsAnalyticsApiResponseSingle & {
+    result?: Schemas.DnsAnalyticsReportBytime;
+  }) &
+    Schemas.DnsAnalyticsApiResponseCommonFailure;
+}>;
+
+export type DnsAnalyticsByTimeResponse = Schemas.DnsAnalyticsApiResponseSingle & {
+  result?: Schemas.DnsAnalyticsReportBytime;
+};
+
+export type DnsAnalyticsByTimeVariables = {
+  pathParams: DnsAnalyticsByTimePathParams;
+  queryParams?: DnsAnalyticsByTimeQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Retrieves a list of aggregate metrics grouped by time interval.
+ *
+ * See [Analytics API properties](https://developers.cloudflare.com/dns/reference/analytics-api-properties/) for detailed information about the available query parameters.
+ */
+export const dnsAnalyticsByTime = (variables: DnsAnalyticsByTimeVariables, signal?: AbortSignal) =>
+  fetch<
+    DnsAnalyticsByTimeResponse,
+    DnsAnalyticsByTimeError,
+    undefined,
+    {},
+    DnsAnalyticsByTimeQueryParams,
+    DnsAnalyticsByTimePathParams
+  >({ url: '/zones/{zoneId}/dns_analytics/report/bytime', method: 'get', ...variables, signal });
+
+export type DnsRecordsForAZoneListDnsRecordsPathParams = {
+  zoneId: Schemas.DnsRecordsIdentifier;
+};
+
+export type DnsRecordsForAZoneListDnsRecordsQueryParams = {
+  /**
+   * @example www.example.com
+   */
+  name?: string;
+  /**
+   * @example www.example.com
+   */
+  ['name.exact']?: string;
+  /**
+   * @example w.example.
+   */
+  ['name.contains']?: string;
+  /**
+   * @example www.example
+   */
+  ['name.startswith']?: string;
+  /**
+   * @example .example.com
+   */
+  ['name.endswith']?: string;
+  type?: Schemas.DnsRecordsType;
+  /**
+   * @example 127.0.0.1
+   */
+  content?: string;
+  /**
+   * @example 127.0.0.1
+   */
+  ['content.exact']?: string;
+  /**
+   * @example 7.0.0.
+   */
+  ['content.contains']?: string;
+  /**
+   * @example 127.0.
+   */
+  ['content.startswith']?: string;
+  /**
+   * @example .0.1
+   */
+  ['content.endswith']?: string;
+  proxied?: Schemas.DnsRecordsProxied;
+  match?: Schemas.DnsRecordsMatch;
+  /**
+   * @example Hello, world
+   */
+  comment?: string;
+  ['comment.present']?: string;
+  ['comment.absent']?: string;
+  /**
+   * @example Hello, world
+   */
+  ['comment.exact']?: string;
+  /**
+   * @example ello, worl
+   */
+  ['comment.contains']?: string;
+  /**
+   * @example Hello, w
+   */
+  ['comment.startswith']?: string;
+  /**
+   * @example o, world
+   */
+  ['comment.endswith']?: string;
+  /**
+   * @example team:DNS
+   */
+  tag?: string;
+  /**
+   * @example important
+   */
+  ['tag.present']?: string;
+  /**
+   * @example important
+   */
+  ['tag.absent']?: string;
+  /**
+   * @example greeting:Hello, world
+   */
+  ['tag.exact']?: string;
+  /**
+   * @example greeting:ello, worl
+   */
+  ['tag.contains']?: string;
+  /**
+   * @example greeting:Hello, w
+   */
+  ['tag.startswith']?: string;
+  /**
+   * @example greeting:o, world
+   */
+  ['tag.endswith']?: string;
+  search?: Schemas.DnsRecordsSearch;
+  tag_match?: Schemas.DnsRecordsTagMatch;
+  page?: Schemas.DnsRecordsPage;
+  per_page?: Schemas.DnsRecordsPerPage;
+  order?: Schemas.DnsRecordsOrder;
+  direction?: Schemas.DnsRecordsDirection;
+};
+
+export type DnsRecordsForAZoneListDnsRecordsError = Fetcher.ErrorWrapper<{
+  status: ClientErrorStatus;
+  payload: Schemas.DnsRecordsDnsResponseCollection & Schemas.DnsRecordsApiResponseCommonFailure;
+}>;
+
+export type DnsRecordsForAZoneListDnsRecordsVariables = {
+  pathParams: DnsRecordsForAZoneListDnsRecordsPathParams;
+  queryParams?: DnsRecordsForAZoneListDnsRecordsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * List, search, sort, and filter a zones' DNS records.
+ */
+export const dnsRecordsForAZoneListDnsRecords = (
+  variables: DnsRecordsForAZoneListDnsRecordsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.DnsRecordsDnsResponseCollection,
+    DnsRecordsForAZoneListDnsRecordsError,
+    undefined,
+    {},
+    DnsRecordsForAZoneListDnsRecordsQueryParams,
+    DnsRecordsForAZoneListDnsRecordsPathParams
+  >({ url: '/zones/{zoneId}/dns_records', method: 'get', ...variables, signal });
+
+export type DnsRecordsForAZoneCreateDnsRecordPathParams = {
+  zoneId: Schemas.DnsRecordsIdentifier;
+};
+
+export type DnsRecordsForAZoneCreateDnsRecordError = Fetcher.ErrorWrapper<{
+  status: ClientErrorStatus;
+  payload: Schemas.DnsRecordsDnsResponseSingle & Schemas.DnsRecordsApiResponseCommonFailure;
+}>;
+
+export type DnsRecordsForAZoneCreateDnsRecordVariables = {
+  body: Schemas.DnsRecordsDnsRecordPost;
+  pathParams: DnsRecordsForAZoneCreateDnsRecordPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create a new DNS record for a zone.
+ *
+ * Notes:
+ * - A/AAAA records cannot exist on the same name as CNAME records.
+ * - NS records cannot exist on the same name as any other record type.
+ * - Domain names are always represented in Punycode, even if Unicode
+ *   characters were used when creating the record.
+ */
+export const dnsRecordsForAZoneCreateDnsRecord = (
+  variables: DnsRecordsForAZoneCreateDnsRecordVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.DnsRecordsDnsResponseSingle,
+    DnsRecordsForAZoneCreateDnsRecordError,
+    Schemas.DnsRecordsDnsRecordPost,
+    {},
+    {},
+    DnsRecordsForAZoneCreateDnsRecordPathParams
+  >({ url: '/zones/{zoneId}/dns_records', method: 'post', ...variables, signal });
+
+export type DnsRecordsForAZoneBatchDnsRecordsPathParams = {
+  zoneId: Schemas.DnsRecordsIdentifier;
+};
+
+export type DnsRecordsForAZoneBatchDnsRecordsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DnsRecordsApiResponseCommonFailure;
+}>;
+
+export type DnsRecordsForAZoneBatchDnsRecordsVariables = {
+  body?: Schemas.DnsRecordsDnsRequestBatchObject;
+  pathParams: DnsRecordsForAZoneBatchDnsRecordsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Send a Batch of DNS Record API calls to be executed together.
+ *
+ * Notes:
+ * - Although Cloudflare will execute the batched operations in a single database transaction, Cloudflare's distributed KV store must treat each record change as a single key-value pair. This means that the propagation of changes is not atomic. See [the documentation](https://developers.cloudflare.com/dns/manage-dns-records/how-to/batch-record-changes/ "Batch DNS records") for more information.
+ * - The operations you specify within the /batch request body are always executed in the following order:
+ *
+ *     - Deletes
+ *     - Patches
+ *     - Puts
+ *     - Posts
+ */
+export const dnsRecordsForAZoneBatchDnsRecords = (
+  variables: DnsRecordsForAZoneBatchDnsRecordsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.DnsRecordsDnsResponseBatch,
+    DnsRecordsForAZoneBatchDnsRecordsError,
+    Schemas.DnsRecordsDnsRequestBatchObject,
+    {},
+    {},
+    DnsRecordsForAZoneBatchDnsRecordsPathParams
+  >({ url: '/zones/{zoneId}/dns_records/batch', method: 'post', ...variables, signal });
+
+export type DnsRecordsForAZoneExportDnsRecordsPathParams = {
+  zoneId: Schemas.DnsRecordsIdentifier;
+};
+
+export type DnsRecordsForAZoneExportDnsRecordsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DnsRecordsApiResponseCommonFailure;
+}>;
+
+export type DnsRecordsForAZoneExportDnsRecordsVariables = {
+  pathParams: DnsRecordsForAZoneExportDnsRecordsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * You can export your [BIND config](https://en.wikipedia.org/wiki/Zone_file "Zone file") through this endpoint.
+ *
+ * See [the documentation](https://developers.cloudflare.com/dns/manage-dns-records/how-to/import-and-export/ "Import and export records") for more information.
+ */
+export const dnsRecordsForAZoneExportDnsRecords = (
+  variables: DnsRecordsForAZoneExportDnsRecordsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    undefined,
+    DnsRecordsForAZoneExportDnsRecordsError,
+    undefined,
+    {},
+    {},
+    DnsRecordsForAZoneExportDnsRecordsPathParams
+  >({ url: '/zones/{zoneId}/dns_records/export', method: 'get', ...variables, signal });
+
+export type DnsRecordsForAZoneImportDnsRecordsPathParams = {
+  zoneId: Schemas.DnsRecordsIdentifier;
+};
+
+export type DnsRecordsForAZoneImportDnsRecordsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DnsRecordsDnsResponseImportScan & Schemas.DnsRecordsApiResponseCommonFailure;
+}>;
+
+export type DnsRecordsForAZoneImportDnsRecordsRequestBody = {
+  /**
+   * BIND config to import.
+   *
+   * **Tip:** When using cURL, a file can be uploaded using `--form 'file=@bind_config.txt'`.
+   *
+   * @example www.example.com. 300 IN  A 127.0.0.1
+   */
+  file: string;
+  /**
+   * Whether or not proxiable records should receive the performance and security benefits of Cloudflare.
+   *
+   * The value should be either `true` or `false`.
+   *
+   * @default false
+   * @example true
+   */
+  proxied?: string;
+};
+
+export type DnsRecordsForAZoneImportDnsRecordsVariables = {
+  body: DnsRecordsForAZoneImportDnsRecordsRequestBody;
+  pathParams: DnsRecordsForAZoneImportDnsRecordsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * You can upload your [BIND config](https://en.wikipedia.org/wiki/Zone_file "Zone file") through this endpoint. It assumes that cURL is called from a location with bind_config.txt (valid BIND config) present.
+ *
+ * See [the documentation](https://developers.cloudflare.com/dns/manage-dns-records/how-to/import-and-export/ "Import and export records") for more information.
+ */
+export const dnsRecordsForAZoneImportDnsRecords = (
+  variables: DnsRecordsForAZoneImportDnsRecordsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.DnsRecordsDnsResponseImportScan,
+    DnsRecordsForAZoneImportDnsRecordsError,
+    DnsRecordsForAZoneImportDnsRecordsRequestBody,
+    {},
+    {},
+    DnsRecordsForAZoneImportDnsRecordsPathParams
+  >({ url: '/zones/{zoneId}/dns_records/import', method: 'post', ...variables, signal });
+
+export type DnsRecordsForAZoneScanDnsRecordsPathParams = {
+  zoneId: Schemas.DnsRecordsIdentifier;
+};
+
+export type DnsRecordsForAZoneScanDnsRecordsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DnsRecordsDnsResponseImportScan & Schemas.DnsRecordsApiResponseCommonFailure;
+}>;
+
+export type DnsRecordsForAZoneScanDnsRecordsVariables = {
+  pathParams: DnsRecordsForAZoneScanDnsRecordsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Scan for common DNS records on your domain and automatically add them to your zone. Useful if you haven't updated your nameservers yet.
+ */
+export const dnsRecordsForAZoneScanDnsRecords = (
+  variables: DnsRecordsForAZoneScanDnsRecordsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.DnsRecordsDnsResponseImportScan,
+    DnsRecordsForAZoneScanDnsRecordsError,
+    undefined,
+    {},
+    {},
+    DnsRecordsForAZoneScanDnsRecordsPathParams
+  >({ url: '/zones/{zoneId}/dns_records/scan', method: 'post', ...variables, signal });
+
+export type DnsRecordsForAZoneDeleteDnsRecordPathParams = {
+  dnsRecordId: Schemas.DnsRecordsIdentifier;
+  zoneId: Schemas.DnsRecordsIdentifier;
+};
+
+export type DnsRecordsForAZoneDeleteDnsRecordError = Fetcher.ErrorWrapper<{
+  status: ClientErrorStatus;
+  payload: {
+    result: any | null;
+    /**
+     * @example {"code":7003,"message":"No route for the URI"}
+     * @minLength 1
+     */
+    errors: Schemas.DnsRecordsMessages;
+    messages: Schemas.DnsRecordsMessages;
+    /**
+     * Whether the API call was successful
+     *
+     * @example false
+     */
+    success: false;
+  };
+}>;
+
+export type DnsRecordsForAZoneDeleteDnsRecordResponse = {
+  result?: {
+    id?: Schemas.DnsRecordsIdentifier;
+  };
+};
+
+export type DnsRecordsForAZoneDeleteDnsRecordVariables = {
+  pathParams: DnsRecordsForAZoneDeleteDnsRecordPathParams;
+} & FetcherExtraProps;
+
+export const dnsRecordsForAZoneDeleteDnsRecord = (
+  variables: DnsRecordsForAZoneDeleteDnsRecordVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    DnsRecordsForAZoneDeleteDnsRecordResponse,
+    DnsRecordsForAZoneDeleteDnsRecordError,
+    undefined,
+    {},
+    {},
+    DnsRecordsForAZoneDeleteDnsRecordPathParams
+  >({ url: '/zones/{zoneId}/dns_records/{dnsRecordId}', method: 'delete', ...variables, signal });
+
+export type DnsRecordsForAZoneDnsRecordDetailsPathParams = {
+  dnsRecordId: Schemas.DnsRecordsIdentifier;
+  zoneId: Schemas.DnsRecordsIdentifier;
+};
+
+export type DnsRecordsForAZoneDnsRecordDetailsError = Fetcher.ErrorWrapper<{
+  status: ClientErrorStatus;
+  payload: Schemas.DnsRecordsDnsResponseSingle & Schemas.DnsRecordsApiResponseCommonFailure;
+}>;
+
+export type DnsRecordsForAZoneDnsRecordDetailsVariables = {
+  pathParams: DnsRecordsForAZoneDnsRecordDetailsPathParams;
+} & FetcherExtraProps;
+
+export const dnsRecordsForAZoneDnsRecordDetails = (
+  variables: DnsRecordsForAZoneDnsRecordDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.DnsRecordsDnsResponseSingle,
+    DnsRecordsForAZoneDnsRecordDetailsError,
+    undefined,
+    {},
+    {},
+    DnsRecordsForAZoneDnsRecordDetailsPathParams
+  >({ url: '/zones/{zoneId}/dns_records/{dnsRecordId}', method: 'get', ...variables, signal });
+
+export type DnsRecordsForAZonePatchDnsRecordPathParams = {
+  dnsRecordId: Schemas.DnsRecordsIdentifier;
+  zoneId: Schemas.DnsRecordsIdentifier;
+};
+
+export type DnsRecordsForAZonePatchDnsRecordError = Fetcher.ErrorWrapper<{
+  status: ClientErrorStatus;
+  payload: Schemas.DnsRecordsDnsResponseSingle & Schemas.DnsRecordsApiResponseCommonFailure;
+}>;
+
+export type DnsRecordsForAZonePatchDnsRecordVariables = {
+  body?: Schemas.DnsRecordsDnsRecordPatch;
+  pathParams: DnsRecordsForAZonePatchDnsRecordPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update an existing DNS record.
+ *
+ * Notes:
+ * - A/AAAA records cannot exist on the same name as CNAME records.
+ * - NS records cannot exist on the same name as any other record type.
+ * - Domain names are always represented in Punycode, even if Unicode
+ *   characters were used when creating the record.
+ */
+export const dnsRecordsForAZonePatchDnsRecord = (
+  variables: DnsRecordsForAZonePatchDnsRecordVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.DnsRecordsDnsResponseSingle,
+    DnsRecordsForAZonePatchDnsRecordError,
+    Schemas.DnsRecordsDnsRecordPatch,
+    {},
+    {},
+    DnsRecordsForAZonePatchDnsRecordPathParams
+  >({ url: '/zones/{zoneId}/dns_records/{dnsRecordId}', method: 'patch', ...variables, signal });
+
+export type DnsRecordsForAZoneUpdateDnsRecordPathParams = {
+  dnsRecordId: Schemas.DnsRecordsIdentifier;
+  zoneId: Schemas.DnsRecordsIdentifier;
+};
+
+export type DnsRecordsForAZoneUpdateDnsRecordError = Fetcher.ErrorWrapper<{
+  status: ClientErrorStatus;
+  payload: Schemas.DnsRecordsDnsResponseSingle & Schemas.DnsRecordsApiResponseCommonFailure;
+}>;
+
+export type DnsRecordsForAZoneUpdateDnsRecordVariables = {
+  body: Schemas.DnsRecordsDnsRecordPost;
+  pathParams: DnsRecordsForAZoneUpdateDnsRecordPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Overwrite an existing DNS record.
+ *
+ * Notes:
+ * - A/AAAA records cannot exist on the same name as CNAME records.
+ * - NS records cannot exist on the same name as any other record type.
+ * - Domain names are always represented in Punycode, even if Unicode
+ *   characters were used when creating the record.
+ */
+export const dnsRecordsForAZoneUpdateDnsRecord = (
+  variables: DnsRecordsForAZoneUpdateDnsRecordVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.DnsRecordsDnsResponseSingle,
+    DnsRecordsForAZoneUpdateDnsRecordError,
+    Schemas.DnsRecordsDnsRecordPost,
+    {},
+    {},
+    DnsRecordsForAZoneUpdateDnsRecordPathParams
+  >({ url: '/zones/{zoneId}/dns_records/{dnsRecordId}', method: 'put', ...variables, signal });
+
+export type DnsSettingsForAZoneListDnsSettingsPathParams = {
+  zoneId: Schemas.DnsSettingsIdentifier;
+};
+
+export type DnsSettingsForAZoneListDnsSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DnsSettingsSchemasDnsResponseSingle & Schemas.DnsSettingsApiResponseCommonFailure;
+}>;
+
+export type DnsSettingsForAZoneListDnsSettingsVariables = {
+  pathParams: DnsSettingsForAZoneListDnsSettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Show DNS settings for a zone
+ */
+export const dnsSettingsForAZoneListDnsSettings = (
+  variables: DnsSettingsForAZoneListDnsSettingsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.DnsSettingsSchemasDnsResponseSingle,
+    DnsSettingsForAZoneListDnsSettingsError,
+    undefined,
+    {},
+    {},
+    DnsSettingsForAZoneListDnsSettingsPathParams
+  >({ url: '/zones/{zoneId}/dns_settings', method: 'get', ...variables, signal });
+
+export type DnsSettingsForAZoneUpdateDnsSettingsPathParams = {
+  zoneId: Schemas.DnsSettingsIdentifier;
+};
+
+export type DnsSettingsForAZoneUpdateDnsSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DnsSettingsSchemasDnsResponseSingle & Schemas.DnsSettingsApiResponseCommonFailure;
+}>;
+
+export type DnsSettingsForAZoneUpdateDnsSettingsVariables = {
+  body?: Schemas.DnsSettingsDnsSettingsZone;
+  pathParams: DnsSettingsForAZoneUpdateDnsSettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update DNS settings for a zone
+ */
+export const dnsSettingsForAZoneUpdateDnsSettings = (
+  variables: DnsSettingsForAZoneUpdateDnsSettingsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.DnsSettingsSchemasDnsResponseSingle,
+    DnsSettingsForAZoneUpdateDnsSettingsError,
+    Schemas.DnsSettingsDnsSettingsZone,
+    {},
+    {},
+    DnsSettingsForAZoneUpdateDnsSettingsPathParams
+  >({ url: '/zones/{zoneId}/dns_settings', method: 'patch', ...variables, signal });
+
+export type DnssecDeleteDnssecRecordsPathParams = {
+  zoneId: Schemas.DnssecIdentifier;
+};
+
+export type DnssecDeleteDnssecRecordsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DnssecDeleteDnssecResponseSingle & Schemas.DnssecApiResponseCommonFailure;
+}>;
+
+export type DnssecDeleteDnssecRecordsVariables = {
+  pathParams: DnssecDeleteDnssecRecordsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete DNSSEC.
+ */
+export const dnssecDeleteDnssecRecords = (variables: DnssecDeleteDnssecRecordsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.DnssecDeleteDnssecResponseSingle,
+    DnssecDeleteDnssecRecordsError,
+    undefined,
+    {},
+    {},
+    DnssecDeleteDnssecRecordsPathParams
+  >({ url: '/zones/{zoneId}/dnssec', method: 'delete', ...variables, signal });
+
+export type DnssecDnssecDetailsPathParams = {
+  zoneId: Schemas.DnssecIdentifier;
+};
+
+export type DnssecDnssecDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DnssecDnssecResponseSingle & Schemas.DnssecApiResponseCommonFailure;
+}>;
+
+export type DnssecDnssecDetailsVariables = {
+  pathParams: DnssecDnssecDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Details about DNSSEC status and configuration.
+ */
+export const dnssecDnssecDetails = (variables: DnssecDnssecDetailsVariables, signal?: AbortSignal) =>
+  fetch<Schemas.DnssecDnssecResponseSingle, DnssecDnssecDetailsError, undefined, {}, {}, DnssecDnssecDetailsPathParams>(
+    { url: '/zones/{zoneId}/dnssec', method: 'get', ...variables, signal }
+  );
+
+export type DnssecEditDnssecStatusPathParams = {
+  zoneId: Schemas.DnssecIdentifier;
+};
+
+export type DnssecEditDnssecStatusError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.DnssecDnssecResponseSingle & Schemas.DnssecApiResponseCommonFailure;
+}>;
+
+export type DnssecEditDnssecStatusRequestBody = {
+  dnssec_multi_signer?: Schemas.DnssecDnssecMultiSigner;
+  dnssec_presigned?: Schemas.DnssecDnssecPresigned;
+  /**
+   * Status of DNSSEC, based on user-desired state and presence of necessary records.
+   *
+   * @example active
+   */
+  status?: 'active' | 'disabled';
+};
+
+export type DnssecEditDnssecStatusVariables = {
+  body?: DnssecEditDnssecStatusRequestBody;
+  pathParams: DnssecEditDnssecStatusPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Enable or disable DNSSEC.
+ */
+export const dnssecEditDnssecStatus = (variables: DnssecEditDnssecStatusVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.DnssecDnssecResponseSingle,
+    DnssecEditDnssecStatusError,
+    DnssecEditDnssecStatusRequestBody,
+    {},
+    {},
+    DnssecEditDnssecStatusPathParams
+  >({ url: '/zones/{zoneId}/dnssec', method: 'patch', ...variables, signal });
+
+export type EmailRoutingSettingsGetEmailRoutingSettingsPathParams = {
+  zoneId: Schemas.EmailIdentifier;
+};
+
+export type EmailRoutingSettingsGetEmailRoutingSettingsError = Fetcher.ErrorWrapper<undefined>;
+
+export type EmailRoutingSettingsGetEmailRoutingSettingsVariables = {
+  pathParams: EmailRoutingSettingsGetEmailRoutingSettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get information about the settings for your Email Routing zone.
+ */
+export const emailRoutingSettingsGetEmailRoutingSettings = (
+  variables: EmailRoutingSettingsGetEmailRoutingSettingsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.EmailEmailSettingsResponseSingle,
+    EmailRoutingSettingsGetEmailRoutingSettingsError,
+    undefined,
+    {},
+    {},
+    EmailRoutingSettingsGetEmailRoutingSettingsPathParams
+  >({ url: '/zones/{zoneId}/email/routing', method: 'get', ...variables, signal });
+
+export type EmailRoutingSettingsDisableEmailRoutingPathParams = {
+  zoneId: Schemas.EmailIdentifier;
+};
+
+export type EmailRoutingSettingsDisableEmailRoutingError = Fetcher.ErrorWrapper<undefined>;
+
+export type EmailRoutingSettingsDisableEmailRoutingVariables = {
+  pathParams: EmailRoutingSettingsDisableEmailRoutingPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Disable your Email Routing zone. Also removes additional MX records previously required for Email Routing to work.
+ */
+export const emailRoutingSettingsDisableEmailRouting = (
+  variables: EmailRoutingSettingsDisableEmailRoutingVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.EmailEmailSettingsResponseSingle,
+    EmailRoutingSettingsDisableEmailRoutingError,
+    undefined,
+    {},
+    {},
+    EmailRoutingSettingsDisableEmailRoutingPathParams
+  >({ url: '/zones/{zoneId}/email/routing/disable', method: 'post', ...variables, signal });
+
+export type EmailRoutingSettingsDisableEmailRoutingDnsPathParams = {
+  zoneId: Schemas.EmailIdentifier;
+};
+
+export type EmailRoutingSettingsDisableEmailRoutingDnsError = Fetcher.ErrorWrapper<undefined>;
+
+export type EmailRoutingSettingsDisableEmailRoutingDnsVariables = {
+  body: Schemas.EmailEmailSettingDnsRequestBody;
+  pathParams: EmailRoutingSettingsDisableEmailRoutingDnsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Disable your Email Routing zone. Also removes additional MX records previously required for Email Routing to work.
+ */
+export const emailRoutingSettingsDisableEmailRoutingDns = (
+  variables: EmailRoutingSettingsDisableEmailRoutingDnsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.EmailApiResponseSingle | Schemas.EmailDnsSettingsResponseCollection,
+    EmailRoutingSettingsDisableEmailRoutingDnsError,
+    Schemas.EmailEmailSettingDnsRequestBody,
+    {},
+    {},
+    EmailRoutingSettingsDisableEmailRoutingDnsPathParams
+  >({ url: '/zones/{zoneId}/email/routing/dns', method: 'delete', ...variables, signal });
+
+export type EmailRoutingSettingsEmailRoutingDnsSettingsPathParams = {
+  zoneId: Schemas.EmailIdentifier;
+};
+
+export type EmailRoutingSettingsEmailRoutingDnsSettingsQueryParams = {
+  subdomain?: Schemas.EmailEmailSettingName;
+};
+
+export type EmailRoutingSettingsEmailRoutingDnsSettingsError = Fetcher.ErrorWrapper<undefined>;
+
+export type EmailRoutingSettingsEmailRoutingDnsSettingsVariables = {
+  pathParams: EmailRoutingSettingsEmailRoutingDnsSettingsPathParams;
+  queryParams?: EmailRoutingSettingsEmailRoutingDnsSettingsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Show the DNS records needed to configure your Email Routing zone.
+ */
+export const emailRoutingSettingsEmailRoutingDnsSettings = (
+  variables: EmailRoutingSettingsEmailRoutingDnsSettingsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.EmailEmailRoutingDnsQueryResponse | Schemas.EmailDnsSettingsResponseCollection,
+    EmailRoutingSettingsEmailRoutingDnsSettingsError,
+    undefined,
+    {},
+    EmailRoutingSettingsEmailRoutingDnsSettingsQueryParams,
+    EmailRoutingSettingsEmailRoutingDnsSettingsPathParams
+  >({ url: '/zones/{zoneId}/email/routing/dns', method: 'get', ...variables, signal });
+
+export type EmailRoutingSettingsUnlockEmailRoutingDnsPathParams = {
+  zoneId: Schemas.EmailIdentifier;
+};
+
+export type EmailRoutingSettingsUnlockEmailRoutingDnsError = Fetcher.ErrorWrapper<undefined>;
+
+export type EmailRoutingSettingsUnlockEmailRoutingDnsVariables = {
+  body: Schemas.EmailEmailSettingDnsRequestBody;
+  pathParams: EmailRoutingSettingsUnlockEmailRoutingDnsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Unlock MX Records previously locked by Email Routing.
+ */
+export const emailRoutingSettingsUnlockEmailRoutingDns = (
+  variables: EmailRoutingSettingsUnlockEmailRoutingDnsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.EmailEmailSettingsResponseSingle,
+    EmailRoutingSettingsUnlockEmailRoutingDnsError,
+    Schemas.EmailEmailSettingDnsRequestBody,
+    {},
+    {},
+    EmailRoutingSettingsUnlockEmailRoutingDnsPathParams
+  >({ url: '/zones/{zoneId}/email/routing/dns', method: 'patch', ...variables, signal });
+
+export type EmailRoutingSettingsEnableEmailRoutingDnsPathParams = {
+  zoneId: Schemas.EmailIdentifier;
+};
+
+export type EmailRoutingSettingsEnableEmailRoutingDnsError = Fetcher.ErrorWrapper<undefined>;
+
+export type EmailRoutingSettingsEnableEmailRoutingDnsVariables = {
+  body: Schemas.EmailEmailSettingDnsRequestBody;
+  pathParams: EmailRoutingSettingsEnableEmailRoutingDnsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Enable you Email Routing zone. Add and lock the necessary MX and SPF records.
+ */
+export const emailRoutingSettingsEnableEmailRoutingDns = (
+  variables: EmailRoutingSettingsEnableEmailRoutingDnsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.EmailEmailSettingsResponseSingle,
+    EmailRoutingSettingsEnableEmailRoutingDnsError,
+    Schemas.EmailEmailSettingDnsRequestBody,
+    {},
+    {},
+    EmailRoutingSettingsEnableEmailRoutingDnsPathParams
+  >({ url: '/zones/{zoneId}/email/routing/dns', method: 'post', ...variables, signal });
+
+export type EmailRoutingSettingsEnableEmailRoutingPathParams = {
+  zoneId: Schemas.EmailIdentifier;
+};
+
+export type EmailRoutingSettingsEnableEmailRoutingError = Fetcher.ErrorWrapper<undefined>;
+
+export type EmailRoutingSettingsEnableEmailRoutingVariables = {
+  pathParams: EmailRoutingSettingsEnableEmailRoutingPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Enable you Email Routing zone. Add and lock the necessary MX and SPF records.
+ */
+export const emailRoutingSettingsEnableEmailRouting = (
+  variables: EmailRoutingSettingsEnableEmailRoutingVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.EmailEmailSettingsResponseSingle,
+    EmailRoutingSettingsEnableEmailRoutingError,
+    undefined,
+    {},
+    {},
+    EmailRoutingSettingsEnableEmailRoutingPathParams
+  >({ url: '/zones/{zoneId}/email/routing/enable', method: 'post', ...variables, signal });
+
+export type EmailRoutingRoutingRulesListRoutingRulesPathParams = {
+  zoneId: Schemas.EmailIdentifier;
+};
+
+export type EmailRoutingRoutingRulesListRoutingRulesQueryParams = {
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default 20
+   * @maximum 50
+   * @minimum 5
+   */
+  per_page?: number;
+  /**
+   * @example true
+   */
+  enabled?: true | false;
+};
+
+export type EmailRoutingRoutingRulesListRoutingRulesError = Fetcher.ErrorWrapper<undefined>;
+
+export type EmailRoutingRoutingRulesListRoutingRulesVariables = {
+  pathParams: EmailRoutingRoutingRulesListRoutingRulesPathParams;
+  queryParams?: EmailRoutingRoutingRulesListRoutingRulesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists existing routing rules.
+ */
+export const emailRoutingRoutingRulesListRoutingRules = (
+  variables: EmailRoutingRoutingRulesListRoutingRulesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.EmailRulesResponseCollection,
+    EmailRoutingRoutingRulesListRoutingRulesError,
+    undefined,
+    {},
+    EmailRoutingRoutingRulesListRoutingRulesQueryParams,
+    EmailRoutingRoutingRulesListRoutingRulesPathParams
+  >({ url: '/zones/{zoneId}/email/routing/rules', method: 'get', ...variables, signal });
+
+export type EmailRoutingRoutingRulesCreateRoutingRulePathParams = {
+  zoneId: Schemas.EmailIdentifier;
+};
+
+export type EmailRoutingRoutingRulesCreateRoutingRuleError = Fetcher.ErrorWrapper<undefined>;
+
+export type EmailRoutingRoutingRulesCreateRoutingRuleVariables = {
+  body: Schemas.EmailCreateRuleProperties;
+  pathParams: EmailRoutingRoutingRulesCreateRoutingRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Rules consist of a set of criteria for matching emails (such as an email being sent to a specific custom email address) plus a set of actions to take on the email (like forwarding it to a specific destination address).
+ */
+export const emailRoutingRoutingRulesCreateRoutingRule = (
+  variables: EmailRoutingRoutingRulesCreateRoutingRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.EmailRuleResponseSingle,
+    EmailRoutingRoutingRulesCreateRoutingRuleError,
+    Schemas.EmailCreateRuleProperties,
+    {},
+    {},
+    EmailRoutingRoutingRulesCreateRoutingRulePathParams
+  >({ url: '/zones/{zoneId}/email/routing/rules', method: 'post', ...variables, signal });
+
+export type EmailRoutingRoutingRulesGetCatchAllRulePathParams = {
+  zoneId: Schemas.EmailIdentifier;
+};
+
+export type EmailRoutingRoutingRulesGetCatchAllRuleError = Fetcher.ErrorWrapper<undefined>;
+
+export type EmailRoutingRoutingRulesGetCatchAllRuleVariables = {
+  pathParams: EmailRoutingRoutingRulesGetCatchAllRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get information on the default catch-all routing rule.
+ */
+export const emailRoutingRoutingRulesGetCatchAllRule = (
+  variables: EmailRoutingRoutingRulesGetCatchAllRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.EmailCatchAllRuleResponseSingle,
+    EmailRoutingRoutingRulesGetCatchAllRuleError,
+    undefined,
+    {},
+    {},
+    EmailRoutingRoutingRulesGetCatchAllRulePathParams
+  >({ url: '/zones/{zoneId}/email/routing/rules/catch_all', method: 'get', ...variables, signal });
+
+export type EmailRoutingRoutingRulesUpdateCatchAllRulePathParams = {
+  zoneId: Schemas.EmailIdentifier;
+};
+
+export type EmailRoutingRoutingRulesUpdateCatchAllRuleError = Fetcher.ErrorWrapper<undefined>;
+
+export type EmailRoutingRoutingRulesUpdateCatchAllRuleVariables = {
+  body: Schemas.EmailUpdateCatchAllRuleProperties;
+  pathParams: EmailRoutingRoutingRulesUpdateCatchAllRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Enable or disable catch-all routing rule, or change action to forward to specific destination address.
+ */
+export const emailRoutingRoutingRulesUpdateCatchAllRule = (
+  variables: EmailRoutingRoutingRulesUpdateCatchAllRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.EmailCatchAllRuleResponseSingle,
+    EmailRoutingRoutingRulesUpdateCatchAllRuleError,
+    Schemas.EmailUpdateCatchAllRuleProperties,
+    {},
+    {},
+    EmailRoutingRoutingRulesUpdateCatchAllRulePathParams
+  >({ url: '/zones/{zoneId}/email/routing/rules/catch_all', method: 'put', ...variables, signal });
+
+export type EmailRoutingRoutingRulesDeleteRoutingRulePathParams = {
+  ruleIdentifier: Schemas.EmailRuleIdentifier;
+  zoneId: Schemas.EmailIdentifier;
+};
+
+export type EmailRoutingRoutingRulesDeleteRoutingRuleError = Fetcher.ErrorWrapper<undefined>;
+
+export type EmailRoutingRoutingRulesDeleteRoutingRuleVariables = {
+  pathParams: EmailRoutingRoutingRulesDeleteRoutingRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete a specific routing rule.
+ */
+export const emailRoutingRoutingRulesDeleteRoutingRule = (
+  variables: EmailRoutingRoutingRulesDeleteRoutingRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.EmailRuleResponseSingle,
+    EmailRoutingRoutingRulesDeleteRoutingRuleError,
+    undefined,
+    {},
+    {},
+    EmailRoutingRoutingRulesDeleteRoutingRulePathParams
+  >({ url: '/zones/{zoneId}/email/routing/rules/{ruleIdentifier}', method: 'delete', ...variables, signal });
+
+export type EmailRoutingRoutingRulesGetRoutingRulePathParams = {
+  ruleIdentifier: Schemas.EmailRuleIdentifier;
+  zoneId: Schemas.EmailIdentifier;
+};
+
+export type EmailRoutingRoutingRulesGetRoutingRuleError = Fetcher.ErrorWrapper<undefined>;
+
+export type EmailRoutingRoutingRulesGetRoutingRuleVariables = {
+  pathParams: EmailRoutingRoutingRulesGetRoutingRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get information for a specific routing rule already created.
+ */
+export const emailRoutingRoutingRulesGetRoutingRule = (
+  variables: EmailRoutingRoutingRulesGetRoutingRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.EmailRuleResponseSingle,
+    EmailRoutingRoutingRulesGetRoutingRuleError,
+    undefined,
+    {},
+    {},
+    EmailRoutingRoutingRulesGetRoutingRulePathParams
+  >({ url: '/zones/{zoneId}/email/routing/rules/{ruleIdentifier}', method: 'get', ...variables, signal });
+
+export type EmailRoutingRoutingRulesUpdateRoutingRulePathParams = {
+  ruleIdentifier: Schemas.EmailRuleIdentifier;
+  zoneId: Schemas.EmailIdentifier;
+};
+
+export type EmailRoutingRoutingRulesUpdateRoutingRuleError = Fetcher.ErrorWrapper<undefined>;
+
+export type EmailRoutingRoutingRulesUpdateRoutingRuleVariables = {
+  body: Schemas.EmailUpdateRuleProperties;
+  pathParams: EmailRoutingRoutingRulesUpdateRoutingRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update actions and matches, or enable/disable specific routing rules.
+ */
+export const emailRoutingRoutingRulesUpdateRoutingRule = (
+  variables: EmailRoutingRoutingRulesUpdateRoutingRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.EmailRuleResponseSingle,
+    EmailRoutingRoutingRulesUpdateRoutingRuleError,
+    Schemas.EmailUpdateRuleProperties,
+    {},
+    {},
+    EmailRoutingRoutingRulesUpdateRoutingRulePathParams
+  >({ url: '/zones/{zoneId}/email/routing/rules/{ruleIdentifier}', method: 'put', ...variables, signal });
+
+export type FiltersDeleteFiltersPathParams = {
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type FiltersDeleteFiltersError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallFilterDeleteResponseCollection & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type FiltersDeleteFiltersRequestBody = {
+  id: Schemas.FirewallFiltersComponentsSchemasId;
+};
+
+export type FiltersDeleteFiltersVariables = {
+  body: FiltersDeleteFiltersRequestBody;
+  pathParams: FiltersDeleteFiltersPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes one or more existing filters.
+ */
+export const filtersDeleteFilters = (variables: FiltersDeleteFiltersVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.FirewallFilterDeleteResponseCollection,
+    FiltersDeleteFiltersError,
+    FiltersDeleteFiltersRequestBody,
+    {},
+    {},
+    FiltersDeleteFiltersPathParams
+  >({ url: '/zones/{zoneId}/filters', method: 'delete', ...variables, signal });
+
+export type FiltersListFiltersPathParams = {
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type FiltersListFiltersQueryParams = {
+  paused?: Schemas.FirewallFiltersComponentsSchemasPaused;
+  /**
+   * @example php
+   */
+  expression?: string;
+  /**
+   * @example browsers
+   */
+  description?: string;
+  /**
+   * @example FIL-100
+   */
+  ref?: string;
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default 25
+   * @maximum 100
+   * @minimum 5
+   */
+  per_page?: number;
+  /**
+   * @example 372e67954025e0ba6aaa6d586b9e0b61
+   * @maxLength 32
+   * @minLength 32
+   */
+  id?: string;
+};
+
+export type FiltersListFiltersError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallFilterResponseCollection & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type FiltersListFiltersVariables = {
+  pathParams: FiltersListFiltersPathParams;
+  queryParams?: FiltersListFiltersQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches filters in a zone. You can filter the results using several optional parameters.
+ */
+export const filtersListFilters = (variables: FiltersListFiltersVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.FirewallFilterResponseCollection,
+    FiltersListFiltersError,
+    undefined,
+    {},
+    FiltersListFiltersQueryParams,
+    FiltersListFiltersPathParams
+  >({ url: '/zones/{zoneId}/filters', method: 'get', ...variables, signal });
+
+export type FiltersCreateFiltersPathParams = {
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type FiltersCreateFiltersError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallFilterResponseCollection & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type FiltersCreateFiltersResponse = Schemas.FirewallFilterResponseCollection;
+
+export type FiltersCreateFiltersRequestBody = {
+  expression: Schemas.FirewallExpression;
+};
+
+export type FiltersCreateFiltersVariables = {
+  body: FiltersCreateFiltersRequestBody;
+  pathParams: FiltersCreateFiltersPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates one or more filters.
+ */
+export const filtersCreateFilters = (variables: FiltersCreateFiltersVariables, signal?: AbortSignal) =>
+  fetch<
+    FiltersCreateFiltersResponse,
+    FiltersCreateFiltersError,
+    FiltersCreateFiltersRequestBody,
+    {},
+    {},
+    FiltersCreateFiltersPathParams
+  >({ url: '/zones/{zoneId}/filters', method: 'post', ...variables, signal });
+
+export type FiltersUpdateFiltersPathParams = {
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type FiltersUpdateFiltersError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallFilterResponseCollection & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type FiltersUpdateFiltersRequestBody = {
+  id: Schemas.FirewallComponentsSchemasIdentifier;
+};
+
+export type FiltersUpdateFiltersVariables = {
+  body: FiltersUpdateFiltersRequestBody;
+  pathParams: FiltersUpdateFiltersPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates one or more existing filters.
+ */
+export const filtersUpdateFilters = (variables: FiltersUpdateFiltersVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.FirewallFilterResponseCollection,
+    FiltersUpdateFiltersError,
+    FiltersUpdateFiltersRequestBody,
+    {},
+    {},
+    FiltersUpdateFiltersPathParams
+  >({ url: '/zones/{zoneId}/filters', method: 'put', ...variables, signal });
+
+export type FiltersDeleteAFilterPathParams = {
+  filterId: Schemas.FirewallFiltersComponentsSchemasId;
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type FiltersDeleteAFilterError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallFilterDeleteResponseSingle & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type FiltersDeleteAFilterVariables = {
+  pathParams: FiltersDeleteAFilterPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes an existing filter.
+ */
+export const filtersDeleteAFilter = (variables: FiltersDeleteAFilterVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.FirewallFilterDeleteResponseSingle,
+    FiltersDeleteAFilterError,
+    undefined,
+    {},
+    {},
+    FiltersDeleteAFilterPathParams
+  >({ url: '/zones/{zoneId}/filters/{filterId}', method: 'delete', ...variables, signal });
+
+export type FiltersGetAFilterPathParams = {
+  filterId: Schemas.FirewallFiltersComponentsSchemasId;
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type FiltersGetAFilterError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallFilterResponseSingle & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type FiltersGetAFilterVariables = {
+  pathParams: FiltersGetAFilterPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the details of a filter.
+ */
+export const filtersGetAFilter = (variables: FiltersGetAFilterVariables, signal?: AbortSignal) =>
+  fetch<Schemas.FirewallFilterResponseSingle, FiltersGetAFilterError, undefined, {}, {}, FiltersGetAFilterPathParams>({
+    url: '/zones/{zoneId}/filters/{filterId}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type FiltersUpdateAFilterPathParams = {
+  filterId: Schemas.FirewallFiltersComponentsSchemasId;
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type FiltersUpdateAFilterError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallFilterResponseSingle & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type FiltersUpdateAFilterVariables = {
+  body: void;
+  pathParams: FiltersUpdateAFilterPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates an existing filter.
+ */
+export const filtersUpdateAFilter = (variables: FiltersUpdateAFilterVariables, signal?: AbortSignal) =>
+  fetch<Schemas.FirewallFilterResponseSingle, FiltersUpdateAFilterError, void, {}, {}, FiltersUpdateAFilterPathParams>({
+    url: '/zones/{zoneId}/filters/{filterId}',
+    method: 'put',
+    ...variables,
+    signal
+  });
+
+export type IpAccessRulesForAZoneListIpAccessRulesPathParams = {
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type IpAccessRulesForAZoneListIpAccessRulesQueryParams = {
+  mode?: Schemas.FirewallSchemasMode;
+  /**
+   * @example ip
+   */
+  ['configuration.target']?: 'ip' | 'ip_range' | 'asn' | 'country';
+  /**
+   * @example 198.51.100.4
+   */
+  ['configuration.value']?: string;
+  /**
+   * @example my note
+   */
+  notes?: string;
+  /**
+   * @default all
+   */
+  match?: 'any' | 'all';
+  /**
+   * @example 1
+   */
+  page?: number;
+  /**
+   * @example 20
+   */
+  per_page?: number;
+  /**
+   * @example mode
+   */
+  order?: 'configuration.target' | 'configuration.value' | 'mode';
+  /**
+   * @example desc
+   */
+  direction?: 'asc' | 'desc';
+};
+
+export type IpAccessRulesForAZoneListIpAccessRulesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallRuleCollectionResponse & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type IpAccessRulesForAZoneListIpAccessRulesVariables = {
+  pathParams: IpAccessRulesForAZoneListIpAccessRulesPathParams;
+  queryParams?: IpAccessRulesForAZoneListIpAccessRulesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches IP Access rules of a zone. You can filter the results using several optional parameters.
+ */
+export const ipAccessRulesForAZoneListIpAccessRules = (
+  variables: IpAccessRulesForAZoneListIpAccessRulesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.FirewallRuleCollectionResponse,
+    IpAccessRulesForAZoneListIpAccessRulesError,
+    undefined,
+    {},
+    IpAccessRulesForAZoneListIpAccessRulesQueryParams,
+    IpAccessRulesForAZoneListIpAccessRulesPathParams
+  >({ url: '/zones/{zoneId}/firewall/access_rules/rules', method: 'get', ...variables, signal });
+
+export type IpAccessRulesForAZoneCreateAnIpAccessRulePathParams = {
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type IpAccessRulesForAZoneCreateAnIpAccessRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallRuleSingleResponse & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type IpAccessRulesForAZoneCreateAnIpAccessRuleRequestBody = {
+  configuration: Schemas.FirewallConfiguration;
+  mode: Schemas.FirewallSchemasMode;
+  notes: Schemas.FirewallNotes;
+};
+
+export type IpAccessRulesForAZoneCreateAnIpAccessRuleVariables = {
+  body: IpAccessRulesForAZoneCreateAnIpAccessRuleRequestBody;
+  pathParams: IpAccessRulesForAZoneCreateAnIpAccessRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new IP Access rule for a zone.
+ *
+ * Note: To create an IP Access rule that applies to multiple zones, refer to [IP Access rules for a user](#ip-access-rules-for-a-user) or [IP Access rules for an account](#ip-access-rules-for-an-account) as appropriate.
+ */
+export const ipAccessRulesForAZoneCreateAnIpAccessRule = (
+  variables: IpAccessRulesForAZoneCreateAnIpAccessRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.FirewallRuleSingleResponse,
+    IpAccessRulesForAZoneCreateAnIpAccessRuleError,
+    IpAccessRulesForAZoneCreateAnIpAccessRuleRequestBody,
+    {},
+    {},
+    IpAccessRulesForAZoneCreateAnIpAccessRulePathParams
+  >({ url: '/zones/{zoneId}/firewall/access_rules/rules', method: 'post', ...variables, signal });
+
+export type IpAccessRulesForAZoneDeleteAnIpAccessRulePathParams = {
+  zoneId: Schemas.FirewallIdentifier;
+  ruleId: Schemas.FirewallRuleIdentifier;
+};
+
+export type IpAccessRulesForAZoneDeleteAnIpAccessRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallRuleSingleIdResponse & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type IpAccessRulesForAZoneDeleteAnIpAccessRuleRequestBody = {
+  /**
+   * The level to attempt to delete similar rules defined for other zones with the same owner. The default value is `none`, which will only delete the current rule. Using `basic` will delete rules that match the same action (mode) and configuration, while using `aggressive` will delete rules that match the same configuration.
+   *
+   * @default none
+   */
+  cascade?: 'none' | 'basic' | 'aggressive';
+};
+
+export type IpAccessRulesForAZoneDeleteAnIpAccessRuleVariables = {
+  body?: IpAccessRulesForAZoneDeleteAnIpAccessRuleRequestBody;
+  pathParams: IpAccessRulesForAZoneDeleteAnIpAccessRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes an IP Access rule defined at the zone level.
+ *
+ * Optionally, you can use the `cascade` property to specify that you wish to delete similar rules in other zones managed by the same zone owner.
+ */
+export const ipAccessRulesForAZoneDeleteAnIpAccessRule = (
+  variables: IpAccessRulesForAZoneDeleteAnIpAccessRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.FirewallRuleSingleIdResponse,
+    IpAccessRulesForAZoneDeleteAnIpAccessRuleError,
+    IpAccessRulesForAZoneDeleteAnIpAccessRuleRequestBody,
+    {},
+    {},
+    IpAccessRulesForAZoneDeleteAnIpAccessRulePathParams
+  >({ url: '/zones/{zoneId}/firewall/access_rules/rules/{ruleId}', method: 'delete', ...variables, signal });
+
+export type IpAccessRulesForAZoneUpdateAnIpAccessRulePathParams = {
+  zoneId: Schemas.FirewallIdentifier;
+  ruleId: Schemas.FirewallRuleIdentifier;
+};
+
+export type IpAccessRulesForAZoneUpdateAnIpAccessRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallRuleSingleResponse & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type IpAccessRulesForAZoneUpdateAnIpAccessRuleRequestBody = {
+  mode?: Schemas.FirewallSchemasMode;
+  notes?: Schemas.FirewallNotes;
+};
+
+export type IpAccessRulesForAZoneUpdateAnIpAccessRuleVariables = {
+  body?: IpAccessRulesForAZoneUpdateAnIpAccessRuleRequestBody;
+  pathParams: IpAccessRulesForAZoneUpdateAnIpAccessRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates an IP Access rule defined at the zone level. You can only update the rule action (`mode` parameter) and notes.
+ */
+export const ipAccessRulesForAZoneUpdateAnIpAccessRule = (
+  variables: IpAccessRulesForAZoneUpdateAnIpAccessRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.FirewallRuleSingleResponse,
+    IpAccessRulesForAZoneUpdateAnIpAccessRuleError,
+    IpAccessRulesForAZoneUpdateAnIpAccessRuleRequestBody,
+    {},
+    {},
+    IpAccessRulesForAZoneUpdateAnIpAccessRulePathParams
+  >({ url: '/zones/{zoneId}/firewall/access_rules/rules/{ruleId}', method: 'patch', ...variables, signal });
+
+export type ZoneLockdownListZoneLockdownRulesPathParams = {
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type ZoneLockdownListZoneLockdownRulesQueryParams = {
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * A string to search for in the description of existing rules.
+   *
+   * @example endpoints
+   */
+  description?: Schemas.FirewallSchemasDescriptionSearch;
+  /**
+   * The timestamp of when the rule was last modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: Schemas.FirewallModifiedOn;
+  /**
+   * A single IP address to search for in existing rules.
+   *
+   * @example 1.2.3.4
+   */
+  ip?: Schemas.FirewallIpSearch;
+  /**
+   * The priority of the rule to control the processing order. A lower number indicates higher priority. If not provided, any rules with a configured priority will be processed before rules without a priority.
+   *
+   * @example 5
+   */
+  priority?: Schemas.FirewallSchemasPriority;
+  /**
+   * A single URI to search for in the list of URLs of existing rules.
+   *
+   * @example /some/path
+   */
+  uri_search?: Schemas.FirewallUriSearch;
+  /**
+   * A single IP address range to search for in existing rules.
+   *
+   * @example 1.2.3.0/16
+   */
+  ip_range_search?: Schemas.FirewallIpRangeSearch;
+  /**
+   * @default 20
+   * @maximum 1000
+   * @minimum 1
+   */
+  per_page?: number;
+  /**
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  created_on?: string;
+  /**
+   * @example endpoints
+   */
+  description_search?: string;
+  /**
+   * @example 1.2.3.4
+   */
+  ip_search?: string;
+};
+
+export type ZoneLockdownListZoneLockdownRulesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallZonelockdownResponseCollection & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type ZoneLockdownListZoneLockdownRulesVariables = {
+  pathParams: ZoneLockdownListZoneLockdownRulesPathParams;
+  queryParams?: ZoneLockdownListZoneLockdownRulesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches Zone Lockdown rules. You can filter the results using several optional parameters.
+ */
+export const zoneLockdownListZoneLockdownRules = (
+  variables: ZoneLockdownListZoneLockdownRulesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.FirewallZonelockdownResponseCollection,
+    ZoneLockdownListZoneLockdownRulesError,
+    undefined,
+    {},
+    ZoneLockdownListZoneLockdownRulesQueryParams,
+    ZoneLockdownListZoneLockdownRulesPathParams
+  >({ url: '/zones/{zoneId}/firewall/lockdowns', method: 'get', ...variables, signal });
+
+export type ZoneLockdownCreateAZoneLockdownRulePathParams = {
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type ZoneLockdownCreateAZoneLockdownRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallZonelockdownResponseSingle & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type ZoneLockdownCreateAZoneLockdownRuleRequestBody = {
+  configurations: Schemas.FirewallConfigurations;
+  urls: Schemas.FirewallUrls;
+};
+
+export type ZoneLockdownCreateAZoneLockdownRuleVariables = {
+  body: ZoneLockdownCreateAZoneLockdownRuleRequestBody;
+  pathParams: ZoneLockdownCreateAZoneLockdownRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new Zone Lockdown rule.
+ */
+export const zoneLockdownCreateAZoneLockdownRule = (
+  variables: ZoneLockdownCreateAZoneLockdownRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.FirewallZonelockdownResponseSingle,
+    ZoneLockdownCreateAZoneLockdownRuleError,
+    ZoneLockdownCreateAZoneLockdownRuleRequestBody,
+    {},
+    {},
+    ZoneLockdownCreateAZoneLockdownRulePathParams
+  >({ url: '/zones/{zoneId}/firewall/lockdowns', method: 'post', ...variables, signal });
+
+export type ZoneLockdownDeleteAZoneLockdownRulePathParams = {
+  lockDownsId: Schemas.FirewallLockdownsComponentsSchemasId;
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type ZoneLockdownDeleteAZoneLockdownRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    result: any | null;
+    /**
+     * @example {"code":7003,"message":"No route for the URI"}
+     * @minLength 1
+     */
+    errors: Schemas.FirewallMessages;
+    messages: Schemas.FirewallMessages;
+    /**
+     * Whether the API call was successful
+     *
+     * @example false
+     */
+    success: false;
+  };
+}>;
+
+export type ZoneLockdownDeleteAZoneLockdownRuleResponse = {
+  result?: {
+    id?: Schemas.FirewallLockdownsComponentsSchemasId;
+  };
+};
+
+export type ZoneLockdownDeleteAZoneLockdownRuleVariables = {
+  pathParams: ZoneLockdownDeleteAZoneLockdownRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes an existing Zone Lockdown rule.
+ */
+export const zoneLockdownDeleteAZoneLockdownRule = (
+  variables: ZoneLockdownDeleteAZoneLockdownRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    ZoneLockdownDeleteAZoneLockdownRuleResponse,
+    ZoneLockdownDeleteAZoneLockdownRuleError,
+    undefined,
+    {},
+    {},
+    ZoneLockdownDeleteAZoneLockdownRulePathParams
+  >({ url: '/zones/{zoneId}/firewall/lockdowns/{lockDownsId}', method: 'delete', ...variables, signal });
+
+export type ZoneLockdownGetAZoneLockdownRulePathParams = {
+  lockDownsId: Schemas.FirewallLockdownsComponentsSchemasId;
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type ZoneLockdownGetAZoneLockdownRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallZonelockdownResponseSingle & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type ZoneLockdownGetAZoneLockdownRuleVariables = {
+  pathParams: ZoneLockdownGetAZoneLockdownRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the details of a Zone Lockdown rule.
+ */
+export const zoneLockdownGetAZoneLockdownRule = (
+  variables: ZoneLockdownGetAZoneLockdownRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.FirewallZonelockdownResponseSingle,
+    ZoneLockdownGetAZoneLockdownRuleError,
+    undefined,
+    {},
+    {},
+    ZoneLockdownGetAZoneLockdownRulePathParams
+  >({ url: '/zones/{zoneId}/firewall/lockdowns/{lockDownsId}', method: 'get', ...variables, signal });
+
+export type ZoneLockdownUpdateAZoneLockdownRulePathParams = {
+  lockDownsId: Schemas.FirewallLockdownsComponentsSchemasId;
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type ZoneLockdownUpdateAZoneLockdownRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallZonelockdownResponseSingle & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type ZoneLockdownUpdateAZoneLockdownRuleRequestBody = {
+  configurations: Schemas.FirewallConfigurations;
+  urls: Schemas.FirewallUrls;
+};
+
+export type ZoneLockdownUpdateAZoneLockdownRuleVariables = {
+  body: ZoneLockdownUpdateAZoneLockdownRuleRequestBody;
+  pathParams: ZoneLockdownUpdateAZoneLockdownRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates an existing Zone Lockdown rule.
+ */
+export const zoneLockdownUpdateAZoneLockdownRule = (
+  variables: ZoneLockdownUpdateAZoneLockdownRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.FirewallZonelockdownResponseSingle,
+    ZoneLockdownUpdateAZoneLockdownRuleError,
+    ZoneLockdownUpdateAZoneLockdownRuleRequestBody,
+    {},
+    {},
+    ZoneLockdownUpdateAZoneLockdownRulePathParams
+  >({ url: '/zones/{zoneId}/firewall/lockdowns/{lockDownsId}', method: 'put', ...variables, signal });
+
+export type FirewallRulesDeleteFirewallRulesPathParams = {
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type FirewallRulesDeleteFirewallRulesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallFilterRulesResponseCollectionDelete & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type FirewallRulesDeleteFirewallRulesRequestBody = {
+  id: Schemas.FirewallFirewallRulesComponentsSchemasId;
+};
+
+export type FirewallRulesDeleteFirewallRulesVariables = {
+  body: FirewallRulesDeleteFirewallRulesRequestBody;
+  pathParams: FirewallRulesDeleteFirewallRulesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes existing firewall rules.
+ */
+export const firewallRulesDeleteFirewallRules = (
+  variables: FirewallRulesDeleteFirewallRulesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.FirewallFilterRulesResponseCollectionDelete,
+    FirewallRulesDeleteFirewallRulesError,
+    FirewallRulesDeleteFirewallRulesRequestBody,
+    {},
+    {},
+    FirewallRulesDeleteFirewallRulesPathParams
+  >({ url: '/zones/{zoneId}/firewall/rules', method: 'delete', ...variables, signal });
+
+export type FirewallRulesListFirewallRulesPathParams = {
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type FirewallRulesListFirewallRulesQueryParams = {
+  /**
+   * @example mir
+   */
+  description?: string;
+  /**
+   * @example block
+   */
+  action?: string;
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default 25
+   * @maximum 100
+   * @minimum 5
+   */
+  per_page?: number;
+  /**
+   * @example 372e67954025e0ba6aaa6d586b9e0b60
+   * @maxLength 32
+   */
+  id?: string;
+  /**
+   * @example false
+   */
+  paused?: boolean;
+};
+
+export type FirewallRulesListFirewallRulesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallFilterRulesResponseCollection & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type FirewallRulesListFirewallRulesVariables = {
+  pathParams: FirewallRulesListFirewallRulesPathParams;
+  queryParams?: FirewallRulesListFirewallRulesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches firewall rules in a zone. You can filter the results using several optional parameters.
+ */
+export const firewallRulesListFirewallRules = (
+  variables: FirewallRulesListFirewallRulesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.FirewallFilterRulesResponseCollection,
+    FirewallRulesListFirewallRulesError,
+    undefined,
+    {},
+    FirewallRulesListFirewallRulesQueryParams,
+    FirewallRulesListFirewallRulesPathParams
+  >({ url: '/zones/{zoneId}/firewall/rules', method: 'get', ...variables, signal });
+
+export type FirewallRulesUpdatePriorityOfFirewallRulesPathParams = {
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type FirewallRulesUpdatePriorityOfFirewallRulesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallFilterRulesResponseCollection & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type FirewallRulesUpdatePriorityOfFirewallRulesVariables = {
+  body: void;
+  pathParams: FirewallRulesUpdatePriorityOfFirewallRulesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates the priority of existing firewall rules.
+ */
+export const firewallRulesUpdatePriorityOfFirewallRules = (
+  variables: FirewallRulesUpdatePriorityOfFirewallRulesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.FirewallFilterRulesResponseCollection,
+    FirewallRulesUpdatePriorityOfFirewallRulesError,
+    void,
+    {},
+    {},
+    FirewallRulesUpdatePriorityOfFirewallRulesPathParams
+  >({ url: '/zones/{zoneId}/firewall/rules', method: 'patch', ...variables, signal });
+
+export type FirewallRulesCreateFirewallRulesPathParams = {
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type FirewallRulesCreateFirewallRulesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallFilterRulesResponseCollection & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type FirewallRulesCreateFirewallRulesRequestBody = {
+  action: Schemas.FirewallAction;
+  filter: Schemas.FirewallFilter;
+};
+
+export type FirewallRulesCreateFirewallRulesVariables = {
+  body: FirewallRulesCreateFirewallRulesRequestBody;
+  pathParams: FirewallRulesCreateFirewallRulesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create one or more firewall rules.
+ */
+export const firewallRulesCreateFirewallRules = (
+  variables: FirewallRulesCreateFirewallRulesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.FirewallFilterRulesResponseCollection,
+    FirewallRulesCreateFirewallRulesError,
+    FirewallRulesCreateFirewallRulesRequestBody,
+    {},
+    {},
+    FirewallRulesCreateFirewallRulesPathParams
+  >({ url: '/zones/{zoneId}/firewall/rules', method: 'post', ...variables, signal });
+
+export type FirewallRulesUpdateFirewallRulesPathParams = {
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type FirewallRulesUpdateFirewallRulesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallFilterRulesResponseCollection & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type FirewallRulesUpdateFirewallRulesVariables = {
+  body: void;
+  pathParams: FirewallRulesUpdateFirewallRulesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates one or more existing firewall rules.
+ */
+export const firewallRulesUpdateFirewallRules = (
+  variables: FirewallRulesUpdateFirewallRulesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.FirewallFilterRulesResponseCollection,
+    FirewallRulesUpdateFirewallRulesError,
+    void,
+    {},
+    {},
+    FirewallRulesUpdateFirewallRulesPathParams
+  >({ url: '/zones/{zoneId}/firewall/rules', method: 'put', ...variables, signal });
+
+export type FirewallRulesDeleteAFirewallRulePathParams = {
+  ruleId: Schemas.FirewallFirewallRulesComponentsSchemasId;
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type FirewallRulesDeleteAFirewallRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallFilterRulesSingleResponseDelete & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type FirewallRulesDeleteAFirewallRuleRequestBody = {
+  delete_filter_if_unused?: Schemas.FirewallDeleteFilterIfUnused;
+};
+
+export type FirewallRulesDeleteAFirewallRuleVariables = {
+  body?: FirewallRulesDeleteAFirewallRuleRequestBody;
+  pathParams: FirewallRulesDeleteAFirewallRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes an existing firewall rule.
+ */
+export const firewallRulesDeleteAFirewallRule = (
+  variables: FirewallRulesDeleteAFirewallRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.FirewallFilterRulesSingleResponseDelete,
+    FirewallRulesDeleteAFirewallRuleError,
+    FirewallRulesDeleteAFirewallRuleRequestBody,
+    {},
+    {},
+    FirewallRulesDeleteAFirewallRulePathParams
+  >({ url: '/zones/{zoneId}/firewall/rules/{ruleId}', method: 'delete', ...variables, signal });
+
+export type FirewallRulesGetAFirewallRulePathParams = {
+  ruleId: Schemas.FirewallFirewallRulesComponentsSchemasId;
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type FirewallRulesGetAFirewallRuleQueryParams = {
+  /**
+   * The unique identifier of the firewall rule.
+   *
+   * @example 372e67954025e0ba6aaa6d586b9e0b60
+   * @maxLength 32
+   */
+  id?: Schemas.FirewallFirewallRulesComponentsSchemasId;
+};
+
+export type FirewallRulesGetAFirewallRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallFilterRulesSingleResponse & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type FirewallRulesGetAFirewallRuleVariables = {
+  pathParams: FirewallRulesGetAFirewallRulePathParams;
+  queryParams?: FirewallRulesGetAFirewallRuleQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the details of a firewall rule.
+ */
+export const firewallRulesGetAFirewallRule = (
+  variables: FirewallRulesGetAFirewallRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.FirewallFilterRulesSingleResponse,
+    FirewallRulesGetAFirewallRuleError,
+    undefined,
+    {},
+    FirewallRulesGetAFirewallRuleQueryParams,
+    FirewallRulesGetAFirewallRulePathParams
+  >({ url: '/zones/{zoneId}/firewall/rules/{ruleId}', method: 'get', ...variables, signal });
+
+export type FirewallRulesUpdatePriorityOfAFirewallRulePathParams = {
+  ruleId: Schemas.FirewallFirewallRulesComponentsSchemasId;
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type FirewallRulesUpdatePriorityOfAFirewallRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallFilterRulesResponseCollection & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type FirewallRulesUpdatePriorityOfAFirewallRuleRequestBody = {
+  id: Schemas.FirewallComponentsSchemasIdentifier;
+};
+
+export type FirewallRulesUpdatePriorityOfAFirewallRuleVariables = {
+  body: FirewallRulesUpdatePriorityOfAFirewallRuleRequestBody;
+  pathParams: FirewallRulesUpdatePriorityOfAFirewallRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates the priority of an existing firewall rule.
+ */
+export const firewallRulesUpdatePriorityOfAFirewallRule = (
+  variables: FirewallRulesUpdatePriorityOfAFirewallRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.FirewallFilterRulesResponseCollection,
+    FirewallRulesUpdatePriorityOfAFirewallRuleError,
+    FirewallRulesUpdatePriorityOfAFirewallRuleRequestBody,
+    {},
+    {},
+    FirewallRulesUpdatePriorityOfAFirewallRulePathParams
+  >({ url: '/zones/{zoneId}/firewall/rules/{ruleId}', method: 'patch', ...variables, signal });
+
+export type FirewallRulesUpdateAFirewallRulePathParams = {
+  ruleId: Schemas.FirewallFirewallRulesComponentsSchemasId;
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type FirewallRulesUpdateAFirewallRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallFilterRulesSingleResponse & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type FirewallRulesUpdateAFirewallRuleRequestBody = {
+  action: Schemas.FirewallAction;
+  filter: Schemas.FirewallFilter;
+  id: Schemas.FirewallComponentsSchemasIdentifier;
+};
+
+export type FirewallRulesUpdateAFirewallRuleVariables = {
+  body: FirewallRulesUpdateAFirewallRuleRequestBody;
+  pathParams: FirewallRulesUpdateAFirewallRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates an existing firewall rule.
+ */
+export const firewallRulesUpdateAFirewallRule = (
+  variables: FirewallRulesUpdateAFirewallRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.FirewallFilterRulesSingleResponse,
+    FirewallRulesUpdateAFirewallRuleError,
+    FirewallRulesUpdateAFirewallRuleRequestBody,
+    {},
+    {},
+    FirewallRulesUpdateAFirewallRulePathParams
+  >({ url: '/zones/{zoneId}/firewall/rules/{ruleId}', method: 'put', ...variables, signal });
+
+export type UserAgentBlockingRulesListUserAgentBlockingRulesPathParams = {
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type UserAgentBlockingRulesListUserAgentBlockingRulesQueryParams = {
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * A string to search for in the description of existing rules.
+   *
+   * @example abusive
+   */
+  description?: Schemas.FirewallDescriptionSearch;
+  /**
+   * A string to search for in the description of existing rules.
+   *
+   * @example abusive
+   */
+  description_search?: Schemas.FirewallDescriptionSearch;
+  /**
+   * @default 20
+   * @maximum 1000
+   * @minimum 1
+   */
+  per_page?: number;
+  /**
+   * @example Safari
+   */
+  ua_search?: string;
+};
+
+export type UserAgentBlockingRulesListUserAgentBlockingRulesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallFirewalluablockResponseCollection & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type UserAgentBlockingRulesListUserAgentBlockingRulesVariables = {
+  pathParams: UserAgentBlockingRulesListUserAgentBlockingRulesPathParams;
+  queryParams?: UserAgentBlockingRulesListUserAgentBlockingRulesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches User Agent Blocking rules in a zone. You can filter the results using several optional parameters.
+ */
+export const userAgentBlockingRulesListUserAgentBlockingRules = (
+  variables: UserAgentBlockingRulesListUserAgentBlockingRulesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.FirewallFirewalluablockResponseCollection,
+    UserAgentBlockingRulesListUserAgentBlockingRulesError,
+    undefined,
+    {},
+    UserAgentBlockingRulesListUserAgentBlockingRulesQueryParams,
+    UserAgentBlockingRulesListUserAgentBlockingRulesPathParams
+  >({ url: '/zones/{zoneId}/firewall/ua_rules', method: 'get', ...variables, signal });
+
+export type UserAgentBlockingRulesCreateAUserAgentBlockingRulePathParams = {
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type UserAgentBlockingRulesCreateAUserAgentBlockingRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallFirewalluablockResponseSingle & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type UserAgentBlockingRulesCreateAUserAgentBlockingRuleRequestBody = {
+  configuration: Schemas.FirewallConfiguration;
+  mode: Schemas.FirewallSchemasMode;
+};
+
+export type UserAgentBlockingRulesCreateAUserAgentBlockingRuleVariables = {
+  body: UserAgentBlockingRulesCreateAUserAgentBlockingRuleRequestBody;
+  pathParams: UserAgentBlockingRulesCreateAUserAgentBlockingRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new User Agent Blocking rule in a zone.
+ */
+export const userAgentBlockingRulesCreateAUserAgentBlockingRule = (
+  variables: UserAgentBlockingRulesCreateAUserAgentBlockingRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.FirewallFirewalluablockResponseSingle,
+    UserAgentBlockingRulesCreateAUserAgentBlockingRuleError,
+    UserAgentBlockingRulesCreateAUserAgentBlockingRuleRequestBody,
+    {},
+    {},
+    UserAgentBlockingRulesCreateAUserAgentBlockingRulePathParams
+  >({ url: '/zones/{zoneId}/firewall/ua_rules', method: 'post', ...variables, signal });
+
+export type UserAgentBlockingRulesDeleteAUserAgentBlockingRulePathParams = {
+  uaRuleId: Schemas.FirewallComponentsUaRuleId;
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type UserAgentBlockingRulesDeleteAUserAgentBlockingRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.FirewallFirewalluablockResponseSingle & {
+    result?: {
+      id?: Schemas.FirewallComponentsUaRuleId;
+    };
+  }) &
+    Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type UserAgentBlockingRulesDeleteAUserAgentBlockingRuleResponse =
+  Schemas.FirewallFirewalluablockResponseSingle & {
+    result?: {
+      id?: Schemas.FirewallComponentsUaRuleId;
+    };
+  };
+
+export type UserAgentBlockingRulesDeleteAUserAgentBlockingRuleVariables = {
+  pathParams: UserAgentBlockingRulesDeleteAUserAgentBlockingRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes an existing User Agent Blocking rule.
+ */
+export const userAgentBlockingRulesDeleteAUserAgentBlockingRule = (
+  variables: UserAgentBlockingRulesDeleteAUserAgentBlockingRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    UserAgentBlockingRulesDeleteAUserAgentBlockingRuleResponse,
+    UserAgentBlockingRulesDeleteAUserAgentBlockingRuleError,
+    undefined,
+    {},
+    {},
+    UserAgentBlockingRulesDeleteAUserAgentBlockingRulePathParams
+  >({ url: '/zones/{zoneId}/firewall/ua_rules/{uaRuleId}', method: 'delete', ...variables, signal });
+
+export type UserAgentBlockingRulesGetAUserAgentBlockingRulePathParams = {
+  uaRuleId: Schemas.FirewallComponentsUaRuleId;
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type UserAgentBlockingRulesGetAUserAgentBlockingRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallFirewalluablockResponseSingle & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type UserAgentBlockingRulesGetAUserAgentBlockingRuleVariables = {
+  pathParams: UserAgentBlockingRulesGetAUserAgentBlockingRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the details of a User Agent Blocking rule.
+ */
+export const userAgentBlockingRulesGetAUserAgentBlockingRule = (
+  variables: UserAgentBlockingRulesGetAUserAgentBlockingRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.FirewallFirewalluablockResponseSingle,
+    UserAgentBlockingRulesGetAUserAgentBlockingRuleError,
+    undefined,
+    {},
+    {},
+    UserAgentBlockingRulesGetAUserAgentBlockingRulePathParams
+  >({ url: '/zones/{zoneId}/firewall/ua_rules/{uaRuleId}', method: 'get', ...variables, signal });
+
+export type UserAgentBlockingRulesUpdateAUserAgentBlockingRulePathParams = {
+  uaRuleId: Schemas.FirewallComponentsUaRuleId;
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type UserAgentBlockingRulesUpdateAUserAgentBlockingRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallFirewalluablockResponseSingle & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type UserAgentBlockingRulesUpdateAUserAgentBlockingRuleRequestBody = {
+  configuration: Schemas.FirewallConfiguration;
+  id: Schemas.FirewallComponentsSchemasIdentifier;
+  mode: Schemas.FirewallSchemasMode;
+};
+
+export type UserAgentBlockingRulesUpdateAUserAgentBlockingRuleVariables = {
+  body: UserAgentBlockingRulesUpdateAUserAgentBlockingRuleRequestBody;
+  pathParams: UserAgentBlockingRulesUpdateAUserAgentBlockingRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates an existing User Agent Blocking rule.
+ */
+export const userAgentBlockingRulesUpdateAUserAgentBlockingRule = (
+  variables: UserAgentBlockingRulesUpdateAUserAgentBlockingRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.FirewallFirewalluablockResponseSingle,
+    UserAgentBlockingRulesUpdateAUserAgentBlockingRuleError,
+    UserAgentBlockingRulesUpdateAUserAgentBlockingRuleRequestBody,
+    {},
+    {},
+    UserAgentBlockingRulesUpdateAUserAgentBlockingRulePathParams
+  >({ url: '/zones/{zoneId}/firewall/ua_rules/{uaRuleId}', method: 'put', ...variables, signal });
+
+export type WafOverridesListWafOverridesPathParams = {
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type WafOverridesListWafOverridesQueryParams = {
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default 50
+   * @maximum 100
+   * @minimum 5
+   */
+  per_page?: number;
+};
+
+export type WafOverridesListWafOverridesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallOverrideResponseCollection & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type WafOverridesListWafOverridesVariables = {
+  pathParams: WafOverridesListWafOverridesPathParams;
+  queryParams?: WafOverridesListWafOverridesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the URI-based WAF overrides in a zone.
+ *
+ * **Note:** Applies only to the [previous version of WAF managed rules](https://developers.cloudflare.com/support/firewall/managed-rules-web-application-firewall-waf/understanding-waf-managed-rules-web-application-firewall/).
+ */
+export const wafOverridesListWafOverrides = (variables: WafOverridesListWafOverridesVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.FirewallOverrideResponseCollection,
+    WafOverridesListWafOverridesError,
+    undefined,
+    {},
+    WafOverridesListWafOverridesQueryParams,
+    WafOverridesListWafOverridesPathParams
+  >({ url: '/zones/{zoneId}/firewall/waf/overrides', method: 'get', ...variables, signal });
+
+export type WafOverridesCreateAWafOverridePathParams = {
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type WafOverridesCreateAWafOverrideError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallOverrideResponseSingle & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type WafOverridesCreateAWafOverrideRequestBody = {
+  urls: Schemas.FirewallUrls;
+};
+
+export type WafOverridesCreateAWafOverrideVariables = {
+  body: WafOverridesCreateAWafOverrideRequestBody;
+  pathParams: WafOverridesCreateAWafOverridePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a URI-based WAF override for a zone.
+ *
+ * **Note:** Applies only to the [previous version of WAF managed rules](https://developers.cloudflare.com/support/firewall/managed-rules-web-application-firewall-waf/understanding-waf-managed-rules-web-application-firewall/).
+ */
+export const wafOverridesCreateAWafOverride = (
+  variables: WafOverridesCreateAWafOverrideVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.FirewallOverrideResponseSingle,
+    WafOverridesCreateAWafOverrideError,
+    WafOverridesCreateAWafOverrideRequestBody,
+    {},
+    {},
+    WafOverridesCreateAWafOverridePathParams
+  >({ url: '/zones/{zoneId}/firewall/waf/overrides', method: 'post', ...variables, signal });
+
+export type WafOverridesDeleteAWafOverridePathParams = {
+  overridesId: Schemas.FirewallOverridesId;
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type WafOverridesDeleteAWafOverrideError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: {
+    result: any | null;
+    /**
+     * @example {"code":7003,"message":"No route for the URI"}
+     * @minLength 1
+     */
+    errors: Schemas.FirewallMessages;
+    messages: Schemas.FirewallMessages;
+    /**
+     * Whether the API call was successful
+     *
+     * @example false
+     */
+    success: false;
+  };
+}>;
+
+export type WafOverridesDeleteAWafOverrideResponse = {
+  result?: {
+    id?: Schemas.FirewallOverridesId;
+  };
+};
+
+export type WafOverridesDeleteAWafOverrideVariables = {
+  pathParams: WafOverridesDeleteAWafOverridePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes an existing URI-based WAF override.
+ *
+ * **Note:** Applies only to the [previous version of WAF managed rules](https://developers.cloudflare.com/support/firewall/managed-rules-web-application-firewall-waf/understanding-waf-managed-rules-web-application-firewall/).
+ */
+export const wafOverridesDeleteAWafOverride = (
+  variables: WafOverridesDeleteAWafOverrideVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WafOverridesDeleteAWafOverrideResponse,
+    WafOverridesDeleteAWafOverrideError,
+    undefined,
+    {},
+    {},
+    WafOverridesDeleteAWafOverridePathParams
+  >({ url: '/zones/{zoneId}/firewall/waf/overrides/{overridesId}', method: 'delete', ...variables, signal });
+
+export type WafOverridesGetAWafOverridePathParams = {
+  overridesId: Schemas.FirewallOverridesId;
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type WafOverridesGetAWafOverrideError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallOverrideResponseSingle & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type WafOverridesGetAWafOverrideVariables = {
+  pathParams: WafOverridesGetAWafOverridePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the details of a URI-based WAF override.
+ *
+ * **Note:** Applies only to the [previous version of WAF managed rules](https://developers.cloudflare.com/support/firewall/managed-rules-web-application-firewall-waf/understanding-waf-managed-rules-web-application-firewall/).
+ */
+export const wafOverridesGetAWafOverride = (variables: WafOverridesGetAWafOverrideVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.FirewallOverrideResponseSingle,
+    WafOverridesGetAWafOverrideError,
+    undefined,
+    {},
+    {},
+    WafOverridesGetAWafOverridePathParams
+  >({ url: '/zones/{zoneId}/firewall/waf/overrides/{overridesId}', method: 'get', ...variables, signal });
+
+export type WafOverridesUpdateWafOverridePathParams = {
+  overridesId: Schemas.FirewallOverridesId;
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type WafOverridesUpdateWafOverrideError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallOverrideResponseSingle & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type WafOverridesUpdateWafOverrideRequestBody = {
+  id: Schemas.FirewallIdentifier;
+  rewrite_action: Schemas.FirewallRewriteAction;
+  rules: Schemas.FirewallRules;
+  urls: Schemas.FirewallUrls;
+};
+
+export type WafOverridesUpdateWafOverrideVariables = {
+  body: WafOverridesUpdateWafOverrideRequestBody;
+  pathParams: WafOverridesUpdateWafOverridePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates an existing URI-based WAF override.
+ *
+ * **Note:** Applies only to the [previous version of WAF managed rules](https://developers.cloudflare.com/support/firewall/managed-rules-web-application-firewall-waf/understanding-waf-managed-rules-web-application-firewall/).
+ */
+export const wafOverridesUpdateWafOverride = (
+  variables: WafOverridesUpdateWafOverrideVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.FirewallOverrideResponseSingle,
+    WafOverridesUpdateWafOverrideError,
+    WafOverridesUpdateWafOverrideRequestBody,
+    {},
+    {},
+    WafOverridesUpdateWafOverridePathParams
+  >({ url: '/zones/{zoneId}/firewall/waf/overrides/{overridesId}', method: 'put', ...variables, signal });
+
+export type WafPackagesListWafPackagesPathParams = {
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type WafPackagesListWafPackagesQueryParams = {
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default 50
+   * @maximum 100
+   * @minimum 5
+   */
+  per_page?: number;
+  /**
+   * @example status
+   */
+  order?: 'name';
+  /**
+   * @example desc
+   */
+  direction?: 'asc' | 'desc';
+  /**
+   * @default all
+   */
+  match?: 'any' | 'all';
+  /**
+   * @example USER
+   */
+  name?: string;
+};
+
+export type WafPackagesListWafPackagesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallPackageResponseCollection & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type WafPackagesListWafPackagesVariables = {
+  pathParams: WafPackagesListWafPackagesPathParams;
+  queryParams?: WafPackagesListWafPackagesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches WAF packages for a zone.
+ *
+ * **Note:** Applies only to the [previous version of WAF managed rules](https://developers.cloudflare.com/support/firewall/managed-rules-web-application-firewall-waf/understanding-waf-managed-rules-web-application-firewall/).
+ */
+export const wafPackagesListWafPackages = (variables: WafPackagesListWafPackagesVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.FirewallPackageResponseCollection,
+    WafPackagesListWafPackagesError,
+    undefined,
+    {},
+    WafPackagesListWafPackagesQueryParams,
+    WafPackagesListWafPackagesPathParams
+  >({ url: '/zones/{zoneId}/firewall/waf/packages', method: 'get', ...variables, signal });
+
+export type WafPackagesGetAWafPackagePathParams = {
+  packageId: Schemas.FirewallPackageId;
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type WafPackagesGetAWafPackageError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallPackageResponseSingle & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type WafPackagesGetAWafPackageVariables = {
+  pathParams: WafPackagesGetAWafPackagePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the details of a WAF package.
+ *
+ * **Note:** Applies only to the [previous version of WAF managed rules](https://developers.cloudflare.com/support/firewall/managed-rules-web-application-firewall-waf/understanding-waf-managed-rules-web-application-firewall/).
+ */
+export const wafPackagesGetAWafPackage = (variables: WafPackagesGetAWafPackageVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.FirewallPackageResponseSingle,
+    WafPackagesGetAWafPackageError,
+    undefined,
+    {},
+    {},
+    WafPackagesGetAWafPackagePathParams
+  >({ url: '/zones/{zoneId}/firewall/waf/packages/{packageId}', method: 'get', ...variables, signal });
+
+export type WafPackagesUpdateAWafPackagePathParams = {
+  packageId: Schemas.FirewallPackageId;
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type WafPackagesUpdateAWafPackageError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.FirewallPackageResponseSingle & {
+    result?: Schemas.FirewallAnomalyPackage;
+  }) &
+    Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type WafPackagesUpdateAWafPackageResponse = Schemas.FirewallPackageResponseSingle & {
+  result?: Schemas.FirewallAnomalyPackage;
+};
+
+export type WafPackagesUpdateAWafPackageRequestBody = {
+  action_mode?: Schemas.FirewallActionMode;
+  sensitivity?: Schemas.FirewallSensitivity;
+};
+
+export type WafPackagesUpdateAWafPackageVariables = {
+  body?: WafPackagesUpdateAWafPackageRequestBody;
+  pathParams: WafPackagesUpdateAWafPackagePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a WAF package. You can update the sensitivity and the action of an anomaly detection WAF package.
+ *
+ * **Note:** Applies only to the [previous version of WAF managed rules](https://developers.cloudflare.com/support/firewall/managed-rules-web-application-firewall-waf/understanding-waf-managed-rules-web-application-firewall/).
+ */
+export const wafPackagesUpdateAWafPackage = (variables: WafPackagesUpdateAWafPackageVariables, signal?: AbortSignal) =>
+  fetch<
+    WafPackagesUpdateAWafPackageResponse,
+    WafPackagesUpdateAWafPackageError,
+    WafPackagesUpdateAWafPackageRequestBody,
+    {},
+    {},
+    WafPackagesUpdateAWafPackagePathParams
+  >({ url: '/zones/{zoneId}/firewall/waf/packages/{packageId}', method: 'patch', ...variables, signal });
+
+export type WafRuleGroupsListWafRuleGroupsPathParams = {
+  packageId: Schemas.WafManagedRulesIdentifier;
+  zoneId: Schemas.WafManagedRulesSchemasIdentifier;
+};
+
+export type WafRuleGroupsListWafRuleGroupsQueryParams = {
+  /**
+   * The state of the rules contained in the rule group. When `on`, the rules in the group are configurable/usable.
+   *
+   * @default on
+   */
+  mode?: Schemas.WafManagedRulesMode;
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default 50
+   * @maximum 100
+   * @minimum 5
+   */
+  per_page?: number;
+  /**
+   * @example mode
+   */
+  order?: 'mode' | 'rules_count';
+  /**
+   * @example desc
+   */
+  direction?: 'asc' | 'desc';
+  /**
+   * @default all
+   */
+  match?: 'any' | 'all';
+  /**
+   * @example Project Honey Pot
+   */
+  name?: string;
+  /**
+   * @default 0
+   * @example 10
+   */
+  rules_count?: number;
+};
+
+export type WafRuleGroupsListWafRuleGroupsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WafManagedRulesRuleGroupResponseCollection & Schemas.WafManagedRulesApiResponseCommonFailure;
+}>;
+
+export type WafRuleGroupsListWafRuleGroupsVariables = {
+  pathParams: WafRuleGroupsListWafRuleGroupsPathParams;
+  queryParams?: WafRuleGroupsListWafRuleGroupsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the WAF rule groups in a WAF package.
+ *
+ * **Note:** Applies only to the [previous version of WAF managed rules](https://developers.cloudflare.com/support/firewall/managed-rules-web-application-firewall-waf/understanding-waf-managed-rules-web-application-firewall/).
+ */
+export const wafRuleGroupsListWafRuleGroups = (
+  variables: WafRuleGroupsListWafRuleGroupsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WafManagedRulesRuleGroupResponseCollection,
+    WafRuleGroupsListWafRuleGroupsError,
+    undefined,
+    {},
+    WafRuleGroupsListWafRuleGroupsQueryParams,
+    WafRuleGroupsListWafRuleGroupsPathParams
+  >({ url: '/zones/{zoneId}/firewall/waf/packages/{packageId}/groups', method: 'get', ...variables, signal });
+
+export type WafRuleGroupsGetAWafRuleGroupPathParams = {
+  groupId: Schemas.WafManagedRulesIdentifier;
+  packageId: Schemas.WafManagedRulesIdentifier;
+  zoneId: Schemas.WafManagedRulesSchemasIdentifier;
+};
+
+export type WafRuleGroupsGetAWafRuleGroupError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WafManagedRulesRuleGroupResponseSingle & Schemas.WafManagedRulesApiResponseCommonFailure;
+}>;
+
+export type WafRuleGroupsGetAWafRuleGroupVariables = {
+  pathParams: WafRuleGroupsGetAWafRuleGroupPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the details of a WAF rule group.
+ *
+ * **Note:** Applies only to the [previous version of WAF managed rules](https://developers.cloudflare.com/support/firewall/managed-rules-web-application-firewall-waf/understanding-waf-managed-rules-web-application-firewall/).
+ */
+export const wafRuleGroupsGetAWafRuleGroup = (
+  variables: WafRuleGroupsGetAWafRuleGroupVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WafManagedRulesRuleGroupResponseSingle,
+    WafRuleGroupsGetAWafRuleGroupError,
+    undefined,
+    {},
+    {},
+    WafRuleGroupsGetAWafRuleGroupPathParams
+  >({ url: '/zones/{zoneId}/firewall/waf/packages/{packageId}/groups/{groupId}', method: 'get', ...variables, signal });
+
+export type WafRuleGroupsUpdateAWafRuleGroupPathParams = {
+  groupId: Schemas.WafManagedRulesIdentifier;
+  packageId: Schemas.WafManagedRulesIdentifier;
+  zoneId: Schemas.WafManagedRulesSchemasIdentifier;
+};
+
+export type WafRuleGroupsUpdateAWafRuleGroupError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WafManagedRulesRuleGroupResponseSingle & Schemas.WafManagedRulesApiResponseCommonFailure;
+}>;
+
+export type WafRuleGroupsUpdateAWafRuleGroupRequestBody = {
+  mode?: Schemas.WafManagedRulesMode;
+};
+
+export type WafRuleGroupsUpdateAWafRuleGroupVariables = {
+  body?: WafRuleGroupsUpdateAWafRuleGroupRequestBody;
+  pathParams: WafRuleGroupsUpdateAWafRuleGroupPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a WAF rule group. You can update the state (`mode` parameter) of a rule group.
+ *
+ * **Note:** Applies only to the [previous version of WAF managed rules](https://developers.cloudflare.com/support/firewall/managed-rules-web-application-firewall-waf/understanding-waf-managed-rules-web-application-firewall/).
+ */
+export const wafRuleGroupsUpdateAWafRuleGroup = (
+  variables: WafRuleGroupsUpdateAWafRuleGroupVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WafManagedRulesRuleGroupResponseSingle,
+    WafRuleGroupsUpdateAWafRuleGroupError,
+    WafRuleGroupsUpdateAWafRuleGroupRequestBody,
+    {},
+    {},
+    WafRuleGroupsUpdateAWafRuleGroupPathParams
+  >({
+    url: '/zones/{zoneId}/firewall/waf/packages/{packageId}/groups/{groupId}',
+    method: 'patch',
+    ...variables,
+    signal
+  });
+
+export type WafRulesListWafRulesPathParams = {
+  packageId: Schemas.WafManagedRulesIdentifier;
+  zoneId: Schemas.WafManagedRulesSchemasIdentifier;
+};
+
+export type WafRulesListWafRulesQueryParams = {
+  /**
+   * @example CHL
+   */
+  mode?: 'DIS' | 'CHL' | 'BLK' | 'SIM';
+  /**
+   * The unique identifier of the rule group.
+   *
+   * @example de677e5818985db1285d0e80225f06e5
+   * @maxLength 32
+   */
+  group_id?: Schemas.WafManagedRulesComponentsSchemasIdentifier;
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default 50
+   * @maximum 100
+   * @minimum 5
+   */
+  per_page?: number;
+  /**
+   * @example status
+   */
+  order?: 'priority' | 'group_id' | 'description';
+  /**
+   * @example desc
+   */
+  direction?: 'asc' | 'desc';
+  /**
+   * @default all
+   */
+  match?: 'any' | 'all';
+  /**
+   * @example SQL injection prevention for SELECT statements
+   */
+  description?: string;
+  priority?: string;
+};
+
+export type WafRulesListWafRulesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WafManagedRulesRuleResponseCollection & Schemas.WafManagedRulesApiResponseCommonFailure;
+}>;
+
+export type WafRulesListWafRulesVariables = {
+  pathParams: WafRulesListWafRulesPathParams;
+  queryParams?: WafRulesListWafRulesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches WAF rules in a WAF package.
+ *
+ * **Note:** Applies only to the [previous version of WAF managed rules](https://developers.cloudflare.com/support/firewall/managed-rules-web-application-firewall-waf/understanding-waf-managed-rules-web-application-firewall/).
+ */
+export const wafRulesListWafRules = (variables: WafRulesListWafRulesVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WafManagedRulesRuleResponseCollection,
+    WafRulesListWafRulesError,
+    undefined,
+    {},
+    WafRulesListWafRulesQueryParams,
+    WafRulesListWafRulesPathParams
+  >({ url: '/zones/{zoneId}/firewall/waf/packages/{packageId}/rules', method: 'get', ...variables, signal });
+
+export type WafRulesGetAWafRulePathParams = {
+  ruleId: Schemas.WafManagedRulesIdentifier;
+  packageId: Schemas.WafManagedRulesIdentifier;
+  zoneId: Schemas.WafManagedRulesSchemasIdentifier;
+};
+
+export type WafRulesGetAWafRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WafManagedRulesRuleResponseSingle & Schemas.WafManagedRulesApiResponseCommonFailure;
+}>;
+
+export type WafRulesGetAWafRuleVariables = {
+  pathParams: WafRulesGetAWafRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the details of a WAF rule in a WAF package.
+ *
+ * **Note:** Applies only to the [previous version of WAF managed rules](https://developers.cloudflare.com/support/firewall/managed-rules-web-application-firewall-waf/understanding-waf-managed-rules-web-application-firewall/).
+ */
+export const wafRulesGetAWafRule = (variables: WafRulesGetAWafRuleVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WafManagedRulesRuleResponseSingle,
+    WafRulesGetAWafRuleError,
+    undefined,
+    {},
+    {},
+    WafRulesGetAWafRulePathParams
+  >({ url: '/zones/{zoneId}/firewall/waf/packages/{packageId}/rules/{ruleId}', method: 'get', ...variables, signal });
+
+export type WafRulesUpdateAWafRulePathParams = {
+  ruleId: Schemas.WafManagedRulesIdentifier;
+  packageId: Schemas.WafManagedRulesIdentifier;
+  zoneId: Schemas.WafManagedRulesSchemasIdentifier;
+};
+
+export type WafRulesUpdateAWafRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.WafManagedRulesRuleResponseSingle & {
+    result?:
+      | Schemas.WafManagedRulesAnomalyRule
+      | Schemas.WafManagedRulesTraditionalDenyRule
+      | Schemas.WafManagedRulesTraditionalAllowRule;
+  }) &
+    Schemas.WafManagedRulesApiResponseCommonFailure;
+}>;
+
+export type WafRulesUpdateAWafRuleResponse = Schemas.WafManagedRulesRuleResponseSingle & {
+  result?:
+    | Schemas.WafManagedRulesAnomalyRule
+    | Schemas.WafManagedRulesTraditionalDenyRule
+    | Schemas.WafManagedRulesTraditionalAllowRule;
+};
+
+export type WafRulesUpdateAWafRuleRequestBody = {
+  /**
+   * The mode/action of the rule when triggered. You must use a value from the `allowed_modes` array of the current rule.
+   *
+   * @example on
+   */
+  mode?: 'default' | 'disable' | 'simulate' | 'block' | 'challenge' | 'on' | 'off';
+};
+
+export type WafRulesUpdateAWafRuleVariables = {
+  body?: WafRulesUpdateAWafRuleRequestBody;
+  pathParams: WafRulesUpdateAWafRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a WAF rule. You can only update the mode/action of the rule.
+ *
+ * **Note:** Applies only to the [previous version of WAF managed rules](https://developers.cloudflare.com/support/firewall/managed-rules-web-application-firewall-waf/understanding-waf-managed-rules-web-application-firewall/).
+ */
+export const wafRulesUpdateAWafRule = (variables: WafRulesUpdateAWafRuleVariables, signal?: AbortSignal) =>
+  fetch<
+    WafRulesUpdateAWafRuleResponse,
+    WafRulesUpdateAWafRuleError,
+    WafRulesUpdateAWafRuleRequestBody,
+    {},
+    {},
+    WafRulesUpdateAWafRulePathParams
+  >({ url: '/zones/{zoneId}/firewall/waf/packages/{packageId}/rules/{ruleId}', method: 'patch', ...variables, signal });
+
+export type HealthChecksListHealthChecksPathParams = {
+  zoneId: Schemas.HealthchecksIdentifier;
+};
+
+export type HealthChecksListHealthChecksQueryParams = {
+  /**
+   * Page number of paginated results.
+   *
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * Maximum number of results per page. Must be a multiple of 5.
+   *
+   * @default 25
+   * @maximum 1000
+   * @minimum 5
+   */
+  per_page?: number;
+};
+
+export type HealthChecksListHealthChecksError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.HealthchecksResponseCollection & Schemas.HealthchecksApiResponseCommonFailure;
+}>;
+
+export type HealthChecksListHealthChecksVariables = {
+  pathParams: HealthChecksListHealthChecksPathParams;
+  queryParams?: HealthChecksListHealthChecksQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * List configured health checks.
+ */
+export const healthChecksListHealthChecks = (variables: HealthChecksListHealthChecksVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.HealthchecksResponseCollection,
+    HealthChecksListHealthChecksError,
+    undefined,
+    {},
+    HealthChecksListHealthChecksQueryParams,
+    HealthChecksListHealthChecksPathParams
+  >({ url: '/zones/{zoneId}/healthchecks', method: 'get', ...variables, signal });
+
+export type HealthChecksCreateHealthCheckPathParams = {
+  zoneId: Schemas.HealthchecksIdentifier;
+};
+
+export type HealthChecksCreateHealthCheckError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.HealthchecksSingleResponse & Schemas.HealthchecksApiResponseCommonFailure;
+}>;
+
+export type HealthChecksCreateHealthCheckVariables = {
+  body: Schemas.HealthchecksQueryHealthcheck;
+  pathParams: HealthChecksCreateHealthCheckPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create a new health check.
+ */
+export const healthChecksCreateHealthCheck = (
+  variables: HealthChecksCreateHealthCheckVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.HealthchecksSingleResponse,
+    HealthChecksCreateHealthCheckError,
+    Schemas.HealthchecksQueryHealthcheck,
+    {},
+    {},
+    HealthChecksCreateHealthCheckPathParams
+  >({ url: '/zones/{zoneId}/healthchecks', method: 'post', ...variables, signal });
+
+export type HealthChecksCreatePreviewHealthCheckPathParams = {
+  zoneId: Schemas.HealthchecksIdentifier;
+};
+
+export type HealthChecksCreatePreviewHealthCheckError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.HealthchecksSingleResponse & Schemas.HealthchecksApiResponseCommonFailure;
+}>;
+
+export type HealthChecksCreatePreviewHealthCheckVariables = {
+  body: Schemas.HealthchecksQueryHealthcheck;
+  pathParams: HealthChecksCreatePreviewHealthCheckPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create a new preview health check.
+ */
+export const healthChecksCreatePreviewHealthCheck = (
+  variables: HealthChecksCreatePreviewHealthCheckVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.HealthchecksSingleResponse,
+    HealthChecksCreatePreviewHealthCheckError,
+    Schemas.HealthchecksQueryHealthcheck,
+    {},
+    {},
+    HealthChecksCreatePreviewHealthCheckPathParams
+  >({ url: '/zones/{zoneId}/healthchecks/preview', method: 'post', ...variables, signal });
+
+export type HealthChecksDeletePreviewHealthCheckPathParams = {
+  healthcheckId: Schemas.HealthchecksIdentifier;
+  zoneId: Schemas.HealthchecksIdentifier;
+};
+
+export type HealthChecksDeletePreviewHealthCheckError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.HealthchecksIdResponse & Schemas.HealthchecksApiResponseCommonFailure;
+}>;
+
+export type HealthChecksDeletePreviewHealthCheckVariables = {
+  pathParams: HealthChecksDeletePreviewHealthCheckPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete a health check.
+ */
+export const healthChecksDeletePreviewHealthCheck = (
+  variables: HealthChecksDeletePreviewHealthCheckVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.HealthchecksIdResponse,
+    HealthChecksDeletePreviewHealthCheckError,
+    undefined,
+    {},
+    {},
+    HealthChecksDeletePreviewHealthCheckPathParams
+  >({ url: '/zones/{zoneId}/healthchecks/preview/{healthcheckId}', method: 'delete', ...variables, signal });
+
+export type HealthChecksHealthCheckPreviewDetailsPathParams = {
+  healthcheckId: Schemas.HealthchecksIdentifier;
+  zoneId: Schemas.HealthchecksIdentifier;
+};
+
+export type HealthChecksHealthCheckPreviewDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.HealthchecksSingleResponse & Schemas.HealthchecksApiResponseCommonFailure;
+}>;
+
+export type HealthChecksHealthCheckPreviewDetailsVariables = {
+  pathParams: HealthChecksHealthCheckPreviewDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetch a single configured health check preview.
+ */
+export const healthChecksHealthCheckPreviewDetails = (
+  variables: HealthChecksHealthCheckPreviewDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.HealthchecksSingleResponse,
+    HealthChecksHealthCheckPreviewDetailsError,
+    undefined,
+    {},
+    {},
+    HealthChecksHealthCheckPreviewDetailsPathParams
+  >({ url: '/zones/{zoneId}/healthchecks/preview/{healthcheckId}', method: 'get', ...variables, signal });
+
+export type HealthChecksDeleteHealthCheckPathParams = {
+  healthcheckId: Schemas.HealthchecksIdentifier;
+  zoneId: Schemas.HealthchecksIdentifier;
+};
+
+export type HealthChecksDeleteHealthCheckError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.HealthchecksIdResponse & Schemas.HealthchecksApiResponseCommonFailure;
+}>;
+
+export type HealthChecksDeleteHealthCheckVariables = {
+  pathParams: HealthChecksDeleteHealthCheckPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete a health check.
+ */
+export const healthChecksDeleteHealthCheck = (
+  variables: HealthChecksDeleteHealthCheckVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.HealthchecksIdResponse,
+    HealthChecksDeleteHealthCheckError,
+    undefined,
+    {},
+    {},
+    HealthChecksDeleteHealthCheckPathParams
+  >({ url: '/zones/{zoneId}/healthchecks/{healthcheckId}', method: 'delete', ...variables, signal });
+
+export type HealthChecksHealthCheckDetailsPathParams = {
+  healthcheckId: Schemas.HealthchecksIdentifier;
+  zoneId: Schemas.HealthchecksIdentifier;
+};
+
+export type HealthChecksHealthCheckDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.HealthchecksSingleResponse & Schemas.HealthchecksApiResponseCommonFailure;
+}>;
+
+export type HealthChecksHealthCheckDetailsVariables = {
+  pathParams: HealthChecksHealthCheckDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetch a single configured health check.
+ */
+export const healthChecksHealthCheckDetails = (
+  variables: HealthChecksHealthCheckDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.HealthchecksSingleResponse,
+    HealthChecksHealthCheckDetailsError,
+    undefined,
+    {},
+    {},
+    HealthChecksHealthCheckDetailsPathParams
+  >({ url: '/zones/{zoneId}/healthchecks/{healthcheckId}', method: 'get', ...variables, signal });
+
+export type HealthChecksPatchHealthCheckPathParams = {
+  healthcheckId: Schemas.HealthchecksIdentifier;
+  zoneId: Schemas.HealthchecksIdentifier;
+};
+
+export type HealthChecksPatchHealthCheckError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.HealthchecksSingleResponse & Schemas.HealthchecksApiResponseCommonFailure;
+}>;
+
+export type HealthChecksPatchHealthCheckVariables = {
+  body: Schemas.HealthchecksQueryHealthcheck;
+  pathParams: HealthChecksPatchHealthCheckPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Patch a configured health check.
+ */
+export const healthChecksPatchHealthCheck = (variables: HealthChecksPatchHealthCheckVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.HealthchecksSingleResponse,
+    HealthChecksPatchHealthCheckError,
+    Schemas.HealthchecksQueryHealthcheck,
+    {},
+    {},
+    HealthChecksPatchHealthCheckPathParams
+  >({ url: '/zones/{zoneId}/healthchecks/{healthcheckId}', method: 'patch', ...variables, signal });
+
+export type HealthChecksUpdateHealthCheckPathParams = {
+  healthcheckId: Schemas.HealthchecksIdentifier;
+  zoneId: Schemas.HealthchecksIdentifier;
+};
+
+export type HealthChecksUpdateHealthCheckError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.HealthchecksSingleResponse & Schemas.HealthchecksApiResponseCommonFailure;
+}>;
+
+export type HealthChecksUpdateHealthCheckVariables = {
+  body: Schemas.HealthchecksQueryHealthcheck;
+  pathParams: HealthChecksUpdateHealthCheckPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update a configured health check.
+ */
+export const healthChecksUpdateHealthCheck = (
+  variables: HealthChecksUpdateHealthCheckVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.HealthchecksSingleResponse,
+    HealthChecksUpdateHealthCheckError,
+    Schemas.HealthchecksQueryHealthcheck,
+    {},
+    {},
+    HealthChecksUpdateHealthCheckPathParams
+  >({ url: '/zones/{zoneId}/healthchecks/{healthcheckId}', method: 'put', ...variables, signal });
+
+export type Zones0HoldDeletePathParams = {
+  /**
+   * Zone ID
+   */
+  zoneId: Schemas.ZonesIdentifier;
+};
+
+export type Zones0HoldDeleteQueryParams = {
+  /**
+   * If `hold_after` is provided, the hold will be temporarily disabled,
+   * then automatically re-enabled by the system at the time specified
+   * in this RFC3339-formatted timestamp. Otherwise, the hold will be
+   * disabled indefinitely.
+   */
+  hold_after?: string;
+};
+
+export type Zones0HoldDeleteError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZonesSchemasApiResponseCommonFailure;
+}>;
+
+export type Zones0HoldDeleteResponse = Schemas.ZonesSchemasApiResponseSingle & {
+  result?: {
+    /**
+     * @example false
+     */
+    hold?: boolean;
+    hold_after?: string;
+    /**
+     * @example false
+     */
+    include_subdomains?: string;
+  };
+};
+
+export type Zones0HoldDeleteVariables = {
+  pathParams: Zones0HoldDeletePathParams;
+  queryParams?: Zones0HoldDeleteQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Stop enforcement of a zone hold on the zone, permanently or temporarily, allowing the
+ * creation and activation of zones with this zone's hostname.
+ */
+export const zones0HoldDelete = (variables: Zones0HoldDeleteVariables, signal?: AbortSignal) =>
+  fetch<
+    Zones0HoldDeleteResponse,
+    Zones0HoldDeleteError,
+    undefined,
+    {},
+    Zones0HoldDeleteQueryParams,
+    Zones0HoldDeletePathParams
+  >({ url: '/zones/{zoneId}/hold', method: 'delete', ...variables, signal });
+
+export type Zones0HoldGetPathParams = {
+  /**
+   * Zone ID
+   */
+  zoneId: Schemas.ZonesIdentifier;
+};
+
+export type Zones0HoldGetError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZonesSchemasApiResponseCommonFailure;
+}>;
+
+export type Zones0HoldGetResponse = Schemas.ZonesSchemasApiResponseSingle & {
+  result?: {
+    /**
+     * @example true
+     */
+    hold?: boolean;
+    /**
+     * @example 2023-01-31T15:56:36+00:00
+     */
+    hold_after?: string;
+    /**
+     * @example false
+     */
+    include_subdomains?: string;
+  };
+};
+
+export type Zones0HoldGetVariables = {
+  pathParams: Zones0HoldGetPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Retrieve whether the zone is subject to a zone hold, and metadata about the hold.
+ */
+export const zones0HoldGet = (variables: Zones0HoldGetVariables, signal?: AbortSignal) =>
+  fetch<Zones0HoldGetResponse, Zones0HoldGetError, undefined, {}, {}, Zones0HoldGetPathParams>({
+    url: '/zones/{zoneId}/hold',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type Zones0HoldPatchPathParams = {
+  /**
+   * Zone ID
+   */
+  zoneId: Schemas.ZonesIdentifier;
+};
+
+export type Zones0HoldPatchError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZonesSchemasApiResponseCommonFailure;
+}>;
+
+export type Zones0HoldPatchResponse = Schemas.ZonesSchemasApiResponseSingle & {
+  result?: {
+    /**
+     * @example false
+     */
+    hold?: boolean;
+    hold_after?: string;
+    /**
+     * @example false
+     */
+    include_subdomains?: string;
+  };
+};
+
+export type Zones0HoldPatchRequestBody = {
+  /**
+   * If `hold_after` is provided and future-dated, the hold will be temporarily disabled,
+   * then automatically re-enabled by the system at the time specified
+   * in this RFC3339-formatted timestamp. A past-dated `hold_after` value will have
+   * no effect on an existing, enabled hold. Providing an empty string will set its value
+   * to the current time.
+   *
+   * @default
+   * @example 2023-01-31T15:56:36+00:00
+   */
+  hold_after?: string;
+  /**
+   * If `true`, the zone hold will extend to block any subdomain of the given zone, as well
+   * as SSL4SaaS Custom Hostnames. For example, a zone hold on a zone with the hostname
+   * 'example.com' and include_subdomains=true will block 'example.com',
+   * 'staging.example.com', 'api.staging.example.com', etc.
+   *
+   * @default false
+   * @example true
+   */
+  include_subdomains?: boolean;
+};
+
+export type Zones0HoldPatchVariables = {
+  body?: Zones0HoldPatchRequestBody;
+  pathParams: Zones0HoldPatchPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update the `hold_after` and/or `include_subdomains` values on an existing zone hold.
+ * The hold is enabled if the `hold_after` date-time value is in the past.
+ */
+export const zones0HoldPatch = (variables: Zones0HoldPatchVariables, signal?: AbortSignal) =>
+  fetch<Zones0HoldPatchResponse, Zones0HoldPatchError, Zones0HoldPatchRequestBody, {}, {}, Zones0HoldPatchPathParams>({
+    url: '/zones/{zoneId}/hold',
+    method: 'patch',
+    ...variables,
+    signal
+  });
+
+export type Zones0HoldPostPathParams = {
+  /**
+   * Zone ID
+   */
+  zoneId: Schemas.ZonesIdentifier;
+};
+
+export type Zones0HoldPostQueryParams = {
+  /**
+   * If provided, the zone hold will extend to block any subdomain of the given zone, as well
+   * as SSL4SaaS Custom Hostnames. For example, a zone hold on a zone with the hostname
+   * 'example.com' and include_subdomains=true will block 'example.com',
+   * 'staging.example.com', 'api.staging.example.com', etc.
+   */
+  include_subdomains?: boolean;
+};
+
+export type Zones0HoldPostError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZonesSchemasApiResponseCommonFailure;
+}>;
+
+export type Zones0HoldPostResponse = Schemas.ZonesSchemasApiResponseSingle & {
+  result?: {
+    /**
+     * @example true
+     */
+    hold?: boolean;
+    /**
+     * @example 2023-01-31T15:56:36+00:00
+     */
+    hold_after?: string;
+    /**
+     * @example true
+     */
+    include_subdomains?: string;
+  };
+};
+
+export type Zones0HoldPostVariables = {
+  pathParams: Zones0HoldPostPathParams;
+  queryParams?: Zones0HoldPostQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Enforce a zone hold on the zone, blocking the creation and activation of zones with this zone's hostname.
+ */
+export const zones0HoldPost = (variables: Zones0HoldPostVariables, signal?: AbortSignal) =>
+  fetch<
+    Zones0HoldPostResponse,
+    Zones0HoldPostError,
+    undefined,
+    {},
+    Zones0HoldPostQueryParams,
+    Zones0HoldPostPathParams
+  >({ url: '/zones/{zoneId}/hold', method: 'post', ...variables, signal });
+
+export type PerHostnameTlsSettingsListPathParams = {
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+  settingId: Schemas.TlsCertificatesAndHostnamesSettingId;
+};
+
+export type PerHostnameTlsSettingsListError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesPerHostnameSettingsResponseCollection &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type PerHostnameTlsSettingsListVariables = {
+  pathParams: PerHostnameTlsSettingsListPathParams;
+} & FetcherExtraProps;
+
+/**
+ * List the requested TLS setting for the hostnames under this zone.
+ */
+export const perHostnameTlsSettingsList = (variables: PerHostnameTlsSettingsListVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesPerHostnameSettingsResponseCollection,
+    PerHostnameTlsSettingsListError,
+    undefined,
+    {},
+    {},
+    PerHostnameTlsSettingsListPathParams
+  >({ url: '/zones/{zoneId}/hostnames/settings/{settingId}', method: 'get', ...variables, signal });
+
+export type PerHostnameTlsSettingsDeletePathParams = {
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+  settingId: Schemas.TlsCertificatesAndHostnamesSettingId;
+  hostname: Schemas.TlsCertificatesAndHostnamesComponentsSchemasHostname;
+};
+
+export type PerHostnameTlsSettingsDeleteError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesPerHostnameSettingsResponseDelete &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type PerHostnameTlsSettingsDeleteVariables = {
+  pathParams: PerHostnameTlsSettingsDeletePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete the tls setting value for the hostname.
+ */
+export const perHostnameTlsSettingsDelete = (variables: PerHostnameTlsSettingsDeleteVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesPerHostnameSettingsResponseDelete,
+    PerHostnameTlsSettingsDeleteError,
+    undefined,
+    {},
+    {},
+    PerHostnameTlsSettingsDeletePathParams
+  >({ url: '/zones/{zoneId}/hostnames/settings/{settingId}/{hostname}', method: 'delete', ...variables, signal });
+
+export type PerHostnameTlsSettingsPutPathParams = {
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+  settingId: Schemas.TlsCertificatesAndHostnamesSettingId;
+  hostname: Schemas.TlsCertificatesAndHostnamesComponentsSchemasHostname;
+};
+
+export type PerHostnameTlsSettingsPutError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesPerHostnameSettingsResponse &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type PerHostnameTlsSettingsPutRequestBody = {
+  value: Schemas.TlsCertificatesAndHostnamesValue;
+};
+
+export type PerHostnameTlsSettingsPutVariables = {
+  body: PerHostnameTlsSettingsPutRequestBody;
+  pathParams: PerHostnameTlsSettingsPutPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update the tls setting value for the hostname.
+ */
+export const perHostnameTlsSettingsPut = (variables: PerHostnameTlsSettingsPutVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesPerHostnameSettingsResponse,
+    PerHostnameTlsSettingsPutError,
+    PerHostnameTlsSettingsPutRequestBody,
+    {},
+    {},
+    PerHostnameTlsSettingsPutPathParams
+  >({ url: '/zones/{zoneId}/hostnames/settings/{settingId}/{hostname}', method: 'put', ...variables, signal });
+
+export type KeylessSslForAZoneListKeylessSslConfigurationsPathParams = {
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type KeylessSslForAZoneListKeylessSslConfigurationsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesKeylessResponseCollection &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type KeylessSslForAZoneListKeylessSslConfigurationsVariables = {
+  pathParams: KeylessSslForAZoneListKeylessSslConfigurationsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * List all Keyless SSL configurations for a given zone.
+ */
+export const keylessSslForAZoneListKeylessSslConfigurations = (
+  variables: KeylessSslForAZoneListKeylessSslConfigurationsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesKeylessResponseCollection,
+    KeylessSslForAZoneListKeylessSslConfigurationsError,
+    undefined,
+    {},
+    {},
+    KeylessSslForAZoneListKeylessSslConfigurationsPathParams
+  >({ url: '/zones/{zoneId}/keyless_certificates', method: 'get', ...variables, signal });
+
+export type KeylessSslForAZoneCreateKeylessSslConfigurationPathParams = {
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type KeylessSslForAZoneCreateKeylessSslConfigurationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesKeylessResponseSingle &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type KeylessSslForAZoneCreateKeylessSslConfigurationRequestBody = {
+  bundle_method?: Schemas.TlsCertificatesAndHostnamesBundleMethod;
+  certificate: Schemas.TlsCertificatesAndHostnamesSchemasCertificate;
+  host: Schemas.TlsCertificatesAndHostnamesHost;
+  name?: Schemas.TlsCertificatesAndHostnamesNameWrite;
+  port: Schemas.TlsCertificatesAndHostnamesPort;
+  tunnel?: Schemas.TlsCertificatesAndHostnamesKeylessTunnel;
+};
+
+export type KeylessSslForAZoneCreateKeylessSslConfigurationVariables = {
+  body: KeylessSslForAZoneCreateKeylessSslConfigurationRequestBody;
+  pathParams: KeylessSslForAZoneCreateKeylessSslConfigurationPathParams;
+} & FetcherExtraProps;
+
+export const keylessSslForAZoneCreateKeylessSslConfiguration = (
+  variables: KeylessSslForAZoneCreateKeylessSslConfigurationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesKeylessResponseSingle,
+    KeylessSslForAZoneCreateKeylessSslConfigurationError,
+    KeylessSslForAZoneCreateKeylessSslConfigurationRequestBody,
+    {},
+    {},
+    KeylessSslForAZoneCreateKeylessSslConfigurationPathParams
+  >({ url: '/zones/{zoneId}/keyless_certificates', method: 'post', ...variables, signal });
+
+export type KeylessSslForAZoneDeleteKeylessSslConfigurationPathParams = {
+  keylessCertificateId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type KeylessSslForAZoneDeleteKeylessSslConfigurationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesKeylessResponseSingleId &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type KeylessSslForAZoneDeleteKeylessSslConfigurationVariables = {
+  pathParams: KeylessSslForAZoneDeleteKeylessSslConfigurationPathParams;
+} & FetcherExtraProps;
+
+export const keylessSslForAZoneDeleteKeylessSslConfiguration = (
+  variables: KeylessSslForAZoneDeleteKeylessSslConfigurationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesKeylessResponseSingleId,
+    KeylessSslForAZoneDeleteKeylessSslConfigurationError,
+    undefined,
+    {},
+    {},
+    KeylessSslForAZoneDeleteKeylessSslConfigurationPathParams
+  >({ url: '/zones/{zoneId}/keyless_certificates/{keylessCertificateId}', method: 'delete', ...variables, signal });
+
+export type KeylessSslForAZoneGetKeylessSslConfigurationPathParams = {
+  keylessCertificateId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type KeylessSslForAZoneGetKeylessSslConfigurationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesKeylessResponseSingle &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type KeylessSslForAZoneGetKeylessSslConfigurationVariables = {
+  pathParams: KeylessSslForAZoneGetKeylessSslConfigurationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get details for one Keyless SSL configuration.
+ */
+export const keylessSslForAZoneGetKeylessSslConfiguration = (
+  variables: KeylessSslForAZoneGetKeylessSslConfigurationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesKeylessResponseSingle,
+    KeylessSslForAZoneGetKeylessSslConfigurationError,
+    undefined,
+    {},
+    {},
+    KeylessSslForAZoneGetKeylessSslConfigurationPathParams
+  >({ url: '/zones/{zoneId}/keyless_certificates/{keylessCertificateId}', method: 'get', ...variables, signal });
+
+export type KeylessSslForAZoneEditKeylessSslConfigurationPathParams = {
+  keylessCertificateId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type KeylessSslForAZoneEditKeylessSslConfigurationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesKeylessResponseSingle &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type KeylessSslForAZoneEditKeylessSslConfigurationRequestBody = {
+  enabled?: Schemas.TlsCertificatesAndHostnamesEnabledWrite;
+  host?: Schemas.TlsCertificatesAndHostnamesHost;
+  name?: Schemas.TlsCertificatesAndHostnamesNameWrite;
+  port?: Schemas.TlsCertificatesAndHostnamesPort;
+  tunnel?: Schemas.TlsCertificatesAndHostnamesKeylessTunnel;
+};
+
+export type KeylessSslForAZoneEditKeylessSslConfigurationVariables = {
+  body?: KeylessSslForAZoneEditKeylessSslConfigurationRequestBody;
+  pathParams: KeylessSslForAZoneEditKeylessSslConfigurationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * This will update attributes of a Keyless SSL. Consists of one or more of the following:  host,name,port.
+ */
+export const keylessSslForAZoneEditKeylessSslConfiguration = (
+  variables: KeylessSslForAZoneEditKeylessSslConfigurationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesKeylessResponseSingle,
+    KeylessSslForAZoneEditKeylessSslConfigurationError,
+    KeylessSslForAZoneEditKeylessSslConfigurationRequestBody,
+    {},
+    {},
+    KeylessSslForAZoneEditKeylessSslConfigurationPathParams
+  >({ url: '/zones/{zoneId}/keyless_certificates/{keylessCertificateId}', method: 'patch', ...variables, signal });
+
+export type WafProductApiLeakedCredentialsGetStatusPathParams = {
+  zoneId: Schemas.WafProductApiBundleIdentifier;
+};
+
+export type WafProductApiLeakedCredentialsGetStatusError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WafProductApiBundleResponseStatus & Schemas.WafProductApiBundleApiResponseCommonFailure;
+}>;
+
+export type WafProductApiLeakedCredentialsGetStatusVariables = {
+  pathParams: WafProductApiLeakedCredentialsGetStatusPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Retrieves the current status of Leaked Credential Checks
+ */
+export const wafProductApiLeakedCredentialsGetStatus = (
+  variables: WafProductApiLeakedCredentialsGetStatusVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WafProductApiBundleResponseStatus,
+    WafProductApiLeakedCredentialsGetStatusError,
+    undefined,
+    {},
+    {},
+    WafProductApiLeakedCredentialsGetStatusPathParams
+  >({ url: '/zones/{zoneId}/leaked-credential-checks', method: 'get', ...variables, signal });
+
+export type WafProductApiLeakedCredentialsSetStatusPathParams = {
+  zoneId: Schemas.WafProductApiBundleIdentifier;
+};
+
+export type WafProductApiLeakedCredentialsSetStatusError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WafProductApiBundleResponseStatus & Schemas.WafProductApiBundleApiResponseCommonFailure;
+}>;
+
+export type WafProductApiLeakedCredentialsSetStatusVariables = {
+  body?: Schemas.WafProductApiBundleStatus;
+  pathParams: WafProductApiLeakedCredentialsSetStatusPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates the current status of Leaked Credential Checks
+ */
+export const wafProductApiLeakedCredentialsSetStatus = (
+  variables: WafProductApiLeakedCredentialsSetStatusVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WafProductApiBundleResponseStatus,
+    WafProductApiLeakedCredentialsSetStatusError,
+    Schemas.WafProductApiBundleStatus,
+    {},
+    {},
+    WafProductApiLeakedCredentialsSetStatusPathParams
+  >({ url: '/zones/{zoneId}/leaked-credential-checks', method: 'post', ...variables, signal });
+
+export type WafProductApiLeakedCredentialsListDetectionsPathParams = {
+  zoneId: Schemas.WafProductApiBundleIdentifier;
+};
+
+export type WafProductApiLeakedCredentialsListDetectionsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WafProductApiBundleResponseCustomDetectionCollection &
+    Schemas.WafProductApiBundleApiResponseCommonFailure;
+}>;
+
+export type WafProductApiLeakedCredentialsListDetectionsVariables = {
+  pathParams: WafProductApiLeakedCredentialsListDetectionsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * List user-defined detection patterns for Leaked Credential Checks
+ */
+export const wafProductApiLeakedCredentialsListDetections = (
+  variables: WafProductApiLeakedCredentialsListDetectionsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WafProductApiBundleResponseCustomDetectionCollection,
+    WafProductApiLeakedCredentialsListDetectionsError,
+    undefined,
+    {},
+    {},
+    WafProductApiLeakedCredentialsListDetectionsPathParams
+  >({ url: '/zones/{zoneId}/leaked-credential-checks/detections', method: 'get', ...variables, signal });
+
+export type WafProductApiLeakedCredentialsCreateDetectionPathParams = {
+  zoneId: Schemas.WafProductApiBundleIdentifier;
+};
+
+export type WafProductApiLeakedCredentialsCreateDetectionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WafProductApiBundleResponseCustomDetection & Schemas.WafProductApiBundleApiResponseCommonFailure;
+}>;
+
+export type WafProductApiLeakedCredentialsCreateDetectionVariables = {
+  body?: Schemas.WafProductApiBundleCustomDetection;
+  pathParams: WafProductApiLeakedCredentialsCreateDetectionPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create user-defined detection pattern for Leaked Credential Checks
+ */
+export const wafProductApiLeakedCredentialsCreateDetection = (
+  variables: WafProductApiLeakedCredentialsCreateDetectionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WafProductApiBundleResponseCustomDetection,
+    WafProductApiLeakedCredentialsCreateDetectionError,
+    Schemas.WafProductApiBundleCustomDetection,
+    {},
+    {},
+    WafProductApiLeakedCredentialsCreateDetectionPathParams
+  >({ url: '/zones/{zoneId}/leaked-credential-checks/detections', method: 'post', ...variables, signal });
+
+export type WafProductApiLeakedCredentialsDeleteDetectionPathParams = {
+  zoneId: Schemas.WafProductApiBundleIdentifier;
+  detectionId: Schemas.WafProductApiBundleDetectionId;
+};
+
+export type WafProductApiLeakedCredentialsDeleteDetectionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WafProductApiBundleApiResponseCommonFailure;
+}>;
+
+export type WafProductApiLeakedCredentialsDeleteDetectionVariables = {
+  pathParams: WafProductApiLeakedCredentialsDeleteDetectionPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Remove user-defined detection pattern for Leaked Credential Checks
+ */
+export const wafProductApiLeakedCredentialsDeleteDetection = (
+  variables: WafProductApiLeakedCredentialsDeleteDetectionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WafProductApiBundleApiResponseCommon,
+    WafProductApiLeakedCredentialsDeleteDetectionError,
+    undefined,
+    {},
+    {},
+    WafProductApiLeakedCredentialsDeleteDetectionPathParams
+  >({
+    url: '/zones/{zoneId}/leaked-credential-checks/detections/{detectionId}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type WafProductApiLeakedCredentialsUpdateDetectionPathParams = {
+  zoneId: Schemas.WafProductApiBundleIdentifier;
+  detectionId: Schemas.WafProductApiBundleDetectionId;
+};
+
+export type WafProductApiLeakedCredentialsUpdateDetectionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WafProductApiBundleResponseCustomDetection & Schemas.WafProductApiBundleApiResponseCommonFailure;
+}>;
+
+export type WafProductApiLeakedCredentialsUpdateDetectionVariables = {
+  body?: Schemas.WafProductApiBundleCustomDetection;
+  pathParams: WafProductApiLeakedCredentialsUpdateDetectionPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update user-defined detection pattern for Leaked Credential Checks
+ */
+export const wafProductApiLeakedCredentialsUpdateDetection = (
+  variables: WafProductApiLeakedCredentialsUpdateDetectionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WafProductApiBundleResponseCustomDetection,
+    WafProductApiLeakedCredentialsUpdateDetectionError,
+    Schemas.WafProductApiBundleCustomDetection,
+    {},
+    {},
+    WafProductApiLeakedCredentialsUpdateDetectionPathParams
+  >({ url: '/zones/{zoneId}/leaked-credential-checks/detections/{detectionId}', method: 'put', ...variables, signal });
+
+export type LoadBalancersListLoadBalancersPathParams = {
+  zoneId: Schemas.LoadBalancingLoadBalancerComponentsSchemasIdentifier;
+};
+
+export type LoadBalancersListLoadBalancersError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingLoadBalancerComponentsSchemasResponseCollection &
+    Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type LoadBalancersListLoadBalancersVariables = {
+  pathParams: LoadBalancersListLoadBalancersPathParams;
+} & FetcherExtraProps;
+
+/**
+ * List configured load balancers.
+ */
+export const loadBalancersListLoadBalancers = (
+  variables: LoadBalancersListLoadBalancersVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LoadBalancingLoadBalancerComponentsSchemasResponseCollection,
+    LoadBalancersListLoadBalancersError,
+    undefined,
+    {},
+    {},
+    LoadBalancersListLoadBalancersPathParams
+  >({ url: '/zones/{zoneId}/load_balancers', method: 'get', ...variables, signal });
+
+export type LoadBalancersCreateLoadBalancerPathParams = {
+  zoneId: Schemas.LoadBalancingLoadBalancerComponentsSchemasIdentifier;
+};
+
+export type LoadBalancersCreateLoadBalancerError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingLoadBalancerComponentsSchemasSingleResponse &
+    Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type LoadBalancersCreateLoadBalancerRequestBody = {
+  adaptive_routing?: Schemas.LoadBalancingAdaptiveRouting;
+  country_pools?: Schemas.LoadBalancingCountryPools;
+  default_pools: Schemas.LoadBalancingDefaultPools;
+  description?: Schemas.LoadBalancingComponentsSchemasDescription;
+  fallback_pool: Schemas.LoadBalancingFallbackPool;
+  location_strategy?: Schemas.LoadBalancingLocationStrategy;
+  name: Schemas.LoadBalancingComponentsSchemasName;
+  networks?: Schemas.LoadBalancingNetworks;
+  pop_pools?: Schemas.LoadBalancingPopPools;
+  proxied?: Schemas.LoadBalancingProxied;
+  random_steering?: Schemas.LoadBalancingRandomSteering;
+  region_pools?: Schemas.LoadBalancingRegionPools;
+  rules?: Schemas.LoadBalancingRules;
+  session_affinity?: Schemas.LoadBalancingSessionAffinity;
+  session_affinity_attributes?: Schemas.LoadBalancingSessionAffinityAttributes;
+  session_affinity_ttl?: Schemas.LoadBalancingSessionAffinityTtl;
+  steering_policy?: Schemas.LoadBalancingSteeringPolicy;
+  ttl?: Schemas.LoadBalancingTtl;
+};
+
+export type LoadBalancersCreateLoadBalancerVariables = {
+  body: LoadBalancersCreateLoadBalancerRequestBody;
+  pathParams: LoadBalancersCreateLoadBalancerPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create a new load balancer.
+ */
+export const loadBalancersCreateLoadBalancer = (
+  variables: LoadBalancersCreateLoadBalancerVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LoadBalancingLoadBalancerComponentsSchemasSingleResponse,
+    LoadBalancersCreateLoadBalancerError,
+    LoadBalancersCreateLoadBalancerRequestBody,
+    {},
+    {},
+    LoadBalancersCreateLoadBalancerPathParams
+  >({ url: '/zones/{zoneId}/load_balancers', method: 'post', ...variables, signal });
+
+export type LoadBalancersDeleteLoadBalancerPathParams = {
+  zoneId: Schemas.LoadBalancingLoadBalancerComponentsSchemasIdentifier;
+  loadBalancerId: Schemas.LoadBalancingLoadBalancerComponentsSchemasIdentifier;
+};
+
+export type LoadBalancersDeleteLoadBalancerError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingComponentsSchemasIdResponse & Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type LoadBalancersDeleteLoadBalancerVariables = {
+  pathParams: LoadBalancersDeleteLoadBalancerPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete a configured load balancer.
+ */
+export const loadBalancersDeleteLoadBalancer = (
+  variables: LoadBalancersDeleteLoadBalancerVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LoadBalancingComponentsSchemasIdResponse,
+    LoadBalancersDeleteLoadBalancerError,
+    undefined,
+    {},
+    {},
+    LoadBalancersDeleteLoadBalancerPathParams
+  >({ url: '/zones/{zoneId}/load_balancers/{loadBalancerId}', method: 'delete', ...variables, signal });
+
+export type LoadBalancersLoadBalancerDetailsPathParams = {
+  zoneId: Schemas.LoadBalancingLoadBalancerComponentsSchemasIdentifier;
+  loadBalancerId: Schemas.LoadBalancingLoadBalancerComponentsSchemasIdentifier;
+};
+
+export type LoadBalancersLoadBalancerDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingLoadBalancerComponentsSchemasSingleResponse &
+    Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type LoadBalancersLoadBalancerDetailsVariables = {
+  pathParams: LoadBalancersLoadBalancerDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetch a single configured load balancer.
+ */
+export const loadBalancersLoadBalancerDetails = (
+  variables: LoadBalancersLoadBalancerDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LoadBalancingLoadBalancerComponentsSchemasSingleResponse,
+    LoadBalancersLoadBalancerDetailsError,
+    undefined,
+    {},
+    {},
+    LoadBalancersLoadBalancerDetailsPathParams
+  >({ url: '/zones/{zoneId}/load_balancers/{loadBalancerId}', method: 'get', ...variables, signal });
+
+export type LoadBalancersPatchLoadBalancerPathParams = {
+  zoneId: Schemas.LoadBalancingLoadBalancerComponentsSchemasIdentifier;
+  loadBalancerId: Schemas.LoadBalancingLoadBalancerComponentsSchemasIdentifier;
+};
+
+export type LoadBalancersPatchLoadBalancerError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingLoadBalancerComponentsSchemasSingleResponse &
+    Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type LoadBalancersPatchLoadBalancerRequestBody = {
+  adaptive_routing?: Schemas.LoadBalancingAdaptiveRouting;
+  country_pools?: Schemas.LoadBalancingCountryPools;
+  default_pools?: Schemas.LoadBalancingDefaultPools;
+  description?: Schemas.LoadBalancingComponentsSchemasDescription;
+  enabled?: Schemas.LoadBalancingComponentsSchemasEnabled;
+  fallback_pool?: Schemas.LoadBalancingFallbackPool;
+  location_strategy?: Schemas.LoadBalancingLocationStrategy;
+  name?: Schemas.LoadBalancingComponentsSchemasName;
+  pop_pools?: Schemas.LoadBalancingPopPools;
+  proxied?: Schemas.LoadBalancingProxied;
+  random_steering?: Schemas.LoadBalancingRandomSteering;
+  region_pools?: Schemas.LoadBalancingRegionPools;
+  rules?: Schemas.LoadBalancingRules;
+  session_affinity?: Schemas.LoadBalancingSessionAffinity;
+  session_affinity_attributes?: Schemas.LoadBalancingSessionAffinityAttributes;
+  session_affinity_ttl?: Schemas.LoadBalancingSessionAffinityTtl;
+  steering_policy?: Schemas.LoadBalancingSteeringPolicy;
+  ttl?: Schemas.LoadBalancingTtl;
+};
+
+export type LoadBalancersPatchLoadBalancerVariables = {
+  body?: LoadBalancersPatchLoadBalancerRequestBody;
+  pathParams: LoadBalancersPatchLoadBalancerPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Apply changes to an existing load balancer, overwriting the supplied properties.
+ */
+export const loadBalancersPatchLoadBalancer = (
+  variables: LoadBalancersPatchLoadBalancerVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LoadBalancingLoadBalancerComponentsSchemasSingleResponse,
+    LoadBalancersPatchLoadBalancerError,
+    LoadBalancersPatchLoadBalancerRequestBody,
+    {},
+    {},
+    LoadBalancersPatchLoadBalancerPathParams
+  >({ url: '/zones/{zoneId}/load_balancers/{loadBalancerId}', method: 'patch', ...variables, signal });
+
+export type LoadBalancersUpdateLoadBalancerPathParams = {
+  zoneId: Schemas.LoadBalancingLoadBalancerComponentsSchemasIdentifier;
+  loadBalancerId: Schemas.LoadBalancingLoadBalancerComponentsSchemasIdentifier;
+};
+
+export type LoadBalancersUpdateLoadBalancerError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LoadBalancingLoadBalancerComponentsSchemasSingleResponse &
+    Schemas.LoadBalancingApiResponseCommonFailure;
+}>;
+
+export type LoadBalancersUpdateLoadBalancerRequestBody = {
+  adaptive_routing?: Schemas.LoadBalancingAdaptiveRouting;
+  country_pools?: Schemas.LoadBalancingCountryPools;
+  default_pools: Schemas.LoadBalancingDefaultPools;
+  description?: Schemas.LoadBalancingComponentsSchemasDescription;
+  enabled?: Schemas.LoadBalancingComponentsSchemasEnabled;
+  fallback_pool: Schemas.LoadBalancingFallbackPool;
+  location_strategy?: Schemas.LoadBalancingLocationStrategy;
+  name: Schemas.LoadBalancingComponentsSchemasName;
+  networks?: Schemas.LoadBalancingNetworks;
+  pop_pools?: Schemas.LoadBalancingPopPools;
+  proxied?: Schemas.LoadBalancingProxied;
+  random_steering?: Schemas.LoadBalancingRandomSteering;
+  region_pools?: Schemas.LoadBalancingRegionPools;
+  rules?: Schemas.LoadBalancingRules;
+  session_affinity?: Schemas.LoadBalancingSessionAffinity;
+  session_affinity_attributes?: Schemas.LoadBalancingSessionAffinityAttributes;
+  session_affinity_ttl?: Schemas.LoadBalancingSessionAffinityTtl;
+  steering_policy?: Schemas.LoadBalancingSteeringPolicy;
+  ttl?: Schemas.LoadBalancingTtl;
+};
+
+export type LoadBalancersUpdateLoadBalancerVariables = {
+  body: LoadBalancersUpdateLoadBalancerRequestBody;
+  pathParams: LoadBalancersUpdateLoadBalancerPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update a configured load balancer.
+ */
+export const loadBalancersUpdateLoadBalancer = (
+  variables: LoadBalancersUpdateLoadBalancerVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LoadBalancingLoadBalancerComponentsSchemasSingleResponse,
+    LoadBalancersUpdateLoadBalancerError,
+    LoadBalancersUpdateLoadBalancerRequestBody,
+    {},
+    {},
+    LoadBalancersUpdateLoadBalancerPathParams
+  >({ url: '/zones/{zoneId}/load_balancers/{loadBalancerId}', method: 'put', ...variables, signal });
+
+export type GetZonesZoneIdLogpushDatasetsDatasetIdFieldsPathParams = {
+  datasetId: Schemas.LogpushDataset;
+  zoneId: Schemas.LogpushIdentifier;
+};
+
+export type GetZonesZoneIdLogpushDatasetsDatasetIdFieldsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LogpushApiResponseCommonFailure;
+}>;
+
+export type GetZonesZoneIdLogpushDatasetsDatasetIdFieldsVariables = {
+  pathParams: GetZonesZoneIdLogpushDatasetsDatasetIdFieldsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists all fields available for a dataset. The response result is an object with key-value pairs, where keys are field names, and values are descriptions.
+ */
+export const getZonesZoneIdLogpushDatasetsDatasetIdFields = (
+  variables: GetZonesZoneIdLogpushDatasetsDatasetIdFieldsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LogpushLogpushFieldResponseCollection,
+    GetZonesZoneIdLogpushDatasetsDatasetIdFieldsError,
+    undefined,
+    {},
+    {},
+    GetZonesZoneIdLogpushDatasetsDatasetIdFieldsPathParams
+  >({ url: '/zones/{zoneId}/logpush/datasets/{datasetId}/fields', method: 'get', ...variables, signal });
+
+export type GetZonesZoneIdLogpushDatasetsDatasetIdJobsPathParams = {
+  datasetId: Schemas.LogpushDataset;
+  zoneId: Schemas.LogpushIdentifier;
+};
+
+export type GetZonesZoneIdLogpushDatasetsDatasetIdJobsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LogpushApiResponseCommonFailure;
+}>;
+
+export type GetZonesZoneIdLogpushDatasetsDatasetIdJobsVariables = {
+  pathParams: GetZonesZoneIdLogpushDatasetsDatasetIdJobsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists Logpush jobs for a zone for a dataset.
+ */
+export const getZonesZoneIdLogpushDatasetsDatasetIdJobs = (
+  variables: GetZonesZoneIdLogpushDatasetsDatasetIdJobsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LogpushLogpushJobResponseCollection,
+    GetZonesZoneIdLogpushDatasetsDatasetIdJobsError,
+    undefined,
+    {},
+    {},
+    GetZonesZoneIdLogpushDatasetsDatasetIdJobsPathParams
+  >({ url: '/zones/{zoneId}/logpush/datasets/{datasetId}/jobs', method: 'get', ...variables, signal });
+
+export type GetZonesZoneIdLogpushEdgeJobsPathParams = {
+  zoneId: Schemas.LogpushIdentifier;
+};
+
+export type GetZonesZoneIdLogpushEdgeJobsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LogpushInstantLogsJobResponseCollection & Schemas.LogpushApiResponseCommonFailure;
+}>;
+
+export type GetZonesZoneIdLogpushEdgeJobsVariables = {
+  pathParams: GetZonesZoneIdLogpushEdgeJobsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists Instant Logs jobs for a zone.
+ */
+export const getZonesZoneIdLogpushEdgeJobs = (
+  variables: GetZonesZoneIdLogpushEdgeJobsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LogpushInstantLogsJobResponseCollection,
+    GetZonesZoneIdLogpushEdgeJobsError,
+    undefined,
+    {},
+    {},
+    GetZonesZoneIdLogpushEdgeJobsPathParams
+  >({ url: '/zones/{zoneId}/logpush/edge', method: 'get', ...variables, signal });
+
+export type PostZonesZoneIdLogpushEdgeJobsPathParams = {
+  zoneId: Schemas.LogpushIdentifier;
+};
+
+export type PostZonesZoneIdLogpushEdgeJobsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LogpushInstantLogsJobResponseSingle & Schemas.LogpushApiResponseCommonFailure;
+}>;
+
+export type PostZonesZoneIdLogpushEdgeJobsRequestBody = {
+  fields?: Schemas.LogpushFields;
+  filter?: Schemas.LogpushFilter;
+  sample?: Schemas.LogpushSample;
+};
+
+export type PostZonesZoneIdLogpushEdgeJobsVariables = {
+  body?: PostZonesZoneIdLogpushEdgeJobsRequestBody;
+  pathParams: PostZonesZoneIdLogpushEdgeJobsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new Instant Logs job for a zone.
+ */
+export const postZonesZoneIdLogpushEdgeJobs = (
+  variables: PostZonesZoneIdLogpushEdgeJobsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LogpushInstantLogsJobResponseSingle,
+    PostZonesZoneIdLogpushEdgeJobsError,
+    PostZonesZoneIdLogpushEdgeJobsRequestBody,
+    {},
+    {},
+    PostZonesZoneIdLogpushEdgeJobsPathParams
+  >({ url: '/zones/{zoneId}/logpush/edge', method: 'post', ...variables, signal });
+
+export type GetZonesZoneIdLogpushJobsPathParams = {
+  zoneId: Schemas.LogpushIdentifier;
+};
+
+export type GetZonesZoneIdLogpushJobsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LogpushApiResponseCommonFailure;
+}>;
+
+export type GetZonesZoneIdLogpushJobsVariables = {
+  pathParams: GetZonesZoneIdLogpushJobsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists Logpush jobs for a zone.
+ */
+export const getZonesZoneIdLogpushJobs = (variables: GetZonesZoneIdLogpushJobsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.LogpushLogpushJobResponseCollection,
+    GetZonesZoneIdLogpushJobsError,
+    undefined,
+    {},
+    {},
+    GetZonesZoneIdLogpushJobsPathParams
+  >({ url: '/zones/{zoneId}/logpush/jobs', method: 'get', ...variables, signal });
+
+export type PostZonesZoneIdLogpushJobsPathParams = {
+  zoneId: Schemas.LogpushIdentifier;
+};
+
+export type PostZonesZoneIdLogpushJobsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LogpushApiResponseCommonFailure;
+}>;
+
+export type PostZonesZoneIdLogpushJobsRequestBody = {
+  dataset?: Schemas.LogpushDataset;
+  destination_conf: Schemas.LogpushDestinationConf;
+  enabled?: Schemas.LogpushEnabled;
+  frequency?: Schemas.LogpushFrequency;
+  kind?: Schemas.LogpushKind;
+  logpull_options?: Schemas.LogpushLogpullOptions;
+  max_upload_bytes?: Schemas.LogpushMaxUploadBytes;
+  max_upload_interval_seconds?: Schemas.LogpushMaxUploadIntervalSeconds;
+  max_upload_records?: Schemas.LogpushMaxUploadRecords;
+  name?: Schemas.LogpushName;
+  output_options?: Schemas.LogpushOutputOptions;
+  ownership_challenge?: Schemas.LogpushOwnershipChallenge;
+};
+
+export type PostZonesZoneIdLogpushJobsVariables = {
+  body: PostZonesZoneIdLogpushJobsRequestBody;
+  pathParams: PostZonesZoneIdLogpushJobsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new Logpush job for a zone.
+ */
+export const postZonesZoneIdLogpushJobs = (variables: PostZonesZoneIdLogpushJobsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.LogpushLogpushJobResponseSingle,
+    PostZonesZoneIdLogpushJobsError,
+    PostZonesZoneIdLogpushJobsRequestBody,
+    {},
+    {},
+    PostZonesZoneIdLogpushJobsPathParams
+  >({ url: '/zones/{zoneId}/logpush/jobs', method: 'post', ...variables, signal });
+
+export type DeleteZonesZoneIdLogpushJobsJobIdPathParams = {
+  jobId: Schemas.LogpushId;
+  zoneId: Schemas.LogpushIdentifier;
+};
+
+export type DeleteZonesZoneIdLogpushJobsJobIdError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LogpushApiResponseCommonFailure;
+}>;
+
+export type DeleteZonesZoneIdLogpushJobsJobIdResponse = Schemas.LogpushApiResponseCommon & {
+  result?: {
+    id?: Schemas.LogpushId;
+  };
+};
+
+export type DeleteZonesZoneIdLogpushJobsJobIdVariables = {
+  pathParams: DeleteZonesZoneIdLogpushJobsJobIdPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes a Logpush job.
+ */
+export const deleteZonesZoneIdLogpushJobsJobId = (
+  variables: DeleteZonesZoneIdLogpushJobsJobIdVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    DeleteZonesZoneIdLogpushJobsJobIdResponse,
+    DeleteZonesZoneIdLogpushJobsJobIdError,
+    undefined,
+    {},
+    {},
+    DeleteZonesZoneIdLogpushJobsJobIdPathParams
+  >({ url: '/zones/{zoneId}/logpush/jobs/{jobId}', method: 'delete', ...variables, signal });
+
+export type GetZonesZoneIdLogpushJobsJobIdPathParams = {
+  jobId: Schemas.LogpushId;
+  zoneId: Schemas.LogpushIdentifier;
+};
+
+export type GetZonesZoneIdLogpushJobsJobIdError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LogpushApiResponseCommonFailure;
+}>;
+
+export type GetZonesZoneIdLogpushJobsJobIdVariables = {
+  pathParams: GetZonesZoneIdLogpushJobsJobIdPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets the details of a Logpush job.
+ */
+export const getZonesZoneIdLogpushJobsJobId = (
+  variables: GetZonesZoneIdLogpushJobsJobIdVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LogpushLogpushJobResponseSingle,
+    GetZonesZoneIdLogpushJobsJobIdError,
+    undefined,
+    {},
+    {},
+    GetZonesZoneIdLogpushJobsJobIdPathParams
+  >({ url: '/zones/{zoneId}/logpush/jobs/{jobId}', method: 'get', ...variables, signal });
+
+export type PutZonesZoneIdLogpushJobsJobIdPathParams = {
+  jobId: Schemas.LogpushId;
+  zoneId: Schemas.LogpushIdentifier;
+};
+
+export type PutZonesZoneIdLogpushJobsJobIdError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LogpushApiResponseCommonFailure;
+}>;
+
+export type PutZonesZoneIdLogpushJobsJobIdRequestBody = {
+  destination_conf?: Schemas.LogpushDestinationConf;
+  enabled?: Schemas.LogpushEnabled;
+  frequency?: Schemas.LogpushFrequency;
+  kind?: Schemas.LogpushKind;
+  logpull_options?: Schemas.LogpushLogpullOptions;
+  max_upload_bytes?: Schemas.LogpushMaxUploadBytes;
+  max_upload_interval_seconds?: Schemas.LogpushMaxUploadIntervalSeconds;
+  max_upload_records?: Schemas.LogpushMaxUploadRecords;
+  name?: Schemas.LogpushName;
+  output_options?: Schemas.LogpushOutputOptions;
+  ownership_challenge?: Schemas.LogpushOwnershipChallenge;
+};
+
+export type PutZonesZoneIdLogpushJobsJobIdVariables = {
+  body?: PutZonesZoneIdLogpushJobsJobIdRequestBody;
+  pathParams: PutZonesZoneIdLogpushJobsJobIdPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a Logpush job.
+ */
+export const putZonesZoneIdLogpushJobsJobId = (
+  variables: PutZonesZoneIdLogpushJobsJobIdVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LogpushLogpushJobResponseSingle,
+    PutZonesZoneIdLogpushJobsJobIdError,
+    PutZonesZoneIdLogpushJobsJobIdRequestBody,
+    {},
+    {},
+    PutZonesZoneIdLogpushJobsJobIdPathParams
+  >({ url: '/zones/{zoneId}/logpush/jobs/{jobId}', method: 'put', ...variables, signal });
+
+export type PostZonesZoneIdLogpushOwnershipPathParams = {
+  zoneId: Schemas.LogpushIdentifier;
+};
+
+export type PostZonesZoneIdLogpushOwnershipError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LogpushApiResponseCommonFailure;
+}>;
+
+export type PostZonesZoneIdLogpushOwnershipRequestBody = {
+  destination_conf: Schemas.LogpushDestinationConf;
+};
+
+export type PostZonesZoneIdLogpushOwnershipVariables = {
+  body: PostZonesZoneIdLogpushOwnershipRequestBody;
+  pathParams: PostZonesZoneIdLogpushOwnershipPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets a new ownership challenge sent to your destination.
+ */
+export const postZonesZoneIdLogpushOwnership = (
+  variables: PostZonesZoneIdLogpushOwnershipVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LogpushGetOwnershipResponse,
+    PostZonesZoneIdLogpushOwnershipError,
+    PostZonesZoneIdLogpushOwnershipRequestBody,
+    {},
+    {},
+    PostZonesZoneIdLogpushOwnershipPathParams
+  >({ url: '/zones/{zoneId}/logpush/ownership', method: 'post', ...variables, signal });
+
+export type PostZonesZoneIdLogpushOwnershipValidatePathParams = {
+  zoneId: Schemas.LogpushIdentifier;
+};
+
+export type PostZonesZoneIdLogpushOwnershipValidateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LogpushApiResponseCommonFailure;
+}>;
+
+export type PostZonesZoneIdLogpushOwnershipValidateRequestBody = {
+  destination_conf: Schemas.LogpushDestinationConf;
+  ownership_challenge: Schemas.LogpushOwnershipChallenge;
+};
+
+export type PostZonesZoneIdLogpushOwnershipValidateVariables = {
+  body: PostZonesZoneIdLogpushOwnershipValidateRequestBody;
+  pathParams: PostZonesZoneIdLogpushOwnershipValidatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Validates ownership challenge of the destination.
+ */
+export const postZonesZoneIdLogpushOwnershipValidate = (
+  variables: PostZonesZoneIdLogpushOwnershipValidateVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LogpushValidateOwnershipResponse,
+    PostZonesZoneIdLogpushOwnershipValidateError,
+    PostZonesZoneIdLogpushOwnershipValidateRequestBody,
+    {},
+    {},
+    PostZonesZoneIdLogpushOwnershipValidatePathParams
+  >({ url: '/zones/{zoneId}/logpush/ownership/validate', method: 'post', ...variables, signal });
+
+export type PostZonesZoneIdLogpushValidateDestinationPathParams = {
+  zoneId: Schemas.LogpushIdentifier;
+};
+
+export type PostZonesZoneIdLogpushValidateDestinationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LogpushApiResponseCommonFailure;
+}>;
+
+export type PostZonesZoneIdLogpushValidateDestinationRequestBody = {
+  destination_conf: Schemas.LogpushDestinationConf;
+};
+
+export type PostZonesZoneIdLogpushValidateDestinationVariables = {
+  body: PostZonesZoneIdLogpushValidateDestinationRequestBody;
+  pathParams: PostZonesZoneIdLogpushValidateDestinationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Validates destination.
+ */
+export const postZonesZoneIdLogpushValidateDestination = (
+  variables: PostZonesZoneIdLogpushValidateDestinationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LogpushValidateResponse,
+    PostZonesZoneIdLogpushValidateDestinationError,
+    PostZonesZoneIdLogpushValidateDestinationRequestBody,
+    {},
+    {},
+    PostZonesZoneIdLogpushValidateDestinationPathParams
+  >({ url: '/zones/{zoneId}/logpush/validate/destination', method: 'post', ...variables, signal });
+
+export type PostZonesZoneIdLogpushValidateDestinationExistsPathParams = {
+  zoneId: Schemas.LogpushIdentifier;
+};
+
+export type PostZonesZoneIdLogpushValidateDestinationExistsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LogpushApiResponseCommonFailure;
+}>;
+
+export type PostZonesZoneIdLogpushValidateDestinationExistsRequestBody = {
+  destination_conf: Schemas.LogpushDestinationConf;
+};
+
+export type PostZonesZoneIdLogpushValidateDestinationExistsVariables = {
+  body: PostZonesZoneIdLogpushValidateDestinationExistsRequestBody;
+  pathParams: PostZonesZoneIdLogpushValidateDestinationExistsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Checks if there is an existing job with a destination.
+ */
+export const postZonesZoneIdLogpushValidateDestinationExists = (
+  variables: PostZonesZoneIdLogpushValidateDestinationExistsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LogpushDestinationExistsResponse,
+    PostZonesZoneIdLogpushValidateDestinationExistsError,
+    PostZonesZoneIdLogpushValidateDestinationExistsRequestBody,
+    {},
+    {},
+    PostZonesZoneIdLogpushValidateDestinationExistsPathParams
+  >({ url: '/zones/{zoneId}/logpush/validate/destination/exists', method: 'post', ...variables, signal });
+
+export type PostZonesZoneIdLogpushValidateOriginPathParams = {
+  zoneId: Schemas.LogpushIdentifier;
+};
+
+export type PostZonesZoneIdLogpushValidateOriginError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LogpushApiResponseCommonFailure;
+}>;
+
+export type PostZonesZoneIdLogpushValidateOriginRequestBody = {
+  logpull_options: Schemas.LogpushLogpullOptions;
+};
+
+export type PostZonesZoneIdLogpushValidateOriginVariables = {
+  body: PostZonesZoneIdLogpushValidateOriginRequestBody;
+  pathParams: PostZonesZoneIdLogpushValidateOriginPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Validates logpull origin with logpull_options.
+ */
+export const postZonesZoneIdLogpushValidateOrigin = (
+  variables: PostZonesZoneIdLogpushValidateOriginVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LogpushValidateResponse,
+    PostZonesZoneIdLogpushValidateOriginError,
+    PostZonesZoneIdLogpushValidateOriginRequestBody,
+    {},
+    {},
+    PostZonesZoneIdLogpushValidateOriginPathParams
+  >({ url: '/zones/{zoneId}/logpush/validate/origin', method: 'post', ...variables, signal });
+
+export type GetZonesZoneIdLogsControlRetentionFlagPathParams = {
+  zoneId: Schemas.LogcontrolIdentifier;
+};
+
+export type GetZonesZoneIdLogsControlRetentionFlagError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LogcontrolApiResponseCommonFailure;
+}>;
+
+export type GetZonesZoneIdLogsControlRetentionFlagVariables = {
+  pathParams: GetZonesZoneIdLogsControlRetentionFlagPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets log retention flag for Logpull API.
+ */
+export const getZonesZoneIdLogsControlRetentionFlag = (
+  variables: GetZonesZoneIdLogsControlRetentionFlagVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LogcontrolRetentionFlagResponseSingle,
+    GetZonesZoneIdLogsControlRetentionFlagError,
+    undefined,
+    {},
+    {},
+    GetZonesZoneIdLogsControlRetentionFlagPathParams
+  >({ url: '/zones/{zoneId}/logs/control/retention/flag', method: 'get', ...variables, signal });
+
+export type PostZonesZoneIdLogsControlRetentionFlagPathParams = {
+  zoneId: Schemas.LogcontrolIdentifier;
+};
+
+export type PostZonesZoneIdLogsControlRetentionFlagError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LogcontrolApiResponseCommonFailure;
+}>;
+
+export type PostZonesZoneIdLogsControlRetentionFlagVariables = {
+  body?: Schemas.LogcontrolRetentionFlag;
+  pathParams: PostZonesZoneIdLogsControlRetentionFlagPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates log retention flag for Logpull API.
+ */
+export const postZonesZoneIdLogsControlRetentionFlag = (
+  variables: PostZonesZoneIdLogsControlRetentionFlagVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LogcontrolRetentionFlagResponseSingle,
+    PostZonesZoneIdLogsControlRetentionFlagError,
+    Schemas.LogcontrolRetentionFlag,
+    {},
+    {},
+    PostZonesZoneIdLogsControlRetentionFlagPathParams
+  >({ url: '/zones/{zoneId}/logs/control/retention/flag', method: 'post', ...variables, signal });
+
+export type GetZonesZoneIdLogsRayidsRayIdPathParams = {
+  zoneId: Schemas.LogshareIdentifier;
+  rayId: Schemas.LogshareRayIdentifier;
+};
+
+export type GetZonesZoneIdLogsRayidsRayIdQueryParams = {
+  fields?: Schemas.LogshareFields;
+  timestamps?: Schemas.LogshareTimestamps;
+};
+
+export type GetZonesZoneIdLogsRayidsRayIdError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LogshareApiResponseCommonFailure;
+}>;
+
+export type GetZonesZoneIdLogsRayidsRayIdVariables = {
+  pathParams: GetZonesZoneIdLogsRayidsRayIdPathParams;
+  queryParams?: GetZonesZoneIdLogsRayidsRayIdQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * The `/rayids` api route allows lookups by specific rayid. The rayids route will return zero, one, or more records (ray ids are not unique).
+ */
+export const getZonesZoneIdLogsRayidsRayId = (
+  variables: GetZonesZoneIdLogsRayidsRayIdVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LogshareLogsResponseJsonLines,
+    GetZonesZoneIdLogsRayidsRayIdError,
+    undefined,
+    {},
+    GetZonesZoneIdLogsRayidsRayIdQueryParams,
+    GetZonesZoneIdLogsRayidsRayIdPathParams
+  >({ url: '/zones/{zoneId}/logs/rayids/{rayId}', method: 'get', ...variables, signal });
+
+export type GetZonesZoneIdLogsReceivedPathParams = {
+  zoneId: Schemas.LogshareIdentifier;
+};
+
+export type GetZonesZoneIdLogsReceivedQueryParams = {
+  start?: Schemas.LogshareStart;
+  end: Schemas.LogshareEnd;
+  fields?: Schemas.LogshareFields;
+  sample?: Schemas.LogshareSample;
+  count?: Schemas.LogshareCount;
+  timestamps?: Schemas.LogshareTimestamps;
+};
+
+export type GetZonesZoneIdLogsReceivedError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LogshareApiResponseCommonFailure;
+}>;
+
+export type GetZonesZoneIdLogsReceivedVariables = {
+  pathParams: GetZonesZoneIdLogsReceivedPathParams;
+  queryParams: GetZonesZoneIdLogsReceivedQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * The `/received` api route allows customers to retrieve their edge HTTP logs. The basic access pattern is "give me all the logs for zone Z for minute M", where the minute M refers to the time records were received at Cloudflare's central data center. `start` is inclusive, and `end` is exclusive. Because of that, to get all data, at minutely cadence, starting at 10AM, the proper values are: `start=2018-05-20T10:00:00Z&end=2018-05-20T10:01:00Z`, then `start=2018-05-20T10:01:00Z&end=2018-05-20T10:02:00Z` and so on; the overlap will be handled properly.
+ */
+export const getZonesZoneIdLogsReceived = (variables: GetZonesZoneIdLogsReceivedVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.LogshareLogsResponseJsonLines,
+    GetZonesZoneIdLogsReceivedError,
+    undefined,
+    {},
+    GetZonesZoneIdLogsReceivedQueryParams,
+    GetZonesZoneIdLogsReceivedPathParams
+  >({ url: '/zones/{zoneId}/logs/received', method: 'get', ...variables, signal });
+
+export type GetZonesZoneIdLogsReceivedFieldsPathParams = {
+  zoneId: Schemas.LogshareIdentifier;
+};
+
+export type GetZonesZoneIdLogsReceivedFieldsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.LogshareApiResponseCommonFailure;
+}>;
+
+export type GetZonesZoneIdLogsReceivedFieldsVariables = {
+  pathParams: GetZonesZoneIdLogsReceivedFieldsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists all fields available. The response is json object with key-value pairs, where keys are field names, and values are descriptions.
+ */
+export const getZonesZoneIdLogsReceivedFields = (
+  variables: GetZonesZoneIdLogsReceivedFieldsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.LogshareFieldsResponse,
+    GetZonesZoneIdLogsReceivedFieldsError,
+    undefined,
+    {},
+    {},
+    GetZonesZoneIdLogsReceivedFieldsPathParams
+  >({ url: '/zones/{zoneId}/logs/received/fields', method: 'get', ...variables, signal });
+
+export type DeleteManagedTransformsPathParams = {
+  zoneId: Schemas.RulesetsZoneId;
+};
+
+export type DeleteManagedTransformsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type DeleteManagedTransformsVariables = {
+  pathParams: DeleteManagedTransformsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Disables all Managed Transforms.
+ */
+export const deleteManagedTransforms = (variables: DeleteManagedTransformsVariables, signal?: AbortSignal) =>
+  fetch<Responses.RulesetsEmpty, DeleteManagedTransformsError, undefined, {}, {}, DeleteManagedTransformsPathParams>({
+    url: '/zones/{zoneId}/managed_headers',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type ListManagedTransformsPathParams = {
+  zoneId: Schemas.RulesetsZoneId;
+};
+
+export type ListManagedTransformsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type ListManagedTransformsVariables = {
+  pathParams: ListManagedTransformsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a list of all Managed Transforms.
+ */
+export const listManagedTransforms = (variables: ListManagedTransformsVariables, signal?: AbortSignal) =>
+  fetch<
+    Responses.RulesetsManagedTransforms,
+    ListManagedTransformsError,
+    undefined,
+    {},
+    {},
+    ListManagedTransformsPathParams
+  >({ url: '/zones/{zoneId}/managed_headers', method: 'get', ...variables, signal });
+
+export type UpdateManagedTransformsPathParams = {
+  zoneId: Schemas.RulesetsZoneId;
+};
+
+export type UpdateManagedTransformsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type UpdateManagedTransformsVariables = {
+  body: RequestBodies.RulesetsManagedTransforms;
+  pathParams: UpdateManagedTransformsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates the status of one or more Managed Transforms.
+ */
+export const updateManagedTransforms = (variables: UpdateManagedTransformsVariables, signal?: AbortSignal) =>
+  fetch<
+    Responses.RulesetsManagedTransforms,
+    UpdateManagedTransformsError,
+    RequestBodies.RulesetsManagedTransforms,
+    {},
+    {},
+    UpdateManagedTransformsPathParams
+  >({ url: '/zones/{zoneId}/managed_headers', method: 'patch', ...variables, signal });
+
+export type ZoneLevelAuthenticatedOriginPullsListCertificatesPathParams = {
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type ZoneLevelAuthenticatedOriginPullsListCertificatesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesComponentsSchemasCertificateResponseCollection &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAuthenticatedOriginPullsListCertificatesVariables = {
+  pathParams: ZoneLevelAuthenticatedOriginPullsListCertificatesPathParams;
+} & FetcherExtraProps;
+
+export const zoneLevelAuthenticatedOriginPullsListCertificates = (
+  variables: ZoneLevelAuthenticatedOriginPullsListCertificatesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesComponentsSchemasCertificateResponseCollection,
+    ZoneLevelAuthenticatedOriginPullsListCertificatesError,
+    undefined,
+    {},
+    {},
+    ZoneLevelAuthenticatedOriginPullsListCertificatesPathParams
+  >({ url: '/zones/{zoneId}/origin_tls_client_auth', method: 'get', ...variables, signal });
+
+export type ZoneLevelAuthenticatedOriginPullsUploadCertificatePathParams = {
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type ZoneLevelAuthenticatedOriginPullsUploadCertificateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesComponentsSchemasCertificateResponseSingle &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAuthenticatedOriginPullsUploadCertificateRequestBody = {
+  certificate: Schemas.TlsCertificatesAndHostnamesZoneAuthenticatedOriginPullComponentsSchemasCertificate;
+  private_key: Schemas.TlsCertificatesAndHostnamesPrivateKey;
+};
+
+export type ZoneLevelAuthenticatedOriginPullsUploadCertificateVariables = {
+  body: ZoneLevelAuthenticatedOriginPullsUploadCertificateRequestBody;
+  pathParams: ZoneLevelAuthenticatedOriginPullsUploadCertificatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Upload your own certificate you want Cloudflare to use for edge-to-origin communication to override the shared certificate. Please note that it is important to keep only one certificate active. Also, make sure to enable zone-level authenticated origin pulls by making a PUT call to settings endpoint to see the uploaded certificate in use.
+ */
+export const zoneLevelAuthenticatedOriginPullsUploadCertificate = (
+  variables: ZoneLevelAuthenticatedOriginPullsUploadCertificateVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesComponentsSchemasCertificateResponseSingle,
+    ZoneLevelAuthenticatedOriginPullsUploadCertificateError,
+    ZoneLevelAuthenticatedOriginPullsUploadCertificateRequestBody,
+    {},
+    {},
+    ZoneLevelAuthenticatedOriginPullsUploadCertificatePathParams
+  >({ url: '/zones/{zoneId}/origin_tls_client_auth', method: 'post', ...variables, signal });
+
+export type PerHostnameAuthenticatedOriginPullEnableOrDisableAHostnameForClientAuthenticationPathParams = {
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type PerHostnameAuthenticatedOriginPullEnableOrDisableAHostnameForClientAuthenticationError =
+  Fetcher.ErrorWrapper<{
+    status: 400;
+    payload: Schemas.TlsCertificatesAndHostnamesHostnameAopResponseCollection &
+      Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+  }>;
+
+export type PerHostnameAuthenticatedOriginPullEnableOrDisableAHostnameForClientAuthenticationRequestBody = {
+  config: Schemas.TlsCertificatesAndHostnamesConfig;
+};
+
+export type PerHostnameAuthenticatedOriginPullEnableOrDisableAHostnameForClientAuthenticationVariables = {
+  body: PerHostnameAuthenticatedOriginPullEnableOrDisableAHostnameForClientAuthenticationRequestBody;
+  pathParams: PerHostnameAuthenticatedOriginPullEnableOrDisableAHostnameForClientAuthenticationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Associate a hostname to a certificate and enable, disable or invalidate the association. If disabled, client certificate will not be sent to the hostname even if activated at the zone level. 100 maximum associations on a single certificate are allowed. Note: Use a null value for parameter *enabled* to invalidate the association.
+ */
+export const perHostnameAuthenticatedOriginPullEnableOrDisableAHostnameForClientAuthentication = (
+  variables: PerHostnameAuthenticatedOriginPullEnableOrDisableAHostnameForClientAuthenticationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesHostnameAopResponseCollection,
+    PerHostnameAuthenticatedOriginPullEnableOrDisableAHostnameForClientAuthenticationError,
+    PerHostnameAuthenticatedOriginPullEnableOrDisableAHostnameForClientAuthenticationRequestBody,
+    {},
+    {},
+    PerHostnameAuthenticatedOriginPullEnableOrDisableAHostnameForClientAuthenticationPathParams
+  >({ url: '/zones/{zoneId}/origin_tls_client_auth/hostnames', method: 'put', ...variables, signal });
+
+export type PerHostnameAuthenticatedOriginPullListCertificatesPathParams = {
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type PerHostnameAuthenticatedOriginPullListCertificatesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesHostnameAuthenticatedOriginPullComponentsSchemasCertificateResponseCollection &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type PerHostnameAuthenticatedOriginPullListCertificatesVariables = {
+  pathParams: PerHostnameAuthenticatedOriginPullListCertificatesPathParams;
+} & FetcherExtraProps;
+
+export const perHostnameAuthenticatedOriginPullListCertificates = (
+  variables: PerHostnameAuthenticatedOriginPullListCertificatesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesHostnameAuthenticatedOriginPullComponentsSchemasCertificateResponseCollection,
+    PerHostnameAuthenticatedOriginPullListCertificatesError,
+    undefined,
+    {},
+    {},
+    PerHostnameAuthenticatedOriginPullListCertificatesPathParams
+  >({ url: '/zones/{zoneId}/origin_tls_client_auth/hostnames/certificates', method: 'get', ...variables, signal });
+
+export type PerHostnameAuthenticatedOriginPullUploadAHostnameClientCertificatePathParams = {
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type PerHostnameAuthenticatedOriginPullUploadAHostnameClientCertificateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesHostnameAuthenticatedOriginPullComponentsSchemasCertificateResponseSingle &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type PerHostnameAuthenticatedOriginPullUploadAHostnameClientCertificateRequestBody = {
+  certificate: Schemas.TlsCertificatesAndHostnamesHostnameAuthenticatedOriginPullComponentsSchemasCertificate;
+  private_key: Schemas.TlsCertificatesAndHostnamesSchemasPrivateKey;
+};
+
+export type PerHostnameAuthenticatedOriginPullUploadAHostnameClientCertificateVariables = {
+  body: PerHostnameAuthenticatedOriginPullUploadAHostnameClientCertificateRequestBody;
+  pathParams: PerHostnameAuthenticatedOriginPullUploadAHostnameClientCertificatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Upload a certificate to be used for client authentication on a hostname. 10 hostname certificates per zone are allowed.
+ */
+export const perHostnameAuthenticatedOriginPullUploadAHostnameClientCertificate = (
+  variables: PerHostnameAuthenticatedOriginPullUploadAHostnameClientCertificateVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesHostnameAuthenticatedOriginPullComponentsSchemasCertificateResponseSingle,
+    PerHostnameAuthenticatedOriginPullUploadAHostnameClientCertificateError,
+    PerHostnameAuthenticatedOriginPullUploadAHostnameClientCertificateRequestBody,
+    {},
+    {},
+    PerHostnameAuthenticatedOriginPullUploadAHostnameClientCertificatePathParams
+  >({ url: '/zones/{zoneId}/origin_tls_client_auth/hostnames/certificates', method: 'post', ...variables, signal });
+
+export type PerHostnameAuthenticatedOriginPullDeleteHostnameClientCertificatePathParams = {
+  certificateId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type PerHostnameAuthenticatedOriginPullDeleteHostnameClientCertificateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesHostnameAuthenticatedOriginPullComponentsSchemasCertificateResponseSingle &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type PerHostnameAuthenticatedOriginPullDeleteHostnameClientCertificateVariables = {
+  pathParams: PerHostnameAuthenticatedOriginPullDeleteHostnameClientCertificatePathParams;
+} & FetcherExtraProps;
+
+export const perHostnameAuthenticatedOriginPullDeleteHostnameClientCertificate = (
+  variables: PerHostnameAuthenticatedOriginPullDeleteHostnameClientCertificateVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesHostnameAuthenticatedOriginPullComponentsSchemasCertificateResponseSingle,
+    PerHostnameAuthenticatedOriginPullDeleteHostnameClientCertificateError,
+    undefined,
+    {},
+    {},
+    PerHostnameAuthenticatedOriginPullDeleteHostnameClientCertificatePathParams
+  >({
+    url: '/zones/{zoneId}/origin_tls_client_auth/hostnames/certificates/{certificateId}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type PerHostnameAuthenticatedOriginPullGetTheHostnameClientCertificatePathParams = {
+  certificateId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type PerHostnameAuthenticatedOriginPullGetTheHostnameClientCertificateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesHostnameAuthenticatedOriginPullComponentsSchemasCertificateResponseSingle &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type PerHostnameAuthenticatedOriginPullGetTheHostnameClientCertificateVariables = {
+  pathParams: PerHostnameAuthenticatedOriginPullGetTheHostnameClientCertificatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get the certificate by ID to be used for client authentication on a hostname.
+ */
+export const perHostnameAuthenticatedOriginPullGetTheHostnameClientCertificate = (
+  variables: PerHostnameAuthenticatedOriginPullGetTheHostnameClientCertificateVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesHostnameAuthenticatedOriginPullComponentsSchemasCertificateResponseSingle,
+    PerHostnameAuthenticatedOriginPullGetTheHostnameClientCertificateError,
+    undefined,
+    {},
+    {},
+    PerHostnameAuthenticatedOriginPullGetTheHostnameClientCertificatePathParams
+  >({
+    url: '/zones/{zoneId}/origin_tls_client_auth/hostnames/certificates/{certificateId}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type PerHostnameAuthenticatedOriginPullGetTheHostnameStatusForClientAuthenticationPathParams = {
+  hostname: Schemas.TlsCertificatesAndHostnamesSchemasHostname;
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type PerHostnameAuthenticatedOriginPullGetTheHostnameStatusForClientAuthenticationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesHostnameAopSingleResponse &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type PerHostnameAuthenticatedOriginPullGetTheHostnameStatusForClientAuthenticationVariables = {
+  pathParams: PerHostnameAuthenticatedOriginPullGetTheHostnameStatusForClientAuthenticationPathParams;
+} & FetcherExtraProps;
+
+export const perHostnameAuthenticatedOriginPullGetTheHostnameStatusForClientAuthentication = (
+  variables: PerHostnameAuthenticatedOriginPullGetTheHostnameStatusForClientAuthenticationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesHostnameAopSingleResponse,
+    PerHostnameAuthenticatedOriginPullGetTheHostnameStatusForClientAuthenticationError,
+    undefined,
+    {},
+    {},
+    PerHostnameAuthenticatedOriginPullGetTheHostnameStatusForClientAuthenticationPathParams
+  >({ url: '/zones/{zoneId}/origin_tls_client_auth/hostnames/{hostname}', method: 'get', ...variables, signal });
+
+export type ZoneLevelAuthenticatedOriginPullsGetEnablementSettingForZonePathParams = {
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type ZoneLevelAuthenticatedOriginPullsGetEnablementSettingForZoneError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesEnabledResponse &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAuthenticatedOriginPullsGetEnablementSettingForZoneVariables = {
+  pathParams: ZoneLevelAuthenticatedOriginPullsGetEnablementSettingForZonePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get whether zone-level authenticated origin pulls is enabled or not. It is false by default.
+ */
+export const zoneLevelAuthenticatedOriginPullsGetEnablementSettingForZone = (
+  variables: ZoneLevelAuthenticatedOriginPullsGetEnablementSettingForZoneVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesEnabledResponse,
+    ZoneLevelAuthenticatedOriginPullsGetEnablementSettingForZoneError,
+    undefined,
+    {},
+    {},
+    ZoneLevelAuthenticatedOriginPullsGetEnablementSettingForZonePathParams
+  >({ url: '/zones/{zoneId}/origin_tls_client_auth/settings', method: 'get', ...variables, signal });
+
+export type ZoneLevelAuthenticatedOriginPullsSetEnablementForZonePathParams = {
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type ZoneLevelAuthenticatedOriginPullsSetEnablementForZoneError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesEnabledResponse &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAuthenticatedOriginPullsSetEnablementForZoneRequestBody = {
+  enabled: Schemas.TlsCertificatesAndHostnamesZoneAuthenticatedOriginPullComponentsSchemasEnabled;
+};
+
+export type ZoneLevelAuthenticatedOriginPullsSetEnablementForZoneVariables = {
+  body: ZoneLevelAuthenticatedOriginPullsSetEnablementForZoneRequestBody;
+  pathParams: ZoneLevelAuthenticatedOriginPullsSetEnablementForZonePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Enable or disable zone-level authenticated origin pulls. 'enabled' should be set true either before/after the certificate is uploaded to see the certificate in use.
+ */
+export const zoneLevelAuthenticatedOriginPullsSetEnablementForZone = (
+  variables: ZoneLevelAuthenticatedOriginPullsSetEnablementForZoneVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesEnabledResponse,
+    ZoneLevelAuthenticatedOriginPullsSetEnablementForZoneError,
+    ZoneLevelAuthenticatedOriginPullsSetEnablementForZoneRequestBody,
+    {},
+    {},
+    ZoneLevelAuthenticatedOriginPullsSetEnablementForZonePathParams
+  >({ url: '/zones/{zoneId}/origin_tls_client_auth/settings', method: 'put', ...variables, signal });
+
+export type ZoneLevelAuthenticatedOriginPullsDeleteCertificatePathParams = {
+  certificateId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type ZoneLevelAuthenticatedOriginPullsDeleteCertificateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesComponentsSchemasCertificateResponseSingle &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAuthenticatedOriginPullsDeleteCertificateVariables = {
+  pathParams: ZoneLevelAuthenticatedOriginPullsDeleteCertificatePathParams;
+} & FetcherExtraProps;
+
+export const zoneLevelAuthenticatedOriginPullsDeleteCertificate = (
+  variables: ZoneLevelAuthenticatedOriginPullsDeleteCertificateVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesComponentsSchemasCertificateResponseSingle,
+    ZoneLevelAuthenticatedOriginPullsDeleteCertificateError,
+    undefined,
+    {},
+    {},
+    ZoneLevelAuthenticatedOriginPullsDeleteCertificatePathParams
+  >({ url: '/zones/{zoneId}/origin_tls_client_auth/{certificateId}', method: 'delete', ...variables, signal });
+
+export type ZoneLevelAuthenticatedOriginPullsGetCertificateDetailsPathParams = {
+  certificateId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type ZoneLevelAuthenticatedOriginPullsGetCertificateDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesComponentsSchemasCertificateResponseSingle &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type ZoneLevelAuthenticatedOriginPullsGetCertificateDetailsVariables = {
+  pathParams: ZoneLevelAuthenticatedOriginPullsGetCertificateDetailsPathParams;
+} & FetcherExtraProps;
+
+export const zoneLevelAuthenticatedOriginPullsGetCertificateDetails = (
+  variables: ZoneLevelAuthenticatedOriginPullsGetCertificateDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesComponentsSchemasCertificateResponseSingle,
+    ZoneLevelAuthenticatedOriginPullsGetCertificateDetailsError,
+    undefined,
+    {},
+    {},
+    ZoneLevelAuthenticatedOriginPullsGetCertificateDetailsPathParams
+  >({ url: '/zones/{zoneId}/origin_tls_client_auth/{certificateId}', method: 'get', ...variables, signal });
+
+export type PageShieldGetSettingsPathParams = {
+  zoneId: Schemas.PageShieldId;
+};
+
+export type PageShieldGetSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.PageShieldApiResponseCommonFailure;
+}>;
+
+export type PageShieldGetSettingsResponse = Schemas.PageShieldApiGetResponseCollection & {
+  result?: Schemas.PageShieldGetZoneSettingsResponse;
+};
+
+export type PageShieldGetSettingsVariables = {
+  pathParams: PageShieldGetSettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the Page Shield settings.
+ */
+export const pageShieldGetSettings = (variables: PageShieldGetSettingsVariables, signal?: AbortSignal) =>
+  fetch<PageShieldGetSettingsResponse, PageShieldGetSettingsError, undefined, {}, {}, PageShieldGetSettingsPathParams>({
+    url: '/zones/{zoneId}/page_shield',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type PageShieldUpdateSettingsPathParams = {
+  zoneId: Schemas.PageShieldId;
+};
+
+export type PageShieldUpdateSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.PageShieldApiResponseCommonFailure;
+}>;
+
+export type PageShieldUpdateSettingsResponse = Schemas.PageShieldZoneSettingsResponseSingle & {
+  result?: Schemas.PageShieldUpdateZoneSettingsResponse;
+};
+
+export type PageShieldUpdateSettingsRequestBody = {
+  enabled?: Schemas.PageShieldEnabled;
+  use_cloudflare_reporting_endpoint?: Schemas.PageShieldUseCloudflareReportingEndpoint;
+  use_connection_url_path?: Schemas.PageShieldUseConnectionUrlPath;
+};
+
+export type PageShieldUpdateSettingsVariables = {
+  body?: PageShieldUpdateSettingsRequestBody;
+  pathParams: PageShieldUpdateSettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates Page Shield settings.
+ */
+export const pageShieldUpdateSettings = (variables: PageShieldUpdateSettingsVariables, signal?: AbortSignal) =>
+  fetch<
+    PageShieldUpdateSettingsResponse,
+    PageShieldUpdateSettingsError,
+    PageShieldUpdateSettingsRequestBody,
+    {},
+    {},
+    PageShieldUpdateSettingsPathParams
+  >({ url: '/zones/{zoneId}/page_shield', method: 'put', ...variables, signal });
+
+export type PageShieldListConnectionsPathParams = {
+  zoneId: Schemas.PageShieldId;
+};
+
+export type PageShieldListConnectionsQueryParams = {
+  /**
+   * @example blog.cloudflare.com,www.example
+   */
+  exclude_urls?: string;
+  /**
+   * @example blog.cloudflare.com,www.example
+   */
+  urls?: string;
+  /**
+   * @example blog.cloudflare.com,www.example*,*cloudflare.com
+   */
+  hosts?: string;
+  /**
+   * @example 2
+   */
+  page?: string;
+  /**
+   * @example 100
+   * @maximum 100
+   * @minimum 1
+   */
+  per_page?: number;
+  /**
+   * @example first_seen_at
+   */
+  order_by?: 'first_seen_at' | 'last_seen_at';
+  /**
+   * @example asc
+   */
+  direction?: 'asc' | 'desc';
+  /**
+   * @example true
+   */
+  prioritize_malicious?: boolean;
+  /**
+   * @example true
+   */
+  exclude_cdn_cgi?: boolean;
+  /**
+   * @example active,inactive
+   */
+  status?: string;
+  /**
+   * @example [see original specs]
+   */
+  page_url?: string;
+  /**
+   * @example csv
+   */
+  ['export']?: 'csv';
+};
+
+export type PageShieldListConnectionsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.PageShieldApiResponseCommonFailure;
+}>;
+
+export type PageShieldListConnectionsVariables = {
+  pathParams: PageShieldListConnectionsPathParams;
+  queryParams?: PageShieldListConnectionsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists all connections detected by Page Shield.
+ */
+export const pageShieldListConnections = (variables: PageShieldListConnectionsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.PageShieldListZoneConnectionsResponse,
+    PageShieldListConnectionsError,
+    undefined,
+    {},
+    PageShieldListConnectionsQueryParams,
+    PageShieldListConnectionsPathParams
+  >({ url: '/zones/{zoneId}/page_shield/connections', method: 'get', ...variables, signal });
+
+export type PageShieldGetConnectionPathParams = {
+  zoneId: Schemas.PageShieldId;
+  connectionId: Schemas.PageShieldId;
+};
+
+export type PageShieldGetConnectionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.PageShieldApiResponseCommonFailure;
+}>;
+
+export type PageShieldGetConnectionVariables = {
+  pathParams: PageShieldGetConnectionPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a connection detected by Page Shield by connection ID.
+ */
+export const pageShieldGetConnection = (variables: PageShieldGetConnectionVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.PageShieldGetZoneConnectionResponse,
+    PageShieldGetConnectionError,
+    undefined,
+    {},
+    {},
+    PageShieldGetConnectionPathParams
+  >({ url: '/zones/{zoneId}/page_shield/connections/{connectionId}', method: 'get', ...variables, signal });
+
+export type PageShieldListCookiesPathParams = {
+  zoneId: Schemas.PageShieldId;
+};
+
+export type PageShieldListCookiesQueryParams = {
+  /**
+   * @example blog.cloudflare.com,www.example*,*cloudflare.com
+   */
+  hosts?: string;
+  /**
+   * @example 2
+   */
+  page?: string;
+  /**
+   * @example 100
+   * @maximum 100
+   * @minimum 1
+   */
+  per_page?: number;
+  /**
+   * @example first_seen_at
+   */
+  order_by?: 'first_seen_at' | 'last_seen_at';
+  /**
+   * @example asc
+   */
+  direction?: 'asc' | 'desc';
+  /**
+   * @example [see original specs]
+   */
+  page_url?: string;
+  /**
+   * @example csv
+   */
+  ['export']?: 'csv';
+  /**
+   * @example session_id
+   * @maxLength 1024
+   */
+  name?: string;
+  /**
+   * @example true
+   */
+  secure?: boolean;
+  /**
+   * @example true
+   */
+  http_only?: boolean;
+  /**
+   * @example strict
+   */
+  same_site?: 'lax' | 'strict' | 'none';
+  /**
+   * @example first_party
+   */
+  type?: 'first_party' | 'unknown';
+  /**
+   * @example /
+   * @maxLength 1024
+   */
+  path?: string;
+  /**
+   * @example example.com
+   * @maxLength 1024
+   */
+  domain?: string;
+};
+
+export type PageShieldListCookiesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.PageShieldApiResponseCommonFailure;
+}>;
+
+export type PageShieldListCookiesVariables = {
+  pathParams: PageShieldListCookiesPathParams;
+  queryParams?: PageShieldListCookiesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists all cookies collected by Page Shield.
+ */
+export const pageShieldListCookies = (variables: PageShieldListCookiesVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.PageShieldListZoneCookiesResponse,
+    PageShieldListCookiesError,
+    undefined,
+    {},
+    PageShieldListCookiesQueryParams,
+    PageShieldListCookiesPathParams
+  >({ url: '/zones/{zoneId}/page_shield/cookies', method: 'get', ...variables, signal });
+
+export type PageShieldGetCookiePathParams = {
+  zoneId: Schemas.PageShieldId;
+  cookieId: Schemas.PageShieldId;
+};
+
+export type PageShieldGetCookieError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.PageShieldApiResponseCommonFailure;
+}>;
+
+export type PageShieldGetCookieVariables = {
+  pathParams: PageShieldGetCookiePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a cookie collected by Page Shield by cookie ID.
+ */
+export const pageShieldGetCookie = (variables: PageShieldGetCookieVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.PageShieldGetZoneCookieResponse,
+    PageShieldGetCookieError,
+    undefined,
+    {},
+    {},
+    PageShieldGetCookiePathParams
+  >({ url: '/zones/{zoneId}/page_shield/cookies/{cookieId}', method: 'get', ...variables, signal });
+
+export type PageShieldListPoliciesPathParams = {
+  zoneId: Schemas.PageShieldId;
+};
+
+export type PageShieldListPoliciesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.PageShieldApiResponseCommonFailure;
+}>;
+
+export type PageShieldListPoliciesVariables = {
+  pathParams: PageShieldListPoliciesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists all Page Shield policies.
+ */
+export const pageShieldListPolicies = (variables: PageShieldListPoliciesVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.PageShieldListZonePoliciesResponse,
+    PageShieldListPoliciesError,
+    undefined,
+    {},
+    {},
+    PageShieldListPoliciesPathParams
+  >({ url: '/zones/{zoneId}/page_shield/policies', method: 'get', ...variables, signal });
+
+export type PageShieldCreatePolicyPathParams = {
+  zoneId: Schemas.PageShieldId;
+};
+
+export type PageShieldCreatePolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.PageShieldApiResponseCommonFailure;
+}>;
+
+export type PageShieldCreatePolicyVariables = {
+  body: Schemas.PageShieldPolicy;
+  pathParams: PageShieldCreatePolicyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create a Page Shield policy.
+ */
+export const pageShieldCreatePolicy = (variables: PageShieldCreatePolicyVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.PageShieldGetZonePolicyResponse,
+    PageShieldCreatePolicyError,
+    Schemas.PageShieldPolicy,
+    {},
+    {},
+    PageShieldCreatePolicyPathParams
+  >({ url: '/zones/{zoneId}/page_shield/policies', method: 'post', ...variables, signal });
+
+export type PageShieldDeletePolicyPathParams = {
+  zoneId: Schemas.PageShieldId;
+  policyId: Schemas.PageShieldId;
+};
+
+export type PageShieldDeletePolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.PageShieldApiResponseCommonFailure;
+}>;
+
+export type PageShieldDeletePolicyVariables = {
+  pathParams: PageShieldDeletePolicyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete a Page Shield policy by ID.
+ */
+export const pageShieldDeletePolicy = (variables: PageShieldDeletePolicyVariables, signal?: AbortSignal) =>
+  fetch<undefined, PageShieldDeletePolicyError, undefined, {}, {}, PageShieldDeletePolicyPathParams>({
+    url: '/zones/{zoneId}/page_shield/policies/{policyId}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type PageShieldGetPolicyPathParams = {
+  zoneId: Schemas.PageShieldId;
+  policyId: Schemas.PageShieldId;
+};
+
+export type PageShieldGetPolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.PageShieldApiResponseCommonFailure;
+}>;
+
+export type PageShieldGetPolicyVariables = {
+  pathParams: PageShieldGetPolicyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a Page Shield policy by ID.
+ */
+export const pageShieldGetPolicy = (variables: PageShieldGetPolicyVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.PageShieldGetZonePolicyResponse,
+    PageShieldGetPolicyError,
+    undefined,
+    {},
+    {},
+    PageShieldGetPolicyPathParams
+  >({ url: '/zones/{zoneId}/page_shield/policies/{policyId}', method: 'get', ...variables, signal });
+
+export type PageShieldUpdatePolicyPathParams = {
+  zoneId: Schemas.PageShieldId;
+  policyId: Schemas.PageShieldId;
+};
+
+export type PageShieldUpdatePolicyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.PageShieldApiResponseCommonFailure;
+}>;
+
+export type PageShieldUpdatePolicyRequestBody = {
+  action?: Schemas.PageShieldPolicyAction;
+  description?: Schemas.PageShieldPolicyDescription;
+  enabled?: Schemas.PageShieldPolicyEnabled;
+  expression?: Schemas.PageShieldPolicyExpression;
+  value?: Schemas.PageShieldPolicyValue;
+};
+
+export type PageShieldUpdatePolicyVariables = {
+  body?: PageShieldUpdatePolicyRequestBody;
+  pathParams: PageShieldUpdatePolicyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update a Page Shield policy by ID.
+ */
+export const pageShieldUpdatePolicy = (variables: PageShieldUpdatePolicyVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.PageShieldGetZonePolicyResponse,
+    PageShieldUpdatePolicyError,
+    PageShieldUpdatePolicyRequestBody,
+    {},
+    {},
+    PageShieldUpdatePolicyPathParams
+  >({ url: '/zones/{zoneId}/page_shield/policies/{policyId}', method: 'put', ...variables, signal });
+
+export type PageShieldListScriptsPathParams = {
+  zoneId: Schemas.PageShieldId;
+};
+
+export type PageShieldListScriptsQueryParams = {
+  /**
+   * @example blog.cloudflare.com,www.example
+   */
+  exclude_urls?: string;
+  /**
+   * @example blog.cloudflare.com,www.example
+   */
+  urls?: string;
+  /**
+   * @example blog.cloudflare.com,www.example*,*cloudflare.com
+   */
+  hosts?: string;
+  /**
+   * @example 2
+   */
+  page?: string;
+  /**
+   * @example 100
+   * @maximum 100
+   * @minimum 1
+   */
+  per_page?: number;
+  /**
+   * @example first_seen_at
+   */
+  order_by?: 'first_seen_at' | 'last_seen_at';
+  /**
+   * @example asc
+   */
+  direction?: 'asc' | 'desc';
+  /**
+   * @example true
+   */
+  prioritize_malicious?: boolean;
+  /**
+   * @default true
+   * @example true
+   */
+  exclude_cdn_cgi?: boolean;
+  /**
+   * @default true
+   * @example true
+   */
+  exclude_duplicates?: boolean;
+  /**
+   * @example active,inactive
+   */
+  status?: string;
+  /**
+   * @example [see original specs]
+   */
+  page_url?: string;
+  /**
+   * @example csv
+   */
+  ['export']?: 'csv';
+};
+
+export type PageShieldListScriptsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.PageShieldApiResponseCommonFailure;
+}>;
+
+export type PageShieldListScriptsVariables = {
+  pathParams: PageShieldListScriptsPathParams;
+  queryParams?: PageShieldListScriptsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists all scripts detected by Page Shield.
+ */
+export const pageShieldListScripts = (variables: PageShieldListScriptsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.PageShieldListZoneScriptsResponse,
+    PageShieldListScriptsError,
+    undefined,
+    {},
+    PageShieldListScriptsQueryParams,
+    PageShieldListScriptsPathParams
+  >({ url: '/zones/{zoneId}/page_shield/scripts', method: 'get', ...variables, signal });
+
+export type PageShieldGetScriptPathParams = {
+  zoneId: Schemas.PageShieldId;
+  scriptId: Schemas.PageShieldId;
+};
+
+export type PageShieldGetScriptError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.PageShieldApiResponseCommonFailure;
+}>;
+
+export type PageShieldGetScriptVariables = {
+  pathParams: PageShieldGetScriptPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a script detected by Page Shield by script ID.
+ */
+export const pageShieldGetScript = (variables: PageShieldGetScriptVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.PageShieldGetZoneScriptResponse,
+    PageShieldGetScriptError,
+    undefined,
+    {},
+    {},
+    PageShieldGetScriptPathParams
+  >({ url: '/zones/{zoneId}/page_shield/scripts/{scriptId}', method: 'get', ...variables, signal });
+
+export type PageRulesListPageRulesPathParams = {
+  zoneId: Schemas.ZonesIdentifier;
+};
+
+export type PageRulesListPageRulesQueryParams = {
+  /**
+   * @default priority
+   * @example status
+   */
+  order?: 'status' | 'priority';
+  /**
+   * @default desc
+   * @example desc
+   */
+  direction?: 'asc' | 'desc';
+  /**
+   * @default all
+   */
+  match?: 'any' | 'all';
+  /**
+   * @default disabled
+   * @example active
+   */
+  status?: 'active' | 'disabled';
+};
+
+export type PageRulesListPageRulesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZonesSchemasApiResponseCommonFailure;
+}>;
+
+export type PageRulesListPageRulesResponse = Schemas.ZonesSchemasApiResponseCommon & {
+  result?: Schemas.ZonesPageRule[];
+};
+
+export type PageRulesListPageRulesVariables = {
+  pathParams: PageRulesListPageRulesPathParams;
+  queryParams?: PageRulesListPageRulesQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches Page Rules in a zone.
+ */
+export const pageRulesListPageRules = (variables: PageRulesListPageRulesVariables, signal?: AbortSignal) =>
+  fetch<
+    PageRulesListPageRulesResponse,
+    PageRulesListPageRulesError,
+    undefined,
+    {},
+    PageRulesListPageRulesQueryParams,
+    PageRulesListPageRulesPathParams
+  >({ url: '/zones/{zoneId}/pagerules', method: 'get', ...variables, signal });
+
+export type PageRulesCreateAPageRulePathParams = {
+  zoneId: Schemas.ZonesIdentifier;
+};
+
+export type PageRulesCreateAPageRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZonesSchemasApiResponseCommonFailure;
+}>;
+
+export type PageRulesCreateAPageRuleResponse = Schemas.ZonesApiResponseSingle & {
+  result?: Schemas.ZonesPageRule;
+};
+
+export type PageRulesCreateAPageRuleRequestBody = {
+  actions: Schemas.ZonesActions;
+  priority?: Schemas.ZonesPriority;
+  status?: Schemas.ZonesStatus;
+  targets: Schemas.ZonesTargets;
+};
+
+export type PageRulesCreateAPageRuleVariables = {
+  body: PageRulesCreateAPageRuleRequestBody;
+  pathParams: PageRulesCreateAPageRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new Page Rule.
+ */
+export const pageRulesCreateAPageRule = (variables: PageRulesCreateAPageRuleVariables, signal?: AbortSignal) =>
+  fetch<
+    PageRulesCreateAPageRuleResponse,
+    PageRulesCreateAPageRuleError,
+    PageRulesCreateAPageRuleRequestBody,
+    {},
+    {},
+    PageRulesCreateAPageRulePathParams
+  >({ url: '/zones/{zoneId}/pagerules', method: 'post', ...variables, signal });
+
+export type AvailablePageRulesSettingsListAvailablePageRulesSettingsPathParams = {
+  zoneId: Schemas.ZonesIdentifier;
+};
+
+export type AvailablePageRulesSettingsListAvailablePageRulesSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZonesSchemasApiResponseCommonFailure;
+}>;
+
+export type AvailablePageRulesSettingsListAvailablePageRulesSettingsResponse = Schemas.ZonesSchemasApiResponseCommon & {
+  result?: Schemas.ZonesSettings;
+};
+
+export type AvailablePageRulesSettingsListAvailablePageRulesSettingsVariables = {
+  pathParams: AvailablePageRulesSettingsListAvailablePageRulesSettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Returns a list of settings (and their details) that Page Rules can apply to matching requests.
+ */
+export const availablePageRulesSettingsListAvailablePageRulesSettings = (
+  variables: AvailablePageRulesSettingsListAvailablePageRulesSettingsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    AvailablePageRulesSettingsListAvailablePageRulesSettingsResponse,
+    AvailablePageRulesSettingsListAvailablePageRulesSettingsError,
+    undefined,
+    {},
+    {},
+    AvailablePageRulesSettingsListAvailablePageRulesSettingsPathParams
+  >({ url: '/zones/{zoneId}/pagerules/settings', method: 'get', ...variables, signal });
+
+export type PageRulesDeleteAPageRulePathParams = {
+  pageruleId: Schemas.ZonesIdentifier;
+  zoneId: Schemas.ZonesIdentifier;
+};
+
+export type PageRulesDeleteAPageRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZonesSchemasApiResponseCommonFailure;
+}>;
+
+export type PageRulesDeleteAPageRuleVariables = {
+  pathParams: PageRulesDeleteAPageRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes an existing Page Rule.
+ */
+export const pageRulesDeleteAPageRule = (variables: PageRulesDeleteAPageRuleVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.ZonesSchemasApiResponseSingleId,
+    PageRulesDeleteAPageRuleError,
+    undefined,
+    {},
+    {},
+    PageRulesDeleteAPageRulePathParams
+  >({ url: '/zones/{zoneId}/pagerules/{pageruleId}', method: 'delete', ...variables, signal });
+
+export type PageRulesGetAPageRulePathParams = {
+  pageruleId: Schemas.ZonesIdentifier;
+  zoneId: Schemas.ZonesIdentifier;
+};
+
+export type PageRulesGetAPageRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZonesSchemasApiResponseCommonFailure;
+}>;
+
+export type PageRulesGetAPageRuleResponse = Schemas.ZonesApiResponseSingle & {
+  result?: Schemas.ZonesPageRule;
+};
+
+export type PageRulesGetAPageRuleVariables = {
+  pathParams: PageRulesGetAPageRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the details of a Page Rule.
+ */
+export const pageRulesGetAPageRule = (variables: PageRulesGetAPageRuleVariables, signal?: AbortSignal) =>
+  fetch<PageRulesGetAPageRuleResponse, PageRulesGetAPageRuleError, undefined, {}, {}, PageRulesGetAPageRulePathParams>({
+    url: '/zones/{zoneId}/pagerules/{pageruleId}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type PageRulesEditAPageRulePathParams = {
+  pageruleId: Schemas.ZonesIdentifier;
+  zoneId: Schemas.ZonesIdentifier;
+};
+
+export type PageRulesEditAPageRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZonesSchemasApiResponseCommonFailure;
+}>;
+
+export type PageRulesEditAPageRuleResponse = Schemas.ZonesApiResponseSingle & {
+  result?: Schemas.ZonesPageRule;
+};
+
+export type PageRulesEditAPageRuleRequestBody = {
+  actions?: Schemas.ZonesActions;
+  priority?: Schemas.ZonesPriority;
+  status?: Schemas.ZonesStatus;
+  targets?: Schemas.ZonesTargets;
+};
+
+export type PageRulesEditAPageRuleVariables = {
+  body?: PageRulesEditAPageRuleRequestBody;
+  pathParams: PageRulesEditAPageRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates one or more fields of an existing Page Rule.
+ */
+export const pageRulesEditAPageRule = (variables: PageRulesEditAPageRuleVariables, signal?: AbortSignal) =>
+  fetch<
+    PageRulesEditAPageRuleResponse,
+    PageRulesEditAPageRuleError,
+    PageRulesEditAPageRuleRequestBody,
+    {},
+    {},
+    PageRulesEditAPageRulePathParams
+  >({ url: '/zones/{zoneId}/pagerules/{pageruleId}', method: 'patch', ...variables, signal });
+
+export type PageRulesUpdateAPageRulePathParams = {
+  pageruleId: Schemas.ZonesIdentifier;
+  zoneId: Schemas.ZonesIdentifier;
+};
+
+export type PageRulesUpdateAPageRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZonesSchemasApiResponseCommonFailure;
+}>;
+
+export type PageRulesUpdateAPageRuleResponse = Schemas.ZonesApiResponseSingle & {
+  result?: Schemas.ZonesPageRule;
+};
+
+export type PageRulesUpdateAPageRuleRequestBody = {
+  actions: Schemas.ZonesActions;
+  priority?: Schemas.ZonesPriority;
+  status?: Schemas.ZonesStatus;
+  targets: Schemas.ZonesTargets;
+};
+
+export type PageRulesUpdateAPageRuleVariables = {
+  body: PageRulesUpdateAPageRuleRequestBody;
+  pathParams: PageRulesUpdateAPageRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Replaces the configuration of an existing Page Rule. The configuration of the updated Page Rule will exactly match the data passed in the API request.
+ */
+export const pageRulesUpdateAPageRule = (variables: PageRulesUpdateAPageRuleVariables, signal?: AbortSignal) =>
+  fetch<
+    PageRulesUpdateAPageRuleResponse,
+    PageRulesUpdateAPageRuleError,
+    PageRulesUpdateAPageRuleRequestBody,
+    {},
+    {},
+    PageRulesUpdateAPageRulePathParams
+  >({ url: '/zones/{zoneId}/pagerules/{pageruleId}', method: 'put', ...variables, signal });
+
+export type ZonePurgePathParams = {
+  zoneId: Schemas.CachePurgeIdentifier;
+};
+
+export type ZonePurgeError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CachePurgeApiResponseSingleId & Schemas.CachePurgeApiResponseCommonFailure;
+}>;
+
+export type ZonePurgeVariables = {
+  body?:
+    | Schemas.CachePurgeFlexPurgeByTags
+    | Schemas.CachePurgeFlexPurgeByHostnames
+    | Schemas.CachePurgeFlexPurgeByPrefixes
+    | Schemas.CachePurgeEverything
+    | Schemas.CachePurgeSingleFile
+    | Schemas.CachePurgeSingleFileWithUrlAndHeaders;
+  pathParams: ZonePurgePathParams;
+} & FetcherExtraProps;
+
+/**
+ * ### Purge All Cached Content
+ * Removes ALL files from Cloudflare's cache. All tiers can purge everything.
+ * ```
+ * {"purge_everything": true}
+ * ```
+ *
+ * ### Purge Cached Content by URL
+ * Granularly removes one or more files from Cloudflare's cache by specifying URLs. All tiers can purge by URL.
+ *
+ * To purge files with custom cache keys, include the headers used to compute the cache key as in the example. If you have a device type or geo in your cache key, you will need to include the CF-Device-Type or CF-IPCountry headers. If you have lang in your cache key, you will need to include the Accept-Language header.
+ *
+ * **NB:** When including the Origin header, be sure to include the **scheme** and **hostname**. The port number can be omitted if it is the default port (80 for http, 443 for https), but must be included otherwise.
+ *
+ * **NB:** For Zones on Free/Pro/Business plan, you may purge up to 30 URLs in one API call. For Zones on Enterprise plan, you may purge up to 500 URLs in one API call.
+ *
+ * Single file purge example with files:
+ * ```
+ * {"files": ["http://www.example.com/css/styles.css", "http://www.example.com/js/index.js"]}
+ * ```
+ * Single file purge example with url and header pairs:
+ * ```
+ * {"files": [{url: "http://www.example.com/cat_picture.jpg", headers: { "CF-IPCountry": "US", "CF-Device-Type": "desktop", "Accept-Language": "zh-CN" }}, {url: "http://www.example.com/dog_picture.jpg", headers: { "CF-IPCountry": "EU", "CF-Device-Type": "mobile", "Accept-Language": "en-US" }}]}
+ * ```
+ *
+ * ### Purge Cached Content by Tag, Host or Prefix
+ * Granularly removes one or more files from Cloudflare's cache either by specifying the host, the associated Cache-Tag, or a Prefix. Only Enterprise customers are permitted to purge by Tag, Host or Prefix.
+ *
+ * **NB:** Cache-Tag, host, and prefix purging each have a rate limit of 30,000 purge API calls in every 24 hour period. You may purge up to 30 tags, hosts, or prefixes in one API call. This rate limit can be raised for customers who need to purge at higher volume.
+ *
+ * Flex purge with tags:
+ * ```
+ * {"tags": ["a-cache-tag", "another-cache-tag"]}
+ * ```
+ * Flex purge with hosts:
+ * ```
+ * {"hosts": ["www.example.com", "images.example.com"]}
+ * ```
+ * Flex purge with prefixes:
+ * ```
+ * {"prefixes": ["www.example.com/foo", "images.example.com/bar/baz"]}
+ * ```
+ */
+export const zonePurge = (variables: ZonePurgeVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.CachePurgeApiResponseSingleId,
+    ZonePurgeError,
+    | Schemas.CachePurgeFlexPurgeByTags
+    | Schemas.CachePurgeFlexPurgeByHostnames
+    | Schemas.CachePurgeFlexPurgeByPrefixes
+    | Schemas.CachePurgeEverything
+    | Schemas.CachePurgeSingleFile
+    | Schemas.CachePurgeSingleFileWithUrlAndHeaders,
+    {},
+    {},
+    ZonePurgePathParams
+  >({ url: '/zones/{zoneId}/purge_cache', method: 'post', ...variables, signal });
+
+export type RateLimitsForAZoneListRateLimitsPathParams = {
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type RateLimitsForAZoneListRateLimitsQueryParams = {
+  /**
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default 20
+   * @maximum 1000
+   * @minimum 1
+   */
+  per_page?: number;
+};
+
+export type RateLimitsForAZoneListRateLimitsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallRatelimitResponseCollection & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type RateLimitsForAZoneListRateLimitsVariables = {
+  pathParams: RateLimitsForAZoneListRateLimitsPathParams;
+  queryParams?: RateLimitsForAZoneListRateLimitsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the rate limits for a zone.
+ */
+export const rateLimitsForAZoneListRateLimits = (
+  variables: RateLimitsForAZoneListRateLimitsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.FirewallRatelimitResponseCollection,
+    RateLimitsForAZoneListRateLimitsError,
+    undefined,
+    {},
+    RateLimitsForAZoneListRateLimitsQueryParams,
+    RateLimitsForAZoneListRateLimitsPathParams
+  >({ url: '/zones/{zoneId}/rate_limits', method: 'get', ...variables, signal });
+
+export type RateLimitsForAZoneCreateARateLimitPathParams = {
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type RateLimitsForAZoneCreateARateLimitError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallRatelimitResponseSingle & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type RateLimitsForAZoneCreateARateLimitRequestBody = {
+  action: Schemas.FirewallAction;
+  match: Schemas.FirewallMatch;
+  period: Schemas.FirewallPeriod;
+  threshold: Schemas.FirewallThreshold;
+};
+
+export type RateLimitsForAZoneCreateARateLimitVariables = {
+  body: RateLimitsForAZoneCreateARateLimitRequestBody;
+  pathParams: RateLimitsForAZoneCreateARateLimitPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new rate limit for a zone. Refer to the object definition for a list of required attributes.
+ */
+export const rateLimitsForAZoneCreateARateLimit = (
+  variables: RateLimitsForAZoneCreateARateLimitVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.FirewallRatelimitResponseSingle,
+    RateLimitsForAZoneCreateARateLimitError,
+    RateLimitsForAZoneCreateARateLimitRequestBody,
+    {},
+    {},
+    RateLimitsForAZoneCreateARateLimitPathParams
+  >({ url: '/zones/{zoneId}/rate_limits', method: 'post', ...variables, signal });
+
+export type RateLimitsForAZoneDeleteARateLimitPathParams = {
+  rateLimitId: Schemas.FirewallRateLimitId;
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type RateLimitsForAZoneDeleteARateLimitError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.FirewallRatelimitResponseSingle & {
+    result?: {
+      id?: Schemas.FirewallId;
+    };
+  }) &
+    Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type RateLimitsForAZoneDeleteARateLimitResponse = Schemas.FirewallRatelimitResponseSingle & {
+  result?: {
+    id?: Schemas.FirewallId;
+  };
+};
+
+export type RateLimitsForAZoneDeleteARateLimitVariables = {
+  pathParams: RateLimitsForAZoneDeleteARateLimitPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes an existing rate limit.
+ */
+export const rateLimitsForAZoneDeleteARateLimit = (
+  variables: RateLimitsForAZoneDeleteARateLimitVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    RateLimitsForAZoneDeleteARateLimitResponse,
+    RateLimitsForAZoneDeleteARateLimitError,
+    undefined,
+    {},
+    {},
+    RateLimitsForAZoneDeleteARateLimitPathParams
+  >({ url: '/zones/{zoneId}/rate_limits/{rateLimitId}', method: 'delete', ...variables, signal });
+
+export type RateLimitsForAZoneGetARateLimitPathParams = {
+  rateLimitId: Schemas.FirewallRateLimitId;
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type RateLimitsForAZoneGetARateLimitError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallRatelimitResponseSingle & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type RateLimitsForAZoneGetARateLimitVariables = {
+  pathParams: RateLimitsForAZoneGetARateLimitPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the details of a rate limit.
+ */
+export const rateLimitsForAZoneGetARateLimit = (
+  variables: RateLimitsForAZoneGetARateLimitVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.FirewallRatelimitResponseSingle,
+    RateLimitsForAZoneGetARateLimitError,
+    undefined,
+    {},
+    {},
+    RateLimitsForAZoneGetARateLimitPathParams
+  >({ url: '/zones/{zoneId}/rate_limits/{rateLimitId}', method: 'get', ...variables, signal });
+
+export type RateLimitsForAZoneUpdateARateLimitPathParams = {
+  rateLimitId: Schemas.FirewallRateLimitId;
+  zoneId: Schemas.FirewallIdentifier;
+};
+
+export type RateLimitsForAZoneUpdateARateLimitError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.FirewallRatelimitResponseSingle & Schemas.FirewallApiResponseCommonFailure;
+}>;
+
+export type RateLimitsForAZoneUpdateARateLimitRequestBody = {
+  action: Schemas.FirewallAction;
+  match: Schemas.FirewallMatch;
+  period: Schemas.FirewallPeriod;
+  threshold: Schemas.FirewallThreshold;
+};
+
+export type RateLimitsForAZoneUpdateARateLimitVariables = {
+  body: RateLimitsForAZoneUpdateARateLimitRequestBody;
+  pathParams: RateLimitsForAZoneUpdateARateLimitPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates an existing rate limit.
+ */
+export const rateLimitsForAZoneUpdateARateLimit = (
+  variables: RateLimitsForAZoneUpdateARateLimitVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.FirewallRatelimitResponseSingle,
+    RateLimitsForAZoneUpdateARateLimitError,
+    RateLimitsForAZoneUpdateARateLimitRequestBody,
+    {},
+    {},
+    RateLimitsForAZoneUpdateARateLimitPathParams
+  >({ url: '/zones/{zoneId}/rate_limits/{rateLimitId}', method: 'put', ...variables, signal });
+
+export type ListZoneRulesetsPathParams = {
+  zoneId: Schemas.RulesetsZoneId;
+};
+
+export type ListZoneRulesetsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type ListZoneRulesetsVariables = {
+  pathParams: ListZoneRulesetsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches all rulesets at the zone level.
+ */
+export const listZoneRulesets = (variables: ListZoneRulesetsVariables, signal?: AbortSignal) =>
+  fetch<Responses.RulesetsRulesets, ListZoneRulesetsError, undefined, {}, {}, ListZoneRulesetsPathParams>({
+    url: '/zones/{zoneId}/rulesets',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type CreateZoneRulesetPathParams = {
+  zoneId: Schemas.RulesetsZoneId;
+};
+
+export type CreateZoneRulesetError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type CreateZoneRulesetVariables = {
+  body?: RequestBodies.RulesetsCreateRuleset;
+  pathParams: CreateZoneRulesetPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a ruleset at the zone level.
+ */
+export const createZoneRuleset = (variables: CreateZoneRulesetVariables, signal?: AbortSignal) =>
+  fetch<
+    Responses.RulesetsRuleset,
+    CreateZoneRulesetError,
+    RequestBodies.RulesetsCreateRuleset,
+    {},
+    {},
+    CreateZoneRulesetPathParams
+  >({ url: '/zones/{zoneId}/rulesets', method: 'post', ...variables, signal });
+
+export type GetZoneEntrypointRulesetPathParams = {
+  rulesetPhase: Schemas.RulesetsRulesetPhase;
+  zoneId: Schemas.RulesetsZoneId;
+};
+
+export type GetZoneEntrypointRulesetError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type GetZoneEntrypointRulesetVariables = {
+  pathParams: GetZoneEntrypointRulesetPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the latest version of the zone entry point ruleset for a given phase.
+ */
+export const getZoneEntrypointRuleset = (variables: GetZoneEntrypointRulesetVariables, signal?: AbortSignal) =>
+  fetch<
+    Responses.RulesetsRuleset,
+    GetZoneEntrypointRulesetError,
+    undefined,
+    {},
+    {},
+    GetZoneEntrypointRulesetPathParams
+  >({ url: '/zones/{zoneId}/rulesets/phases/{rulesetPhase}/entrypoint', method: 'get', ...variables, signal });
+
+export type UpdateZoneEntrypointRulesetPathParams = {
+  rulesetPhase: Schemas.RulesetsRulesetPhase;
+  zoneId: Schemas.RulesetsZoneId;
+};
+
+export type UpdateZoneEntrypointRulesetError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type UpdateZoneEntrypointRulesetVariables = {
+  body?: RequestBodies.RulesetsUpdateEntrypointRuleset;
+  pathParams: UpdateZoneEntrypointRulesetPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a zone entry point ruleset, creating a new version.
+ */
+export const updateZoneEntrypointRuleset = (variables: UpdateZoneEntrypointRulesetVariables, signal?: AbortSignal) =>
+  fetch<
+    Responses.RulesetsRuleset,
+    UpdateZoneEntrypointRulesetError,
+    RequestBodies.RulesetsUpdateEntrypointRuleset,
+    {},
+    {},
+    UpdateZoneEntrypointRulesetPathParams
+  >({ url: '/zones/{zoneId}/rulesets/phases/{rulesetPhase}/entrypoint', method: 'put', ...variables, signal });
+
+export type ListZoneEntrypointRulesetVersionsPathParams = {
+  rulesetPhase: Schemas.RulesetsRulesetPhase;
+  zoneId: Schemas.RulesetsZoneId;
+};
+
+export type ListZoneEntrypointRulesetVersionsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type ListZoneEntrypointRulesetVersionsVariables = {
+  pathParams: ListZoneEntrypointRulesetVersionsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the versions of a zone entry point ruleset.
+ */
+export const listZoneEntrypointRulesetVersions = (
+  variables: ListZoneEntrypointRulesetVersionsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Responses.RulesetsRulesets,
+    ListZoneEntrypointRulesetVersionsError,
+    undefined,
+    {},
+    {},
+    ListZoneEntrypointRulesetVersionsPathParams
+  >({ url: '/zones/{zoneId}/rulesets/phases/{rulesetPhase}/entrypoint/versions', method: 'get', ...variables, signal });
+
+export type GetZoneEntrypointRulesetVersionPathParams = {
+  rulesetVersion: Schemas.RulesetsRulesetVersion;
+  rulesetPhase: Schemas.RulesetsRulesetPhase;
+  zoneId: Schemas.RulesetsZoneId;
+};
+
+export type GetZoneEntrypointRulesetVersionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type GetZoneEntrypointRulesetVersionVariables = {
+  pathParams: GetZoneEntrypointRulesetVersionPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a specific version of a zone entry point ruleset.
+ */
+export const getZoneEntrypointRulesetVersion = (
+  variables: GetZoneEntrypointRulesetVersionVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Responses.RulesetsRuleset,
+    GetZoneEntrypointRulesetVersionError,
+    undefined,
+    {},
+    {},
+    GetZoneEntrypointRulesetVersionPathParams
+  >({
+    url: '/zones/{zoneId}/rulesets/phases/{rulesetPhase}/entrypoint/versions/{rulesetVersion}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type DeleteZoneRulesetPathParams = {
+  rulesetId: Schemas.RulesetsRulesetId;
+  zoneId: Schemas.RulesetsZoneId;
+};
+
+export type DeleteZoneRulesetError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type DeleteZoneRulesetVariables = {
+  pathParams: DeleteZoneRulesetPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes all versions of an existing zone ruleset.
+ */
+export const deleteZoneRuleset = (variables: DeleteZoneRulesetVariables, signal?: AbortSignal) =>
+  fetch<Responses.RulesetsEmpty, DeleteZoneRulesetError, undefined, {}, {}, DeleteZoneRulesetPathParams>({
+    url: '/zones/{zoneId}/rulesets/{rulesetId}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type GetZoneRulesetPathParams = {
+  rulesetId: Schemas.RulesetsRulesetId;
+  zoneId: Schemas.RulesetsZoneId;
+};
+
+export type GetZoneRulesetError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type GetZoneRulesetVariables = {
+  pathParams: GetZoneRulesetPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the latest version of a zone ruleset.
+ */
+export const getZoneRuleset = (variables: GetZoneRulesetVariables, signal?: AbortSignal) =>
+  fetch<Responses.RulesetsRuleset, GetZoneRulesetError, undefined, {}, {}, GetZoneRulesetPathParams>({
+    url: '/zones/{zoneId}/rulesets/{rulesetId}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type UpdateZoneRulesetPathParams = {
+  rulesetId: Schemas.RulesetsRulesetId;
+  zoneId: Schemas.RulesetsZoneId;
+};
+
+export type UpdateZoneRulesetError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type UpdateZoneRulesetVariables = {
+  body?: RequestBodies.RulesetsUpdateRuleset;
+  pathParams: UpdateZoneRulesetPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a zone ruleset, creating a new version.
+ */
+export const updateZoneRuleset = (variables: UpdateZoneRulesetVariables, signal?: AbortSignal) =>
+  fetch<
+    Responses.RulesetsRuleset,
+    UpdateZoneRulesetError,
+    RequestBodies.RulesetsUpdateRuleset,
+    {},
+    {},
+    UpdateZoneRulesetPathParams
+  >({ url: '/zones/{zoneId}/rulesets/{rulesetId}', method: 'put', ...variables, signal });
+
+export type CreateZoneRulesetRulePathParams = {
+  rulesetId: Schemas.RulesetsRulesetId;
+  zoneId: Schemas.RulesetsZoneId;
+};
+
+export type CreateZoneRulesetRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type CreateZoneRulesetRuleVariables = {
+  body?: RequestBodies.RulesetsRule;
+  pathParams: CreateZoneRulesetRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Adds a new rule to a zone ruleset. The rule will be added to the end of the existing list of rules in the ruleset by default.
+ */
+export const createZoneRulesetRule = (variables: CreateZoneRulesetRuleVariables, signal?: AbortSignal) =>
+  fetch<
+    Responses.RulesetsRuleset,
+    CreateZoneRulesetRuleError,
+    RequestBodies.RulesetsRule,
+    {},
+    {},
+    CreateZoneRulesetRulePathParams
+  >({ url: '/zones/{zoneId}/rulesets/{rulesetId}/rules', method: 'post', ...variables, signal });
+
+export type DeleteZoneRulesetRulePathParams = {
+  ruleId: Schemas.RulesetsRuleId;
+  rulesetId: Schemas.RulesetsRulesetId;
+  zoneId: Schemas.RulesetsZoneId;
+};
+
+export type DeleteZoneRulesetRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type DeleteZoneRulesetRuleVariables = {
+  pathParams: DeleteZoneRulesetRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes an existing rule from a zone ruleset.
+ */
+export const deleteZoneRulesetRule = (variables: DeleteZoneRulesetRuleVariables, signal?: AbortSignal) =>
+  fetch<Responses.RulesetsRuleset, DeleteZoneRulesetRuleError, undefined, {}, {}, DeleteZoneRulesetRulePathParams>({
+    url: '/zones/{zoneId}/rulesets/{rulesetId}/rules/{ruleId}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type UpdateZoneRulesetRulePathParams = {
+  ruleId: Schemas.RulesetsRuleId;
+  rulesetId: Schemas.RulesetsRulesetId;
+  zoneId: Schemas.RulesetsZoneId;
+};
+
+export type UpdateZoneRulesetRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type UpdateZoneRulesetRuleVariables = {
+  body?: RequestBodies.RulesetsRule;
+  pathParams: UpdateZoneRulesetRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates an existing rule in a zone ruleset.
+ */
+export const updateZoneRulesetRule = (variables: UpdateZoneRulesetRuleVariables, signal?: AbortSignal) =>
+  fetch<
+    Responses.RulesetsRuleset,
+    UpdateZoneRulesetRuleError,
+    RequestBodies.RulesetsRule,
+    {},
+    {},
+    UpdateZoneRulesetRulePathParams
+  >({ url: '/zones/{zoneId}/rulesets/{rulesetId}/rules/{ruleId}', method: 'patch', ...variables, signal });
+
+export type ListZoneRulesetVersionsPathParams = {
+  rulesetId: Schemas.RulesetsRulesetId;
+  zoneId: Schemas.RulesetsZoneId;
+};
+
+export type ListZoneRulesetVersionsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type ListZoneRulesetVersionsVariables = {
+  pathParams: ListZoneRulesetVersionsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the versions of a zone ruleset.
+ */
+export const listZoneRulesetVersions = (variables: ListZoneRulesetVersionsVariables, signal?: AbortSignal) =>
+  fetch<Responses.RulesetsRulesets, ListZoneRulesetVersionsError, undefined, {}, {}, ListZoneRulesetVersionsPathParams>(
+    { url: '/zones/{zoneId}/rulesets/{rulesetId}/versions', method: 'get', ...variables, signal }
+  );
+
+export type DeleteZoneRulesetVersionPathParams = {
+  rulesetVersion: Schemas.RulesetsRulesetVersion;
+  rulesetId: Schemas.RulesetsRulesetId;
+  zoneId: Schemas.RulesetsZoneId;
+};
+
+export type DeleteZoneRulesetVersionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type DeleteZoneRulesetVersionVariables = {
+  pathParams: DeleteZoneRulesetVersionPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes an existing version of a zone ruleset.
+ */
+export const deleteZoneRulesetVersion = (variables: DeleteZoneRulesetVersionVariables, signal?: AbortSignal) =>
+  fetch<Responses.RulesetsEmpty, DeleteZoneRulesetVersionError, undefined, {}, {}, DeleteZoneRulesetVersionPathParams>({
+    url: '/zones/{zoneId}/rulesets/{rulesetId}/versions/{rulesetVersion}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type GetZoneRulesetVersionPathParams = {
+  rulesetVersion: Schemas.RulesetsRulesetVersion;
+  rulesetId: Schemas.RulesetsRulesetId;
+  zoneId: Schemas.RulesetsZoneId;
+};
+
+export type GetZoneRulesetVersionError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type GetZoneRulesetVersionVariables = {
+  pathParams: GetZoneRulesetVersionPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a specific version of a zone ruleset.
+ */
+export const getZoneRulesetVersion = (variables: GetZoneRulesetVersionVariables, signal?: AbortSignal) =>
+  fetch<Responses.RulesetsRuleset, GetZoneRulesetVersionError, undefined, {}, {}, GetZoneRulesetVersionPathParams>({
+    url: '/zones/{zoneId}/rulesets/{rulesetId}/versions/{rulesetVersion}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type ListZoneRulesetVersionRulesByTagPathParams = {
+  ruleTag: Schemas.RulesetsRuleCategory;
+  rulesetVersion: Schemas.RulesetsRulesetVersion;
+  rulesetId: Schemas.RulesetsRulesetId;
+  zoneId: Schemas.RulesetsZoneId;
+};
+
+export type ListZoneRulesetVersionRulesByTagError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type ListZoneRulesetVersionRulesByTagVariables = {
+  pathParams: ListZoneRulesetVersionRulesByTagPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the rules of a managed zone ruleset version for a given tag.
+ */
+export const listZoneRulesetVersionRulesByTag = (
+  variables: ListZoneRulesetVersionRulesByTagVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Responses.RulesetsRuleset,
+    ListZoneRulesetVersionRulesByTagError,
+    undefined,
+    {},
+    {},
+    ListZoneRulesetVersionRulesByTagPathParams
+  >({
+    url: '/zones/{zoneId}/rulesets/{rulesetId}/versions/{rulesetVersion}/by_tag/{ruleTag}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type SecondaryDnsSecondaryZoneForceAxfrPathParams = {
+  zoneId: Schemas.SecondaryDnsIdentifier;
+};
+
+export type SecondaryDnsSecondaryZoneForceAxfrError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SecondaryDnsForceResponse & Schemas.SecondaryDnsApiResponseCommonFailure;
+}>;
+
+export type SecondaryDnsSecondaryZoneForceAxfrVariables = {
+  pathParams: SecondaryDnsSecondaryZoneForceAxfrPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Sends AXFR zone transfer request to primary nameserver(s).
+ */
+export const secondaryDnsSecondaryZoneForceAxfr = (
+  variables: SecondaryDnsSecondaryZoneForceAxfrVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.SecondaryDnsForceResponse,
+    SecondaryDnsSecondaryZoneForceAxfrError,
+    undefined,
+    {},
+    {},
+    SecondaryDnsSecondaryZoneForceAxfrPathParams
+  >({ url: '/zones/{zoneId}/secondary_dns/force_axfr', method: 'post', ...variables, signal });
+
+export type SecondaryDnsSecondaryZoneDeleteSecondaryZoneConfigurationPathParams = {
+  zoneId: Schemas.SecondaryDnsIdentifier;
+};
+
+export type SecondaryDnsSecondaryZoneDeleteSecondaryZoneConfigurationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SecondaryDnsIdResponse & Schemas.SecondaryDnsApiResponseCommonFailure;
+}>;
+
+export type SecondaryDnsSecondaryZoneDeleteSecondaryZoneConfigurationVariables = {
+  pathParams: SecondaryDnsSecondaryZoneDeleteSecondaryZoneConfigurationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete secondary zone configuration for incoming zone transfers.
+ */
+export const secondaryDnsSecondaryZoneDeleteSecondaryZoneConfiguration = (
+  variables: SecondaryDnsSecondaryZoneDeleteSecondaryZoneConfigurationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.SecondaryDnsIdResponse,
+    SecondaryDnsSecondaryZoneDeleteSecondaryZoneConfigurationError,
+    undefined,
+    {},
+    {},
+    SecondaryDnsSecondaryZoneDeleteSecondaryZoneConfigurationPathParams
+  >({ url: '/zones/{zoneId}/secondary_dns/incoming', method: 'delete', ...variables, signal });
+
+export type SecondaryDnsSecondaryZoneSecondaryZoneConfigurationDetailsPathParams = {
+  zoneId: Schemas.SecondaryDnsIdentifier;
+};
+
+export type SecondaryDnsSecondaryZoneSecondaryZoneConfigurationDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SecondaryDnsSingleResponseIncoming & Schemas.SecondaryDnsApiResponseCommonFailure;
+}>;
+
+export type SecondaryDnsSecondaryZoneSecondaryZoneConfigurationDetailsVariables = {
+  pathParams: SecondaryDnsSecondaryZoneSecondaryZoneConfigurationDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get secondary zone configuration for incoming zone transfers.
+ */
+export const secondaryDnsSecondaryZoneSecondaryZoneConfigurationDetails = (
+  variables: SecondaryDnsSecondaryZoneSecondaryZoneConfigurationDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.SecondaryDnsSingleResponseIncoming,
+    SecondaryDnsSecondaryZoneSecondaryZoneConfigurationDetailsError,
+    undefined,
+    {},
+    {},
+    SecondaryDnsSecondaryZoneSecondaryZoneConfigurationDetailsPathParams
+  >({ url: '/zones/{zoneId}/secondary_dns/incoming', method: 'get', ...variables, signal });
+
+export type SecondaryDnsSecondaryZoneCreateSecondaryZoneConfigurationPathParams = {
+  zoneId: Schemas.SecondaryDnsIdentifier;
+};
+
+export type SecondaryDnsSecondaryZoneCreateSecondaryZoneConfigurationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SecondaryDnsSingleResponseIncoming & Schemas.SecondaryDnsApiResponseCommonFailure;
+}>;
+
+export type SecondaryDnsSecondaryZoneCreateSecondaryZoneConfigurationVariables = {
+  body: Schemas.SecondaryDnsDnsSecondarySecondaryZone;
+  pathParams: SecondaryDnsSecondaryZoneCreateSecondaryZoneConfigurationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create secondary zone configuration for incoming zone transfers.
+ */
+export const secondaryDnsSecondaryZoneCreateSecondaryZoneConfiguration = (
+  variables: SecondaryDnsSecondaryZoneCreateSecondaryZoneConfigurationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.SecondaryDnsSingleResponseIncoming,
+    SecondaryDnsSecondaryZoneCreateSecondaryZoneConfigurationError,
+    Schemas.SecondaryDnsDnsSecondarySecondaryZone,
+    {},
+    {},
+    SecondaryDnsSecondaryZoneCreateSecondaryZoneConfigurationPathParams
+  >({ url: '/zones/{zoneId}/secondary_dns/incoming', method: 'post', ...variables, signal });
+
+export type SecondaryDnsSecondaryZoneUpdateSecondaryZoneConfigurationPathParams = {
+  zoneId: Schemas.SecondaryDnsIdentifier;
+};
+
+export type SecondaryDnsSecondaryZoneUpdateSecondaryZoneConfigurationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SecondaryDnsSingleResponseIncoming & Schemas.SecondaryDnsApiResponseCommonFailure;
+}>;
+
+export type SecondaryDnsSecondaryZoneUpdateSecondaryZoneConfigurationVariables = {
+  body: Schemas.SecondaryDnsDnsSecondarySecondaryZone;
+  pathParams: SecondaryDnsSecondaryZoneUpdateSecondaryZoneConfigurationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update secondary zone configuration for incoming zone transfers.
+ */
+export const secondaryDnsSecondaryZoneUpdateSecondaryZoneConfiguration = (
+  variables: SecondaryDnsSecondaryZoneUpdateSecondaryZoneConfigurationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.SecondaryDnsSingleResponseIncoming,
+    SecondaryDnsSecondaryZoneUpdateSecondaryZoneConfigurationError,
+    Schemas.SecondaryDnsDnsSecondarySecondaryZone,
+    {},
+    {},
+    SecondaryDnsSecondaryZoneUpdateSecondaryZoneConfigurationPathParams
+  >({ url: '/zones/{zoneId}/secondary_dns/incoming', method: 'put', ...variables, signal });
+
+export type SecondaryDnsPrimaryZoneDeletePrimaryZoneConfigurationPathParams = {
+  zoneId: Schemas.SecondaryDnsIdentifier;
+};
+
+export type SecondaryDnsPrimaryZoneDeletePrimaryZoneConfigurationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SecondaryDnsIdResponse & Schemas.SecondaryDnsApiResponseCommonFailure;
+}>;
+
+export type SecondaryDnsPrimaryZoneDeletePrimaryZoneConfigurationVariables = {
+  pathParams: SecondaryDnsPrimaryZoneDeletePrimaryZoneConfigurationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete primary zone configuration for outgoing zone transfers.
+ */
+export const secondaryDnsPrimaryZoneDeletePrimaryZoneConfiguration = (
+  variables: SecondaryDnsPrimaryZoneDeletePrimaryZoneConfigurationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.SecondaryDnsIdResponse,
+    SecondaryDnsPrimaryZoneDeletePrimaryZoneConfigurationError,
+    undefined,
+    {},
+    {},
+    SecondaryDnsPrimaryZoneDeletePrimaryZoneConfigurationPathParams
+  >({ url: '/zones/{zoneId}/secondary_dns/outgoing', method: 'delete', ...variables, signal });
+
+export type SecondaryDnsPrimaryZonePrimaryZoneConfigurationDetailsPathParams = {
+  zoneId: Schemas.SecondaryDnsIdentifier;
+};
+
+export type SecondaryDnsPrimaryZonePrimaryZoneConfigurationDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SecondaryDnsSingleResponseOutgoing & Schemas.SecondaryDnsApiResponseCommonFailure;
+}>;
+
+export type SecondaryDnsPrimaryZonePrimaryZoneConfigurationDetailsVariables = {
+  pathParams: SecondaryDnsPrimaryZonePrimaryZoneConfigurationDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get primary zone configuration for outgoing zone transfers.
+ */
+export const secondaryDnsPrimaryZonePrimaryZoneConfigurationDetails = (
+  variables: SecondaryDnsPrimaryZonePrimaryZoneConfigurationDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.SecondaryDnsSingleResponseOutgoing,
+    SecondaryDnsPrimaryZonePrimaryZoneConfigurationDetailsError,
+    undefined,
+    {},
+    {},
+    SecondaryDnsPrimaryZonePrimaryZoneConfigurationDetailsPathParams
+  >({ url: '/zones/{zoneId}/secondary_dns/outgoing', method: 'get', ...variables, signal });
+
+export type SecondaryDnsPrimaryZoneCreatePrimaryZoneConfigurationPathParams = {
+  zoneId: Schemas.SecondaryDnsIdentifier;
+};
+
+export type SecondaryDnsPrimaryZoneCreatePrimaryZoneConfigurationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SecondaryDnsSingleResponseOutgoing & Schemas.SecondaryDnsApiResponseCommonFailure;
+}>;
+
+export type SecondaryDnsPrimaryZoneCreatePrimaryZoneConfigurationVariables = {
+  body: Schemas.SecondaryDnsSingleRequestOutgoing;
+  pathParams: SecondaryDnsPrimaryZoneCreatePrimaryZoneConfigurationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Create primary zone configuration for outgoing zone transfers.
+ */
+export const secondaryDnsPrimaryZoneCreatePrimaryZoneConfiguration = (
+  variables: SecondaryDnsPrimaryZoneCreatePrimaryZoneConfigurationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.SecondaryDnsSingleResponseOutgoing,
+    SecondaryDnsPrimaryZoneCreatePrimaryZoneConfigurationError,
+    Schemas.SecondaryDnsSingleRequestOutgoing,
+    {},
+    {},
+    SecondaryDnsPrimaryZoneCreatePrimaryZoneConfigurationPathParams
+  >({ url: '/zones/{zoneId}/secondary_dns/outgoing', method: 'post', ...variables, signal });
+
+export type SecondaryDnsPrimaryZoneUpdatePrimaryZoneConfigurationPathParams = {
+  zoneId: Schemas.SecondaryDnsIdentifier;
+};
+
+export type SecondaryDnsPrimaryZoneUpdatePrimaryZoneConfigurationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SecondaryDnsSingleResponseOutgoing & Schemas.SecondaryDnsApiResponseCommonFailure;
+}>;
+
+export type SecondaryDnsPrimaryZoneUpdatePrimaryZoneConfigurationVariables = {
+  body: Schemas.SecondaryDnsSingleRequestOutgoing;
+  pathParams: SecondaryDnsPrimaryZoneUpdatePrimaryZoneConfigurationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Update primary zone configuration for outgoing zone transfers.
+ */
+export const secondaryDnsPrimaryZoneUpdatePrimaryZoneConfiguration = (
+  variables: SecondaryDnsPrimaryZoneUpdatePrimaryZoneConfigurationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.SecondaryDnsSingleResponseOutgoing,
+    SecondaryDnsPrimaryZoneUpdatePrimaryZoneConfigurationError,
+    Schemas.SecondaryDnsSingleRequestOutgoing,
+    {},
+    {},
+    SecondaryDnsPrimaryZoneUpdatePrimaryZoneConfigurationPathParams
+  >({ url: '/zones/{zoneId}/secondary_dns/outgoing', method: 'put', ...variables, signal });
+
+export type SecondaryDnsPrimaryZoneDisableOutgoingZoneTransfersPathParams = {
+  zoneId: Schemas.SecondaryDnsIdentifier;
+};
+
+export type SecondaryDnsPrimaryZoneDisableOutgoingZoneTransfersError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SecondaryDnsDisableTransferResponse & Schemas.SecondaryDnsApiResponseCommonFailure;
+}>;
+
+export type SecondaryDnsPrimaryZoneDisableOutgoingZoneTransfersVariables = {
+  pathParams: SecondaryDnsPrimaryZoneDisableOutgoingZoneTransfersPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Disable outgoing zone transfers for primary zone and clears IXFR backlog of primary zone.
+ */
+export const secondaryDnsPrimaryZoneDisableOutgoingZoneTransfers = (
+  variables: SecondaryDnsPrimaryZoneDisableOutgoingZoneTransfersVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.SecondaryDnsDisableTransferResponse,
+    SecondaryDnsPrimaryZoneDisableOutgoingZoneTransfersError,
+    undefined,
+    {},
+    {},
+    SecondaryDnsPrimaryZoneDisableOutgoingZoneTransfersPathParams
+  >({ url: '/zones/{zoneId}/secondary_dns/outgoing/disable', method: 'post', ...variables, signal });
+
+export type SecondaryDnsPrimaryZoneEnableOutgoingZoneTransfersPathParams = {
+  zoneId: Schemas.SecondaryDnsIdentifier;
+};
+
+export type SecondaryDnsPrimaryZoneEnableOutgoingZoneTransfersError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SecondaryDnsEnableTransferResponse & Schemas.SecondaryDnsApiResponseCommonFailure;
+}>;
+
+export type SecondaryDnsPrimaryZoneEnableOutgoingZoneTransfersVariables = {
+  pathParams: SecondaryDnsPrimaryZoneEnableOutgoingZoneTransfersPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Enable outgoing zone transfers for primary zone.
+ */
+export const secondaryDnsPrimaryZoneEnableOutgoingZoneTransfers = (
+  variables: SecondaryDnsPrimaryZoneEnableOutgoingZoneTransfersVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.SecondaryDnsEnableTransferResponse,
+    SecondaryDnsPrimaryZoneEnableOutgoingZoneTransfersError,
+    undefined,
+    {},
+    {},
+    SecondaryDnsPrimaryZoneEnableOutgoingZoneTransfersPathParams
+  >({ url: '/zones/{zoneId}/secondary_dns/outgoing/enable', method: 'post', ...variables, signal });
+
+export type SecondaryDnsPrimaryZoneForceDnsNotifyPathParams = {
+  zoneId: Schemas.SecondaryDnsIdentifier;
+};
+
+export type SecondaryDnsPrimaryZoneForceDnsNotifyError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SecondaryDnsSchemasForceResponse & Schemas.SecondaryDnsApiResponseCommonFailure;
+}>;
+
+export type SecondaryDnsPrimaryZoneForceDnsNotifyVariables = {
+  pathParams: SecondaryDnsPrimaryZoneForceDnsNotifyPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Notifies the secondary nameserver(s) and clears IXFR backlog of primary zone.
+ */
+export const secondaryDnsPrimaryZoneForceDnsNotify = (
+  variables: SecondaryDnsPrimaryZoneForceDnsNotifyVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.SecondaryDnsSchemasForceResponse,
+    SecondaryDnsPrimaryZoneForceDnsNotifyError,
+    undefined,
+    {},
+    {},
+    SecondaryDnsPrimaryZoneForceDnsNotifyPathParams
+  >({ url: '/zones/{zoneId}/secondary_dns/outgoing/force_notify', method: 'post', ...variables, signal });
+
+export type SecondaryDnsPrimaryZoneGetOutgoingZoneTransferStatusPathParams = {
+  zoneId: Schemas.SecondaryDnsIdentifier;
+};
+
+export type SecondaryDnsPrimaryZoneGetOutgoingZoneTransferStatusError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SecondaryDnsEnableTransferResponse & Schemas.SecondaryDnsApiResponseCommonFailure;
+}>;
+
+export type SecondaryDnsPrimaryZoneGetOutgoingZoneTransferStatusVariables = {
+  pathParams: SecondaryDnsPrimaryZoneGetOutgoingZoneTransferStatusPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get primary zone transfer status.
+ */
+export const secondaryDnsPrimaryZoneGetOutgoingZoneTransferStatus = (
+  variables: SecondaryDnsPrimaryZoneGetOutgoingZoneTransferStatusVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.SecondaryDnsEnableTransferResponse,
+    SecondaryDnsPrimaryZoneGetOutgoingZoneTransferStatusError,
+    undefined,
+    {},
+    {},
+    SecondaryDnsPrimaryZoneGetOutgoingZoneTransferStatusPathParams
+  >({ url: '/zones/{zoneId}/secondary_dns/outgoing/status', method: 'get', ...variables, signal });
+
+export type DeleteSecurityTxtPathParams = {
+  zoneId: Schemas.SecurityCenterIdentifier;
+};
+
+export type DeleteSecurityTxtError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SecurityCenterApiResponseCommonFailure;
+}>;
+
+export type DeleteSecurityTxtResponse = Schemas.SecurityCenterApiResponseSingle;
+
+export type DeleteSecurityTxtVariables = {
+  pathParams: DeleteSecurityTxtPathParams;
+} & FetcherExtraProps;
+
+export const deleteSecurityTxt = (variables: DeleteSecurityTxtVariables, signal?: AbortSignal) =>
+  fetch<DeleteSecurityTxtResponse, DeleteSecurityTxtError, undefined, {}, {}, DeleteSecurityTxtPathParams>({
+    url: '/zones/{zoneId}/security-center/securitytxt',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type GetSecurityTxtPathParams = {
+  zoneId: Schemas.SecurityCenterIdentifier;
+};
+
+export type GetSecurityTxtError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SecurityCenterApiResponseCommonFailure;
+}>;
+
+export type GetSecurityTxtResponse = Schemas.SecurityCenterApiResponseCommon & {
+  result?: Schemas.SecurityCenterSecurityTxt;
+};
+
+export type GetSecurityTxtVariables = {
+  pathParams: GetSecurityTxtPathParams;
+} & FetcherExtraProps;
+
+export const getSecurityTxt = (variables: GetSecurityTxtVariables, signal?: AbortSignal) =>
+  fetch<GetSecurityTxtResponse, GetSecurityTxtError, undefined, {}, {}, GetSecurityTxtPathParams>({
+    url: '/zones/{zoneId}/security-center/securitytxt',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type UpdateSecurityTxtPathParams = {
+  zoneId: Schemas.SecurityCenterIdentifier;
+};
+
+export type UpdateSecurityTxtError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SecurityCenterApiResponseCommonFailure;
+}>;
+
+export type UpdateSecurityTxtResponse = Schemas.SecurityCenterApiResponseSingle;
+
+export type UpdateSecurityTxtVariables = {
+  body?: Schemas.SecurityCenterSecurityTxt;
+  pathParams: UpdateSecurityTxtPathParams;
+} & FetcherExtraProps;
+
+export const updateSecurityTxt = (variables: UpdateSecurityTxtVariables, signal?: AbortSignal) =>
+  fetch<
+    UpdateSecurityTxtResponse,
+    UpdateSecurityTxtError,
+    Schemas.SecurityCenterSecurityTxt,
+    {},
+    {},
+    UpdateSecurityTxtPathParams
+  >({ url: '/zones/{zoneId}/security-center/securitytxt', method: 'put', ...variables, signal });
+
+export type ZoneSettingsGetAllZoneSettingsPathParams = {
+  zoneId: Schemas.ZonesIdentifier;
+};
+
+export type ZoneSettingsGetAllZoneSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZonesApiResponseCommonFailure;
+}>;
+
+export type ZoneSettingsGetAllZoneSettingsVariables = {
+  pathParams: ZoneSettingsGetAllZoneSettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Available settings for your user in relation to a zone.
+ */
+export const zoneSettingsGetAllZoneSettings = (
+  variables: ZoneSettingsGetAllZoneSettingsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZonesZoneSettingsResponseCollection,
+    ZoneSettingsGetAllZoneSettingsError,
+    undefined,
+    {},
+    {},
+    ZoneSettingsGetAllZoneSettingsPathParams
+  >({ url: '/zones/{zoneId}/settings', method: 'get', ...variables, signal });
+
+export type ZoneSettingsEditZoneSettingsInfoPathParams = {
+  zoneId: Schemas.ZonesIdentifier;
+};
+
+export type ZoneSettingsEditZoneSettingsInfoError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZonesApiResponseCommonFailure;
+}>;
+
+export type ZoneSettingsEditZoneSettingsInfoVariables = {
+  body?: Schemas.ZonesMultipleSettings;
+  pathParams: ZoneSettingsEditZoneSettingsInfoPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Edit settings for a zone.
+ */
+export const zoneSettingsEditZoneSettingsInfo = (
+  variables: ZoneSettingsEditZoneSettingsInfoVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZonesZoneSettingsResponseCollection,
+    ZoneSettingsEditZoneSettingsInfoError,
+    Schemas.ZonesMultipleSettings,
+    {},
+    {},
+    ZoneSettingsEditZoneSettingsInfoPathParams
+  >({ url: '/zones/{zoneId}/settings', method: 'patch', ...variables, signal });
+
+export type ZoneSettingsGetFontsSettingPathParams = {
+  zoneId: Schemas.SpeedIdentifier;
+};
+
+export type ZoneSettingsGetFontsSettingError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SpeedApiResponseCommonFailure;
+}>;
+
+export type ZoneSettingsGetFontsSettingResponse = Schemas.SpeedApiResponseCommon & {
+  result?: Schemas.SpeedCloudflareFonts;
+};
+
+export type ZoneSettingsGetFontsSettingVariables = {
+  pathParams: ZoneSettingsGetFontsSettingPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Enhance your website's font delivery with Cloudflare Fonts. Deliver Google Hosted fonts from your own domain,
+ * boost performance, and enhance user privacy. Refer to the Cloudflare Fonts documentation for more information.
+ */
+export const zoneSettingsGetFontsSetting = (variables: ZoneSettingsGetFontsSettingVariables, signal?: AbortSignal) =>
+  fetch<
+    ZoneSettingsGetFontsSettingResponse,
+    ZoneSettingsGetFontsSettingError,
+    undefined,
+    {},
+    {},
+    ZoneSettingsGetFontsSettingPathParams
+  >({ url: '/zones/{zoneId}/settings/fonts', method: 'get', ...variables, signal });
+
+export type ZoneSettingsChangeFontsSettingPathParams = {
+  zoneId: Schemas.SpeedIdentifier;
+};
+
+export type ZoneSettingsChangeFontsSettingError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SpeedApiResponseCommonFailure;
+}>;
+
+export type ZoneSettingsChangeFontsSettingResponse = Schemas.SpeedApiResponseCommon & {
+  result?: Schemas.SpeedCloudflareFonts;
+};
+
+export type ZoneSettingsChangeFontsSettingRequestBody = {
+  value: Schemas.SpeedCloudflareFontsValue;
+};
+
+export type ZoneSettingsChangeFontsSettingVariables = {
+  body: ZoneSettingsChangeFontsSettingRequestBody;
+  pathParams: ZoneSettingsChangeFontsSettingPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Enhance your website's font delivery with Cloudflare Fonts. Deliver Google Hosted fonts from your own domain,
+ * boost performance, and enhance user privacy. Refer to the Cloudflare Fonts documentation for more information.
+ */
+export const zoneSettingsChangeFontsSetting = (
+  variables: ZoneSettingsChangeFontsSettingVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    ZoneSettingsChangeFontsSettingResponse,
+    ZoneSettingsChangeFontsSettingError,
+    ZoneSettingsChangeFontsSettingRequestBody,
+    {},
+    {},
+    ZoneSettingsChangeFontsSettingPathParams
+  >({ url: '/zones/{zoneId}/settings/fonts', method: 'patch', ...variables, signal });
+
+export type ZoneCacheSettingsGetOriginMaxHttpVersionSettingPathParams = {
+  zoneId: Schemas.CacheRulesIdentifier;
+};
+
+export type ZoneCacheSettingsGetOriginMaxHttpVersionSettingError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.CacheRulesZoneCacheSettingsResponseSingle & Schemas.CacheRulesOriginMaxHttpVersionResponseValue) &
+    Schemas.CacheRulesApiResponseCommonFailure;
+}>;
+
+export type ZoneCacheSettingsGetOriginMaxHttpVersionSettingResponse =
+  Schemas.CacheRulesZoneCacheSettingsResponseSingle & Schemas.CacheRulesOriginMaxHttpVersionResponseValue;
+
+export type ZoneCacheSettingsGetOriginMaxHttpVersionSettingVariables = {
+  pathParams: ZoneCacheSettingsGetOriginMaxHttpVersionSettingPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Origin Max HTTP Setting Version sets the highest HTTP version Cloudflare will attempt to use with your origin. This setting allows Cloudflare to make HTTP/2 requests to your origin. (Refer to [Enable HTTP/2 to Origin](https://developers.cloudflare.com/cache/how-to/enable-http2-to-origin/), for more information.). The default value is "2" for all plan types except ENT where it is "1"
+ */
+export const zoneCacheSettingsGetOriginMaxHttpVersionSetting = (
+  variables: ZoneCacheSettingsGetOriginMaxHttpVersionSettingVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    ZoneCacheSettingsGetOriginMaxHttpVersionSettingResponse,
+    ZoneCacheSettingsGetOriginMaxHttpVersionSettingError,
+    undefined,
+    {},
+    {},
+    ZoneCacheSettingsGetOriginMaxHttpVersionSettingPathParams
+  >({ url: '/zones/{zoneId}/settings/origin_max_http_version', method: 'get', ...variables, signal });
+
+export type ZoneCacheSettingsChangeOriginMaxHttpVersionSettingPathParams = {
+  zoneId: Schemas.CacheRulesIdentifier;
+};
+
+export type ZoneCacheSettingsChangeOriginMaxHttpVersionSettingError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.CacheRulesZoneCacheSettingsResponseSingle & Schemas.CacheRulesOriginMaxHttpVersionResponseValue) &
+    Schemas.CacheRulesApiResponseCommonFailure;
+}>;
+
+export type ZoneCacheSettingsChangeOriginMaxHttpVersionSettingResponse =
+  Schemas.CacheRulesZoneCacheSettingsResponseSingle & Schemas.CacheRulesOriginMaxHttpVersionResponseValue;
+
+export type ZoneCacheSettingsChangeOriginMaxHttpVersionSettingRequestBody = {
+  value: Schemas.CacheRulesOriginMaxHttpVersionValue;
+};
+
+export type ZoneCacheSettingsChangeOriginMaxHttpVersionSettingVariables = {
+  body: ZoneCacheSettingsChangeOriginMaxHttpVersionSettingRequestBody;
+  pathParams: ZoneCacheSettingsChangeOriginMaxHttpVersionSettingPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Origin Max HTTP Setting Version sets the highest HTTP version Cloudflare will attempt to use with your origin. This setting allows Cloudflare to make HTTP/2 requests to your origin. (Refer to [Enable HTTP/2 to Origin](https://developers.cloudflare.com/cache/how-to/enable-http2-to-origin/), for more information.). The default value is "2" for all plan types except ENT where it is "1"
+ */
+export const zoneCacheSettingsChangeOriginMaxHttpVersionSetting = (
+  variables: ZoneCacheSettingsChangeOriginMaxHttpVersionSettingVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    ZoneCacheSettingsChangeOriginMaxHttpVersionSettingResponse,
+    ZoneCacheSettingsChangeOriginMaxHttpVersionSettingError,
+    ZoneCacheSettingsChangeOriginMaxHttpVersionSettingRequestBody,
+    {},
+    {},
+    ZoneCacheSettingsChangeOriginMaxHttpVersionSettingPathParams
+  >({ url: '/zones/{zoneId}/settings/origin_max_http_version', method: 'patch', ...variables, signal });
+
+export type WebAnalyticsGetRumStatusPathParams = {
+  zoneId: Schemas.RumIdentifier;
+};
+
+export type WebAnalyticsGetRumStatusError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.RumApiResponseCommonFailure;
+}>;
+
+export type WebAnalyticsGetRumStatusVariables = {
+  pathParams: WebAnalyticsGetRumStatusPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Retrieves RUM status for a zone.
+ */
+export const webAnalyticsGetRumStatus = (variables: WebAnalyticsGetRumStatusVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.RumRumSiteResponseSingle,
+    WebAnalyticsGetRumStatusError,
+    undefined,
+    {},
+    {},
+    WebAnalyticsGetRumStatusPathParams
+  >({ url: '/zones/{zoneId}/settings/rum', method: 'get', ...variables, signal });
+
+export type WebAnalyticsToggleRumPathParams = {
+  zoneId: Schemas.RumIdentifier;
+};
+
+export type WebAnalyticsToggleRumError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.RumApiResponseCommonFailure;
+}>;
+
+export type WebAnalyticsToggleRumVariables = {
+  body?: Schemas.RumToggleRumRequest;
+  pathParams: WebAnalyticsToggleRumPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Toggles RUM on/off for an existing zone
+ */
+export const webAnalyticsToggleRum = (variables: WebAnalyticsToggleRumVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.RumRumSiteResponseSingle,
+    WebAnalyticsToggleRumError,
+    Schemas.RumToggleRumRequest,
+    {},
+    {},
+    WebAnalyticsToggleRumPathParams
+  >({ url: '/zones/{zoneId}/settings/rum', method: 'patch', ...variables, signal });
+
+export type ZoneSettingsGetSpeedBrainSettingPathParams = {
+  zoneId: Schemas.SpeedIdentifier;
+};
+
+export type ZoneSettingsGetSpeedBrainSettingError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SpeedApiResponseCommonFailure;
+}>;
+
+export type ZoneSettingsGetSpeedBrainSettingResponse = Schemas.SpeedApiResponseCommon & {
+  result?: Schemas.SpeedCloudflareSpeedBrainResponse;
+};
+
+export type ZoneSettingsGetSpeedBrainSettingVariables = {
+  pathParams: ZoneSettingsGetSpeedBrainSettingPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Speed Brain lets compatible browsers speculate on content which can be prefetched or preloaded, making website
+ * navigation faster. Refer to the Cloudflare Speed Brain documentation for more information.
+ */
+export const zoneSettingsGetSpeedBrainSetting = (
+  variables: ZoneSettingsGetSpeedBrainSettingVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    ZoneSettingsGetSpeedBrainSettingResponse,
+    ZoneSettingsGetSpeedBrainSettingError,
+    undefined,
+    {},
+    {},
+    ZoneSettingsGetSpeedBrainSettingPathParams
+  >({ url: '/zones/{zoneId}/settings/speed_brain', method: 'get', ...variables, signal });
+
+export type ZoneSettingsChangeSpeedBrainSettingPathParams = {
+  zoneId: Schemas.SpeedIdentifier;
+};
+
+export type ZoneSettingsChangeSpeedBrainSettingError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SpeedApiResponseCommonFailure;
+}>;
+
+export type ZoneSettingsChangeSpeedBrainSettingResponse = Schemas.SpeedApiResponseCommon & {
+  result?: Schemas.SpeedCloudflareSpeedBrainResponse;
+};
+
+export type ZoneSettingsChangeSpeedBrainSettingRequestBody = {
+  /**
+   * Whether the feature is enabled or disabled.
+   */
+  value: 'on' | 'off';
+};
+
+export type ZoneSettingsChangeSpeedBrainSettingVariables = {
+  body: ZoneSettingsChangeSpeedBrainSettingRequestBody;
+  pathParams: ZoneSettingsChangeSpeedBrainSettingPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Speed Brain lets compatible browsers speculate on content which can be prefetched or preloaded, making website
+ * navigation faster. Refer to the Cloudflare Speed Brain documentation for more information.
+ */
+export const zoneSettingsChangeSpeedBrainSetting = (
+  variables: ZoneSettingsChangeSpeedBrainSettingVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    ZoneSettingsChangeSpeedBrainSettingResponse,
+    ZoneSettingsChangeSpeedBrainSettingError,
+    ZoneSettingsChangeSpeedBrainSettingRequestBody,
+    {},
+    {},
+    ZoneSettingsChangeSpeedBrainSettingPathParams
+  >({ url: '/zones/{zoneId}/settings/speed_brain', method: 'patch', ...variables, signal });
+
+export type GetZonesZoneIdentifierZarazConfigPathParams = {
+  zoneId: Schemas.ZarazIdentifier;
+};
+
+export type GetZonesZoneIdentifierZarazConfigError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZarazApiResponseCommonFailure;
+}>;
+
+export type GetZonesZoneIdentifierZarazConfigVariables = {
+  pathParams: GetZonesZoneIdentifierZarazConfigPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets latest Zaraz configuration for a zone. It can be preview or published configuration, whichever was the last updated. Secret variables values will not be included.
+ */
+export const getZonesZoneIdentifierZarazConfig = (
+  variables: GetZonesZoneIdentifierZarazConfigVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZarazZarazConfigResponse,
+    GetZonesZoneIdentifierZarazConfigError,
+    undefined,
+    {},
+    {},
+    GetZonesZoneIdentifierZarazConfigPathParams
+  >({ url: '/zones/{zoneId}/settings/zaraz/config', method: 'get', ...variables, signal });
+
+export type PutZonesZoneIdentifierZarazConfigPathParams = {
+  zoneId: Schemas.ZarazIdentifier;
+};
+
+export type PutZonesZoneIdentifierZarazConfigError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZarazApiResponseCommonFailure;
+}>;
+
+export type PutZonesZoneIdentifierZarazConfigVariables = {
+  body?: Schemas.ZarazZarazConfigBody;
+  pathParams: PutZonesZoneIdentifierZarazConfigPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates Zaraz configuration for a zone.
+ */
+export const putZonesZoneIdentifierZarazConfig = (
+  variables: PutZonesZoneIdentifierZarazConfigVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZarazZarazConfigResponse,
+    PutZonesZoneIdentifierZarazConfigError,
+    Schemas.ZarazZarazConfigBody,
+    {},
+    {},
+    PutZonesZoneIdentifierZarazConfigPathParams
+  >({ url: '/zones/{zoneId}/settings/zaraz/config', method: 'put', ...variables, signal });
+
+export type GetZonesZoneIdentifierZarazDefaultPathParams = {
+  zoneId: Schemas.ZarazIdentifier;
+};
+
+export type GetZonesZoneIdentifierZarazDefaultError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZarazApiResponseCommonFailure;
+}>;
+
+export type GetZonesZoneIdentifierZarazDefaultVariables = {
+  pathParams: GetZonesZoneIdentifierZarazDefaultPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets default Zaraz configuration for a zone.
+ */
+export const getZonesZoneIdentifierZarazDefault = (
+  variables: GetZonesZoneIdentifierZarazDefaultVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZarazZarazConfigResponse,
+    GetZonesZoneIdentifierZarazDefaultError,
+    undefined,
+    {},
+    {},
+    GetZonesZoneIdentifierZarazDefaultPathParams
+  >({ url: '/zones/{zoneId}/settings/zaraz/default', method: 'get', ...variables, signal });
+
+export type GetZonesZoneIdentifierZarazExportPathParams = {
+  zoneId: Schemas.ZarazIdentifier;
+};
+
+export type GetZonesZoneIdentifierZarazExportError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZarazApiResponseCommonFailure;
+}>;
+
+export type GetZonesZoneIdentifierZarazExportVariables = {
+  pathParams: GetZonesZoneIdentifierZarazExportPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Exports full current published Zaraz configuration for a zone, secret variables included.
+ */
+export const getZonesZoneIdentifierZarazExport = (
+  variables: GetZonesZoneIdentifierZarazExportVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZarazZarazConfigReturn,
+    GetZonesZoneIdentifierZarazExportError,
+    undefined,
+    {},
+    {},
+    GetZonesZoneIdentifierZarazExportPathParams
+  >({ url: '/zones/{zoneId}/settings/zaraz/export', method: 'get', ...variables, signal });
+
+export type GetZonesZoneIdentifierZarazHistoryPathParams = {
+  zoneId: Schemas.ZarazIdentifier;
+};
+
+export type GetZonesZoneIdentifierZarazHistoryQueryParams = {
+  /**
+   * Ordinal number to start listing the results with. Default value is 0.
+   *
+   * @minimum 0
+   */
+  offset?: number;
+  /**
+   * Maximum amount of results to list. Default value is 10.
+   *
+   * @minimum 1
+   */
+  limit?: number;
+  /**
+   * The field to sort by. Default is updated_at.
+   */
+  sortField?: 'id' | 'user_id' | 'description' | 'created_at' | 'updated_at';
+  /**
+   * Sorting order. Default is DESC.
+   */
+  sortOrder?: 'DESC' | 'ASC';
+};
+
+export type GetZonesZoneIdentifierZarazHistoryError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZarazApiResponseCommonFailure;
+}>;
+
+export type GetZonesZoneIdentifierZarazHistoryVariables = {
+  pathParams: GetZonesZoneIdentifierZarazHistoryPathParams;
+  queryParams?: GetZonesZoneIdentifierZarazHistoryQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists a history of published Zaraz configuration records for a zone.
+ */
+export const getZonesZoneIdentifierZarazHistory = (
+  variables: GetZonesZoneIdentifierZarazHistoryVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZarazZarazHistoryResponse,
+    GetZonesZoneIdentifierZarazHistoryError,
+    undefined,
+    {},
+    GetZonesZoneIdentifierZarazHistoryQueryParams,
+    GetZonesZoneIdentifierZarazHistoryPathParams
+  >({ url: '/zones/{zoneId}/settings/zaraz/history', method: 'get', ...variables, signal });
+
+export type PutZonesZoneIdentifierZarazHistoryPathParams = {
+  zoneId: Schemas.ZarazIdentifier;
+};
+
+export type PutZonesZoneIdentifierZarazHistoryError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZarazApiResponseCommonFailure;
+}>;
+
+export type PutZonesZoneIdentifierZarazHistoryVariables = {
+  body?: number;
+  pathParams: PutZonesZoneIdentifierZarazHistoryPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Restores a historical published Zaraz configuration by ID for a zone.
+ */
+export const putZonesZoneIdentifierZarazHistory = (
+  variables: PutZonesZoneIdentifierZarazHistoryVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZarazZarazConfigResponse,
+    PutZonesZoneIdentifierZarazHistoryError,
+    number,
+    {},
+    {},
+    PutZonesZoneIdentifierZarazHistoryPathParams
+  >({ url: '/zones/{zoneId}/settings/zaraz/history', method: 'put', ...variables, signal });
+
+export type GetZonesZoneIdentifierZarazConfigHistoryPathParams = {
+  zoneId: Schemas.ZarazIdentifier;
+};
+
+export type GetZonesZoneIdentifierZarazConfigHistoryQueryParams = {
+  /**
+   * Comma separated list of Zaraz configuration IDs
+   */
+  ids: number[];
+};
+
+export type GetZonesZoneIdentifierZarazConfigHistoryError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZarazApiResponseCommonFailure;
+}>;
+
+export type GetZonesZoneIdentifierZarazConfigHistoryVariables = {
+  pathParams: GetZonesZoneIdentifierZarazConfigHistoryPathParams;
+  queryParams: GetZonesZoneIdentifierZarazConfigHistoryQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets a history of published Zaraz configurations by ID(s) for a zone.
+ */
+export const getZonesZoneIdentifierZarazConfigHistory = (
+  variables: GetZonesZoneIdentifierZarazConfigHistoryVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZarazZarazConfigHistoryResponse,
+    GetZonesZoneIdentifierZarazConfigHistoryError,
+    undefined,
+    {},
+    GetZonesZoneIdentifierZarazConfigHistoryQueryParams,
+    GetZonesZoneIdentifierZarazConfigHistoryPathParams
+  >({ url: '/zones/{zoneId}/settings/zaraz/history/configs', method: 'get', ...variables, signal });
+
+export type PostZonesZoneIdentifierZarazPublishPathParams = {
+  zoneId: Schemas.ZarazIdentifier;
+};
+
+export type PostZonesZoneIdentifierZarazPublishError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZarazApiResponseCommonFailure;
+}>;
+
+export type PostZonesZoneIdentifierZarazPublishResponse = Schemas.ZarazApiResponseCommon & {
+  /**
+   * @example Config has been published successfully
+   */
+  result?: string;
+};
+
+export type PostZonesZoneIdentifierZarazPublishVariables = {
+  body?: string;
+  pathParams: PostZonesZoneIdentifierZarazPublishPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Publish current Zaraz preview configuration for a zone.
+ */
+export const postZonesZoneIdentifierZarazPublish = (
+  variables: PostZonesZoneIdentifierZarazPublishVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    PostZonesZoneIdentifierZarazPublishResponse,
+    PostZonesZoneIdentifierZarazPublishError,
+    string,
+    {},
+    {},
+    PostZonesZoneIdentifierZarazPublishPathParams
+  >({ url: '/zones/{zoneId}/settings/zaraz/publish', method: 'post', ...variables, signal });
+
+export type GetZonesZoneIdentifierZarazWorkflowPathParams = {
+  zoneId: Schemas.ZarazIdentifier;
+};
+
+export type GetZonesZoneIdentifierZarazWorkflowError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZarazApiResponseCommonFailure;
+}>;
+
+export type GetZonesZoneIdentifierZarazWorkflowVariables = {
+  pathParams: GetZonesZoneIdentifierZarazWorkflowPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets Zaraz workflow for a zone.
+ */
+export const getZonesZoneIdentifierZarazWorkflow = (
+  variables: GetZonesZoneIdentifierZarazWorkflowVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZarazZarazWorkflowResponse,
+    GetZonesZoneIdentifierZarazWorkflowError,
+    undefined,
+    {},
+    {},
+    GetZonesZoneIdentifierZarazWorkflowPathParams
+  >({ url: '/zones/{zoneId}/settings/zaraz/workflow', method: 'get', ...variables, signal });
+
+export type PutZonesZoneIdentifierZarazWorkflowPathParams = {
+  zoneId: Schemas.ZarazIdentifier;
+};
+
+export type PutZonesZoneIdentifierZarazWorkflowError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZarazApiResponseCommonFailure;
+}>;
+
+export type PutZonesZoneIdentifierZarazWorkflowVariables = {
+  body?: Schemas.ZarazZarazWorkflow;
+  pathParams: PutZonesZoneIdentifierZarazWorkflowPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates Zaraz workflow for a zone.
+ */
+export const putZonesZoneIdentifierZarazWorkflow = (
+  variables: PutZonesZoneIdentifierZarazWorkflowVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.ZarazZarazWorkflowResponse,
+    PutZonesZoneIdentifierZarazWorkflowError,
+    Schemas.ZarazZarazWorkflow,
+    {},
+    {},
+    PutZonesZoneIdentifierZarazWorkflowPathParams
+  >({ url: '/zones/{zoneId}/settings/zaraz/workflow', method: 'put', ...variables, signal });
+
+export type ZoneSettingsGetSingleSettingPathParams = {
+  zoneId: Schemas.ZonesIdentifier;
+  settingId: Schemas.ZonesSettingName;
+};
+
+export type ZoneSettingsGetSingleSettingError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZonesApiResponseCommonFailure;
+}>;
+
+export type ZoneSettingsGetSingleSettingResponse = Schemas.ZonesApiResponseCommon & {
+  result?: Schemas.ZonesSetting;
+};
+
+export type ZoneSettingsGetSingleSettingVariables = {
+  pathParams: ZoneSettingsGetSingleSettingPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetch a single zone setting by name
+ */
+export const zoneSettingsGetSingleSetting = (variables: ZoneSettingsGetSingleSettingVariables, signal?: AbortSignal) =>
+  fetch<
+    ZoneSettingsGetSingleSettingResponse,
+    ZoneSettingsGetSingleSettingError,
+    undefined,
+    {},
+    {},
+    ZoneSettingsGetSingleSettingPathParams
+  >({ url: '/zones/{zoneId}/settings/{settingId}', method: 'get', ...variables, signal });
+
+export type ZoneSettingsEditSingleSettingPathParams = {
+  zoneId: Schemas.ZonesIdentifier;
+  settingId: Schemas.ZonesSettingName;
+};
+
+export type ZoneSettingsEditSingleSettingError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ZonesApiResponseCommonFailure;
+}>;
+
+export type ZoneSettingsEditSingleSettingResponse = Schemas.ZonesApiResponseCommon & {
+  result?: Schemas.ZonesSetting;
+};
+
+export type ZoneSettingsEditSingleSettingVariables = {
+  body?: Schemas.ZonesSetting;
+  pathParams: ZoneSettingsEditSingleSettingPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a single zone setting by the identifier
+ */
+export const zoneSettingsEditSingleSetting = (
+  variables: ZoneSettingsEditSingleSettingVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    ZoneSettingsEditSingleSettingResponse,
+    ZoneSettingsEditSingleSettingError,
+    Schemas.ZonesSetting,
+    {},
+    {},
+    ZoneSettingsEditSingleSettingPathParams
+  >({ url: '/zones/{zoneId}/settings/{settingId}', method: 'patch', ...variables, signal });
+
+export type ZoneSnippetsPathParams = {
+  zoneId: Schemas.SnippetsIdentifier;
+};
+
+export type ZoneSnippetsError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: Schemas.SnippetsApiResponseCommonFailure;
+    }
+  | {
+      status: 500;
+      payload: Schemas.SnippetsApiResponseCommonFailure;
+    }
+>;
+
+export type ZoneSnippetsResponse = Schemas.SnippetsApiResponseCommon & {
+  /**
+   * List of all zone snippets
+   */
+  result?: Schemas.SnippetsSnippet[];
+};
+
+export type ZoneSnippetsVariables = {
+  pathParams: ZoneSnippetsPathParams;
+} & FetcherExtraProps;
+
+export const zoneSnippets = (variables: ZoneSnippetsVariables, signal?: AbortSignal) =>
+  fetch<ZoneSnippetsResponse, ZoneSnippetsError, undefined, {}, {}, ZoneSnippetsPathParams>({
+    url: '/zones/{zoneId}/snippets',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type ZoneSnippetsSnippetRulesDeletePathParams = {
+  zoneId: Schemas.SnippetsIdentifier;
+};
+
+export type ZoneSnippetsSnippetRulesDeleteError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: Schemas.SnippetsApiResponseCommonFailure;
+    }
+  | {
+      status: 500;
+      payload: Schemas.SnippetsApiResponseCommonFailure;
+    }
+>;
+
+export type ZoneSnippetsSnippetRulesDeleteResponse = Schemas.SnippetsApiResponseCommon;
+
+export type ZoneSnippetsSnippetRulesDeleteVariables = {
+  pathParams: ZoneSnippetsSnippetRulesDeletePathParams;
+} & FetcherExtraProps;
+
+export const zoneSnippetsSnippetRulesDelete = (
+  variables: ZoneSnippetsSnippetRulesDeleteVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    ZoneSnippetsSnippetRulesDeleteResponse,
+    ZoneSnippetsSnippetRulesDeleteError,
+    undefined,
+    {},
+    {},
+    ZoneSnippetsSnippetRulesDeletePathParams
+  >({ url: '/zones/{zoneId}/snippets/snippet_rules', method: 'delete', ...variables, signal });
+
+export type ZoneSnippetsSnippetRulesPathParams = {
+  zoneId: Schemas.SnippetsIdentifier;
+};
+
+export type ZoneSnippetsSnippetRulesError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: Schemas.SnippetsApiResponseCommonFailure;
+    }
+  | {
+      status: 500;
+      payload: Schemas.SnippetsApiResponseCommonFailure;
+    }
+>;
+
+export type ZoneSnippetsSnippetRulesResponse = Schemas.SnippetsApiResponseCommon & {
+  result?: Schemas.SnippetsRules;
+};
+
+export type ZoneSnippetsSnippetRulesVariables = {
+  pathParams: ZoneSnippetsSnippetRulesPathParams;
+} & FetcherExtraProps;
+
+export const zoneSnippetsSnippetRules = (variables: ZoneSnippetsSnippetRulesVariables, signal?: AbortSignal) =>
+  fetch<
+    ZoneSnippetsSnippetRulesResponse,
+    ZoneSnippetsSnippetRulesError,
+    undefined,
+    {},
+    {},
+    ZoneSnippetsSnippetRulesPathParams
+  >({ url: '/zones/{zoneId}/snippets/snippet_rules', method: 'get', ...variables, signal });
+
+export type ZoneSnippetsSnippetRulesPutPathParams = {
+  zoneId: Schemas.SnippetsIdentifier;
+};
+
+export type ZoneSnippetsSnippetRulesPutError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: Schemas.SnippetsApiResponseCommonFailure;
+    }
+  | {
+      status: 500;
+      payload: Schemas.SnippetsApiResponseCommonFailure;
+    }
+>;
+
+export type ZoneSnippetsSnippetRulesPutResponse = Schemas.SnippetsApiResponseCommon & {
+  result?: Schemas.SnippetsRules;
+};
+
+export type ZoneSnippetsSnippetRulesPutRequestBody = {
+  rules?: Schemas.SnippetsRules;
+};
+
+export type ZoneSnippetsSnippetRulesPutVariables = {
+  body?: ZoneSnippetsSnippetRulesPutRequestBody;
+  pathParams: ZoneSnippetsSnippetRulesPutPathParams;
+} & FetcherExtraProps;
+
+export const zoneSnippetsSnippetRulesPut = (variables: ZoneSnippetsSnippetRulesPutVariables, signal?: AbortSignal) =>
+  fetch<
+    ZoneSnippetsSnippetRulesPutResponse,
+    ZoneSnippetsSnippetRulesPutError,
+    ZoneSnippetsSnippetRulesPutRequestBody,
+    {},
+    {},
+    ZoneSnippetsSnippetRulesPutPathParams
+  >({ url: '/zones/{zoneId}/snippets/snippet_rules', method: 'put', ...variables, signal });
+
+export type ZoneSnippetsSnippetDeletePathParams = {
+  zoneId: Schemas.SnippetsIdentifier;
+  snippetName: Schemas.SnippetsSnippetName;
+};
+
+export type ZoneSnippetsSnippetDeleteError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: Schemas.SnippetsApiResponseCommonFailure;
+    }
+  | {
+      status: 500;
+      payload: Schemas.SnippetsApiResponseCommonFailure;
+    }
+>;
+
+export type ZoneSnippetsSnippetDeleteResponse = Schemas.SnippetsApiResponseCommon;
+
+export type ZoneSnippetsSnippetDeleteVariables = {
+  pathParams: ZoneSnippetsSnippetDeletePathParams;
+} & FetcherExtraProps;
+
+export const zoneSnippetsSnippetDelete = (variables: ZoneSnippetsSnippetDeleteVariables, signal?: AbortSignal) =>
+  fetch<
+    ZoneSnippetsSnippetDeleteResponse,
+    ZoneSnippetsSnippetDeleteError,
+    undefined,
+    {},
+    {},
+    ZoneSnippetsSnippetDeletePathParams
+  >({ url: '/zones/{zoneId}/snippets/{snippetName}', method: 'delete', ...variables, signal });
+
+export type ZoneSnippetsSnippetPathParams = {
+  zoneId: Schemas.SnippetsIdentifier;
+  snippetName: Schemas.SnippetsSnippetName;
+};
+
+export type ZoneSnippetsSnippetError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: Schemas.SnippetsApiResponseCommonFailure;
+    }
+  | {
+      status: 500;
+      payload: Schemas.SnippetsApiResponseCommonFailure;
+    }
+>;
+
+export type ZoneSnippetsSnippetResponse = Schemas.SnippetsApiResponseCommon & {
+  result?: Schemas.SnippetsSnippet;
+};
+
+export type ZoneSnippetsSnippetVariables = {
+  pathParams: ZoneSnippetsSnippetPathParams;
+} & FetcherExtraProps;
+
+export const zoneSnippetsSnippet = (variables: ZoneSnippetsSnippetVariables, signal?: AbortSignal) =>
+  fetch<ZoneSnippetsSnippetResponse, ZoneSnippetsSnippetError, undefined, {}, {}, ZoneSnippetsSnippetPathParams>({
+    url: '/zones/{zoneId}/snippets/{snippetName}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type ZoneSnippetsSnippetPutPathParams = {
+  zoneId: Schemas.SnippetsIdentifier;
+  snippetName: Schemas.SnippetsSnippetName;
+};
+
+export type ZoneSnippetsSnippetPutError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: Schemas.SnippetsApiResponseCommonFailure;
+    }
+  | {
+      status: 500;
+      payload: Schemas.SnippetsApiResponseCommonFailure;
+    }
+>;
+
+export type ZoneSnippetsSnippetPutResponse = Schemas.SnippetsApiResponseCommon & {
+  result?: Schemas.SnippetsSnippet;
+};
+
+export type ZoneSnippetsSnippetPutRequestBody = {
+  /**
+   * Content files of uploaded snippet
+   *
+   * @example export { async function fetch(request, env) {return new Response('some_response') } }
+   */
+  files?: string;
+  metadata?: {
+    /**
+     * Main module name of uploaded snippet
+     *
+     * @example main.js
+     */
+    main_module?: string;
+  };
+};
+
+export type ZoneSnippetsSnippetPutVariables = {
+  body?: ZoneSnippetsSnippetPutRequestBody;
+  pathParams: ZoneSnippetsSnippetPutPathParams;
+} & FetcherExtraProps;
+
+export const zoneSnippetsSnippetPut = (variables: ZoneSnippetsSnippetPutVariables, signal?: AbortSignal) =>
+  fetch<
+    ZoneSnippetsSnippetPutResponse,
+    ZoneSnippetsSnippetPutError,
+    ZoneSnippetsSnippetPutRequestBody,
+    {},
+    {},
+    ZoneSnippetsSnippetPutPathParams
+  >({ url: '/zones/{zoneId}/snippets/{snippetName}', method: 'put', ...variables, signal });
+
+export type ZoneSnippetsSnippetContentPathParams = {
+  zoneId: Schemas.SnippetsIdentifier;
+  snippetName: Schemas.SnippetsSnippetName;
+};
+
+export type ZoneSnippetsSnippetContentError = Fetcher.ErrorWrapper<
+  | {
+      status: 400;
+      payload: Schemas.SnippetsApiResponseCommonFailure;
+    }
+  | {
+      status: 500;
+      payload: Schemas.SnippetsApiResponseCommonFailure;
+    }
+>;
+
+export type ZoneSnippetsSnippetContentResponse = {
+  /**
+   * Content files of uploaded snippet
+   *
+   * @example export { async function fetch(request, env) {return new Response('some_response') } }
+   */
+  files?: string;
+};
+
+export type ZoneSnippetsSnippetContentVariables = {
+  pathParams: ZoneSnippetsSnippetContentPathParams;
+} & FetcherExtraProps;
+
+export const zoneSnippetsSnippetContent = (variables: ZoneSnippetsSnippetContentVariables, signal?: AbortSignal) =>
+  fetch<
+    ZoneSnippetsSnippetContentResponse,
+    ZoneSnippetsSnippetContentError,
+    undefined,
+    {},
+    {},
+    ZoneSnippetsSnippetContentPathParams
+  >({ url: '/zones/{zoneId}/snippets/{snippetName}/content', method: 'get', ...variables, signal });
+
+export type SpectrumAggregateAnalyticsGetCurrentAggregatedAnalyticsPathParams = {
+  zoneId: Schemas.SpectrumAnalyticsIdentifier;
+};
+
+export type SpectrumAggregateAnalyticsGetCurrentAggregatedAnalyticsQueryParams = {
+  appID?: Schemas.SpectrumAnalyticsAppIdParam;
+  /**
+   * @example PDX
+   * @maxLength 3
+   */
+  colo_name?: string;
+};
+
+export type SpectrumAggregateAnalyticsGetCurrentAggregatedAnalyticsError = Fetcher.ErrorWrapper<{
+  status: ClientErrorStatus;
+  payload: Schemas.SpectrumAnalyticsApiResponseCommonFailure;
+}>;
+
+export type SpectrumAggregateAnalyticsGetCurrentAggregatedAnalyticsVariables = {
+  pathParams: SpectrumAggregateAnalyticsGetCurrentAggregatedAnalyticsPathParams;
+  queryParams?: SpectrumAggregateAnalyticsGetCurrentAggregatedAnalyticsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Retrieves analytics aggregated from the last minute of usage on Spectrum applications underneath a given zone.
+ */
+export const spectrumAggregateAnalyticsGetCurrentAggregatedAnalytics = (
+  variables: SpectrumAggregateAnalyticsGetCurrentAggregatedAnalyticsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.SpectrumAnalyticsQueryResponseAggregate,
+    SpectrumAggregateAnalyticsGetCurrentAggregatedAnalyticsError,
+    undefined,
+    {},
+    SpectrumAggregateAnalyticsGetCurrentAggregatedAnalyticsQueryParams,
+    SpectrumAggregateAnalyticsGetCurrentAggregatedAnalyticsPathParams
+  >({ url: '/zones/{zoneId}/spectrum/analytics/aggregate/current', method: 'get', ...variables, signal });
+
+export type SpectrumAnalyticsByTimeGetAnalyticsByTimePathParams = {
+  zoneId: Schemas.SpectrumAnalyticsIdentifier;
+};
+
+export type SpectrumAnalyticsByTimeGetAnalyticsByTimeQueryParams = {
+  dimensions?: Schemas.SpectrumAnalyticsDimensions;
+  sort?: Schemas.SpectrumAnalyticsSort;
+  until?: Schemas.SpectrumAnalyticsUntil;
+  metrics?: Schemas.SpectrumAnalyticsMetrics;
+  filters?: Schemas.SpectrumAnalyticsFilters;
+  since?: Schemas.SpectrumAnalyticsSince;
+  /**
+   * @example minute
+   */
+  time_delta: 'year' | 'quarter' | 'month' | 'week' | 'day' | 'hour' | 'dekaminute' | 'minute';
+};
+
+export type SpectrumAnalyticsByTimeGetAnalyticsByTimeError = Fetcher.ErrorWrapper<{
+  status: ClientErrorStatus;
+  payload: Schemas.SpectrumAnalyticsApiResponseCommonFailure;
+}>;
+
+export type SpectrumAnalyticsByTimeGetAnalyticsByTimeVariables = {
+  pathParams: SpectrumAnalyticsByTimeGetAnalyticsByTimePathParams;
+  queryParams: SpectrumAnalyticsByTimeGetAnalyticsByTimeQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Retrieves a list of aggregate metrics grouped by time interval.
+ */
+export const spectrumAnalyticsByTimeGetAnalyticsByTime = (
+  variables: SpectrumAnalyticsByTimeGetAnalyticsByTimeVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.SpectrumAnalyticsQueryResponseSingle,
+    SpectrumAnalyticsByTimeGetAnalyticsByTimeError,
+    undefined,
+    {},
+    SpectrumAnalyticsByTimeGetAnalyticsByTimeQueryParams,
+    SpectrumAnalyticsByTimeGetAnalyticsByTimePathParams
+  >({ url: '/zones/{zoneId}/spectrum/analytics/events/bytime', method: 'get', ...variables, signal });
+
+export type SpectrumAnalyticsSummaryGetAnalyticsSummaryPathParams = {
+  zoneId: Schemas.SpectrumAnalyticsIdentifier;
+};
+
+export type SpectrumAnalyticsSummaryGetAnalyticsSummaryQueryParams = {
+  dimensions?: Schemas.SpectrumAnalyticsDimensions;
+  sort?: Schemas.SpectrumAnalyticsSort;
+  until?: Schemas.SpectrumAnalyticsUntil;
+  metrics?: Schemas.SpectrumAnalyticsMetrics;
+  filters?: Schemas.SpectrumAnalyticsFilters;
+  since?: Schemas.SpectrumAnalyticsSince;
+};
+
+export type SpectrumAnalyticsSummaryGetAnalyticsSummaryError = Fetcher.ErrorWrapper<{
+  status: ClientErrorStatus;
+  payload: Schemas.SpectrumAnalyticsApiResponseCommonFailure;
+}>;
+
+export type SpectrumAnalyticsSummaryGetAnalyticsSummaryVariables = {
+  pathParams: SpectrumAnalyticsSummaryGetAnalyticsSummaryPathParams;
+  queryParams?: SpectrumAnalyticsSummaryGetAnalyticsSummaryQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Retrieves a list of summarised aggregate metrics over a given time period.
+ */
+export const spectrumAnalyticsSummaryGetAnalyticsSummary = (
+  variables: SpectrumAnalyticsSummaryGetAnalyticsSummaryVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.SpectrumAnalyticsQueryResponseSingle,
+    SpectrumAnalyticsSummaryGetAnalyticsSummaryError,
+    undefined,
+    {},
+    SpectrumAnalyticsSummaryGetAnalyticsSummaryQueryParams,
+    SpectrumAnalyticsSummaryGetAnalyticsSummaryPathParams
+  >({ url: '/zones/{zoneId}/spectrum/analytics/events/summary', method: 'get', ...variables, signal });
+
+export type SpectrumApplicationsListSpectrumApplicationsPathParams = {
+  zoneId: Schemas.SpectrumConfigZoneIdentifier;
+};
+
+export type SpectrumApplicationsListSpectrumApplicationsQueryParams = {
+  /**
+   * @example 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * @default 20
+   * @maximum 100
+   * @minimum 1
+   */
+  per_page?: number;
+  /**
+   * @default asc
+   * @example desc
+   */
+  direction?: 'asc' | 'desc';
+  /**
+   * @default dns
+   * @example protocol
+   */
+  order?: 'protocol' | 'app_id' | 'created_on' | 'modified_on' | 'dns';
+};
+
+export type SpectrumApplicationsListSpectrumApplicationsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SpectrumConfigApiResponseCommonFailure;
+}>;
+
+export type SpectrumApplicationsListSpectrumApplicationsVariables = {
+  pathParams: SpectrumApplicationsListSpectrumApplicationsPathParams;
+  queryParams?: SpectrumApplicationsListSpectrumApplicationsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Retrieves a list of currently existing Spectrum applications inside a zone.
+ */
+export const spectrumApplicationsListSpectrumApplications = (
+  variables: SpectrumApplicationsListSpectrumApplicationsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.SpectrumConfigAppConfigCollection,
+    SpectrumApplicationsListSpectrumApplicationsError,
+    undefined,
+    {},
+    SpectrumApplicationsListSpectrumApplicationsQueryParams,
+    SpectrumApplicationsListSpectrumApplicationsPathParams
+  >({ url: '/zones/{zoneId}/spectrum/apps', method: 'get', ...variables, signal });
+
+export type SpectrumApplicationsCreateSpectrumApplicationUsingANameForTheOriginPathParams = {
+  zoneId: Schemas.SpectrumConfigZoneIdentifier;
+};
+
+export type SpectrumApplicationsCreateSpectrumApplicationUsingANameForTheOriginError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SpectrumConfigApiResponseCommonFailure;
+}>;
+
+export type SpectrumApplicationsCreateSpectrumApplicationUsingANameForTheOriginVariables = {
+  body?: Schemas.SpectrumConfigUpdateAppConfig;
+  pathParams: SpectrumApplicationsCreateSpectrumApplicationUsingANameForTheOriginPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new Spectrum application from a configuration using a name for the origin.
+ */
+export const spectrumApplicationsCreateSpectrumApplicationUsingANameForTheOrigin = (
+  variables: SpectrumApplicationsCreateSpectrumApplicationUsingANameForTheOriginVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.SpectrumConfigAppConfigSingle,
+    SpectrumApplicationsCreateSpectrumApplicationUsingANameForTheOriginError,
+    Schemas.SpectrumConfigUpdateAppConfig,
+    {},
+    {},
+    SpectrumApplicationsCreateSpectrumApplicationUsingANameForTheOriginPathParams
+  >({ url: '/zones/{zoneId}/spectrum/apps', method: 'post', ...variables, signal });
+
+export type SpectrumApplicationsDeleteSpectrumApplicationPathParams = {
+  appId: Schemas.SpectrumConfigAppIdentifier;
+  zoneId: Schemas.SpectrumConfigZoneIdentifier;
+};
+
+export type SpectrumApplicationsDeleteSpectrumApplicationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SpectrumConfigApiResponseCommonFailure;
+}>;
+
+export type SpectrumApplicationsDeleteSpectrumApplicationVariables = {
+  pathParams: SpectrumApplicationsDeleteSpectrumApplicationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes a previously existing application.
+ */
+export const spectrumApplicationsDeleteSpectrumApplication = (
+  variables: SpectrumApplicationsDeleteSpectrumApplicationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.SpectrumConfigApiResponseSingleId,
+    SpectrumApplicationsDeleteSpectrumApplicationError,
+    undefined,
+    {},
+    {},
+    SpectrumApplicationsDeleteSpectrumApplicationPathParams
+  >({ url: '/zones/{zoneId}/spectrum/apps/{appId}', method: 'delete', ...variables, signal });
+
+export type SpectrumApplicationsGetSpectrumApplicationConfigurationPathParams = {
+  appId: Schemas.SpectrumConfigAppIdentifier;
+  zoneId: Schemas.SpectrumConfigZoneIdentifier;
+};
+
+export type SpectrumApplicationsGetSpectrumApplicationConfigurationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.SpectrumConfigApiResponseCommonFailure;
+}>;
+
+export type SpectrumApplicationsGetSpectrumApplicationConfigurationVariables = {
+  pathParams: SpectrumApplicationsGetSpectrumApplicationConfigurationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Gets the application configuration of a specific application inside a zone.
+ */
+export const spectrumApplicationsGetSpectrumApplicationConfiguration = (
+  variables: SpectrumApplicationsGetSpectrumApplicationConfigurationVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.SpectrumConfigAppConfigSingle,
+    SpectrumApplicationsGetSpectrumApplicationConfigurationError,
+    undefined,
+    {},
+    {},
+    SpectrumApplicationsGetSpectrumApplicationConfigurationPathParams
+  >({ url: '/zones/{zoneId}/spectrum/apps/{appId}', method: 'get', ...variables, signal });
+
+export type SpectrumApplicationsUpdateSpectrumApplicationConfigurationUsingANameForTheOriginPathParams = {
+  appId: Schemas.SpectrumConfigAppIdentifier;
+  zoneId: Schemas.SpectrumConfigZoneIdentifier;
+};
+
+export type SpectrumApplicationsUpdateSpectrumApplicationConfigurationUsingANameForTheOriginError =
+  Fetcher.ErrorWrapper<{
+    status: 400;
+    payload: Schemas.SpectrumConfigApiResponseCommonFailure;
+  }>;
+
+export type SpectrumApplicationsUpdateSpectrumApplicationConfigurationUsingANameForTheOriginVariables = {
+  body?: Schemas.SpectrumConfigUpdateAppConfig;
+  pathParams: SpectrumApplicationsUpdateSpectrumApplicationConfigurationUsingANameForTheOriginPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a previously existing application's configuration that uses a name for the origin.
+ */
+export const spectrumApplicationsUpdateSpectrumApplicationConfigurationUsingANameForTheOrigin = (
+  variables: SpectrumApplicationsUpdateSpectrumApplicationConfigurationUsingANameForTheOriginVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.SpectrumConfigAppConfigSingle,
+    SpectrumApplicationsUpdateSpectrumApplicationConfigurationUsingANameForTheOriginError,
+    Schemas.SpectrumConfigUpdateAppConfig,
+    {},
+    {},
+    SpectrumApplicationsUpdateSpectrumApplicationConfigurationUsingANameForTheOriginPathParams
+  >({ url: '/zones/{zoneId}/spectrum/apps/{appId}', method: 'put', ...variables, signal });
+
+export type SpeedGetAvailabilitiesPathParams = {
+  zoneId: Schemas.ObservatoryIdentifier;
+};
+
+export type SpeedGetAvailabilitiesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ObservatoryApiResponseCommonFailure;
+}>;
+
+export type SpeedGetAvailabilitiesVariables = {
+  pathParams: SpeedGetAvailabilitiesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Retrieves quota for all plans, as well as the current zone quota.
+ */
+export const speedGetAvailabilities = (variables: SpeedGetAvailabilitiesVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.ObservatoryAvailabilitiesResponse,
+    SpeedGetAvailabilitiesError,
+    undefined,
+    {},
+    {},
+    SpeedGetAvailabilitiesPathParams
+  >({ url: '/zones/{zoneId}/speed_api/availabilities', method: 'get', ...variables, signal });
+
+export type SpeedListPagesPathParams = {
+  zoneId: Schemas.ObservatoryIdentifier;
+};
+
+export type SpeedListPagesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ObservatoryApiResponseCommonFailure;
+}>;
+
+export type SpeedListPagesVariables = {
+  pathParams: SpeedListPagesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists all webpages which have been tested.
+ */
+export const speedListPages = (variables: SpeedListPagesVariables, signal?: AbortSignal) =>
+  fetch<Schemas.ObservatoryPagesResponseCollection, SpeedListPagesError, undefined, {}, {}, SpeedListPagesPathParams>({
+    url: '/zones/{zoneId}/speed_api/pages',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type SpeedDeleteTestsPathParams = {
+  zoneId: Schemas.ObservatoryIdentifier;
+  url: Schemas.ObservatoryUrl;
+};
+
+export type SpeedDeleteTestsQueryParams = {
+  /**
+   * A test region.
+   *
+   * @example us-central1
+   * @default us-central1
+   */
+  region?: Schemas.ObservatoryRegion & void;
+};
+
+export type SpeedDeleteTestsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ObservatoryApiResponseCommonFailure;
+}>;
+
+export type SpeedDeleteTestsVariables = {
+  pathParams: SpeedDeleteTestsPathParams;
+  queryParams?: SpeedDeleteTestsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes all tests for a specific webpage from a specific region. Deleted tests are still counted as part of the quota.
+ */
+export const speedDeleteTests = (variables: SpeedDeleteTestsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.ObservatoryCountResponse,
+    SpeedDeleteTestsError,
+    undefined,
+    {},
+    SpeedDeleteTestsQueryParams,
+    SpeedDeleteTestsPathParams
+  >({ url: '/zones/{zoneId}/speed_api/pages/{url}/tests', method: 'delete', ...variables, signal });
+
+export type SpeedListTestHistoryPathParams = {
+  zoneId: Schemas.ObservatoryIdentifier;
+  url: Schemas.ObservatoryUrl;
+};
+
+export type SpeedListTestHistoryQueryParams = {
+  /**
+   * @default 1
+   */
+  page?: number;
+  /**
+   * @default 20
+   * @maximum 50
+   * @minimum 5
+   */
+  per_page?: number;
+  /**
+   * A test region.
+   *
+   * @example us-central1
+   * @default us-central1
+   */
+  region?: Schemas.ObservatoryRegion & void;
+};
+
+export type SpeedListTestHistoryError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ObservatoryApiResponseCommonFailure;
+}>;
+
+export type SpeedListTestHistoryVariables = {
+  pathParams: SpeedListTestHistoryPathParams;
+  queryParams?: SpeedListTestHistoryQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Test history (list of tests) for a specific webpage.
+ */
+export const speedListTestHistory = (variables: SpeedListTestHistoryVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.ObservatoryPageTestResponseCollection,
+    SpeedListTestHistoryError,
+    undefined,
+    {},
+    SpeedListTestHistoryQueryParams,
+    SpeedListTestHistoryPathParams
+  >({ url: '/zones/{zoneId}/speed_api/pages/{url}/tests', method: 'get', ...variables, signal });
+
+export type SpeedCreateTestPathParams = {
+  zoneId: Schemas.ObservatoryIdentifier;
+  url: Schemas.ObservatoryUrl;
+};
+
+export type SpeedCreateTestError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ObservatoryApiResponseCommonFailure;
+}>;
+
+export type SpeedCreateTestRequestBody = {
+  /**
+   * A test region.
+   *
+   * @example us-central1
+   * @default us-central1
+   */
+  region?: Schemas.ObservatoryRegion & void;
+};
+
+export type SpeedCreateTestVariables = {
+  body?: SpeedCreateTestRequestBody;
+  pathParams: SpeedCreateTestPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Starts a test for a specific webpage, in a specific region.
+ */
+export const speedCreateTest = (variables: SpeedCreateTestVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.ObservatoryPageTestResponseSingle,
+    SpeedCreateTestError,
+    SpeedCreateTestRequestBody,
+    {},
+    {},
+    SpeedCreateTestPathParams
+  >({ url: '/zones/{zoneId}/speed_api/pages/{url}/tests', method: 'post', ...variables, signal });
+
+export type SpeedGetTestPathParams = {
+  zoneId: Schemas.ObservatoryIdentifier;
+  url: Schemas.ObservatoryUrl;
+  testId: string;
+};
+
+export type SpeedGetTestError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ObservatoryApiResponseCommonFailure;
+}>;
+
+export type SpeedGetTestVariables = {
+  pathParams: SpeedGetTestPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Retrieves the result of a specific test.
+ */
+export const speedGetTest = (variables: SpeedGetTestVariables, signal?: AbortSignal) =>
+  fetch<Schemas.ObservatoryPageTestResponseSingle, SpeedGetTestError, undefined, {}, {}, SpeedGetTestPathParams>({
+    url: '/zones/{zoneId}/speed_api/pages/{url}/tests/{testId}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type SpeedListPageTrendPathParams = {
+  zoneId: Schemas.ObservatoryIdentifier;
+  url: Schemas.ObservatoryUrl;
+};
+
+export type SpeedListPageTrendQueryParams = {
+  region: Schemas.ObservatoryRegion;
+  deviceType: Schemas.ObservatoryDeviceType;
+  start: Schemas.ObservatoryTimestamp;
+  end?: Schemas.ObservatoryTimestamp;
+  /**
+   * The timezone of the start and end timestamps.
+   */
+  tz: string;
+  /**
+   * A comma-separated list of metrics to include in the results.
+   *
+   * @example performanceScore,ttfb,fcp,si,lcp,tti,tbt,cls
+   */
+  metrics: string;
+};
+
+export type SpeedListPageTrendError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ObservatoryApiResponseCommonFailure;
+}>;
+
+export type SpeedListPageTrendVariables = {
+  pathParams: SpeedListPageTrendPathParams;
+  queryParams: SpeedListPageTrendQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists the core web vital metrics trend over time for a specific page.
+ */
+export const speedListPageTrend = (variables: SpeedListPageTrendVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.ObservatoryTrendResponse,
+    SpeedListPageTrendError,
+    undefined,
+    {},
+    SpeedListPageTrendQueryParams,
+    SpeedListPageTrendPathParams
+  >({ url: '/zones/{zoneId}/speed_api/pages/{url}/trend', method: 'get', ...variables, signal });
+
+export type SpeedDeleteTestSchedulePathParams = {
+  zoneId: Schemas.ObservatoryIdentifier;
+  url: Schemas.ObservatoryUrl;
+};
+
+export type SpeedDeleteTestScheduleQueryParams = {
+  /**
+   * A test region.
+   *
+   * @example us-central1
+   * @default us-central1
+   */
+  region?: Schemas.ObservatoryRegion & void;
+};
+
+export type SpeedDeleteTestScheduleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ObservatoryApiResponseCommonFailure;
+}>;
+
+export type SpeedDeleteTestScheduleVariables = {
+  pathParams: SpeedDeleteTestSchedulePathParams;
+  queryParams?: SpeedDeleteTestScheduleQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes a scheduled test for a page.
+ */
+export const speedDeleteTestSchedule = (variables: SpeedDeleteTestScheduleVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.ObservatoryCountResponse,
+    SpeedDeleteTestScheduleError,
+    undefined,
+    {},
+    SpeedDeleteTestScheduleQueryParams,
+    SpeedDeleteTestSchedulePathParams
+  >({ url: '/zones/{zoneId}/speed_api/schedule/{url}', method: 'delete', ...variables, signal });
+
+export type SpeedGetScheduledTestPathParams = {
+  zoneId: Schemas.ObservatoryIdentifier;
+  url: Schemas.ObservatoryUrl;
+};
+
+export type SpeedGetScheduledTestQueryParams = {
+  /**
+   * A test region.
+   *
+   * @example us-central1
+   * @default us-central1
+   */
+  region?: Schemas.ObservatoryRegion & void;
+};
+
+export type SpeedGetScheduledTestError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ObservatoryApiResponseCommonFailure;
+}>;
+
+export type SpeedGetScheduledTestVariables = {
+  pathParams: SpeedGetScheduledTestPathParams;
+  queryParams?: SpeedGetScheduledTestQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Retrieves the test schedule for a page in a specific region.
+ */
+export const speedGetScheduledTest = (variables: SpeedGetScheduledTestVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.ObservatoryScheduleResponseSingle,
+    SpeedGetScheduledTestError,
+    undefined,
+    {},
+    SpeedGetScheduledTestQueryParams,
+    SpeedGetScheduledTestPathParams
+  >({ url: '/zones/{zoneId}/speed_api/schedule/{url}', method: 'get', ...variables, signal });
+
+export type SpeedCreateScheduledTestPathParams = {
+  zoneId: Schemas.ObservatoryIdentifier;
+  url: Schemas.ObservatoryUrl;
+};
+
+export type SpeedCreateScheduledTestQueryParams = {
+  /**
+   * A test region.
+   *
+   * @example us-central1
+   * @default us-central1
+   */
+  region?: Schemas.ObservatoryRegion & void;
+};
+
+export type SpeedCreateScheduledTestError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.ObservatoryApiResponseCommonFailure;
+}>;
+
+export type SpeedCreateScheduledTestVariables = {
+  pathParams: SpeedCreateScheduledTestPathParams;
+  queryParams?: SpeedCreateScheduledTestQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a scheduled test for a page.
+ */
+export const speedCreateScheduledTest = (variables: SpeedCreateScheduledTestVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.ObservatoryCreateScheduleResponse,
+    SpeedCreateScheduledTestError,
+    undefined,
+    {},
+    SpeedCreateScheduledTestQueryParams,
+    SpeedCreateScheduledTestPathParams
+  >({ url: '/zones/{zoneId}/speed_api/schedule/{url}', method: 'post', ...variables, signal });
+
+export type AnalyzeCertificateAnalyzeCertificatePathParams = {
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type AnalyzeCertificateAnalyzeCertificateError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesCertificateAnalyzeResponse &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type AnalyzeCertificateAnalyzeCertificateRequestBody = {
+  bundle_method?: Schemas.TlsCertificatesAndHostnamesBundleMethod;
+  certificate?: Schemas.TlsCertificatesAndHostnamesCertificate;
+};
+
+export type AnalyzeCertificateAnalyzeCertificateVariables = {
+  body?: AnalyzeCertificateAnalyzeCertificateRequestBody;
+  pathParams: AnalyzeCertificateAnalyzeCertificatePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Returns the set of hostnames, the signature algorithm, and the expiration date of the certificate.
+ */
+export const analyzeCertificateAnalyzeCertificate = (
+  variables: AnalyzeCertificateAnalyzeCertificateVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesCertificateAnalyzeResponse,
+    AnalyzeCertificateAnalyzeCertificateError,
+    AnalyzeCertificateAnalyzeCertificateRequestBody,
+    {},
+    {},
+    AnalyzeCertificateAnalyzeCertificatePathParams
+  >({ url: '/zones/{zoneId}/ssl/analyze', method: 'post', ...variables, signal });
+
+export type CertificatePacksListCertificatePacksPathParams = {
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type CertificatePacksListCertificatePacksQueryParams = {
+  /**
+   * @example all
+   */
+  status?: 'all';
+};
+
+export type CertificatePacksListCertificatePacksError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesCertificatePackResponseCollection &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type CertificatePacksListCertificatePacksVariables = {
+  pathParams: CertificatePacksListCertificatePacksPathParams;
+  queryParams?: CertificatePacksListCertificatePacksQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * For a given zone, list all active certificate packs.
+ */
+export const certificatePacksListCertificatePacks = (
+  variables: CertificatePacksListCertificatePacksVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesCertificatePackResponseCollection,
+    CertificatePacksListCertificatePacksError,
+    undefined,
+    {},
+    CertificatePacksListCertificatePacksQueryParams,
+    CertificatePacksListCertificatePacksPathParams
+  >({ url: '/zones/{zoneId}/ssl/certificate_packs', method: 'get', ...variables, signal });
+
+export type CertificatePacksOrderAdvancedCertificateManagerCertificatePackPathParams = {
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type CertificatePacksOrderAdvancedCertificateManagerCertificatePackError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesAdvancedCertificatePackResponseSingle &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type CertificatePacksOrderAdvancedCertificateManagerCertificatePackRequestBody = {
+  certificate_authority: Schemas.TlsCertificatesAndHostnamesSchemasCertificateAuthority;
+  cloudflare_branding?: Schemas.TlsCertificatesAndHostnamesCloudflareBranding;
+  hosts: Schemas.TlsCertificatesAndHostnamesSchemasHosts;
+  type: Schemas.TlsCertificatesAndHostnamesAdvancedType;
+  validation_method: Schemas.TlsCertificatesAndHostnamesValidationMethod;
+  validity_days: Schemas.TlsCertificatesAndHostnamesValidityDays;
+};
+
+export type CertificatePacksOrderAdvancedCertificateManagerCertificatePackVariables = {
+  body: CertificatePacksOrderAdvancedCertificateManagerCertificatePackRequestBody;
+  pathParams: CertificatePacksOrderAdvancedCertificateManagerCertificatePackPathParams;
+} & FetcherExtraProps;
+
+/**
+ * For a given zone, order an advanced certificate pack.
+ */
+export const certificatePacksOrderAdvancedCertificateManagerCertificatePack = (
+  variables: CertificatePacksOrderAdvancedCertificateManagerCertificatePackVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesAdvancedCertificatePackResponseSingle,
+    CertificatePacksOrderAdvancedCertificateManagerCertificatePackError,
+    CertificatePacksOrderAdvancedCertificateManagerCertificatePackRequestBody,
+    {},
+    {},
+    CertificatePacksOrderAdvancedCertificateManagerCertificatePackPathParams
+  >({ url: '/zones/{zoneId}/ssl/certificate_packs/order', method: 'post', ...variables, signal });
+
+export type CertificatePacksGetCertificatePackQuotasPathParams = {
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type CertificatePacksGetCertificatePackQuotasError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesCertificatePackQuotaResponse &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type CertificatePacksGetCertificatePackQuotasVariables = {
+  pathParams: CertificatePacksGetCertificatePackQuotasPathParams;
+} & FetcherExtraProps;
+
+/**
+ * For a given zone, list certificate pack quotas.
+ */
+export const certificatePacksGetCertificatePackQuotas = (
+  variables: CertificatePacksGetCertificatePackQuotasVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesCertificatePackQuotaResponse,
+    CertificatePacksGetCertificatePackQuotasError,
+    undefined,
+    {},
+    {},
+    CertificatePacksGetCertificatePackQuotasPathParams
+  >({ url: '/zones/{zoneId}/ssl/certificate_packs/quota', method: 'get', ...variables, signal });
+
+export type CertificatePacksDeleteAdvancedCertificateManagerCertificatePackPathParams = {
+  certificatePackId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type CertificatePacksDeleteAdvancedCertificateManagerCertificatePackError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesDeleteAdvancedCertificatePackResponseSingle &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type CertificatePacksDeleteAdvancedCertificateManagerCertificatePackVariables = {
+  pathParams: CertificatePacksDeleteAdvancedCertificateManagerCertificatePackPathParams;
+} & FetcherExtraProps;
+
+/**
+ * For a given zone, delete an advanced certificate pack.
+ */
+export const certificatePacksDeleteAdvancedCertificateManagerCertificatePack = (
+  variables: CertificatePacksDeleteAdvancedCertificateManagerCertificatePackVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesDeleteAdvancedCertificatePackResponseSingle,
+    CertificatePacksDeleteAdvancedCertificateManagerCertificatePackError,
+    undefined,
+    {},
+    {},
+    CertificatePacksDeleteAdvancedCertificateManagerCertificatePackPathParams
+  >({ url: '/zones/{zoneId}/ssl/certificate_packs/{certificatePackId}', method: 'delete', ...variables, signal });
+
+export type CertificatePacksGetCertificatePackPathParams = {
+  certificatePackId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type CertificatePacksGetCertificatePackError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesCertificatePackResponseSingle &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type CertificatePacksGetCertificatePackVariables = {
+  pathParams: CertificatePacksGetCertificatePackPathParams;
+} & FetcherExtraProps;
+
+/**
+ * For a given zone, get a certificate pack.
+ */
+export const certificatePacksGetCertificatePack = (
+  variables: CertificatePacksGetCertificatePackVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesCertificatePackResponseSingle,
+    CertificatePacksGetCertificatePackError,
+    undefined,
+    {},
+    {},
+    CertificatePacksGetCertificatePackPathParams
+  >({ url: '/zones/{zoneId}/ssl/certificate_packs/{certificatePackId}', method: 'get', ...variables, signal });
+
+export type CertificatePacksRestartValidationForAdvancedCertificateManagerCertificatePackPathParams = {
+  certificatePackId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type CertificatePacksRestartValidationForAdvancedCertificateManagerCertificatePackError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesAdvancedCertificatePackResponseSingle &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type CertificatePacksRestartValidationForAdvancedCertificateManagerCertificatePackRequestBody = {
+  cloudflare_branding?: Schemas.TlsCertificatesAndHostnamesCloudflareBranding;
+};
+
+export type CertificatePacksRestartValidationForAdvancedCertificateManagerCertificatePackVariables = {
+  body?: CertificatePacksRestartValidationForAdvancedCertificateManagerCertificatePackRequestBody;
+  pathParams: CertificatePacksRestartValidationForAdvancedCertificateManagerCertificatePackPathParams;
+} & FetcherExtraProps;
+
+/**
+ * For a given zone, restart validation or add cloudflare branding for an advanced certificate pack.  The former is only a validation operation for a Certificate Pack in a validation_timed_out status.
+ */
+export const certificatePacksRestartValidationForAdvancedCertificateManagerCertificatePack = (
+  variables: CertificatePacksRestartValidationForAdvancedCertificateManagerCertificatePackVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesAdvancedCertificatePackResponseSingle,
+    CertificatePacksRestartValidationForAdvancedCertificateManagerCertificatePackError,
+    CertificatePacksRestartValidationForAdvancedCertificateManagerCertificatePackRequestBody,
+    {},
+    {},
+    CertificatePacksRestartValidationForAdvancedCertificateManagerCertificatePackPathParams
+  >({ url: '/zones/{zoneId}/ssl/certificate_packs/{certificatePackId}', method: 'patch', ...variables, signal });
+
+export type UniversalSslSettingsForAZoneUniversalSslSettingsDetailsPathParams = {
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type UniversalSslSettingsForAZoneUniversalSslSettingsDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesSslUniversalSettingsResponse &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type UniversalSslSettingsForAZoneUniversalSslSettingsDetailsVariables = {
+  pathParams: UniversalSslSettingsForAZoneUniversalSslSettingsDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Get Universal SSL Settings for a Zone.
+ */
+export const universalSslSettingsForAZoneUniversalSslSettingsDetails = (
+  variables: UniversalSslSettingsForAZoneUniversalSslSettingsDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesSslUniversalSettingsResponse,
+    UniversalSslSettingsForAZoneUniversalSslSettingsDetailsError,
+    undefined,
+    {},
+    {},
+    UniversalSslSettingsForAZoneUniversalSslSettingsDetailsPathParams
+  >({ url: '/zones/{zoneId}/ssl/universal/settings', method: 'get', ...variables, signal });
+
+export type UniversalSslSettingsForAZoneEditUniversalSslSettingsPathParams = {
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type UniversalSslSettingsForAZoneEditUniversalSslSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesSslUniversalSettingsResponse &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type UniversalSslSettingsForAZoneEditUniversalSslSettingsVariables = {
+  body?: Schemas.TlsCertificatesAndHostnamesUniversal;
+  pathParams: UniversalSslSettingsForAZoneEditUniversalSslSettingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Patch Universal SSL Settings for a Zone.
+ */
+export const universalSslSettingsForAZoneEditUniversalSslSettings = (
+  variables: UniversalSslSettingsForAZoneEditUniversalSslSettingsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesSslUniversalSettingsResponse,
+    UniversalSslSettingsForAZoneEditUniversalSslSettingsError,
+    Schemas.TlsCertificatesAndHostnamesUniversal,
+    {},
+    {},
+    UniversalSslSettingsForAZoneEditUniversalSslSettingsPathParams
+  >({ url: '/zones/{zoneId}/ssl/universal/settings', method: 'patch', ...variables, signal });
+
+export type SslVerificationSslVerificationDetailsPathParams = {
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type SslVerificationSslVerificationDetailsQueryParams = {
+  /**
+   * @example true
+   */
+  retry?: true;
+};
+
+export type SslVerificationSslVerificationDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesSslVerificationResponseCollection &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type SslVerificationSslVerificationDetailsVariables = {
+  pathParams: SslVerificationSslVerificationDetailsPathParams;
+  queryParams?: SslVerificationSslVerificationDetailsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Get SSL Verification Info for a Zone.
+ */
+export const sslVerificationSslVerificationDetails = (
+  variables: SslVerificationSslVerificationDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesSslVerificationResponseCollection,
+    SslVerificationSslVerificationDetailsError,
+    undefined,
+    {},
+    SslVerificationSslVerificationDetailsQueryParams,
+    SslVerificationSslVerificationDetailsPathParams
+  >({ url: '/zones/{zoneId}/ssl/verification', method: 'get', ...variables, signal });
+
+export type SslVerificationEditSslCertificatePackValidationMethodPathParams = {
+  certificatePackId: Schemas.TlsCertificatesAndHostnamesCertPackUuid;
+  zoneId: Schemas.TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type SslVerificationEditSslCertificatePackValidationMethodError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.TlsCertificatesAndHostnamesSslValidationMethodResponseCollection &
+    Schemas.TlsCertificatesAndHostnamesApiResponseCommonFailure;
+}>;
+
+export type SslVerificationEditSslCertificatePackValidationMethodVariables = {
+  body: Schemas.TlsCertificatesAndHostnamesComponentsSchemasValidationMethod;
+  pathParams: SslVerificationEditSslCertificatePackValidationMethodPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Edit SSL validation method for a certificate pack. A PATCH request will request an immediate validation check on any certificate, and return the updated status. If a validation method is provided, the validation will be immediately attempted using that method.
+ */
+export const sslVerificationEditSslCertificatePackValidationMethod = (
+  variables: SslVerificationEditSslCertificatePackValidationMethodVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.TlsCertificatesAndHostnamesSslValidationMethodResponseCollection,
+    SslVerificationEditSslCertificatePackValidationMethodError,
+    Schemas.TlsCertificatesAndHostnamesComponentsSchemasValidationMethod,
+    {},
+    {},
+    SslVerificationEditSslCertificatePackValidationMethodPathParams
+  >({ url: '/zones/{zoneId}/ssl/verification/{certificatePackId}', method: 'patch', ...variables, signal });
+
+export type DeleteUrlNormalizationPathParams = {
+  zoneId: Schemas.RulesetsZoneId;
+};
+
+export type DeleteUrlNormalizationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type DeleteUrlNormalizationVariables = {
+  pathParams: DeleteUrlNormalizationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes the URL Normalization settings.
+ */
+export const deleteUrlNormalization = (variables: DeleteUrlNormalizationVariables, signal?: AbortSignal) =>
+  fetch<Responses.RulesetsEmpty, DeleteUrlNormalizationError, undefined, {}, {}, DeleteUrlNormalizationPathParams>({
+    url: '/zones/{zoneId}/url_normalization',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type GetUrlNormalizationPathParams = {
+  zoneId: Schemas.RulesetsZoneId;
+};
+
+export type GetUrlNormalizationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type GetUrlNormalizationVariables = {
+  pathParams: GetUrlNormalizationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the current URL Normalization settings.
+ */
+export const getUrlNormalization = (variables: GetUrlNormalizationVariables, signal?: AbortSignal) =>
+  fetch<Responses.RulesetsUrlNormalization, GetUrlNormalizationError, undefined, {}, {}, GetUrlNormalizationPathParams>(
+    { url: '/zones/{zoneId}/url_normalization', method: 'get', ...variables, signal }
+  );
+
+export type UpdateUrlNormalizationPathParams = {
+  zoneId: Schemas.RulesetsZoneId;
+};
+
+export type UpdateUrlNormalizationError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Responses.RulesetsFailure;
+}>;
+
+export type UpdateUrlNormalizationVariables = {
+  body: RequestBodies.RulesetsUrlNormalization;
+  pathParams: UpdateUrlNormalizationPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates the URL Normalization settings.
+ */
+export const updateUrlNormalization = (variables: UpdateUrlNormalizationVariables, signal?: AbortSignal) =>
+  fetch<
+    Responses.RulesetsUrlNormalization,
+    UpdateUrlNormalizationError,
+    RequestBodies.RulesetsUrlNormalization,
+    {},
+    {},
+    UpdateUrlNormalizationPathParams
+  >({ url: '/zones/{zoneId}/url_normalization', method: 'put', ...variables, signal });
+
+export type WaitingRoomListWaitingRoomsPathParams = {
+  zoneId: Schemas.WaitingroomIdentifier;
+};
+
+export type WaitingRoomListWaitingRoomsQueryParams = {
+  /**
+   * Page number of paginated results.
+   *
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * Maximum number of results per page. Must be a multiple of 5.
+   *
+   * @default 25
+   * @maximum 1000
+   * @minimum 5
+   */
+  per_page?: number;
+};
+
+export type WaitingRoomListWaitingRoomsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WaitingroomResponseCollection & Schemas.WaitingroomApiResponseCommonFailure;
+}>;
+
+export type WaitingRoomListWaitingRoomsVariables = {
+  pathParams: WaitingRoomListWaitingRoomsPathParams;
+  queryParams?: WaitingRoomListWaitingRoomsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists waiting rooms.
+ */
+export const waitingRoomListWaitingRooms = (variables: WaitingRoomListWaitingRoomsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WaitingroomResponseCollection,
+    WaitingRoomListWaitingRoomsError,
+    undefined,
+    {},
+    WaitingRoomListWaitingRoomsQueryParams,
+    WaitingRoomListWaitingRoomsPathParams
+  >({ url: '/zones/{zoneId}/waiting_rooms', method: 'get', ...variables, signal });
+
+export type WaitingRoomCreateWaitingRoomPathParams = {
+  zoneId: Schemas.WaitingroomIdentifier;
+};
+
+export type WaitingRoomCreateWaitingRoomError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WaitingroomSingleResponse & Schemas.WaitingroomApiResponseCommonFailure;
+}>;
+
+export type WaitingRoomCreateWaitingRoomVariables = {
+  body: Schemas.WaitingroomQueryWaitingroom;
+  pathParams: WaitingRoomCreateWaitingRoomPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a new waiting room.
+ */
+export const waitingRoomCreateWaitingRoom = (variables: WaitingRoomCreateWaitingRoomVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WaitingroomSingleResponse,
+    WaitingRoomCreateWaitingRoomError,
+    Schemas.WaitingroomQueryWaitingroom,
+    {},
+    {},
+    WaitingRoomCreateWaitingRoomPathParams
+  >({ url: '/zones/{zoneId}/waiting_rooms', method: 'post', ...variables, signal });
+
+export type WaitingRoomCreateACustomWaitingRoomPagePreviewPathParams = {
+  zoneId: Schemas.WaitingroomIdentifier;
+};
+
+export type WaitingRoomCreateACustomWaitingRoomPagePreviewError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WaitingroomPreviewResponse & Schemas.WaitingroomApiResponseCommonFailure;
+}>;
+
+export type WaitingRoomCreateACustomWaitingRoomPagePreviewVariables = {
+  body: Schemas.WaitingroomQueryPreview;
+  pathParams: WaitingRoomCreateACustomWaitingRoomPagePreviewPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a waiting room page preview. Upload a custom waiting room page for preview. You will receive a preview URL in the form `http://waitingrooms.dev/preview/<uuid>`. You can use the following query parameters to change the state of the preview:
+ * 1. `force_queue`: Boolean indicating if all users will be queued in the waiting room and no one will be let into the origin website (also known as queueAll).
+ * 2. `queue_is_full`: Boolean indicating if the waiting room's queue is currently full and not accepting new users at the moment.
+ * 3. `queueing_method`: The queueing method currently used by the waiting room.
+ * 	- **fifo** indicates a FIFO queue.
+ * 	- **random** indicates a Random queue.
+ * 	- **passthrough** indicates a Passthrough queue. Keep in mind that the waiting room page will only be displayed if `force_queue=true` or `event=prequeueing` — for other cases the request will pass through to the origin. For our preview, this will be a fake origin website returning "Welcome".
+ * 	- **reject** indicates a Reject queue.
+ * 4. `event`: Used to preview a waiting room event.
+ * 	- **none** indicates no event is occurring.
+ * 	- **prequeueing** indicates that an event is prequeueing (between `prequeue_start_time` and `event_start_time`).
+ * 	- **started** indicates that an event has started (between `event_start_time` and `event_end_time`).
+ * 5. `shuffle_at_event_start`: Boolean indicating if the event will shuffle users in the prequeue when it starts. This can only be set to **true** if an event is active (`event` is not **none**).
+ *
+ * For example, you can make a request to `http://waitingrooms.dev/preview/<uuid>?force_queue=false&queue_is_full=false&queueing_method=random&event=started&shuffle_at_event_start=true`
+ * 6. `waitTime`: Non-zero, positive integer indicating the estimated wait time in minutes. The default value is 10 minutes.
+ *
+ * For example, you can make a request to `http://waitingrooms.dev/preview/<uuid>?waitTime=50` to configure the estimated wait time as 50 minutes.
+ */
+export const waitingRoomCreateACustomWaitingRoomPagePreview = (
+  variables: WaitingRoomCreateACustomWaitingRoomPagePreviewVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WaitingroomPreviewResponse,
+    WaitingRoomCreateACustomWaitingRoomPagePreviewError,
+    Schemas.WaitingroomQueryPreview,
+    {},
+    {},
+    WaitingRoomCreateACustomWaitingRoomPagePreviewPathParams
+  >({ url: '/zones/{zoneId}/waiting_rooms/preview', method: 'post', ...variables, signal });
+
+export type WaitingRoomGetZoneSettingsPathParams = {
+  zoneId: Schemas.WaitingroomIdentifier;
+};
+
+export type WaitingRoomGetZoneSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WaitingroomZoneSettingsResponse & Schemas.WaitingroomApiResponseCommonFailure;
+}>;
+
+export type WaitingRoomGetZoneSettingsVariables = {
+  pathParams: WaitingRoomGetZoneSettingsPathParams;
+} & FetcherExtraProps;
+
+export const waitingRoomGetZoneSettings = (variables: WaitingRoomGetZoneSettingsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WaitingroomZoneSettingsResponse,
+    WaitingRoomGetZoneSettingsError,
+    undefined,
+    {},
+    {},
+    WaitingRoomGetZoneSettingsPathParams
+  >({ url: '/zones/{zoneId}/waiting_rooms/settings', method: 'get', ...variables, signal });
+
+export type WaitingRoomPatchZoneSettingsPathParams = {
+  zoneId: Schemas.WaitingroomIdentifier;
+};
+
+export type WaitingRoomPatchZoneSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WaitingroomZoneSettingsResponse & Schemas.WaitingroomApiResponseCommonFailure;
+}>;
+
+export type WaitingRoomPatchZoneSettingsVariables = {
+  body?: Schemas.WaitingroomZoneSettings;
+  pathParams: WaitingRoomPatchZoneSettingsPathParams;
+} & FetcherExtraProps;
+
+export const waitingRoomPatchZoneSettings = (variables: WaitingRoomPatchZoneSettingsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WaitingroomZoneSettingsResponse,
+    WaitingRoomPatchZoneSettingsError,
+    Schemas.WaitingroomZoneSettings,
+    {},
+    {},
+    WaitingRoomPatchZoneSettingsPathParams
+  >({ url: '/zones/{zoneId}/waiting_rooms/settings', method: 'patch', ...variables, signal });
+
+export type WaitingRoomUpdateZoneSettingsPathParams = {
+  zoneId: Schemas.WaitingroomIdentifier;
+};
+
+export type WaitingRoomUpdateZoneSettingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WaitingroomZoneSettingsResponse & Schemas.WaitingroomApiResponseCommonFailure;
+}>;
+
+export type WaitingRoomUpdateZoneSettingsVariables = {
+  body?: Schemas.WaitingroomZoneSettings;
+  pathParams: WaitingRoomUpdateZoneSettingsPathParams;
+} & FetcherExtraProps;
+
+export const waitingRoomUpdateZoneSettings = (
+  variables: WaitingRoomUpdateZoneSettingsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WaitingroomZoneSettingsResponse,
+    WaitingRoomUpdateZoneSettingsError,
+    Schemas.WaitingroomZoneSettings,
+    {},
+    {},
+    WaitingRoomUpdateZoneSettingsPathParams
+  >({ url: '/zones/{zoneId}/waiting_rooms/settings', method: 'put', ...variables, signal });
+
+export type WaitingRoomDeleteWaitingRoomPathParams = {
+  waitingRoomId: Schemas.WaitingroomWaitingRoomId;
+  zoneId: Schemas.WaitingroomIdentifier;
+};
+
+export type WaitingRoomDeleteWaitingRoomError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WaitingroomWaitingRoomIdResponse & Schemas.WaitingroomApiResponseCommonFailure;
+}>;
+
+export type WaitingRoomDeleteWaitingRoomVariables = {
+  pathParams: WaitingRoomDeleteWaitingRoomPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes a waiting room.
+ */
+export const waitingRoomDeleteWaitingRoom = (variables: WaitingRoomDeleteWaitingRoomVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WaitingroomWaitingRoomIdResponse,
+    WaitingRoomDeleteWaitingRoomError,
+    undefined,
+    {},
+    {},
+    WaitingRoomDeleteWaitingRoomPathParams
+  >({ url: '/zones/{zoneId}/waiting_rooms/{waitingRoomId}', method: 'delete', ...variables, signal });
+
+export type WaitingRoomWaitingRoomDetailsPathParams = {
+  waitingRoomId: Schemas.WaitingroomWaitingRoomId;
+  zoneId: Schemas.WaitingroomIdentifier;
+};
+
+export type WaitingRoomWaitingRoomDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WaitingroomSingleResponse & Schemas.WaitingroomApiResponseCommonFailure;
+}>;
+
+export type WaitingRoomWaitingRoomDetailsVariables = {
+  pathParams: WaitingRoomWaitingRoomDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a single configured waiting room.
+ */
+export const waitingRoomWaitingRoomDetails = (
+  variables: WaitingRoomWaitingRoomDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WaitingroomSingleResponse,
+    WaitingRoomWaitingRoomDetailsError,
+    undefined,
+    {},
+    {},
+    WaitingRoomWaitingRoomDetailsPathParams
+  >({ url: '/zones/{zoneId}/waiting_rooms/{waitingRoomId}', method: 'get', ...variables, signal });
+
+export type WaitingRoomPatchWaitingRoomPathParams = {
+  waitingRoomId: Schemas.WaitingroomWaitingRoomId;
+  zoneId: Schemas.WaitingroomIdentifier;
+};
+
+export type WaitingRoomPatchWaitingRoomError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WaitingroomSingleResponse & Schemas.WaitingroomApiResponseCommonFailure;
+}>;
+
+export type WaitingRoomPatchWaitingRoomVariables = {
+  body: Schemas.WaitingroomQueryWaitingroom;
+  pathParams: WaitingRoomPatchWaitingRoomPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Patches a configured waiting room.
+ */
+export const waitingRoomPatchWaitingRoom = (variables: WaitingRoomPatchWaitingRoomVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WaitingroomSingleResponse,
+    WaitingRoomPatchWaitingRoomError,
+    Schemas.WaitingroomQueryWaitingroom,
+    {},
+    {},
+    WaitingRoomPatchWaitingRoomPathParams
+  >({ url: '/zones/{zoneId}/waiting_rooms/{waitingRoomId}', method: 'patch', ...variables, signal });
+
+export type WaitingRoomUpdateWaitingRoomPathParams = {
+  waitingRoomId: Schemas.WaitingroomWaitingRoomId;
+  zoneId: Schemas.WaitingroomIdentifier;
+};
+
+export type WaitingRoomUpdateWaitingRoomError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WaitingroomSingleResponse & Schemas.WaitingroomApiResponseCommonFailure;
+}>;
+
+export type WaitingRoomUpdateWaitingRoomVariables = {
+  body: Schemas.WaitingroomQueryWaitingroom;
+  pathParams: WaitingRoomUpdateWaitingRoomPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a configured waiting room.
+ */
+export const waitingRoomUpdateWaitingRoom = (variables: WaitingRoomUpdateWaitingRoomVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WaitingroomSingleResponse,
+    WaitingRoomUpdateWaitingRoomError,
+    Schemas.WaitingroomQueryWaitingroom,
+    {},
+    {},
+    WaitingRoomUpdateWaitingRoomPathParams
+  >({ url: '/zones/{zoneId}/waiting_rooms/{waitingRoomId}', method: 'put', ...variables, signal });
+
+export type WaitingRoomListEventsPathParams = {
+  waitingRoomId: Schemas.WaitingroomWaitingRoomId;
+  zoneId: Schemas.WaitingroomIdentifier;
+};
+
+export type WaitingRoomListEventsQueryParams = {
+  /**
+   * Page number of paginated results.
+   *
+   * @default 1
+   * @minimum 1
+   */
+  page?: number;
+  /**
+   * Maximum number of results per page. Must be a multiple of 5.
+   *
+   * @default 25
+   * @maximum 1000
+   * @minimum 5
+   */
+  per_page?: number;
+};
+
+export type WaitingRoomListEventsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WaitingroomEventResponseCollection & Schemas.WaitingroomApiResponseCommonFailure;
+}>;
+
+export type WaitingRoomListEventsVariables = {
+  pathParams: WaitingRoomListEventsPathParams;
+  queryParams?: WaitingRoomListEventsQueryParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists events for a waiting room.
+ */
+export const waitingRoomListEvents = (variables: WaitingRoomListEventsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WaitingroomEventResponseCollection,
+    WaitingRoomListEventsError,
+    undefined,
+    {},
+    WaitingRoomListEventsQueryParams,
+    WaitingRoomListEventsPathParams
+  >({ url: '/zones/{zoneId}/waiting_rooms/{waitingRoomId}/events', method: 'get', ...variables, signal });
+
+export type WaitingRoomCreateEventPathParams = {
+  waitingRoomId: Schemas.WaitingroomWaitingRoomId;
+  zoneId: Schemas.WaitingroomIdentifier;
+};
+
+export type WaitingRoomCreateEventError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WaitingroomEventResponse & Schemas.WaitingroomApiResponseCommonFailure;
+}>;
+
+export type WaitingRoomCreateEventVariables = {
+  body: Schemas.WaitingroomQueryEvent;
+  pathParams: WaitingRoomCreateEventPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Only available for the Waiting Room Advanced subscription. Creates an event for a waiting room. An event takes place during a specified period of time, temporarily changing the behavior of a waiting room. While the event is active, some of the properties in the event's configuration may either override or inherit from the waiting room's configuration. Note that events cannot overlap with each other, so only one event can be active at a time.
+ */
+export const waitingRoomCreateEvent = (variables: WaitingRoomCreateEventVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WaitingroomEventResponse,
+    WaitingRoomCreateEventError,
+    Schemas.WaitingroomQueryEvent,
+    {},
+    {},
+    WaitingRoomCreateEventPathParams
+  >({ url: '/zones/{zoneId}/waiting_rooms/{waitingRoomId}/events', method: 'post', ...variables, signal });
+
+export type WaitingRoomDeleteEventPathParams = {
+  eventId: Schemas.WaitingroomEventId;
+  waitingRoomId: Schemas.WaitingroomWaitingRoomId;
+  zoneId: Schemas.WaitingroomIdentifier;
+};
+
+export type WaitingRoomDeleteEventError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WaitingroomEventIdResponse & Schemas.WaitingroomApiResponseCommonFailure;
+}>;
+
+export type WaitingRoomDeleteEventVariables = {
+  pathParams: WaitingRoomDeleteEventPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes an event for a waiting room.
+ */
+export const waitingRoomDeleteEvent = (variables: WaitingRoomDeleteEventVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WaitingroomEventIdResponse,
+    WaitingRoomDeleteEventError,
+    undefined,
+    {},
+    {},
+    WaitingRoomDeleteEventPathParams
+  >({ url: '/zones/{zoneId}/waiting_rooms/{waitingRoomId}/events/{eventId}', method: 'delete', ...variables, signal });
+
+export type WaitingRoomEventDetailsPathParams = {
+  eventId: Schemas.WaitingroomEventId;
+  waitingRoomId: Schemas.WaitingroomWaitingRoomId;
+  zoneId: Schemas.WaitingroomIdentifier;
+};
+
+export type WaitingRoomEventDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WaitingroomEventResponse & Schemas.WaitingroomApiResponseCommonFailure;
+}>;
+
+export type WaitingRoomEventDetailsVariables = {
+  pathParams: WaitingRoomEventDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches a single configured event for a waiting room.
+ */
+export const waitingRoomEventDetails = (variables: WaitingRoomEventDetailsVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WaitingroomEventResponse,
+    WaitingRoomEventDetailsError,
+    undefined,
+    {},
+    {},
+    WaitingRoomEventDetailsPathParams
+  >({ url: '/zones/{zoneId}/waiting_rooms/{waitingRoomId}/events/{eventId}', method: 'get', ...variables, signal });
+
+export type WaitingRoomPatchEventPathParams = {
+  eventId: Schemas.WaitingroomEventId;
+  waitingRoomId: Schemas.WaitingroomWaitingRoomId;
+  zoneId: Schemas.WaitingroomIdentifier;
+};
+
+export type WaitingRoomPatchEventError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WaitingroomEventResponse & Schemas.WaitingroomApiResponseCommonFailure;
+}>;
+
+export type WaitingRoomPatchEventVariables = {
+  body: Schemas.WaitingroomQueryEvent;
+  pathParams: WaitingRoomPatchEventPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Patches a configured event for a waiting room.
+ */
+export const waitingRoomPatchEvent = (variables: WaitingRoomPatchEventVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WaitingroomEventResponse,
+    WaitingRoomPatchEventError,
+    Schemas.WaitingroomQueryEvent,
+    {},
+    {},
+    WaitingRoomPatchEventPathParams
+  >({ url: '/zones/{zoneId}/waiting_rooms/{waitingRoomId}/events/{eventId}', method: 'patch', ...variables, signal });
+
+export type WaitingRoomUpdateEventPathParams = {
+  eventId: Schemas.WaitingroomEventId;
+  waitingRoomId: Schemas.WaitingroomWaitingRoomId;
+  zoneId: Schemas.WaitingroomIdentifier;
+};
+
+export type WaitingRoomUpdateEventError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WaitingroomEventResponse & Schemas.WaitingroomApiResponseCommonFailure;
+}>;
+
+export type WaitingRoomUpdateEventVariables = {
+  body: Schemas.WaitingroomQueryEvent;
+  pathParams: WaitingRoomUpdateEventPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates a configured event for a waiting room.
+ */
+export const waitingRoomUpdateEvent = (variables: WaitingRoomUpdateEventVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WaitingroomEventResponse,
+    WaitingRoomUpdateEventError,
+    Schemas.WaitingroomQueryEvent,
+    {},
+    {},
+    WaitingRoomUpdateEventPathParams
+  >({ url: '/zones/{zoneId}/waiting_rooms/{waitingRoomId}/events/{eventId}', method: 'put', ...variables, signal });
+
+export type WaitingRoomPreviewActiveEventDetailsPathParams = {
+  eventId: Schemas.WaitingroomEventId;
+  waitingRoomId: Schemas.WaitingroomWaitingRoomId;
+  zoneId: Schemas.WaitingroomIdentifier;
+};
+
+export type WaitingRoomPreviewActiveEventDetailsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WaitingroomEventDetailsResponse & Schemas.WaitingroomApiResponseCommonFailure;
+}>;
+
+export type WaitingRoomPreviewActiveEventDetailsVariables = {
+  pathParams: WaitingRoomPreviewActiveEventDetailsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Previews an event's configuration as if it was active. Inherited fields from the waiting room will be displayed with their current values.
+ */
+export const waitingRoomPreviewActiveEventDetails = (
+  variables: WaitingRoomPreviewActiveEventDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WaitingroomEventDetailsResponse,
+    WaitingRoomPreviewActiveEventDetailsError,
+    undefined,
+    {},
+    {},
+    WaitingRoomPreviewActiveEventDetailsPathParams
+  >({
+    url: '/zones/{zoneId}/waiting_rooms/{waitingRoomId}/events/{eventId}/details',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type WaitingRoomListWaitingRoomRulesPathParams = {
+  waitingRoomId: Schemas.WaitingroomWaitingRoomId;
+  zoneId: Schemas.WaitingroomIdentifier;
+};
+
+export type WaitingRoomListWaitingRoomRulesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WaitingroomRulesResponseCollection & Schemas.WaitingroomApiResponseCommonFailure;
+}>;
+
+export type WaitingRoomListWaitingRoomRulesVariables = {
+  pathParams: WaitingRoomListWaitingRoomRulesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Lists rules for a waiting room.
+ */
+export const waitingRoomListWaitingRoomRules = (
+  variables: WaitingRoomListWaitingRoomRulesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WaitingroomRulesResponseCollection,
+    WaitingRoomListWaitingRoomRulesError,
+    undefined,
+    {},
+    {},
+    WaitingRoomListWaitingRoomRulesPathParams
+  >({ url: '/zones/{zoneId}/waiting_rooms/{waitingRoomId}/rules', method: 'get', ...variables, signal });
+
+export type WaitingRoomCreateWaitingRoomRulePathParams = {
+  waitingRoomId: Schemas.WaitingroomWaitingRoomId;
+  zoneId: Schemas.WaitingroomIdentifier;
+};
+
+export type WaitingRoomCreateWaitingRoomRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WaitingroomRulesResponseCollection & Schemas.WaitingroomApiResponseCommonFailure;
+}>;
+
+export type WaitingRoomCreateWaitingRoomRuleVariables = {
+  body: Schemas.WaitingroomCreateRule;
+  pathParams: WaitingRoomCreateWaitingRoomRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Only available for the Waiting Room Advanced subscription. Creates a rule for a waiting room.
+ */
+export const waitingRoomCreateWaitingRoomRule = (
+  variables: WaitingRoomCreateWaitingRoomRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WaitingroomRulesResponseCollection,
+    WaitingRoomCreateWaitingRoomRuleError,
+    Schemas.WaitingroomCreateRule,
+    {},
+    {},
+    WaitingRoomCreateWaitingRoomRulePathParams
+  >({ url: '/zones/{zoneId}/waiting_rooms/{waitingRoomId}/rules', method: 'post', ...variables, signal });
+
+export type WaitingRoomReplaceWaitingRoomRulesPathParams = {
+  waitingRoomId: Schemas.WaitingroomWaitingRoomId;
+  zoneId: Schemas.WaitingroomIdentifier;
+};
+
+export type WaitingRoomReplaceWaitingRoomRulesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WaitingroomRulesResponseCollection & Schemas.WaitingroomApiResponseCommonFailure;
+}>;
+
+export type WaitingRoomReplaceWaitingRoomRulesVariables = {
+  body?: Schemas.WaitingroomUpdateRules;
+  pathParams: WaitingRoomReplaceWaitingRoomRulesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Only available for the Waiting Room Advanced subscription. Replaces all rules for a waiting room.
+ */
+export const waitingRoomReplaceWaitingRoomRules = (
+  variables: WaitingRoomReplaceWaitingRoomRulesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WaitingroomRulesResponseCollection,
+    WaitingRoomReplaceWaitingRoomRulesError,
+    Schemas.WaitingroomUpdateRules,
+    {},
+    {},
+    WaitingRoomReplaceWaitingRoomRulesPathParams
+  >({ url: '/zones/{zoneId}/waiting_rooms/{waitingRoomId}/rules', method: 'put', ...variables, signal });
+
+export type WaitingRoomDeleteWaitingRoomRulePathParams = {
+  ruleId: Schemas.WaitingroomRuleId;
+  waitingRoomId: Schemas.WaitingroomWaitingRoomId;
+  zoneId: Schemas.WaitingroomIdentifier;
+};
+
+export type WaitingRoomDeleteWaitingRoomRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WaitingroomRulesResponseCollection & Schemas.WaitingroomApiResponseCommonFailure;
+}>;
+
+export type WaitingRoomDeleteWaitingRoomRuleVariables = {
+  pathParams: WaitingRoomDeleteWaitingRoomRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes a rule for a waiting room.
+ */
+export const waitingRoomDeleteWaitingRoomRule = (
+  variables: WaitingRoomDeleteWaitingRoomRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WaitingroomRulesResponseCollection,
+    WaitingRoomDeleteWaitingRoomRuleError,
+    undefined,
+    {},
+    {},
+    WaitingRoomDeleteWaitingRoomRulePathParams
+  >({ url: '/zones/{zoneId}/waiting_rooms/{waitingRoomId}/rules/{ruleId}', method: 'delete', ...variables, signal });
+
+export type WaitingRoomPatchWaitingRoomRulePathParams = {
+  ruleId: Schemas.WaitingroomRuleId;
+  waitingRoomId: Schemas.WaitingroomWaitingRoomId;
+  zoneId: Schemas.WaitingroomIdentifier;
+};
+
+export type WaitingRoomPatchWaitingRoomRuleError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WaitingroomRulesResponseCollection & Schemas.WaitingroomApiResponseCommonFailure;
+}>;
+
+export type WaitingRoomPatchWaitingRoomRuleVariables = {
+  body: Schemas.WaitingroomPatchRule;
+  pathParams: WaitingRoomPatchWaitingRoomRulePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Patches a rule for a waiting room.
+ */
+export const waitingRoomPatchWaitingRoomRule = (
+  variables: WaitingRoomPatchWaitingRoomRuleVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WaitingroomRulesResponseCollection,
+    WaitingRoomPatchWaitingRoomRuleError,
+    Schemas.WaitingroomPatchRule,
+    {},
+    {},
+    WaitingRoomPatchWaitingRoomRulePathParams
+  >({ url: '/zones/{zoneId}/waiting_rooms/{waitingRoomId}/rules/{ruleId}', method: 'patch', ...variables, signal });
+
+export type WaitingRoomGetWaitingRoomStatusPathParams = {
+  waitingRoomId: Schemas.WaitingroomWaitingRoomId;
+  zoneId: Schemas.WaitingroomIdentifier;
+};
+
+export type WaitingRoomGetWaitingRoomStatusError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WaitingroomStatusResponse & Schemas.WaitingroomApiResponseCommonFailure;
+}>;
+
+export type WaitingRoomGetWaitingRoomStatusVariables = {
+  pathParams: WaitingRoomGetWaitingRoomStatusPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetches the status of a configured waiting room. Response fields include:
+ * 1. `status`: String indicating the status of the waiting room. The possible status are:
+ * 	- **not_queueing** indicates that the configured thresholds have not been met and all users are going through to the origin.
+ * 	- **queueing** indicates that the thresholds have been met and some users are held in the waiting room.
+ * 	- **event_prequeueing** indicates that an event is active and is currently prequeueing users before it starts.
+ * 2. `event_id`: String of the current event's `id` if an event is active, otherwise an empty string.
+ * 3. `estimated_queued_users`: Integer of the estimated number of users currently waiting in the queue.
+ * 4. `estimated_total_active_users`: Integer of the estimated number of users currently active on the origin.
+ * 5. `max_estimated_time_minutes`: Integer of the maximum estimated time currently presented to the users.
+ */
+export const waitingRoomGetWaitingRoomStatus = (
+  variables: WaitingRoomGetWaitingRoomStatusVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WaitingroomStatusResponse,
+    WaitingRoomGetWaitingRoomStatusError,
+    undefined,
+    {},
+    {},
+    WaitingRoomGetWaitingRoomStatusPathParams
+  >({ url: '/zones/{zoneId}/waiting_rooms/{waitingRoomId}/status', method: 'get', ...variables, signal });
+
+export type Web3HostnameListWeb3HostnamesPathParams = {
+  zoneId: Schemas.Web3Identifier;
+};
+
+export type Web3HostnameListWeb3HostnamesError = Fetcher.ErrorWrapper<{
+  status: 500;
+  payload: Schemas.Web3CollectionResponse & Schemas.Web3ApiResponseCommonFailure;
+}>;
+
+export type Web3HostnameListWeb3HostnamesVariables = {
+  pathParams: Web3HostnameListWeb3HostnamesPathParams;
+} & FetcherExtraProps;
+
+export const web3HostnameListWeb3Hostnames = (
+  variables: Web3HostnameListWeb3HostnamesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.Web3CollectionResponse,
+    Web3HostnameListWeb3HostnamesError,
+    undefined,
+    {},
+    {},
+    Web3HostnameListWeb3HostnamesPathParams
+  >({ url: '/zones/{zoneId}/web3/hostnames', method: 'get', ...variables, signal });
+
+export type Web3HostnameCreateWeb3HostnamePathParams = {
+  zoneId: Schemas.Web3Identifier;
+};
+
+export type Web3HostnameCreateWeb3HostnameError = Fetcher.ErrorWrapper<{
+  status: 500;
+  payload: Schemas.Web3SingleResponse & Schemas.Web3ApiResponseCommonFailure;
+}>;
+
+export type Web3HostnameCreateWeb3HostnameVariables = {
+  body: Schemas.Web3CreateRequest;
+  pathParams: Web3HostnameCreateWeb3HostnamePathParams;
+} & FetcherExtraProps;
+
+export const web3HostnameCreateWeb3Hostname = (
+  variables: Web3HostnameCreateWeb3HostnameVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.Web3SingleResponse,
+    Web3HostnameCreateWeb3HostnameError,
+    Schemas.Web3CreateRequest,
+    {},
+    {},
+    Web3HostnameCreateWeb3HostnamePathParams
+  >({ url: '/zones/{zoneId}/web3/hostnames', method: 'post', ...variables, signal });
+
+export type Web3HostnameDeleteWeb3HostnamePathParams = {
+  identifier: Schemas.Web3Identifier;
+  zoneId: Schemas.Web3Identifier;
+};
+
+export type Web3HostnameDeleteWeb3HostnameError = Fetcher.ErrorWrapper<{
+  status: 500;
+  payload: Schemas.Web3ApiResponseSingleId & Schemas.Web3ApiResponseCommonFailure;
+}>;
+
+export type Web3HostnameDeleteWeb3HostnameVariables = {
+  pathParams: Web3HostnameDeleteWeb3HostnamePathParams;
+} & FetcherExtraProps;
+
+export const web3HostnameDeleteWeb3Hostname = (
+  variables: Web3HostnameDeleteWeb3HostnameVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.Web3ApiResponseSingleId,
+    Web3HostnameDeleteWeb3HostnameError,
+    undefined,
+    {},
+    {},
+    Web3HostnameDeleteWeb3HostnamePathParams
+  >({ url: '/zones/{zoneId}/web3/hostnames/{identifier}', method: 'delete', ...variables, signal });
+
+export type Web3HostnameWeb3HostnameDetailsPathParams = {
+  identifier: Schemas.Web3Identifier;
+  zoneId: Schemas.Web3Identifier;
+};
+
+export type Web3HostnameWeb3HostnameDetailsError = Fetcher.ErrorWrapper<{
+  status: 500;
+  payload: Schemas.Web3SingleResponse & Schemas.Web3ApiResponseCommonFailure;
+}>;
+
+export type Web3HostnameWeb3HostnameDetailsVariables = {
+  pathParams: Web3HostnameWeb3HostnameDetailsPathParams;
+} & FetcherExtraProps;
+
+export const web3HostnameWeb3HostnameDetails = (
+  variables: Web3HostnameWeb3HostnameDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.Web3SingleResponse,
+    Web3HostnameWeb3HostnameDetailsError,
+    undefined,
+    {},
+    {},
+    Web3HostnameWeb3HostnameDetailsPathParams
+  >({ url: '/zones/{zoneId}/web3/hostnames/{identifier}', method: 'get', ...variables, signal });
+
+export type Web3HostnameEditWeb3HostnamePathParams = {
+  identifier: Schemas.Web3Identifier;
+  zoneId: Schemas.Web3Identifier;
+};
+
+export type Web3HostnameEditWeb3HostnameError = Fetcher.ErrorWrapper<{
+  status: 500;
+  payload: Schemas.Web3SingleResponse & Schemas.Web3ApiResponseCommonFailure;
+}>;
+
+export type Web3HostnameEditWeb3HostnameVariables = {
+  body?: Schemas.Web3ModifyRequest;
+  pathParams: Web3HostnameEditWeb3HostnamePathParams;
+} & FetcherExtraProps;
+
+export const web3HostnameEditWeb3Hostname = (variables: Web3HostnameEditWeb3HostnameVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.Web3SingleResponse,
+    Web3HostnameEditWeb3HostnameError,
+    Schemas.Web3ModifyRequest,
+    {},
+    {},
+    Web3HostnameEditWeb3HostnamePathParams
+  >({ url: '/zones/{zoneId}/web3/hostnames/{identifier}', method: 'patch', ...variables, signal });
+
+export type Web3HostnameIpfsUniversalPathGatewayContentListDetailsPathParams = {
+  identifier: Schemas.Web3Identifier;
+  zoneId: Schemas.Web3Identifier;
+};
+
+export type Web3HostnameIpfsUniversalPathGatewayContentListDetailsError = Fetcher.ErrorWrapper<{
+  status: 500;
+  payload: Schemas.Web3ContentListDetailsResponse & Schemas.Web3ApiResponseCommonFailure;
+}>;
+
+export type Web3HostnameIpfsUniversalPathGatewayContentListDetailsVariables = {
+  pathParams: Web3HostnameIpfsUniversalPathGatewayContentListDetailsPathParams;
+} & FetcherExtraProps;
+
+export const web3HostnameIpfsUniversalPathGatewayContentListDetails = (
+  variables: Web3HostnameIpfsUniversalPathGatewayContentListDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.Web3ContentListDetailsResponse,
+    Web3HostnameIpfsUniversalPathGatewayContentListDetailsError,
+    undefined,
+    {},
+    {},
+    Web3HostnameIpfsUniversalPathGatewayContentListDetailsPathParams
+  >({
+    url: '/zones/{zoneId}/web3/hostnames/{identifier}/ipfs_universal_path/content_list',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type Web3HostnameUpdateIpfsUniversalPathGatewayContentListPathParams = {
+  identifier: Schemas.Web3Identifier;
+  zoneId: Schemas.Web3Identifier;
+};
+
+export type Web3HostnameUpdateIpfsUniversalPathGatewayContentListError = Fetcher.ErrorWrapper<{
+  status: 500;
+  payload: Schemas.Web3ContentListDetailsResponse & Schemas.Web3ApiResponseCommonFailure;
+}>;
+
+export type Web3HostnameUpdateIpfsUniversalPathGatewayContentListVariables = {
+  body: Schemas.Web3ContentListUpdateRequest;
+  pathParams: Web3HostnameUpdateIpfsUniversalPathGatewayContentListPathParams;
+} & FetcherExtraProps;
+
+export const web3HostnameUpdateIpfsUniversalPathGatewayContentList = (
+  variables: Web3HostnameUpdateIpfsUniversalPathGatewayContentListVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.Web3ContentListDetailsResponse,
+    Web3HostnameUpdateIpfsUniversalPathGatewayContentListError,
+    Schemas.Web3ContentListUpdateRequest,
+    {},
+    {},
+    Web3HostnameUpdateIpfsUniversalPathGatewayContentListPathParams
+  >({
+    url: '/zones/{zoneId}/web3/hostnames/{identifier}/ipfs_universal_path/content_list',
+    method: 'put',
+    ...variables,
+    signal
+  });
+
+export type Web3HostnameListIpfsUniversalPathGatewayContentListEntriesPathParams = {
+  identifier: Schemas.Web3Identifier;
+  zoneId: Schemas.Web3Identifier;
+};
+
+export type Web3HostnameListIpfsUniversalPathGatewayContentListEntriesError = Fetcher.ErrorWrapper<{
+  status: 500;
+  payload: Schemas.Web3ContentListEntryCollectionResponse & Schemas.Web3ApiResponseCommonFailure;
+}>;
+
+export type Web3HostnameListIpfsUniversalPathGatewayContentListEntriesVariables = {
+  pathParams: Web3HostnameListIpfsUniversalPathGatewayContentListEntriesPathParams;
+} & FetcherExtraProps;
+
+export const web3HostnameListIpfsUniversalPathGatewayContentListEntries = (
+  variables: Web3HostnameListIpfsUniversalPathGatewayContentListEntriesVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.Web3ContentListEntryCollectionResponse,
+    Web3HostnameListIpfsUniversalPathGatewayContentListEntriesError,
+    undefined,
+    {},
+    {},
+    Web3HostnameListIpfsUniversalPathGatewayContentListEntriesPathParams
+  >({
+    url: '/zones/{zoneId}/web3/hostnames/{identifier}/ipfs_universal_path/content_list/entries',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type Web3HostnameCreateIpfsUniversalPathGatewayContentListEntryPathParams = {
+  identifier: Schemas.Web3Identifier;
+  zoneId: Schemas.Web3Identifier;
+};
+
+export type Web3HostnameCreateIpfsUniversalPathGatewayContentListEntryError = Fetcher.ErrorWrapper<{
+  status: 500;
+  payload: Schemas.Web3ContentListEntrySingleResponse & Schemas.Web3ApiResponseCommonFailure;
+}>;
+
+export type Web3HostnameCreateIpfsUniversalPathGatewayContentListEntryVariables = {
+  body: Schemas.Web3ContentListEntryCreateRequest;
+  pathParams: Web3HostnameCreateIpfsUniversalPathGatewayContentListEntryPathParams;
+} & FetcherExtraProps;
+
+export const web3HostnameCreateIpfsUniversalPathGatewayContentListEntry = (
+  variables: Web3HostnameCreateIpfsUniversalPathGatewayContentListEntryVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.Web3ContentListEntrySingleResponse,
+    Web3HostnameCreateIpfsUniversalPathGatewayContentListEntryError,
+    Schemas.Web3ContentListEntryCreateRequest,
+    {},
+    {},
+    Web3HostnameCreateIpfsUniversalPathGatewayContentListEntryPathParams
+  >({
+    url: '/zones/{zoneId}/web3/hostnames/{identifier}/ipfs_universal_path/content_list/entries',
+    method: 'post',
+    ...variables,
+    signal
+  });
+
+export type Web3HostnameDeleteIpfsUniversalPathGatewayContentListEntryPathParams = {
+  contentListEntryIdentifier: Schemas.Web3Identifier;
+  identifier: Schemas.Web3Identifier;
+  zoneId: Schemas.Web3Identifier;
+};
+
+export type Web3HostnameDeleteIpfsUniversalPathGatewayContentListEntryError = Fetcher.ErrorWrapper<{
+  status: 500;
+  payload: Schemas.Web3ApiResponseSingleId & Schemas.Web3ApiResponseCommonFailure;
+}>;
+
+export type Web3HostnameDeleteIpfsUniversalPathGatewayContentListEntryVariables = {
+  pathParams: Web3HostnameDeleteIpfsUniversalPathGatewayContentListEntryPathParams;
+} & FetcherExtraProps;
+
+export const web3HostnameDeleteIpfsUniversalPathGatewayContentListEntry = (
+  variables: Web3HostnameDeleteIpfsUniversalPathGatewayContentListEntryVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.Web3ApiResponseSingleId,
+    Web3HostnameDeleteIpfsUniversalPathGatewayContentListEntryError,
+    undefined,
+    {},
+    {},
+    Web3HostnameDeleteIpfsUniversalPathGatewayContentListEntryPathParams
+  >({
+    url: '/zones/{zoneId}/web3/hostnames/{identifier}/ipfs_universal_path/content_list/entries/{contentListEntryIdentifier}',
+    method: 'delete',
+    ...variables,
+    signal
+  });
+
+export type Web3HostnameIpfsUniversalPathGatewayContentListEntryDetailsPathParams = {
+  contentListEntryIdentifier: Schemas.Web3Identifier;
+  identifier: Schemas.Web3Identifier;
+  zoneId: Schemas.Web3Identifier;
+};
+
+export type Web3HostnameIpfsUniversalPathGatewayContentListEntryDetailsError = Fetcher.ErrorWrapper<{
+  status: 500;
+  payload: Schemas.Web3ContentListEntrySingleResponse & Schemas.Web3ApiResponseCommonFailure;
+}>;
+
+export type Web3HostnameIpfsUniversalPathGatewayContentListEntryDetailsVariables = {
+  pathParams: Web3HostnameIpfsUniversalPathGatewayContentListEntryDetailsPathParams;
+} & FetcherExtraProps;
+
+export const web3HostnameIpfsUniversalPathGatewayContentListEntryDetails = (
+  variables: Web3HostnameIpfsUniversalPathGatewayContentListEntryDetailsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.Web3ContentListEntrySingleResponse,
+    Web3HostnameIpfsUniversalPathGatewayContentListEntryDetailsError,
+    undefined,
+    {},
+    {},
+    Web3HostnameIpfsUniversalPathGatewayContentListEntryDetailsPathParams
+  >({
+    url: '/zones/{zoneId}/web3/hostnames/{identifier}/ipfs_universal_path/content_list/entries/{contentListEntryIdentifier}',
+    method: 'get',
+    ...variables,
+    signal
+  });
+
+export type Web3HostnameEditIpfsUniversalPathGatewayContentListEntryPathParams = {
+  contentListEntryIdentifier: Schemas.Web3Identifier;
+  identifier: Schemas.Web3Identifier;
+  zoneId: Schemas.Web3Identifier;
+};
+
+export type Web3HostnameEditIpfsUniversalPathGatewayContentListEntryError = Fetcher.ErrorWrapper<{
+  status: 500;
+  payload: Schemas.Web3ContentListEntrySingleResponse & Schemas.Web3ApiResponseCommonFailure;
+}>;
+
+export type Web3HostnameEditIpfsUniversalPathGatewayContentListEntryVariables = {
+  body: Schemas.Web3ContentListEntryCreateRequest;
+  pathParams: Web3HostnameEditIpfsUniversalPathGatewayContentListEntryPathParams;
+} & FetcherExtraProps;
+
+export const web3HostnameEditIpfsUniversalPathGatewayContentListEntry = (
+  variables: Web3HostnameEditIpfsUniversalPathGatewayContentListEntryVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.Web3ContentListEntrySingleResponse,
+    Web3HostnameEditIpfsUniversalPathGatewayContentListEntryError,
+    Schemas.Web3ContentListEntryCreateRequest,
+    {},
+    {},
+    Web3HostnameEditIpfsUniversalPathGatewayContentListEntryPathParams
+  >({
+    url: '/zones/{zoneId}/web3/hostnames/{identifier}/ipfs_universal_path/content_list/entries/{contentListEntryIdentifier}',
+    method: 'put',
+    ...variables,
+    signal
+  });
+
+export type WorkerFiltersDeprecatedListFiltersPathParams = {
+  zoneId: Schemas.WorkersIdentifier;
+};
+
+export type WorkerFiltersDeprecatedListFiltersError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersFilterResponseCollection & Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type WorkerFiltersDeprecatedListFiltersVariables = {
+  pathParams: WorkerFiltersDeprecatedListFiltersPathParams;
+} & FetcherExtraProps;
+
+export const workerFiltersDeprecatedListFilters = (
+  variables: WorkerFiltersDeprecatedListFiltersVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WorkersFilterResponseCollection,
+    WorkerFiltersDeprecatedListFiltersError,
+    undefined,
+    {},
+    {},
+    WorkerFiltersDeprecatedListFiltersPathParams
+  >({ url: '/zones/{zoneId}/workers/filters', method: 'get', ...variables, signal });
+
+export type WorkerFiltersDeprecatedCreateFilterPathParams = {
+  zoneId: Schemas.WorkersIdentifier;
+};
+
+export type WorkerFiltersDeprecatedCreateFilterError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersApiResponseSingleId & Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type WorkerFiltersDeprecatedCreateFilterVariables = {
+  body: Schemas.WorkersFilterNoId;
+  pathParams: WorkerFiltersDeprecatedCreateFilterPathParams;
+} & FetcherExtraProps;
+
+export const workerFiltersDeprecatedCreateFilter = (
+  variables: WorkerFiltersDeprecatedCreateFilterVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WorkersApiResponseSingleId,
+    WorkerFiltersDeprecatedCreateFilterError,
+    Schemas.WorkersFilterNoId,
+    {},
+    {},
+    WorkerFiltersDeprecatedCreateFilterPathParams
+  >({ url: '/zones/{zoneId}/workers/filters', method: 'post', ...variables, signal });
+
+export type WorkerFiltersDeprecatedDeleteFilterPathParams = {
+  filterId: Schemas.WorkersIdentifier;
+  zoneId: Schemas.WorkersIdentifier;
+};
+
+export type WorkerFiltersDeprecatedDeleteFilterError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersApiResponseSingleId & Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type WorkerFiltersDeprecatedDeleteFilterVariables = {
+  pathParams: WorkerFiltersDeprecatedDeleteFilterPathParams;
+} & FetcherExtraProps;
+
+export const workerFiltersDeprecatedDeleteFilter = (
+  variables: WorkerFiltersDeprecatedDeleteFilterVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WorkersApiResponseSingleId,
+    WorkerFiltersDeprecatedDeleteFilterError,
+    undefined,
+    {},
+    {},
+    WorkerFiltersDeprecatedDeleteFilterPathParams
+  >({ url: '/zones/{zoneId}/workers/filters/{filterId}', method: 'delete', ...variables, signal });
+
+export type WorkerFiltersDeprecatedUpdateFilterPathParams = {
+  filterId: Schemas.WorkersIdentifier;
+  zoneId: Schemas.WorkersIdentifier;
+};
+
+export type WorkerFiltersDeprecatedUpdateFilterError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersFilterResponseSingle & Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type WorkerFiltersDeprecatedUpdateFilterVariables = {
+  body: Schemas.WorkersFilterNoId;
+  pathParams: WorkerFiltersDeprecatedUpdateFilterPathParams;
+} & FetcherExtraProps;
+
+export const workerFiltersDeprecatedUpdateFilter = (
+  variables: WorkerFiltersDeprecatedUpdateFilterVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WorkersFilterResponseSingle,
+    WorkerFiltersDeprecatedUpdateFilterError,
+    Schemas.WorkersFilterNoId,
+    {},
+    {},
+    WorkerFiltersDeprecatedUpdateFilterPathParams
+  >({ url: '/zones/{zoneId}/workers/filters/{filterId}', method: 'put', ...variables, signal });
+
+export type WorkerRoutesListRoutesPathParams = {
+  zoneId: Schemas.WorkersIdentifier;
+};
+
+export type WorkerRoutesListRoutesError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersRouteResponseCollection & Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type WorkerRoutesListRoutesVariables = {
+  pathParams: WorkerRoutesListRoutesPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Returns routes for a zone.
+ */
+export const workerRoutesListRoutes = (variables: WorkerRoutesListRoutesVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WorkersRouteResponseCollection,
+    WorkerRoutesListRoutesError,
+    undefined,
+    {},
+    {},
+    WorkerRoutesListRoutesPathParams
+  >({ url: '/zones/{zoneId}/workers/routes', method: 'get', ...variables, signal });
+
+export type WorkerRoutesCreateRoutePathParams = {
+  zoneId: Schemas.WorkersIdentifier;
+};
+
+export type WorkerRoutesCreateRouteError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersApiResponseSingle & Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type WorkerRoutesCreateRouteVariables = {
+  body: Schemas.WorkersRouteNoId;
+  pathParams: WorkerRoutesCreateRoutePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Creates a route that maps a URL pattern to a Worker.
+ */
+export const workerRoutesCreateRoute = (variables: WorkerRoutesCreateRouteVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WorkersApiResponseSingle,
+    WorkerRoutesCreateRouteError,
+    Schemas.WorkersRouteNoId,
+    {},
+    {},
+    WorkerRoutesCreateRoutePathParams
+  >({ url: '/zones/{zoneId}/workers/routes', method: 'post', ...variables, signal });
+
+export type WorkerRoutesDeleteRoutePathParams = {
+  routeId: Schemas.WorkersIdentifier;
+  zoneId: Schemas.WorkersIdentifier;
+};
+
+export type WorkerRoutesDeleteRouteError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersApiResponseSingle & Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type WorkerRoutesDeleteRouteVariables = {
+  pathParams: WorkerRoutesDeleteRoutePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Deletes a route.
+ */
+export const workerRoutesDeleteRoute = (variables: WorkerRoutesDeleteRouteVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WorkersApiResponseSingle,
+    WorkerRoutesDeleteRouteError,
+    undefined,
+    {},
+    {},
+    WorkerRoutesDeleteRoutePathParams
+  >({ url: '/zones/{zoneId}/workers/routes/{routeId}', method: 'delete', ...variables, signal });
+
+export type WorkerRoutesGetRoutePathParams = {
+  routeId: Schemas.WorkersIdentifier;
+  zoneId: Schemas.WorkersIdentifier;
+};
+
+export type WorkerRoutesGetRouteError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersRouteResponseSingle & Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type WorkerRoutesGetRouteVariables = {
+  pathParams: WorkerRoutesGetRoutePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Returns information about a route, including URL pattern and Worker.
+ */
+export const workerRoutesGetRoute = (variables: WorkerRoutesGetRouteVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WorkersRouteResponseSingle,
+    WorkerRoutesGetRouteError,
+    undefined,
+    {},
+    {},
+    WorkerRoutesGetRoutePathParams
+  >({ url: '/zones/{zoneId}/workers/routes/{routeId}', method: 'get', ...variables, signal });
+
+export type WorkerRoutesUpdateRoutePathParams = {
+  routeId: Schemas.WorkersIdentifier;
+  zoneId: Schemas.WorkersIdentifier;
+};
+
+export type WorkerRoutesUpdateRouteError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersRouteResponseSingle & Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type WorkerRoutesUpdateRouteVariables = {
+  body: Schemas.WorkersRouteNoId;
+  pathParams: WorkerRoutesUpdateRoutePathParams;
+} & FetcherExtraProps;
+
+/**
+ * Updates the URL pattern or Worker associated with a route.
+ */
+export const workerRoutesUpdateRoute = (variables: WorkerRoutesUpdateRouteVariables, signal?: AbortSignal) =>
+  fetch<
+    Schemas.WorkersRouteResponseSingle,
+    WorkerRoutesUpdateRouteError,
+    Schemas.WorkersRouteNoId,
+    {},
+    {},
+    WorkerRoutesUpdateRoutePathParams
+  >({ url: '/zones/{zoneId}/workers/routes/{routeId}', method: 'put', ...variables, signal });
+
+export type WorkerScriptDeprecatedDeleteWorkerPathParams = {
+  zoneId: Schemas.WorkersIdentifier;
+};
+
+export type WorkerScriptDeprecatedDeleteWorkerError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkerScriptDeprecatedDeleteWorkerVariables = {
+  pathParams: WorkerScriptDeprecatedDeleteWorkerPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Delete your Worker. This call has no response body on a successful delete.
+ */
+export const workerScriptDeprecatedDeleteWorker = (
+  variables: WorkerScriptDeprecatedDeleteWorkerVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    undefined,
+    WorkerScriptDeprecatedDeleteWorkerError,
+    undefined,
+    {},
+    {},
+    WorkerScriptDeprecatedDeleteWorkerPathParams
+  >({ url: '/zones/{zoneId}/workers/script', method: 'delete', ...variables, signal });
+
+export type WorkerScriptDeprecatedDownloadWorkerPathParams = {
+  zoneId: Schemas.WorkersIdentifier;
+};
+
+export type WorkerScriptDeprecatedDownloadWorkerError = Fetcher.ErrorWrapper<undefined>;
+
+export type WorkerScriptDeprecatedDownloadWorkerVariables = {
+  pathParams: WorkerScriptDeprecatedDownloadWorkerPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Fetch raw script content for your worker. Note this is the original script content, not JSON encoded.
+ */
+export const workerScriptDeprecatedDownloadWorker = (
+  variables: WorkerScriptDeprecatedDownloadWorkerVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    undefined,
+    WorkerScriptDeprecatedDownloadWorkerError,
+    undefined,
+    {},
+    {},
+    WorkerScriptDeprecatedDownloadWorkerPathParams
+  >({ url: '/zones/{zoneId}/workers/script', method: 'get', ...variables, signal });
+
+export type WorkerScriptDeprecatedUploadWorkerPathParams = {
+  zoneId: Schemas.WorkersIdentifier;
+};
+
+export type WorkerScriptDeprecatedUploadWorkerError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.WorkersSchemasScriptResponseSingle & Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type WorkerScriptDeprecatedUploadWorkerVariables = {
+  pathParams: WorkerScriptDeprecatedUploadWorkerPathParams;
+} & FetcherExtraProps;
+
+/**
+ * Upload a worker, or a new version of a worker.
+ */
+export const workerScriptDeprecatedUploadWorker = (
+  variables: WorkerScriptDeprecatedUploadWorkerVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.WorkersSchemasScriptResponseSingle,
+    WorkerScriptDeprecatedUploadWorkerError,
+    undefined,
+    {},
+    {},
+    WorkerScriptDeprecatedUploadWorkerPathParams
+  >({ url: '/zones/{zoneId}/workers/script', method: 'put', ...variables, signal });
+
+export type WorkerBindingDeprecatedListBindingsPathParams = {
+  zoneId: Schemas.WorkersIdentifier;
+};
+
+export type WorkerBindingDeprecatedListBindingsError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: (Schemas.WorkersApiResponseCommon & {
+    result?: Schemas.WorkersSchemasBinding[];
+  }) &
+    Schemas.WorkersApiResponseCommonFailure;
+}>;
+
+export type WorkerBindingDeprecatedListBindingsResponse = Schemas.WorkersApiResponseCommon & {
+  result?: Schemas.WorkersSchemasBinding[];
+};
+
+export type WorkerBindingDeprecatedListBindingsVariables = {
+  pathParams: WorkerBindingDeprecatedListBindingsPathParams;
+} & FetcherExtraProps;
+
+/**
+ * List the bindings for a Workers script.
+ */
+export const workerBindingDeprecatedListBindings = (
+  variables: WorkerBindingDeprecatedListBindingsVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    WorkerBindingDeprecatedListBindingsResponse,
+    WorkerBindingDeprecatedListBindingsError,
+    undefined,
+    {},
+    {},
+    WorkerBindingDeprecatedListBindingsPathParams
+  >({ url: '/zones/{zoneId}/workers/script/bindings', method: 'get', ...variables, signal });
+
+export type SslDetectorAutomaticModeGetEnrollmentPathParams = {
+  zoneTag: Schemas.CacheZoneIdentifier;
+};
+
+export type SslDetectorAutomaticModeGetEnrollmentError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CacheApiResponseCommonFailure;
+}>;
+
+export type SslDetectorAutomaticModeGetEnrollmentVariables = {
+  pathParams: SslDetectorAutomaticModeGetEnrollmentPathParams;
+} & FetcherExtraProps;
+
+/**
+ * If the system is enabled, the response will include next_scheduled_scan, representing the next time this zone will be scanned and the zone's ssl/tls encryption mode is potentially upgraded by the system. If the system is disabled, next_scheduled_scan will not be present in the response body.
+ */
+export const sslDetectorAutomaticModeGetEnrollment = (
+  variables: SslDetectorAutomaticModeGetEnrollmentVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.CacheAutomaticUpgraderResponse,
+    SslDetectorAutomaticModeGetEnrollmentError,
+    undefined,
+    {},
+    {},
+    SslDetectorAutomaticModeGetEnrollmentPathParams
+  >({ url: '/zones/{zoneTag}/settings/ssl_automatic_mode', method: 'get', ...variables, signal });
+
+export type SslDetectorAutomaticModePatchEnrollmentPathParams = {
+  zoneTag: Schemas.CacheZoneIdentifier;
+};
+
+export type SslDetectorAutomaticModePatchEnrollmentError = Fetcher.ErrorWrapper<{
+  status: 400;
+  payload: Schemas.CacheApiResponseCommonFailure;
+}>;
+
+export type SslDetectorAutomaticModePatchEnrollmentVariables = {
+  body: Schemas.CacheSchemasPatch;
+  pathParams: SslDetectorAutomaticModePatchEnrollmentPathParams;
+} & FetcherExtraProps;
+
+/**
+ * The automatic system is enabled when this endpoint is hit with value in the request body is set to "auto", and disabled when the request body value is set to "custom".
+ */
+export const sslDetectorAutomaticModePatchEnrollment = (
+  variables: SslDetectorAutomaticModePatchEnrollmentVariables,
+  signal?: AbortSignal
+) =>
+  fetch<
+    Schemas.CacheAutomaticUpgraderResponse,
+    SslDetectorAutomaticModePatchEnrollmentError,
+    Schemas.CacheSchemasPatch,
+    {},
+    {},
+    SslDetectorAutomaticModePatchEnrollmentPathParams
+  >({ url: '/zones/{zoneTag}/settings/ssl_automatic_mode', method: 'patch', ...variables, signal });
+
+export const operationsByTag = {
+  accounts: { accountsListAccounts, accountCreation, accountDeletion, accountsAccountDetails, accountsUpdateAccount },
+  uRLScanner: {
+    urlscannerGetResponseText,
+    urlscannerSearchScans,
+    urlscannerCreateScan,
+    urlscannerGetScan,
+    urlscannerGetScanHar,
+    urlscannerGetScanScreenshot
+  },
+  uRLScannerBeta: {
+    urlscannerCreateScanBulkV2,
+    urlscannerGetScanDomV2,
+    urlscannerGetScanHarV2,
+    urlscannerGetResponseV2,
+    urlscannerGetScanV2,
+    urlscannerCreateScanV2,
+    urlscannerGetScanScreenshotV2,
+    urlscannerSearchScansV2
+  },
+  requestForInformationRFI: {
+    cloudforceOneRequestList,
+    cloudforceOneRequestConstants,
+    cloudforceOneRequestNew,
+    cloudforceOneRequestQuota,
+    cloudforceOneRequestTypes,
+    cloudforceOneRequestDelete,
+    cloudforceOneRequestGet,
+    cloudforceOneRequestUpdate,
+    cloudforceOneRequestAssetList,
+    cloudforceOneRequestAssetNew,
+    cloudforceOneRequestAssetDelete,
+    cloudforceOneRequestAssetGet,
+    cloudforceOneRequestAssetUpdate,
+    cloudforceOneRequestMessageList,
+    cloudforceOneRequestMessageNew,
+    cloudforceOneRequestMessageDelete,
+    cloudforceOneRequestMessageUpdate
+  },
+  priorityIntelligenceRequirementsPIR: {
+    cloudforceOnePriorityList,
+    cloudforceOnePriorityNew,
+    cloudforceOnePriorityQuota,
+    cloudforceOnePriorityDelete,
+    cloudforceOnePriorityGet,
+    cloudforceOnePriorityUpdate
+  },
+  customPagesForAnAccount: {
+    customPagesForAnAccountListCustomPages,
+    customPagesForAnAccountGetACustomPage,
+    customPagesForAnAccountUpdateACustomPage
+  },
+  lists: {
+    listsGetBulkOperationStatus,
+    listsGetAListItem,
+    listsGetLists,
+    listsCreateAList,
+    listsDeleteAList,
+    listsGetAList,
+    listsUpdateAList,
+    listsDeleteListItems,
+    listsGetListItems,
+    listsCreateListItems,
+    listsUpdateAllListItems
+  },
+  accessApplications: {
+    accessApplicationsListAccessApplications,
+    accessApplicationsAddAnApplication,
+    accessApplicationsDeleteAnAccessApplication,
+    accessApplicationsGetAnAccessApplication,
+    accessApplicationsUpdateAnAccessApplication,
+    accessApplicationsRevokeServiceTokens,
+    accessApplicationsTestAccessPolicies
+  },
+  accessShortLivedCertificateCAs: {
+    accessShortLivedCertificateCAsListShortLivedCertificateCAs,
+    accessShortLivedCertificateCAsDeleteAShortLivedCertificateCa,
+    accessShortLivedCertificateCAsGetAShortLivedCertificateCa,
+    accessShortLivedCertificateCAsCreateAShortLivedCertificateCa
+  },
+  accessApplicationScopedPolicies: {
+    accessPoliciesListAccessAppPolicies,
+    accessPoliciesCreateAnAccessPolicy,
+    accessPoliciesDeleteAnAccessPolicy,
+    accessPoliciesGetAnAccessPolicy,
+    accessPoliciesUpdateAnAccessPolicy
+  },
+  accessBookmarkApplicationsDeprecated: {
+    accessBookmarkApplicationsDeprecatedListBookmarkApplications,
+    accessBookmarkApplicationsDeprecatedDeleteABookmarkApplication,
+    accessBookmarkApplicationsDeprecatedGetABookmarkApplication,
+    accessBookmarkApplicationsDeprecatedCreateABookmarkApplication,
+    accessBookmarkApplicationsDeprecatedUpdateABookmarkApplication
+  },
+  accessMTLSAuthentication: {
+    accessMtlsAuthenticationListMtlsCertificates,
+    accessMtlsAuthenticationAddAnMtlsCertificate,
+    accessMtlsAuthenticationListMtlsCertificatesHostnameSettings,
+    accessMtlsAuthenticationUpdateAnMtlsCertificateSettings,
+    accessMtlsAuthenticationDeleteAnMtlsCertificate,
+    accessMtlsAuthenticationGetAnMtlsCertificate,
+    accessMtlsAuthenticationUpdateAnMtlsCertificate
+  },
+  accessCustomPages: {
+    accessCustomPagesListCustomPages,
+    accessCustomPagesCreateACustomPage,
+    accessCustomPagesDeleteACustomPage,
+    accessCustomPagesGetACustomPage,
+    accessCustomPagesUpdateACustomPage
+  },
+  gatewayCA: { accessGatewayCaListSSHCa, accessGatewayCaAddAnSSHCa, accessGatewayCaDeleteAnSSHCa },
+  accessGroups: {
+    accessGroupsListAccessGroups,
+    accessGroupsCreateAnAccessGroup,
+    accessGroupsDeleteAnAccessGroup,
+    accessGroupsGetAnAccessGroup,
+    accessGroupsUpdateAnAccessGroup
+  },
+  accessIdentityProviders: {
+    accessIdentityProvidersListAccessIdentityProviders,
+    accessIdentityProvidersAddAnAccessIdentityProvider,
+    accessIdentityProvidersDeleteAnAccessIdentityProvider,
+    accessIdentityProvidersGetAnAccessIdentityProvider,
+    accessIdentityProvidersUpdateAnAccessIdentityProvider
+  },
+  accessKeyConfiguration: {
+    accessKeyConfigurationGetTheAccessKeyConfiguration,
+    accessKeyConfigurationUpdateTheAccessKeyConfiguration,
+    accessKeyConfigurationRotateAccessKeys
+  },
+  accessAuthenticationLogs: { accessAuthenticationLogsGetAccessAuthenticationLogs },
+  zeroTrustOrganization: {
+    zeroTrustOrganizationGetYourZeroTrustOrganization,
+    zeroTrustOrganizationCreateYourZeroTrustOrganization,
+    zeroTrustOrganizationUpdateYourZeroTrustOrganization,
+    zeroTrustOrganizationGetYourZeroTrustOrganizationDohSettings,
+    zeroTrustOrganizationUpdateYourZeroTrustOrganizationDohSettings,
+    zeroTrustOrganizationRevokeAllAccessTokensForAUser
+  },
+  accessReusablePolicies: {
+    accessPoliciesListAccessReusablePolicies,
+    accessPoliciesCreateAnAccessReusablePolicy,
+    accessPoliciesDeleteAnAccessReusablePolicy,
+    accessPoliciesGetAnAccessReusablePolicy,
+    accessPoliciesUpdateAnAccessReusablePolicy
+  },
+  accessPolicyTester: { accessPolicyTests, accessPolicyTestsGetAnUpdate, accessPolicyTestsGetAUserPage },
+  zeroTrustSeats: { zeroTrustSeatsUpdateAUserSeat },
+  accessServiceTokens: {
+    accessServiceTokensListServiceTokens,
+    accessServiceTokensCreateAServiceToken,
+    accessServiceTokensDeleteAServiceToken,
+    accessServiceTokensGetAServiceToken,
+    accessServiceTokensUpdateAServiceToken,
+    accessServiceTokensRefreshAServiceToken,
+    accessServiceTokensRotateAServiceToken
+  },
+  accessTags: {
+    accessTagsListTags,
+    accessTagsCreateTag,
+    accessTagsDeleteATag,
+    accessTagsGetATag,
+    accessTagsUpdateATag
+  },
+  zeroTrustUsers: {
+    zeroTrustUsersGetUsers,
+    zeroTrustUsersGetActiveSessions,
+    zeroTrustUsersGetActiveSession,
+    zeroTrustUsersGetFailedLogins,
+    zeroTrustUsersGetLastSeenIdentity
+  },
+  iPAddressManagementAddressMaps: {
+    ipAddressManagementAddressMapsListAddressMaps,
+    ipAddressManagementAddressMapsCreateAddressMap,
+    ipAddressManagementAddressMapsDeleteAddressMap,
+    ipAddressManagementAddressMapsAddressMapDetails,
+    ipAddressManagementAddressMapsUpdateAddressMap,
+    ipAddressManagementAddressMapsRemoveAnAccountMembershipFromAnAddressMap,
+    ipAddressManagementAddressMapsAddAnAccountMembershipToAnAddressMap,
+    ipAddressManagementAddressMapsRemoveAnIpFromAnAddressMap,
+    ipAddressManagementAddressMapsAddAnIpToAnAddressMap,
+    ipAddressManagementAddressMapsRemoveAZoneMembershipFromAnAddressMap,
+    ipAddressManagementAddressMapsAddAZoneMembershipToAnAddressMap
+  },
+  iPAddressManagementPrefixes: {
+    ipAddressManagementPrefixesUploadLoaDocument,
+    ipAddressManagementPrefixesDownloadLoaDocument,
+    ipAddressManagementPrefixesListPrefixes,
+    ipAddressManagementPrefixesAddPrefix,
+    ipAddressManagementPrefixesDeletePrefix,
+    ipAddressManagementPrefixesPrefixDetails,
+    ipAddressManagementPrefixesUpdatePrefixDescription
+  },
+  iPAddressManagementBGPPrefixes: {
+    ipAddressManagementPrefixesListBgpPrefixes,
+    ipAddressManagementPrefixesCreateBgpPrefix,
+    ipAddressManagementPrefixesFetchBgpPrefix,
+    ipAddressManagementPrefixesUpdateBgpPrefix
+  },
+  iPAddressManagementDynamicAdvertisement: {
+    ipAddressManagementDynamicAdvertisementGetAdvertisementStatus,
+    ipAddressManagementDynamicAdvertisementUpdatePrefixDynamicAdvertisementStatus
+  },
+  iPAddressManagementServiceBindings: {
+    ipAddressManagementServiceBindingsListServiceBindings,
+    ipAddressManagementServiceBindingsCreateServiceBinding,
+    ipAddressManagementServiceBindingsDeleteServiceBinding,
+    ipAddressManagementServiceBindingsGetServiceBinding,
+    ipAddressManagementServiceBindingsListServices
+  },
+  iPAddressManagementPrefixDelegation: {
+    ipAddressManagementPrefixDelegationListPrefixDelegations,
+    ipAddressManagementPrefixDelegationCreatePrefixDelegation,
+    ipAddressManagementPrefixDelegationDeletePrefixDelegation
+  },
+  dLSRegionalServices: {
+    dlsAccountRegionalHostnamesAccountListRegions,
+    dlsAccountRegionalHostnamesAccountListHostnames,
+    dlsAccountRegionalHostnamesAccountCreateHostname,
+    dlsAccountRegionalHostnamesAccountDeleteHostname,
+    dlsAccountRegionalHostnamesAccountFetchHostname,
+    dlsAccountRegionalHostnamesAccountPatchHostname
+  },
+  aIGatewayEvaluations: {
+    aigConfigListEvaluators,
+    aigConfigListEvaluations,
+    aigConfigCreateEvaluations,
+    aigConfigDeleteEvaluations,
+    aigConfigFetchEvaluations
+  },
+  aIGatewayGateways: {
+    aigConfigListGateway,
+    aigConfigCreateGateway,
+    aigConfigDeleteGateway,
+    aigConfigFetchGateway,
+    aigConfigUpdateGateway
+  },
+  aIGatewayDatasets: {
+    aigConfigListDataset,
+    aigConfigCreateDataset,
+    aigConfigDeleteDataset,
+    aigConfigFetchDataset,
+    aigConfigUpdateDataset
+  },
+  aIGatewayLogs: {
+    aigConfigDeleteGatewayLogs,
+    aigConfigListGatewayLogs,
+    aigConfigGetGatewayLogDetail,
+    aigConfigPatchGatewayLog,
+    aigConfigGetGatewayLogRequest,
+    aigConfigGetGatewayLogResponse
+  },
+  workersAI: {
+    workersAiSearchAuthor,
+    workersAiGetModelSchema,
+    workersAiSearchModel,
+    workersAiPostRunModel,
+    workersAiSearchTask
+  },
+  workersAIFinetune: {
+    workersAiListFinetunes,
+    workersAiCreateFinetune,
+    workersAiListPublicFinetunes,
+    workersAiUploadFinetuneAsset
+  },
+  workersAITextEmbeddings: {
+    workersAiPostRunCfBaaiBgeBaseEnV15,
+    workersAiPostRunCfBaaiBgeLargeEnV15,
+    workersAiPostRunCfBaaiBgeSmallEnV15
+  },
+  workersAITextToImage: {
+    workersAiPostRunCfBlackForestLabsFlux1Schnell,
+    workersAiPostRunCfBytedanceStableDiffusionXlLightning,
+    workersAiPostRunCfLykonDreamshaper8Lcm,
+    workersAiPostRunCfRunwaymlStableDiffusionV15Img2img,
+    workersAiPostRunCfRunwaymlStableDiffusionV15Inpainting,
+    workersAiPostRunCfStabilityaiStableDiffusionXlBase10
+  },
+  workersAITextGeneration: {
+    workersAiPostRunCfDeepseekAiDeepseekMath7bInstruct,
+    workersAiPostRunCfDefogSqlcoder7b2,
+    workersAiPostRunCfFblgitUnaCybertron7bV2Bf16,
+    workersAiPostRunCfGoogleGemma2bItLora,
+    workersAiPostRunCfGoogleGemma7bItLora,
+    workersAiPostRunCfMetaLlamaLlama27bChatHfLora,
+    workersAiPostRunCfMetaLlama27bChatFp16,
+    workersAiPostRunCfMetaLlama27bChatInt8,
+    workersAiPostRunCfMetaLlama38bInstruct,
+    workersAiPostRunCfMetaLlama38bInstructAwq,
+    workersAiPostRunCfMetaLlama3170bInstruct,
+    workersAiPostRunCfMetaLlama3170bInstructPreview,
+    workersAiPostRunCfMetaLlama3170bPreview,
+    workersAiPostRunCfMetaLlama318bInstruct,
+    workersAiPostRunCfMetaLlama318bInstructAwq,
+    workersAiPostRunCfMetaLlama318bInstructFast,
+    workersAiPostRunCfMetaLlama318bInstructFp8,
+    workersAiPostRunCfMetaLlama318bPreview,
+    workersAiPostRunCfMetaLlama3211bVisionInstruct,
+    workersAiPostRunCfMetaLlama321bInstruct,
+    workersAiPostRunCfMetaLlama323bInstruct,
+    workersAiPostRunCfMetaLlama3370bInstructFp8Fast,
+    workersAiPostRunCfMicrosoftPhi2,
+    workersAiPostRunCfMistralMistral7bInstructV01,
+    workersAiPostRunCfMistralMistral7bInstructV02Lora,
+    workersAiPostRunCfOpenchatOpenchat350106,
+    workersAiPostRunCfQwenQwen1505bChat,
+    workersAiPostRunCfQwenQwen1518bChat,
+    workersAiPostRunCfQwenQwen1514bChatAwq,
+    workersAiPostRunCfQwenQwen157bChatAwq,
+    workersAiPostRunCfTheblokeDiscolmGerman7bV1Awq,
+    workersAiPostRunCfTiiuaeFalcon7bInstruct,
+    workersAiPostRunCfTinyllamaTinyllama11bChatV10,
+    workersAiPostRunHfGoogleGemma7bIt,
+    workersAiPostRunHfMetaLlamaMetaLlama38bInstruct,
+    workersAiPostRunHfMistralMistral7bInstructV02,
+    workersAiPostRunHfMistralaiMistral7bInstructV02,
+    workersAiPostRunHfNexusflowStarlingLm7bBeta,
+    workersAiPostRunHfNousresearchHermes2ProMistral7b,
+    workersAiPostRunHfTheblokeDeepseekCoder67bBaseAwq,
+    workersAiPostRunHfTheblokeDeepseekCoder67bInstructAwq,
+    workersAiPostRunHfTheblokeLlama213bChatAwq,
+    workersAiPostRunHfTheblokeLlamaguard7bAwq,
+    workersAiPostRunHfTheblokeMistral7bInstructV01Awq,
+    workersAiPostRunHfTheblokeNeuralChat7bV31Awq,
+    workersAiPostRunHfTheblokeOpenhermes25Mistral7bAwq,
+    workersAiPostRunHfTheblokeZephyr7bBetaAwq
+  },
+  workersAISummarization: { workersAiPostRunCfFacebookBartLargeCnn },
+  workersAIObjectDetection: { workersAiPostRunCfFacebookDetrResnet50 },
+  workersAITextClassification: { workersAiPostRunCfHuggingfaceDistilbertSst2Int8 },
+  workersAITranslation: { workersAiPostRunCfMetaM2m10012b },
+  workersAIImageClassification: { workersAiPostRunCfMicrosoftResnet50 },
+  workersAIAutomaticSpeechRecognition: {
+    workersAiPostRunCfOpenaiWhisper,
+    workersAiPostRunCfOpenaiWhisperLargeV3Turbo,
+    workersAiPostRunCfOpenaiWhisperTinyEn
+  },
+  notificationAlertTypes: { notificationAlertTypesGetAlertTypes },
+  notificationMechanismEligibility: { notificationMechanismEligibilityGetDeliveryMechanismEligibility },
+  notificationDestinationsWithPagerDuty: {
+    notificationDestinationsWithPagerDutyDeletePagerDutyServices,
+    notificationDestinationsWithPagerDutyListPagerDutyServices,
+    notificationDestinationsWithPagerDutyConnectPagerDuty,
+    notificationDestinationsWithPagerDutyConnectPagerDutyToken
+  },
+  notificationWebhooks: {
+    notificationWebhooksListWebhooks,
+    notificationWebhooksCreateAWebhook,
+    notificationWebhooksDeleteAWebhook,
+    notificationWebhooksGetAWebhook,
+    notificationWebhooksUpdateAWebhook
+  },
+  notificationHistory: { notificationHistoryListHistory },
+  notificationPolicies: {
+    notificationPoliciesListNotificationPolicies,
+    notificationPoliciesCreateANotificationPolicy,
+    notificationPoliciesDeleteANotificationPolicy,
+    notificationPoliciesGetANotificationPolicy,
+    notificationPoliciesUpdateANotificationPolicy
+  },
+  auditLogs: {
+    auditLogsGetAccountAuditLogs,
+    auditLogsV2GetAccountAuditLogs,
+    auditLogsGetOrganizationAuditLogs,
+    auditLogsGetUserAuditLogs
+  },
+  accountBillingProfile: { accountBillingProfileDeprecatedBillingProfileDetails },
+  botnetThreatFeed: {
+    botnetThreatFeedGetDayReport,
+    botnetThreatFeedGetFullReport,
+    botnetThreatFeedListAsn,
+    botnetThreatFeedDeleteAsn
+  },
+  phishingURLScanner: { phishingUrlScannerSubmitSuspiciousUrlForScanning },
+  phishingURLInformation: { phishingUrlInformationGetResultsForAUrlScan },
+  callsApps: {
+    callsAppsList,
+    callsAppsCreateANewApp,
+    callsAppsDeleteApp,
+    callsAppsRetrieveAppDetails,
+    callsAppsUpdateAppDetails
+  },
+  callsTURNKeys: {
+    callsTurnKeyList,
+    callsTurnKeyCreate,
+    callsDeleteTurnKey,
+    callsRetrieveTurnKeyDetails,
+    callsUpdateTurnKey
+  },
+  cloudflareTunnel: {
+    cloudflareTunnelListCloudflareTunnels,
+    cloudflareTunnelCreateACloudflareTunnel,
+    cloudflareTunnelDeleteACloudflareTunnel,
+    cloudflareTunnelGetACloudflareTunnel,
+    cloudflareTunnelUpdateACloudflareTunnel,
+    cloudflareTunnelCleanUpCloudflareTunnelConnections,
+    cloudflareTunnelListCloudflareTunnelConnections,
+    cloudflareTunnelGetCloudflareTunnelConnector,
+    cloudflareTunnelGetACloudflareTunnelManagementToken,
+    cloudflareTunnelGetACloudflareTunnelToken,
+    cloudflareTunnelListAllTunnels,
+    cloudflareTunnelListWarpConnectorTunnels,
+    cloudflareTunnelCreateAWarpConnectorTunnel,
+    cloudflareTunnelDeleteAWarpConnectorTunnel,
+    cloudflareTunnelGetAWarpConnectorTunnel,
+    cloudflareTunnelUpdateAWarpConnectorTunnel,
+    cloudflareTunnelGetAWarpConnectorTunnelToken
+  },
+  cloudflareTunnelConfiguration: {
+    cloudflareTunnelConfigurationGetConfiguration,
+    cloudflareTunnelConfigurationPutConfiguration
+  },
+  turnstile: {
+    accountsTurnstileWidgetsList,
+    accountsTurnstileWidgetCreate,
+    accountsTurnstileWidgetDelete,
+    accountsTurnstileWidgetGet,
+    accountsTurnstileWidgetUpdate,
+    accountsTurnstileWidgetRotateSecret
+  },
+  accountLevelCustomNameservers: {
+    accountLevelCustomNameserversListAccountCustomNameservers,
+    accountLevelCustomNameserversAddAccountCustomNameserver,
+    accountLevelCustomNameserversGetEligibleZonesForAccountCustomNameservers,
+    accountLevelCustomNameserversDeleteAccountCustomNameserver
+  },
+  d1: {
+    cloudflareD1ListDatabases,
+    cloudflareD1CreateDatabase,
+    cloudflareD1DeleteDatabase,
+    cloudflareD1GetDatabase,
+    cloudflareD1ExportDatabase,
+    cloudflareD1ImportDatabase,
+    cloudflareD1QueryDatabase,
+    cloudflareD1RawDatabaseQuery
+  },
+  devices: {
+    devicesListDevices,
+    devicesListDeviceSettingsPolicies,
+    devicesGetDefaultDeviceSettingsPolicy,
+    devicesUpdateDefaultDeviceSettingsPolicy,
+    devicesCreateDeviceSettingsPolicy,
+    devicesGetSplitTunnelExcludeList,
+    devicesSetSplitTunnelExcludeList,
+    devicesGetLocalDomainFallbackList,
+    devicesSetLocalDomainFallbackList,
+    devicesGetSplitTunnelIncludeList,
+    devicesSetSplitTunnelIncludeList,
+    devicesDeleteDeviceSettingsPolicy,
+    devicesGetDeviceSettingsPolicyById,
+    devicesUpdateDeviceSettingsPolicy,
+    devicesGetSplitTunnelExcludeListForADeviceSettingsPolicy,
+    devicesSetSplitTunnelExcludeListForADeviceSettingsPolicy,
+    devicesGetLocalDomainFallbackListForADeviceSettingsPolicy,
+    devicesSetLocalDomainFallbackListForADeviceSettingsPolicy,
+    devicesGetSplitTunnelIncludeListForADeviceSettingsPolicy,
+    devicesSetSplitTunnelIncludeListForADeviceSettingsPolicy,
+    devicesRevokeDevices,
+    devicesUnrevokeDevices,
+    devicesDeviceDetails,
+    devicesListAdminOverrideCodeForDevice,
+    devicesGetPolicyCertificates,
+    devicesUpdatePolicyCertificates
+  },
+  deviceDEXTests: {
+    deviceDexTestDetails,
+    deviceDexTestCreateDeviceDexTest,
+    deviceDexTestDeleteDeviceDexTest,
+    deviceDexTestGetDeviceDexTest,
+    deviceDexTestUpdateDeviceDexTest
+  },
+  deviceManagedNetworks: {
+    deviceManagedNetworksListDeviceManagedNetworks,
+    deviceManagedNetworksCreateDeviceManagedNetwork,
+    deviceManagedNetworksDeleteDeviceManagedNetwork,
+    deviceManagedNetworksDeviceManagedNetworkDetails,
+    deviceManagedNetworksUpdateDeviceManagedNetwork
+  },
+  devicePostureRules: {
+    devicePostureRulesListDevicePostureRules,
+    devicePostureRulesCreateDevicePostureRule,
+    devicePostureRulesDeleteDevicePostureRule,
+    devicePostureRulesDevicePostureRulesDetails,
+    devicePostureRulesUpdateDevicePostureRule
+  },
+  devicePostureIntegrations: {
+    devicePostureIntegrationsListDevicePostureIntegrations,
+    devicePostureIntegrationsCreateDevicePostureIntegration,
+    devicePostureIntegrationsDeleteDevicePostureIntegration,
+    devicePostureIntegrationsDevicePostureIntegrationDetails,
+    devicePostureIntegrationsUpdateDevicePostureIntegration
+  },
+  zeroTrustAccounts: {
+    zeroTrustAccountsGetDeviceSettingsForZeroTrustAccount,
+    zeroTrustAccountsPatchDeviceSettingsForTheZeroTrustAccount,
+    zeroTrustAccountsUpdateDeviceSettingsForTheZeroTrustAccount,
+    zeroTrustAccountsGetZeroTrustAccountInformation,
+    zeroTrustAccountsCreateZeroTrustAccount,
+    zeroTrustAccountsGetZeroTrustAccountConfiguration,
+    zeroTrustAccountsPatchZeroTrustAccountConfiguration,
+    zeroTrustAccountsUpdateZeroTrustAccountConfiguration,
+    zeroTrustAccountsGetZeroTrustCertificateConfiguration,
+    zeroTrustAccountsGetLoggingSettingsForTheZeroTrustAccount,
+    zeroTrustAccountsUpdateLoggingSettingsForTheZeroTrustAccount
+  },
+  dEXSyntheticApplicationMonitoring: {
+    dexEndpointsListColos,
+    devicesLiveStatus,
+    dexFleetStatusDevices,
+    dexFleetStatusLive,
+    dexFleetStatusOverTime,
+    dexEndpointsHttpTestDetails,
+    dexEndpointsHttpTestPercentiles,
+    dexEndpointsListTestsOverview,
+    dexEndpointsTestsUniqueDevices,
+    dexEndpointsTracerouteTestResultNetworkPath,
+    dexEndpointsTracerouteTestDetails,
+    dexEndpointsTracerouteTestNetworkPath,
+    dexEndpointsTracerouteTestPercentiles
+  },
+  dEXRemoteCommands: { getCommands, postCommands, getCommandsQuota, getCommandsCommandIdDownloadsFilename },
+  diagnostics: { diagnosticsTraceroute },
+  dLPDatasets: {
+    dlpDatasetsReadAll,
+    dlpDatasetsCreate,
+    dlpDatasetsDelete,
+    dlpDatasetsRead,
+    dlpDatasetsUpdate,
+    dlpDatasetsCreateVersion,
+    dlpDatasetsUploadVersion,
+    dlpDatasetsDefineColumns,
+    dlpDatasetsUploadDatasetColumn
+  },
+  dLPEmail: {
+    dlpEmailScannerGetAccountMapping,
+    dlpEmailScannerCreateAccountMapping,
+    dlpEmailScannerListAllRules,
+    dlpEmailScannerUpdateRulePriorities,
+    dlpEmailScannerCreateRule,
+    dlpEmailScannerDeleteRule,
+    dlpEmailScannerGetRule,
+    dlpEmailScannerUpdateRule
+  },
+  dLPEntries: {
+    dlpEntriesListAllEntries,
+    dlpEntriesCreateEntry,
+    dlpEntriesDeleteEntry,
+    dlpEntriesGetDlpEntry,
+    dlpEntriesUpdateEntry
+  },
+  dLPSettings: { dlpLimitsGet, dlpPatternValidate, dlpPayloadLogGet, dlpPayloadLogPut },
+  dLPProfiles: {
+    dlpProfilesListAllProfiles,
+    dlpProfilesCreateCustomProfiles,
+    dlpProfilesDeleteCustomProfile,
+    dlpProfilesGetCustomProfile,
+    dlpProfilesUpdateCustomProfile,
+    dlpProfilesGetPredefinedProfile,
+    dlpProfilesUpdatePredefinedProfile,
+    dlpProfilesGetDlpProfile
+  },
+  dNSFirewall: {
+    dnsFirewallListDnsFirewallClusters,
+    dnsFirewallCreateDnsFirewallCluster,
+    dnsFirewallDeleteDnsFirewallCluster,
+    dnsFirewallDnsFirewallClusterDetails,
+    dnsFirewallUpdateDnsFirewallCluster,
+    dnsFirewallShowDnsFirewallClusterReverseDns,
+    dnsFirewallUpdateDnsFirewallClusterReverseDns
+  },
+  dNSFirewallAnalytics: { dnsFirewallAnalyticsTable, dnsFirewallAnalyticsByTime },
+  dNSSettingsForAnAccount: { dnsSettingsForAnAccountListDnsSettings, dnsSettingsForAnAccountUpdateDnsSettings },
+  dNSInternalViewsForAnAccount: {
+    dnsViewsForAnAccountListInternalDnsViews,
+    dnsViewsForAnAccountCreateInternalDnsViews,
+    dnsViewsForAnAccountDeleteInternalDnsView,
+    dnsViewsForAnAccountGetInternalDnsView,
+    dnsViewsForAnAccountUpdateInternalDnsView
+  },
+  emailSecurity: {
+    emailSecurityInvestigate,
+    emailSecurityPostBulkMessageMove,
+    emailSecurityPostPreview,
+    emailSecurityPostRelease,
+    emailSecurityGetMessage,
+    emailSecurityGetMessageDetections,
+    emailSecurityPostMessageMove,
+    emailSecurityGetMessagePreview,
+    emailSecurityGetMessageRaw,
+    emailSecurityPostReclassify,
+    emailSecurityGetMessageTrace,
+    emailSecuritySubmissions
+  },
+  emailSecuritySettings: {
+    emailSecurityListAllowPolicies,
+    emailSecurityCreateAllowPolicy,
+    emailSecurityDeleteAllowPolicy,
+    emailSecurityGetAllowPolicy,
+    emailSecurityUpdateAllowPolicy,
+    emailSecurityListBlockedSenders,
+    emailSecurityCreateBlockedSender,
+    emailSecurityDeleteBlockedSender,
+    emailSecurityGetBlockedSender,
+    emailSecurityUpdateBlockedSender,
+    emailSecurityDeleteDomains,
+    emailSecurityListDomains,
+    emailSecurityDeleteDomain,
+    emailSecurityGetDomain,
+    emailSecurityUpdateDomain,
+    emailSecurityListDisplayNames,
+    emailSecurityCreateDisplayName,
+    emailSecurityDeleteDisplayName,
+    emailSecurityGetDisplayName,
+    emailSecurityUpdateDisplayName,
+    emailSecurityListTrustedDomains,
+    emailSecurityCreateTrustedDomain,
+    emailSecurityDeleteTrustedDomain,
+    emailSecurityGetTrustedDomain,
+    emailSecurityUpdateTrustedDomain
+  },
+  emailRoutingDestinationAddresses: {
+    emailRoutingDestinationAddressesListDestinationAddresses,
+    emailRoutingDestinationAddressesCreateADestinationAddress,
+    emailRoutingDestinationAddressesDeleteDestinationAddress,
+    emailRoutingDestinationAddressesGetADestinationAddress
+  },
+  r2Bucket: {
+    r2GetEventNotificationConfigs,
+    r2EventNotificationDeleteConfig,
+    r2PutEventNotificationConfig,
+    r2ListBuckets,
+    r2CreateBucket,
+    r2DeleteBucket,
+    r2GetBucket,
+    r2DeleteBucketCorsPolicy,
+    r2GetBucketCorsPolicy,
+    r2PutBucketCorsPolicy,
+    r2ListCustomDomains,
+    r2AddCustomDomain,
+    r2DeleteCustomDomain,
+    r2GetCustomDomainSettings,
+    r2EditCustomDomainSettings,
+    r2GetBucketPublicPolicy,
+    r2PutBucketPublicPolicy,
+    r2GetBucketLifecycleConfiguration,
+    r2PutBucketLifecycleConfiguration,
+    r2DeleteBucketSippyConfig,
+    r2GetBucketSippyConfig,
+    r2PutBucketSippyConfig,
+    r2CreateTempAccessCredentials
+  },
+  iPAccessRulesForAnAccount: {
+    ipAccessRulesForAnAccountListIpAccessRules,
+    ipAccessRulesForAnAccountCreateAnIpAccessRule,
+    ipAccessRulesForAnAccountDeleteAnIpAccessRule,
+    ipAccessRulesForAnAccountGetAnIpAccessRule,
+    ipAccessRulesForAnAccountUpdateAnIpAccessRule
+  },
+  zeroTrustGatewayApplicationAndApplicationTypeMappings: {
+    zeroTrustGatewayApplicationAndApplicationTypeMappingsListApplicationAndApplicationTypeMappings
+  },
+  zeroTrustSSHSettings: {
+    zeroTrustGetAuditSshSettings,
+    zeroTrustUpdateAuditSshSettings,
+    zeroTrustRotateSshAccountSeed
+  },
+  zeroTrustGatewayCategories: { zeroTrustGatewayCategoriesListCategories },
+  zeroTrustCertificates: {
+    zeroTrustCertificatesListZeroTrustCertificates,
+    zeroTrustCertificatesCreateZeroTrustCertificate,
+    zeroTrustCertificatesDeleteZeroTrustCertificate,
+    zeroTrustCertificatesZeroTrustCertificateDetails,
+    zeroTrustCertificatesActivateZeroTrustCertificate,
+    zeroTrustCertificatesDeactivateZeroTrustCertificate
+  },
+  zeroTrustLists: {
+    zeroTrustListsListZeroTrustLists,
+    zeroTrustListsCreateZeroTrustList,
+    zeroTrustListsDeleteZeroTrustList,
+    zeroTrustListsZeroTrustListDetails,
+    zeroTrustListsPatchZeroTrustList,
+    zeroTrustListsUpdateZeroTrustList,
+    zeroTrustListsZeroTrustListItems
+  },
+  zeroTrustGatewayLocations: {
+    zeroTrustGatewayLocationsListZeroTrustGatewayLocations,
+    zeroTrustGatewayLocationsCreateZeroTrustGatewayLocation,
+    zeroTrustGatewayLocationsDeleteZeroTrustGatewayLocation,
+    zeroTrustGatewayLocationsZeroTrustGatewayLocationDetails,
+    zeroTrustGatewayLocationsUpdateZeroTrustGatewayLocation
+  },
+  zeroTrustGatewayProxyEndpoints: {
+    zeroTrustGatewayProxyEndpointsListProxyEndpoints,
+    zeroTrustGatewayProxyEndpointsCreateProxyEndpoint,
+    zeroTrustGatewayProxyEndpointsDeleteProxyEndpoint,
+    zeroTrustGatewayProxyEndpointsProxyEndpointDetails,
+    zeroTrustGatewayProxyEndpointsUpdateProxyEndpoint
+  },
+  zeroTrustGatewayRules: {
+    zeroTrustGatewayRulesListZeroTrustGatewayRules,
+    zeroTrustGatewayRulesCreateZeroTrustGatewayRule,
+    zeroTrustGatewayRulesDeleteZeroTrustGatewayRule,
+    zeroTrustGatewayRulesZeroTrustGatewayRuleDetails,
+    zeroTrustGatewayRulesUpdateZeroTrustGatewayRule,
+    zeroTrustGatewayRulesResetExpirationZeroTrustGatewayRule
+  },
+  hyperdrive: { listHyperdrive, createHyperdrive, deleteHyperdrive, getHyperdrive, patchHyperdrive, updateHyperdrive },
+  accountPermissionGroups: { accountPermissionGroupList, accountPermissionGroupDetails },
+  accountResourceGroups: {
+    accountResourceGroupList,
+    accountResourceGroupCreate,
+    accountResourceGroupDelete,
+    accountResourceGroupDetails,
+    accountResourceGroupUpdate
+  },
+  cloudflareImages: {
+    cloudflareImagesListImages,
+    cloudflareImagesUploadAnImageViaUrl,
+    cloudflareImagesImagesUsageStatistics,
+    cloudflareImagesDeleteImage,
+    cloudflareImagesImageDetails,
+    cloudflareImagesUpdateImage,
+    cloudflareImagesBaseImage,
+    cloudflareImagesListImagesV2,
+    cloudflareImagesCreateAuthenticatedDirectUploadUrlV2
+  },
+  cloudflareImagesKeys: {
+    cloudflareImagesKeysListSigningKeys,
+    cloudflareImagesKeysDeleteSigningKey,
+    cloudflareImagesKeysAddSigningKey
+  },
+  cloudflareImagesVariants: {
+    cloudflareImagesVariantsListVariants,
+    cloudflareImagesVariantsCreateAVariant,
+    cloudflareImagesVariantsDeleteAVariant,
+    cloudflareImagesVariantsVariantDetails,
+    cloudflareImagesVariantsUpdateAVariant
+  },
+  infrastructureAccessTargets: {
+    infraTargetsList,
+    infraTargetsPost,
+    infraTargetsDeleteBatch,
+    infraTargetsPutBatch,
+    infraTargetsDelete,
+    infraTargetsGet,
+    infraTargetsPut
+  },
+  aSNIntelligence: { asnIntelligenceGetAsnOverview, asnIntelligenceGetAsnSubnets },
+  securityCenterInsights: {
+    getSecurityCenterIssueTypes,
+    getSecurityCenterIssues,
+    getSecurityCenterIssueCountsByClass,
+    getSecurityCenterIssueCountsBySeverity,
+    getSecurityCenterIssueCountsByType,
+    archiveSecurityCenterInsight
+  },
+  passiveDNSByIP: { passiveDnsByIpGetPassiveDnsByIp },
+  domainIntelligence: { domainIntelligenceGetDomainDetails, domainIntelligenceGetMultipleDomainDetails },
+  domainHistory: { domainHistoryGetDomainHistory },
+  customIndicatorFeeds: {
+    customIndicatorFeedsGetIndicatorFeeds,
+    customIndicatorFeedsCreateIndicatorFeeds,
+    customIndicatorFeedsAddPermission,
+    customIndicatorFeedsRemovePermission,
+    customIndicatorFeedsViewPermissions,
+    customIndicatorFeedsGetIndicatorFeedMetadata,
+    customIndicatorFeedsUpdateIndicatorFeedMetadata,
+    customIndicatorFeedsGetIndicatorFeedData,
+    customIndicatorFeedsUpdateIndicatorFeedData,
+    customIndicatorFeedsDownloadIndicatorFeedData
+  },
+  iPIntelligence: { ipIntelligenceGetIpOverview },
+  iPList: { ipListGetIpLists },
+  miscategorization: { miscategorizationCreateMiscategorization },
+  sinkholeConfig: { sinkholeConfigGetSinkholes },
+  wHOISRecord: { whoisRecordGetWhoisRecord },
+  accountLoadBalancerMonitors: {
+    accountLoadBalancerMonitorsListMonitors,
+    accountLoadBalancerMonitorsCreateMonitor,
+    accountLoadBalancerMonitorsDeleteMonitor,
+    accountLoadBalancerMonitorsMonitorDetails,
+    accountLoadBalancerMonitorsPatchMonitor,
+    accountLoadBalancerMonitorsUpdateMonitor,
+    accountLoadBalancerMonitorsPreviewMonitor,
+    accountLoadBalancerMonitorsListMonitorReferences,
+    accountLoadBalancerMonitorsPreviewResult
+  },
+  accountLoadBalancerPools: {
+    accountLoadBalancerPoolsListPools,
+    accountLoadBalancerPoolsPatchPools,
+    accountLoadBalancerPoolsCreatePool,
+    accountLoadBalancerPoolsDeletePool,
+    accountLoadBalancerPoolsPoolDetails,
+    accountLoadBalancerPoolsPatchPool,
+    accountLoadBalancerPoolsUpdatePool,
+    accountLoadBalancerPoolsPoolHealthDetails,
+    accountLoadBalancerPoolsPreviewPool,
+    accountLoadBalancerPoolsListPoolReferences
+  },
+  loadBalancerRegions: { loadBalancerRegionsListRegions, loadBalancerRegionsGetRegion },
+  accountLoadBalancerSearch: { accountLoadBalancerSearchSearchResources },
+  logpushJobsForAnAccount: {
+    getAccountsAccountIdLogpushDatasetsDatasetIdFields,
+    getAccountsAccountIdLogpushDatasetsDatasetIdJobs,
+    getAccountsAccountIdLogpushJobs,
+    postAccountsAccountIdLogpushJobs,
+    deleteAccountsAccountIdLogpushJobsJobId,
+    getAccountsAccountIdLogpushJobsJobId,
+    putAccountsAccountIdLogpushJobsJobId,
+    postAccountsAccountIdLogpushOwnership,
+    postAccountsAccountIdLogpushOwnershipValidate,
+    deleteAccountsAccountIdLogpushValidateDestination,
+    deleteAccountsAccountIdLogpushValidateDestinationExists,
+    postAccountsAccountIdLogpushValidateOrigin
+  },
+  logcontrolCMBConfigForAnAccount: {
+    deleteAccountsAccountIdLogsControlCmbConfig,
+    getAccountsAccountIdLogsControlCmbConfig,
+    postAccountsAccountIdLogsControlCmbConfig
+  },
+  magicAccountApps: {
+    magicAccountAppsListApps,
+    magicAccountAppsAddApp,
+    magicAccountAppsDeleteApp,
+    magicAccountAppsUpdateApp
+  },
+  magicInterconnects: {
+    magicInterconnectsListInterconnects,
+    magicInterconnectsUpdateMultipleInterconnects,
+    magicInterconnectsListInterconnectDetails,
+    magicInterconnectsUpdateInterconnect
+  },
+  magicConnectors: { mconnConnectorList, mconnConnectorFetch, mconnConnectorUpdate, mconnConnectorReplace },
+  magicGRETunnels: {
+    magicGreTunnelsListGreTunnels,
+    magicGreTunnelsCreateGreTunnels,
+    magicGreTunnelsUpdateMultipleGreTunnels,
+    magicGreTunnelsDeleteGreTunnel,
+    magicGreTunnelsListGreTunnelDetails,
+    magicGreTunnelsUpdateGreTunnel
+  },
+  magicIPsecTunnels: {
+    magicIpsecTunnelsListIpsecTunnels,
+    magicIpsecTunnelsCreateIpsecTunnels,
+    magicIpsecTunnelsUpdateMultipleIpsecTunnels,
+    magicIpsecTunnelsDeleteIpsecTunnel,
+    magicIpsecTunnelsListIpsecTunnelDetails,
+    magicIpsecTunnelsUpdateIpsecTunnel,
+    magicIpsecTunnelsGeneratePreSharedKeyPskForIpsecTunnels
+  },
+  magicStaticRoutes: {
+    magicStaticRoutesDeleteManyRoutes,
+    magicStaticRoutesListRoutes,
+    magicStaticRoutesCreateRoutes,
+    magicStaticRoutesUpdateManyRoutes,
+    magicStaticRoutesDeleteRoute,
+    magicStaticRoutesRouteDetails,
+    magicStaticRoutesUpdateRoute
+  },
+  magicSites: {
+    magicSitesListSites,
+    magicSitesCreateSite,
+    magicSitesDeleteSite,
+    magicSitesSiteDetails,
+    magicSitesPatchSite,
+    magicSitesUpdateSite
+  },
+  magicSiteACLs: {
+    magicSiteAclsListAcls,
+    magicSiteAclsCreateAcl,
+    magicSiteAclsDeleteAcl,
+    magicSiteAclsAclDetails,
+    magicSiteAclsPatchAcl,
+    magicSiteAclsUpdateAcl
+  },
+  magicSiteAppConfigs: {
+    magicSiteAppConfigsListAppConfigs,
+    magicSiteAppConfigsAddAppConfig,
+    magicSiteAppConfigsDeleteAppConfig,
+    magicSiteAppConfigsUpdateAppConfig
+  },
+  magicSiteLANs: {
+    magicSiteLansListLans,
+    magicSiteLansCreateLan,
+    magicSiteLansDeleteLan,
+    magicSiteLansLanDetails,
+    magicSiteLansPatchLan,
+    magicSiteLansUpdateLan
+  },
+  magicSiteWANs: {
+    magicSiteWansListWans,
+    magicSiteWansCreateWan,
+    magicSiteWansDeleteWan,
+    magicSiteWansWanDetails,
+    magicSiteWansPatchWan,
+    magicSiteWansUpdateWan
+  },
+  accountMembers: {
+    accountMembersListMembers,
+    accountMembersAddMember,
+    accountMembersRemoveMember,
+    accountMembersMemberDetails,
+    accountMembersUpdateMember
+  },
+  magicNetworkMonitoringConfiguration: {
+    magicNetworkMonitoringConfigurationDeleteAccountConfiguration,
+    magicNetworkMonitoringConfigurationListAccountConfiguration,
+    magicNetworkMonitoringConfigurationUpdateAccountConfigurationFields,
+    magicNetworkMonitoringConfigurationCreateAccountConfiguration,
+    magicNetworkMonitoringConfigurationUpdateAnEntireAccountConfiguration,
+    magicNetworkMonitoringConfigurationListRulesAndAccountConfiguration
+  },
+  magicNetworkMonitoringRules: {
+    magicNetworkMonitoringRulesListRules,
+    magicNetworkMonitoringRulesCreateRules,
+    magicNetworkMonitoringRulesUpdateRules,
+    magicNetworkMonitoringRulesDeleteRule,
+    magicNetworkMonitoringRulesGetRule,
+    magicNetworkMonitoringRulesUpdateRule,
+    magicNetworkMonitoringRulesUpdateAdvertisementForRule
+  },
+  mTLSCertificateManagement: {
+    mTlsCertificateManagementListMTlsCertificates,
+    mTlsCertificateManagementUploadMTlsCertificate,
+    mTlsCertificateManagementDeleteMTlsCertificate,
+    mTlsCertificateManagementGetMTlsCertificate,
+    mTlsCertificateManagementListMTlsCertificateAssociations
+  },
+  pagesProject: {
+    pagesProjectGetProjects,
+    pagesProjectCreateProject,
+    pagesProjectDeleteProject,
+    pagesProjectGetProject,
+    pagesProjectUpdateProject
+  },
+  pagesDeployment: {
+    pagesDeploymentGetDeployments,
+    pagesDeploymentCreateDeployment,
+    pagesDeploymentDeleteDeployment,
+    pagesDeploymentGetDeploymentInfo,
+    pagesDeploymentGetDeploymentLogs,
+    pagesDeploymentRetryDeployment,
+    pagesDeploymentRollbackDeployment
+  },
+  pagesDomains: {
+    pagesDomainsGetDomains,
+    pagesDomainsAddDomain,
+    pagesDomainsDeleteDomain,
+    pagesDomainsGetDomain,
+    pagesDomainsPatchDomain
+  },
+  pagesBuildCache: { pagesPurgeBuildCache },
+  magicPCAPCollection: {
+    magicPcapCollectionListPacketCaptureRequests,
+    magicPcapCollectionCreatePcapRequest,
+    magicPcapCollectionListPcaPsBucketOwnership,
+    magicPcapCollectionAddBucketsForFullPacketCaptures,
+    magicPcapCollectionValidateBucketsForFullPacketCaptures,
+    magicPcapCollectionDeleteBucketsForFullPacketCaptures,
+    magicPcapCollectionGetPcapRequest,
+    magicPcapCollectionDownloadSimplePcap
+  },
+  queue: {
+    queuesList,
+    queuesCreate,
+    queuesDelete,
+    queuesGet,
+    queuesUpdate,
+    queuesListConsumers,
+    queuesCreateConsumer,
+    queuesDeleteConsumer,
+    queuesUpdateConsumer,
+    queuesAckMessages,
+    queuesPullMessages
+  },
+  registrarDomains: { registrarDomainsListDomains, registrarDomainsGetDomain, registrarDomainsUpdateDomain },
+  accountRequestTracer: { accountRequestTracerRequestTrace },
+  accountRoles: { accountRolesListRoles, accountRolesRoleDetails },
+  accountRulesets: {
+    listAccountRulesets,
+    createAccountRuleset,
+    getAccountEntrypointRuleset,
+    updateAccountEntrypointRuleset,
+    listAccountEntrypointRulesetVersions,
+    getAccountEntrypointRulesetVersion,
+    deleteAccountRuleset,
+    getAccountRuleset,
+    updateAccountRuleset,
+    createAccountRulesetRule,
+    deleteAccountRulesetRule,
+    updateAccountRulesetRule,
+    listAccountRulesetVersions,
+    deleteAccountRulesetVersion,
+    getAccountRulesetVersion,
+    listAccountRulesetVersionRulesByTag
+  },
+  webAnalytics: {
+    webAnalyticsCreateSite,
+    webAnalyticsListSites,
+    webAnalyticsDeleteSite,
+    webAnalyticsGetSite,
+    webAnalyticsUpdateSite,
+    webAnalyticsCreateRule,
+    webAnalyticsDeleteRule,
+    webAnalyticsUpdateRule,
+    webAnalyticsListRules,
+    webAnalyticsModifyRules,
+    webAnalyticsGetRumStatus,
+    webAnalyticsToggleRum
+  },
+  secondaryDNSACL: {
+    secondaryDnsAclListAcLs,
+    secondaryDnsAclCreateAcl,
+    secondaryDnsAclDeleteAcl,
+    secondaryDnsAclAclDetails,
+    secondaryDnsAclUpdateAcl
+  },
+  secondaryDNSPeer: {
+    secondaryDnsPeerListPeers,
+    secondaryDnsPeerCreatePeer,
+    secondaryDnsPeerDeletePeer,
+    secondaryDnsPeerPeerDetails,
+    secondaryDnsPeerUpdatePeer
+  },
+  secondaryDNSTSIG: {
+    secondaryDnsTsigListTsiGs,
+    secondaryDnsTsigCreateTsig,
+    secondaryDnsTsigDeleteTsig,
+    secondaryDnsTsigTsigDetails,
+    secondaryDnsTsigUpdateTsig
+  },
+  resourceSharing: {
+    sharesList,
+    shareCreate,
+    shareDelete,
+    sharesGetById,
+    shareUpdate,
+    shareRecipientsList,
+    shareRecipientCreate,
+    shareRecipientDelete,
+    shareRecipientsGetById,
+    shareResourcesList,
+    shareResourceCreate,
+    shareResourceDelete,
+    shareResourcesGetById,
+    shareResourceUpdate,
+    organizationSharesList
+  },
+  workersKVRequestAnalyticsDeprecated: { workersKvRequestAnalyticsQueryRequestAnalytics },
+  workersKVStoredDataAnalyticsDeprecated: { workersKvStoredDataAnalyticsQueryStoredDataAnalytics },
+  workersKVNamespace: {
+    workersKvNamespaceListNamespaces,
+    workersKvNamespaceCreateANamespace,
+    workersKvNamespaceRemoveANamespace,
+    workersKvNamespaceGetANamespace,
+    workersKvNamespaceRenameANamespace,
+    workersKvNamespaceDeleteMultipleKeyValuePairsDeprecated,
+    workersKvNamespaceWriteMultipleKeyValuePairs,
+    workersKvNamespaceDeleteMultipleKeyValuePairs,
+    workersKvNamespaceListANamespaceSKeys,
+    workersKvNamespaceReadTheMetadataForAKey,
+    workersKvNamespaceDeleteKeyValuePair,
+    workersKvNamespaceReadKeyValuePair,
+    workersKvNamespaceWriteKeyValuePairWithMetadata
+  },
+  streamVideos: {
+    streamVideosListVideos,
+    streamVideosInitiateVideoUploadsUsingTus,
+    streamVideosUploadVideosFromAUrl,
+    streamVideosUploadVideosViaDirectUploadUrLs,
+    streamVideosStorageUsage,
+    streamVideosDeleteVideo,
+    streamVideosRetrieveVideoDetails,
+    streamVideosUpdateVideoDetails,
+    streamVideosRetreieveEmbedCodeHtml,
+    streamVideosCreateSignedUrlTokensForVideos
+  },
+  streamVideoClipping: { streamVideoClippingClipVideosGivenAStartAndEndTime },
+  streamSigningKeys: {
+    streamSigningKeysListSigningKeys,
+    streamSigningKeysCreateSigningKeys,
+    streamSigningKeysDeleteSigningKeys
+  },
+  streamLiveInputs: {
+    streamLiveInputsListLiveInputs,
+    streamLiveInputsCreateALiveInput,
+    streamLiveInputsDeleteALiveInput,
+    streamLiveInputsRetrieveALiveInput,
+    streamLiveInputsUpdateALiveInput,
+    streamLiveInputsListAllOutputsAssociatedWithASpecifiedLiveInput,
+    streamLiveInputsCreateANewOutputConnectedToALiveInput,
+    streamLiveInputsDeleteAnOutput,
+    streamLiveInputsUpdateAnOutput
+  },
+  streamWatermarkProfile: {
+    streamWatermarkProfileListWatermarkProfiles,
+    streamWatermarkProfileCreateWatermarkProfilesViaBasicUpload,
+    streamWatermarkProfileDeleteWatermarkProfiles,
+    streamWatermarkProfileWatermarkProfileDetails
+  },
+  streamWebhook: { streamWebhookDeleteWebhooks, streamWebhookViewWebhooks, streamWebhookCreateWebhooks },
+  streamAudioTracks: { listAudioTracks, addAudioTrack, deleteAudioTracks, editAudioTracks },
+  streamSubtitlesCaptions: {
+    streamSubtitlesCaptionsListCaptionsOrSubtitles,
+    streamSubtitlesCaptionsDeleteCaptionsOrSubtitles,
+    streamSubtitlesCaptionsGetCaptionOrSubtitleForLanguage,
+    streamSubtitlesCaptionsUploadCaptionsOrSubtitles,
+    streamSubtitlesCaptionsGenerateCaptionOrSubtitleForLanguage,
+    streamSubtitlesCaptionsGetVttCaptionOrSubtitle
+  },
+  streamMP4Downloads: {
+    streamMP4DownloadsDeleteDownloads,
+    streamMP4DownloadsListDownloads,
+    streamMP4DownloadsCreateDownloads
+  },
+  accountSubscriptions: {
+    accountSubscriptionsListSubscriptions,
+    accountSubscriptionsCreateSubscription,
+    accountSubscriptionsDeleteSubscription,
+    accountSubscriptionsUpdateSubscription
+  },
+  tunnelRouting: {
+    tunnelRouteListTunnelRoutes,
+    tunnelRouteCreateATunnelRoute,
+    tunnelRouteGetTunnelRouteByIp,
+    tunnelRouteDeleteATunnelRouteWithCidr,
+    tunnelRouteUpdateATunnelRouteWithCidr,
+    tunnelRouteCreateATunnelRouteWithCidr,
+    tunnelRouteDeleteATunnelRoute,
+    tunnelRouteGetTunnelRoute,
+    tunnelRouteUpdateATunnelRoute
+  },
+  tunnelVirtualNetwork: {
+    tunnelVirtualNetworkListVirtualNetworks,
+    tunnelVirtualNetworkCreateAVirtualNetwork,
+    tunnelVirtualNetworkDelete,
+    tunnelVirtualNetworkGet,
+    tunnelVirtualNetworkUpdate
+  },
+  accountOwnedAPITokens: {
+    accountApiTokensListTokens,
+    accountApiTokensCreateToken,
+    accountApiTokensListPermissionGroups,
+    accountApiTokensVerifyToken,
+    accountApiTokensDeleteToken,
+    accountApiTokensTokenDetails,
+    accountApiTokensUpdateToken,
+    accountApiTokensRollToken
+  },
+  tsengAbuseComplaintProcessorOther: { submitAbuseReport },
+  vectorizeBetaDeprecated: {
+    vectorizeDeprecatedListVectorizeIndexes,
+    vectorizeDeprecatedCreateVectorizeIndex,
+    vectorizeDeprecatedDeleteVectorizeIndex,
+    vectorizeDeprecatedGetVectorizeIndex,
+    vectorizeDeprecatedUpdateVectorizeIndex,
+    vectorizeDeprecatedDeleteVectorsById,
+    vectorizeDeprecatedGetVectorsById,
+    vectorizeDeprecatedInsertVector,
+    vectorizeDeprecatedQueryVector,
+    vectorizeDeprecatedUpsertVector
+  },
+  vectorize: {
+    vectorizeListVectorizeIndexes,
+    vectorizeCreateVectorizeIndex,
+    vectorizeDeleteVectorizeIndex,
+    vectorizeGetVectorizeIndex,
+    vectorizeDeleteVectorsById,
+    vectorizeGetVectorsById,
+    vectorizeIndexInfo,
+    vectorizeInsertVector,
+    vectorizeCreateMetadataIndex,
+    vectorizeDeleteMetadataIndex,
+    vectorizeListMetadataIndexes,
+    vectorizeQueryVector,
+    vectorizeUpsertVector
+  },
+  workerAccountSettings: {
+    workerAccountSettingsFetchWorkerAccountSettings,
+    workerAccountSettingsCreateWorkerAccountSettings
+  },
+  workerScript: {
+    workerAssetsUpload,
+    workerScriptListWorkers,
+    workerScriptDeleteWorker,
+    workerScriptDownloadWorker,
+    workerScriptUploadWorkerModule,
+    workerScriptUpdateCreateAssetsUploadSession,
+    workerScriptPutContent,
+    workerScriptGetContent,
+    workerScriptSettingsGetSettings,
+    workerScriptSettingsPatchSettings,
+    workerScriptGetSettings,
+    workerScriptPatchSettings,
+    workerScriptGetSubdomain,
+    workerScriptPostSubdomain,
+    workerScriptFetchUsageModel,
+    workerScriptUpdateUsageModel
+  },
+  workerDeploymentsDeprecated: {
+    workerDeploymentsDeprecatedListDeployments,
+    workerDeploymentsDeprecatedGetDeploymentDetail
+  },
+  workersForPlatforms: {
+    namespaceWorkerList,
+    namespaceWorkerCreate,
+    namespaceWorkerDeleteNamespace,
+    namespaceWorkerGetNamespace,
+    namespaceWorkerScriptDeleteWorker,
+    namespaceWorkerScriptWorkerDetails,
+    namespaceWorkerScriptUploadWorkerModule,
+    namespaceWorkerScriptUpdateCreateAssetsUploadSession,
+    namespaceWorkerGetScriptBindings,
+    namespaceWorkerGetScriptContent,
+    namespaceWorkerPutScriptContent,
+    namespaceWorkerListScriptSecrets,
+    namespaceWorkerPutScriptSecrets,
+    namespaceWorkerGetScriptSecrets,
+    namespaceWorkerGetScriptSettings,
+    namespaceWorkerPatchScriptSettings,
+    namespaceWorkerGetScriptTags,
+    namespaceWorkerPutScriptTags,
+    namespaceWorkerDeleteScriptTag,
+    namespaceWorkerPutScriptTag
+  },
+  workerDomain: {
+    workerDomainListDomains,
+    workerDomainAttachToDomain,
+    workerDomainDetachFromDomain,
+    workerDomainGetADomain
+  },
+  durableObjectsNamespace: { durableObjectsNamespaceListNamespaces, durableObjectsNamespaceListObjects },
+  workerDeployments: { workerDeploymentsListDeployments, workerDeploymentsCreateDeployment },
+  workerCronTrigger: { workerCronTriggerGetCronTriggers, workerCronTriggerUpdateCronTriggers },
+  workerTailLogs: { workerTailLogsListTails, workerTailLogsStartTail, workerTailLogsDeleteTail },
+  workerVersions: { workerVersionsListVersions, workerVersionsUploadVersion, workerVersionsGetVersionDetail },
+  workerEnvironment: {
+    workerEnvironmentGetScriptContent,
+    workerEnvironmentPutScriptContent,
+    workerScriptEnvironmentGetSettings,
+    workerScriptEnvironmentPatchSettings
+  },
+  workerSubdomain: { workerSubdomainGetSubdomain, workerSubdomainCreateSubdomain },
+  workflows: {
+    worListWorkflows,
+    worGetWorkflowDetails,
+    worCreateOrModifyWorkflow,
+    worListWorkflowInstances,
+    worCreateNewWorkflowInstance,
+    worDescribeWorkflowInstance,
+    worChangeStatusWorkflowInstance,
+    worListWorkflowVersions,
+    worDescribeWorkflowVersions
+  },
+  zeroTrustConnectivitySettings: {
+    zeroTrustAccountsGetConnectivitySettings,
+    zeroTrustAccountsPatchConnectivitySettings
+  },
+  zeroTrustRiskScoring: {
+    dlpRiskScoreBehaviorsGet,
+    dlpRiskScoreBehaviorsPut,
+    dlpRiskScoreSummaryGet,
+    dlpRiskScoreSummaryGetForUser,
+    dlpRiskScoreResetPost
+  },
+  zeroTrustRiskScoringIntegrations: {
+    dlpZtRiskScoreIntegrationList,
+    dlpZtRiskScoreIntegrationCreate,
+    dlpZtRiskScoreIntegrationGetByReferenceId,
+    dlpZtRiskScoreIntegrationDelete,
+    dlpZtRiskScoreIntegrationGet,
+    dlpZtRiskScoreIntegrationUpdate
+  },
+  originCA: { originCaListCertificates, originCaCreateCertificate, originCaRevokeCertificate, originCaGetCertificate },
+  cloudflareIPs: { cloudflareIPsCloudflareIpDetails },
+  usersAccountMemberships: {
+    userSAccountMembershipsListMemberships,
+    userSAccountMembershipsDeleteMembership,
+    userSAccountMembershipsMembershipDetails,
+    userSAccountMembershipsUpdateMembership
+  },
+  radarAIBots: { radarGetAiBotsSummaryByUserAgent, radarGetAiBotsTimeseriesGroupByUserAgent },
+  radarAnnotations: { radarGetAnnotations, radarGetAnnotationsOutages, radarGetAnnotationsOutagesTop },
+  radarAS112: {
+    radarGetDnsAs112TimeseriesByDnssec,
+    radarGetDnsAs112TimeseriesByEdns,
+    radarGetDnsAs112TimeseriesByIpVersion,
+    radarGetDnsAs112TimeseriesByProtocol,
+    radarGetDnsAs112TimeseriesByQueryType,
+    radarGetDnsAs112TimeseriesByResponseCodes,
+    radarGetDnsAs112Timeseries,
+    radarGetDnsAs112TimeseriesGroupByDnssec,
+    radarGetDnsAs112TimeseriesGroupByEdns,
+    radarGetDnsAs112TimeseriesGroupByIpVersion,
+    radarGetDnsAs112TimeseriesGroupByProtocol,
+    radarGetDnsAs112TimeseriesGroupByQueryType,
+    radarGetDnsAs112TimeseriesGroupByResponseCodes,
+    radarGetDnsAs112TopLocations,
+    radarGetDnsAs112TopLocationsByDnssec,
+    radarGetDnsAs112TopLocationsByEdns,
+    radarGetDnsAs112TopLocationsByIpVersion
+  },
+  radarAttacks: {
+    radarGetAttacksLayer3Summary,
+    radarGetAttacksLayer3SummaryByBitrate,
+    radarGetAttacksLayer3SummaryByDuration,
+    radarGetAttacksLayer3SummaryByIpVersion,
+    radarGetAttacksLayer3SummaryByProtocol,
+    radarGetAttacksLayer3SummaryByVector,
+    radarGetAttacksLayer3TimeseriesByBytes,
+    radarGetAttacksLayer3TimeseriesGroups,
+    radarGetAttacksLayer3TimeseriesGroupByBitrate,
+    radarGetAttacksLayer3TimeseriesGroupByDuration,
+    radarGetAttacksLayer3TimeseriesGroupByIndustry,
+    radarGetAttacksLayer3TimeseriesGroupByIpVersion,
+    radarGetAttacksLayer3TimeseriesGroupByProtocol,
+    radarGetAttacksLayer3TimeseriesGroupByVector,
+    radarGetAttacksLayer3TimeseriesGroupByVertical,
+    radarGetAttacksLayer3TopAttacks,
+    radarGetAttacksLayer3TopIndustries,
+    radarGetAttacksLayer3TopOriginLocations,
+    radarGetAttacksLayer3TopTargetLocations,
+    radarGetAttacksLayer3TopVerticals,
+    radarGetAttacksLayer7Summary,
+    radarGetAttacksLayer7SummaryByHttpMethod,
+    radarGetAttacksLayer7SummaryByHttpVersion,
+    radarGetAttacksLayer7SummaryByIpVersion,
+    radarGetAttacksLayer7SummaryByManagedRules,
+    radarGetAttacksLayer7SummaryByMitigationProduct,
+    radarGetAttacksLayer7Timeseries,
+    radarGetAttacksLayer7TimeseriesGroup,
+    radarGetAttacksLayer7TimeseriesGroupByHttpMethod,
+    radarGetAttacksLayer7TimeseriesGroupByHttpVersion,
+    radarGetAttacksLayer7TimeseriesGroupByIndustry,
+    radarGetAttacksLayer7TimeseriesGroupByIpVersion,
+    radarGetAttacksLayer7TimeseriesGroupByManagedRules,
+    radarGetAttacksLayer7TimeseriesGroupByMitigationProduct,
+    radarGetAttacksLayer7TimeseriesGroupByVertical,
+    radarGetAttacksLayer7TopOriginAs,
+    radarGetAttacksLayer7TopAttacks,
+    radarGetAttacksLayer7TopIndustries,
+    radarGetAttacksLayer7TopOriginLocation,
+    radarGetAttacksLayer7TopTargetLocation,
+    radarGetAttacksLayer7TopVerticals
+  },
+  radarBGP: {
+    radarGetBgpHijacksEvents,
+    radarGetBgpIpsTimeseries,
+    radarGetBgpRouteLeakEvents,
+    radarGetBgpRoutesAsns,
+    radarGetBgpPfx2asMoas,
+    radarGetBgpPfx2as,
+    radarGetBgpRoutesStats,
+    radarGetBgpTimeseries,
+    radarGetBgpTopAses,
+    radarGetBgpTopAsnsByPrefixes,
+    radarGetBgpTopPrefixes
+  },
+  radarDatasets: { radarGetReportsDatasets, radarPostReportsDatasetDownloadUrl, radarGetReportsDatasetDownload },
+  radarDNS: { radarGetDnsTopAses, radarGetDnsTopLocations },
+  radarEmailRouting: {
+    radarGetEmailRoutingSummaryByArc,
+    radarGetEmailRoutingSummaryByDkim,
+    radarGetEmailRoutingSummaryByDmarc,
+    radarGetEmailRoutingSummaryByEncrypted,
+    radarGetEmailRoutingSummaryByIpVersion,
+    radarGetEmailRoutingSummaryBySpf,
+    radarGetEmailRoutingTimeseriesGroupByArc,
+    radarGetEmailRoutingTimeseriesGroupByDkim,
+    radarGetEmailRoutingTimeseriesGroupByDmarc,
+    radarGetEmailRoutingTimeseriesGroupByEncrypted,
+    radarGetEmailRoutingTimeseriesGroupByIpVersion,
+    radarGetEmailRoutingTimeseriesGroupBySpf
+  },
+  radarEmailSecurity: {
+    radarGetEmailSecuritySummaryByArc,
+    radarGetEmailSecuritySummaryByDkim,
+    radarGetEmailSecuritySummaryByDmarc,
+    radarGetEmailSecuritySummaryByMalicious,
+    radarGetEmailSecuritySummaryBySpam,
+    radarGetEmailSecuritySummaryBySpf,
+    radarGetEmailSecuritySummaryBySpoof,
+    radarGetEmailSecuritySummaryByThreatCategory,
+    radarGetEmailSecuritySummaryByTlsVersion,
+    radarGetEmailSecurityTimeseriesGroupByArc,
+    radarGetEmailSecurityTimeseriesGroupByDkim,
+    radarGetEmailSecurityTimeseriesGroupByDmarc,
+    radarGetEmailSecurityTimeseriesGroupByMalicious,
+    radarGetEmailSecurityTimeseriesGroupBySpam,
+    radarGetEmailSecurityTimeseriesGroupBySpf,
+    radarGetEmailSecurityTimeseriesGroupBySpoof,
+    radarGetEmailSecurityTimeseriesGroupByThreatCategory,
+    radarGetEmailSecurityTimeseriesGroupByTlsVersion,
+    radarGetEmailSecurityTopTldsByMessages,
+    radarGetEmailSecurityTopTldsByMalicious,
+    radarGetEmailSecurityTopTldsBySpam,
+    radarGetEmailSecurityTopTldsBySpoof
+  },
+  radarEntities: {
+    radarGetEntitiesAsnList,
+    radarGetEntitiesAsnByIp,
+    radarGetEntitiesAsnById,
+    radarGetAsnsRel,
+    radarGetEntitiesIp,
+    radarGetEntitiesLocations,
+    radarGetEntitiesLocationByAlpha2
+  },
+  radarHttp: {
+    radarGetHttpSummaryByBotClass,
+    radarGetHttpSummaryByDeviceType,
+    radarGetHttpSummaryByHttpProtocol,
+    radarGetHttpSummaryByHttpVersion,
+    radarGetHttpSummaryByIpVersion,
+    radarGetHttpSummaryByOperatingSystem,
+    radarGetHttpSummaryByPostQuantum,
+    radarGetHttpSummaryByTlsVersion,
+    radarGetHttpTimeseries,
+    radarGetHttpTimeseriesGroupByBotClass,
+    radarGetHttpTimeseriesGroupByBrowsers,
+    radarGetHttpTimeseriesGroupByBrowserFamilies,
+    radarGetHttpTimeseriesGroupByDeviceType,
+    radarGetHttpTimeseriesGroupByHttpProtocol,
+    radarGetHttpTimeseriesGroupByHttpVersion,
+    radarGetHttpTimeseriesGroupByIpVersion,
+    radarGetHttpTimeseriesGroupByOperatingSystem,
+    radarGetHttpTimeseriesGroupByPostQuantum,
+    radarGetHttpTimeseriesGroupByTlsVersion,
+    radarGetHttpTopAsesByHttpRequests,
+    radarGetHttpTopAsesByBotClass,
+    radarGetHttpTopAsesByBrowserFamily,
+    radarGetHttpTopAsesByDeviceType,
+    radarGetHttpTopAsesByHttpProtocol,
+    radarGetHttpTopAsesByHttpVersion,
+    radarGetHttpTopAsesByIpVersion,
+    radarGetHttpTopAsesByOperatingSystem,
+    radarGetHttpTopAsesByTlsVersion,
+    radarGetHttpTopBrowsers,
+    radarGetHttpTopBrowserFamilies,
+    radarGetHttpTopLocationsByHttpRequests,
+    radarGetHttpTopLocationsByBotClass,
+    radarGetHttpTopLocationsByBrowserFamily,
+    radarGetHttpTopLocationsByDeviceType,
+    radarGetHttpTopLocationsByHttpProtocol,
+    radarGetHttpTopLocationsByHttpVersion,
+    radarGetHttpTopLocationsByIpVersion,
+    radarGetHttpTopLocationsByOperatingSystem,
+    radarGetHttpTopLocationsByTlsVersion
+  },
+  radarNetflows: {
+    radarGetNetflowsSummary,
+    radarGetNetflowsTimeseries,
+    radarGetNetflowsTopAses,
+    radarGetNetflowsTopLocations
+  },
+  radarQuality: {
+    radarGetQualityIndexSummary,
+    radarGetQualityIndexTimeseriesGroup,
+    radarGetQualitySpeedHistogram,
+    radarGetQualitySpeedSummary,
+    radarGetQualitySpeedTopAses,
+    radarGetQualitySpeedTopLocations
+  },
+  radarRanking: { radarGetRankingDomainDetails, radarGetRankingDomainTimeseries, radarGetRankingTopDomains },
+  radarSearch: { radarGetSearchGlobal },
+  radarTCPResetsTimeouts: { radarGetTcpResetsTimeoutsSummary, radarGetTcpResetsTimeoutsTimeseriesGroup },
+  radarTrafficAnomalies: { radarGetTrafficAnomalies, radarGetTrafficAnomaliesTop },
+  radarVerifiedBots: { radarGetVerifiedBotsTopByHttpRequests, radarGetVerifiedBotsTopCategoriesByHttpRequests },
+  user: { userUserDetails, userEditUser },
+  userBillingHistory: { userBillingHistoryDeprecatedBillingHistoryDetails },
+  userBillingProfile: { userBillingProfileDeprecatedBillingProfileDetails },
+  iPAccessRulesForAUser: {
+    ipAccessRulesForAUserListIpAccessRules,
+    ipAccessRulesForAUserCreateAnIpAccessRule,
+    ipAccessRulesForAUserDeleteAnIpAccessRule,
+    ipAccessRulesForAUserUpdateAnIpAccessRule
+  },
+  usersInvites: { userSInvitesListInvitations, userSInvitesInvitationDetails, userSInvitesRespondToInvitation },
+  loadBalancerMonitors: {
+    loadBalancerMonitorsListMonitors,
+    loadBalancerMonitorsCreateMonitor,
+    loadBalancerMonitorsDeleteMonitor,
+    loadBalancerMonitorsMonitorDetails,
+    loadBalancerMonitorsPatchMonitor,
+    loadBalancerMonitorsUpdateMonitor,
+    loadBalancerMonitorsPreviewMonitor,
+    loadBalancerMonitorsListMonitorReferences,
+    loadBalancerMonitorsPreviewResult
+  },
+  loadBalancerPools: {
+    loadBalancerPoolsListPools,
+    loadBalancerPoolsPatchPools,
+    loadBalancerPoolsCreatePool,
+    loadBalancerPoolsDeletePool,
+    loadBalancerPoolsPoolDetails,
+    loadBalancerPoolsPatchPool,
+    loadBalancerPoolsUpdatePool,
+    loadBalancerPoolsPoolHealthDetails,
+    loadBalancerPoolsPreviewPool,
+    loadBalancerPoolsListPoolReferences
+  },
+  loadBalancerHealthcheckEvents: { loadBalancerHealthcheckEventsListHealthcheckEvents },
+  usersOrganizations: {
+    userSOrganizationsListOrganizations,
+    userSOrganizationsLeaveOrganization,
+    userSOrganizationsOrganizationDetails
+  },
+  userSubscription: {
+    userSubscriptionGetUserSubscriptions,
+    userSubscriptionDeleteUserSubscription,
+    userSubscriptionUpdateUserSubscription
+  },
+  userAPITokens: {
+    userApiTokensListTokens,
+    userApiTokensCreateToken,
+    permissionGroupsListPermissionGroups,
+    userApiTokensVerifyToken,
+    userApiTokensDeleteToken,
+    userApiTokensTokenDetails,
+    userApiTokensUpdateToken,
+    userApiTokensRollToken
+  },
+  zone: { zonesGet, zonesPost, zones0Delete, zones0Get, zones0Patch, putZonesZoneIdActivationCheck, zonePurge },
+  zoneSubscription: {
+    zoneSubscriptionZoneSubscriptionDetails,
+    zoneSubscriptionCreateZoneSubscription,
+    zoneSubscriptionUpdateZoneSubscription
+  },
+  zoneAnalyticsDeprecated: { zoneAnalyticsDeprecatedGetAnalyticsByCoLocations, zoneAnalyticsDeprecatedGetDashboard },
+  customPagesForAZone: {
+    customPagesForAZoneListCustomPages,
+    customPagesForAZoneGetACustomPage,
+    customPagesForAZoneUpdateACustomPage
+  },
+  sSLTLSModeRecommendation: { sslTlsModeRecommendationSslTlsRecommendation },
+  zoneLevelAccessApplications: {
+    zoneLevelAccessApplicationsListAccessApplications,
+    zoneLevelAccessApplicationsAddABookmarkApplication,
+    zoneLevelAccessApplicationsDeleteAnAccessApplication,
+    zoneLevelAccessApplicationsGetAnAccessApplication,
+    zoneLevelAccessApplicationsUpdateABookmarkApplication,
+    zoneLevelAccessApplicationsRevokeServiceTokens,
+    zoneLevelAccessApplicationsTestAccessPolicies
+  },
+  zoneLevelAccessShortLivedCertificateCAs: {
+    zoneLevelAccessShortLivedCertificateCAsListShortLivedCertificateCAs,
+    zoneLevelAccessShortLivedCertificateCAsDeleteAShortLivedCertificateCa,
+    zoneLevelAccessShortLivedCertificateCAsGetAShortLivedCertificateCa,
+    zoneLevelAccessShortLivedCertificateCAsCreateAShortLivedCertificateCa
+  },
+  zoneLevelAccessPolicies: {
+    zoneLevelAccessPoliciesListAccessPolicies,
+    zoneLevelAccessPoliciesCreateAnAccessPolicy,
+    zoneLevelAccessPoliciesDeleteAnAccessPolicy,
+    zoneLevelAccessPoliciesGetAnAccessPolicy,
+    zoneLevelAccessPoliciesUpdateAnAccessPolicy
+  },
+  zoneLevelAccessMTLSAuthentication: {
+    zoneLevelAccessMtlsAuthenticationListMtlsCertificates,
+    zoneLevelAccessMtlsAuthenticationAddAnMtlsCertificate,
+    zoneLevelAccessMtlsAuthenticationListMtlsCertificatesHostnameSettings,
+    zoneLevelAccessMtlsAuthenticationUpdateAnMtlsCertificateSettings,
+    zoneLevelAccessMtlsAuthenticationDeleteAnMtlsCertificate,
+    zoneLevelAccessMtlsAuthenticationGetAnMtlsCertificate,
+    zoneLevelAccessMtlsAuthenticationUpdateAnMtlsCertificate
+  },
+  zoneLevelAccessGroups: {
+    zoneLevelAccessGroupsListAccessGroups,
+    zoneLevelAccessGroupsCreateAnAccessGroup,
+    zoneLevelAccessGroupsDeleteAnAccessGroup,
+    zoneLevelAccessGroupsGetAnAccessGroup,
+    zoneLevelAccessGroupsUpdateAnAccessGroup
+  },
+  zoneLevelAccessIdentityProviders: {
+    zoneLevelAccessIdentityProvidersListAccessIdentityProviders,
+    zoneLevelAccessIdentityProvidersAddAnAccessIdentityProvider,
+    zoneLevelAccessIdentityProvidersDeleteAnAccessIdentityProvider,
+    zoneLevelAccessIdentityProvidersGetAnAccessIdentityProvider,
+    zoneLevelAccessIdentityProvidersUpdateAnAccessIdentityProvider
+  },
+  zoneLevelZeroTrustOrganization: {
+    zoneLevelZeroTrustOrganizationGetYourZeroTrustOrganization,
+    zoneLevelZeroTrustOrganizationCreateYourZeroTrustOrganization,
+    zoneLevelZeroTrustOrganizationUpdateYourZeroTrustOrganization,
+    zoneLevelZeroTrustOrganizationRevokeAllAccessTokensForAUser
+  },
+  zoneLevelAccessServiceTokens: {
+    zoneLevelAccessServiceTokensListServiceTokens,
+    zoneLevelAccessServiceTokensCreateAServiceToken,
+    zoneLevelAccessServiceTokensDeleteAServiceToken,
+    zoneLevelAccessServiceTokensGetAServiceToken,
+    zoneLevelAccessServiceTokensUpdateAServiceToken
+  },
+  totalTLS: { totalTlsTotalTlsSettingsDetails, totalTlsEnableOrDisableTotalTls },
+  argoAnalyticsForZone: { argoAnalyticsForZoneArgoAnalyticsForAZone },
+  argoAnalyticsForGeolocation: { argoAnalyticsForGeolocationArgoAnalyticsForAZoneAtDifferentPoPs },
+  aPIShieldSettings: {
+    apiShieldSettingsRetrieveInformationAboutSpecificConfigurationProperties,
+    apiShieldSettingsSetConfigurationProperties
+  },
+  aPIShieldAPIDiscovery: {
+    apiShieldApiDiscoveryRetrieveDiscoveredOperationsOnAZoneAsOpenapi,
+    apiShieldApiDiscoveryRetrieveDiscoveredOperationsOnAZone,
+    apiShieldApiPatchDiscoveredOperations,
+    apiShieldApiPatchDiscoveredOperation
+  },
+  aPIShieldWAFExpressionTemplates: { apiShieldExpressionTemplatesFallthrough },
+  aPIShieldEndpointManagement: {
+    apiShieldEndpointManagementDeleteMultipleOperations,
+    apiShieldEndpointManagementRetrieveInformationAboutAllOperationsOnAZone,
+    apiShieldEndpointManagementAddOperationsToAZone,
+    apiShieldEndpointManagementDeleteAnOperation,
+    apiShieldEndpointManagementRetrieveInformationAboutAnOperation,
+    apiShieldEndpointManagementRetrieveOperationsAndFeaturesAsOpenApiSchemas
+  },
+  aPIShieldSchemaValidation20: {
+    apiShieldSchemaValidationUpdateMultipleOperationLevelSettings,
+    apiShieldSchemaValidationRetrieveOperationLevelSettings,
+    apiShieldSchemaValidationUpdateOperationLevelSettings,
+    apiShieldSchemaValidationRetrieveZoneLevelSettings,
+    apiShieldSchemaValidationPatchZoneLevelSettings,
+    apiShieldSchemaValidationUpdateZoneLevelSettings,
+    apiShieldSchemaValidationRetrieveInformationAboutAllSchemas,
+    apiShieldSchemaValidationPostSchema,
+    apiShieldSchemaValidationRetrieveUserSchemaHosts,
+    apiShieldSchemaDeleteASchema,
+    apiShieldSchemaValidationRetrieveInformationAboutSpecificSchema,
+    apiShieldSchemaValidationEnableValidationForASchema,
+    apiShieldSchemaValidationExtractOperationsFromSchema
+  },
+  argoSmartRouting: { argoSmartRoutingGetArgoSmartRoutingSetting, argoSmartRoutingPatchArgoSmartRoutingSetting },
+  tieredCaching: { tieredCachingGetTieredCachingSetting, tieredCachingPatchTieredCachingSetting },
+  zoneRatePlan: {
+    zoneRatePlanListAvailablePlans,
+    zoneRatePlanAvailablePlanDetails,
+    zoneRatePlanListAvailableRatePlans
+  },
+  botSettings: { botManagementForAZoneGetConfig, botManagementForAZoneUpdateConfig },
+  zoneCacheSettings: {
+    zoneCacheSettingsGetCacheReserveSetting,
+    zoneCacheSettingsChangeCacheReserveSetting,
+    zoneCacheSettingsGetCacheReserveClear,
+    zoneCacheSettingsStartCacheReserveClear,
+    zoneCacheSettingsGetRegionalTieredCacheSetting,
+    zoneCacheSettingsChangeRegionalTieredCacheSetting,
+    zoneCacheSettingsDeleteVariantsSetting,
+    zoneCacheSettingsGetVariantsSetting,
+    zoneCacheSettingsChangeVariantsSetting,
+    zoneCacheSettingsGetOriginMaxHttpVersionSetting,
+    zoneCacheSettingsChangeOriginMaxHttpVersionSetting
+  },
+  originPostQuantum: {
+    zoneCacheSettingsGetOriginPostQuantumEncryptionSetting,
+    zoneCacheSettingsChangeOriginPostQuantumEncryptionSetting
+  },
+  smartTieredCache: {
+    smartTieredCacheDeleteSmartTieredCacheSetting,
+    smartTieredCacheGetSmartTieredCacheSetting,
+    smartTieredCachePatchSmartTieredCacheSetting
+  },
+  aPIShieldClientCertificatesForAZone: {
+    clientCertificateForAZoneListHostnameAssociations,
+    clientCertificateForAZonePutHostnameAssociations,
+    clientCertificateForAZoneListClientCertificates,
+    clientCertificateForAZoneCreateClientCertificate,
+    clientCertificateForAZoneDeleteClientCertificate,
+    clientCertificateForAZoneClientCertificateDetails,
+    clientCertificateForAZoneEditClientCertificate
+  },
+  zoneCloudConnectorRulesGET: { zoneCloudConnectorRules },
+  zoneCloudConnectorRulesPUT: { zoneCloudConenctorRulesPut },
+  contentScanning: {
+    wafContentScanningDisable,
+    wafContentScanningEnable,
+    wafContentScanningListCustomScanExpressions,
+    wafContentScanningAddCustomScanExpressions,
+    wafContentScanningDeleteCustomScanExpressions,
+    wafContentScanningGetStatus
+  },
+  customSSLForAZone: {
+    customSslForAZoneListSslConfigurations,
+    customSslForAZoneCreateSslConfiguration,
+    customSslForAZoneRePrioritizeSslCertificates,
+    customSslForAZoneDeleteSslConfiguration,
+    customSslForAZoneSslConfigurationDetails,
+    customSslForAZoneEditSslConfiguration
+  },
+  customHostnameForAZone: {
+    customHostnameForAZoneListCustomHostnames,
+    customHostnameForAZoneCreateCustomHostname,
+    customHostnameForAZoneDeleteCustomHostnameAndAnyIssuedSslCertificates,
+    customHostnameForAZoneCustomHostnameDetails,
+    customHostnameForAZoneEditCustomHostname
+  },
+  customHostnameFallbackOriginForAZone: {
+    customHostnameFallbackOriginForAZoneDeleteFallbackOriginForCustomHostnames,
+    customHostnameFallbackOriginForAZoneGetFallbackOriginForCustomHostnames,
+    customHostnameFallbackOriginForAZoneUpdateFallbackOriginForCustomHostnames
+  },
+  accountLevelCustomNameserversUsageForAZone: {
+    accountLevelCustomNameserversUsageForAZoneGetAccountCustomNameserverRelatedZoneMetadata,
+    accountLevelCustomNameserversUsageForAZoneSetAccountCustomNameserverRelatedZoneMetadata
+  },
+  dCVDelegation: { dcvDelegationUuidGet },
+  dNSAnalytics: { dnsAnalyticsTable, dnsAnalyticsByTime },
+  dNSRecordsForAZone: {
+    dnsRecordsForAZoneListDnsRecords,
+    dnsRecordsForAZoneCreateDnsRecord,
+    dnsRecordsForAZoneBatchDnsRecords,
+    dnsRecordsForAZoneExportDnsRecords,
+    dnsRecordsForAZoneImportDnsRecords,
+    dnsRecordsForAZoneScanDnsRecords,
+    dnsRecordsForAZoneDeleteDnsRecord,
+    dnsRecordsForAZoneDnsRecordDetails,
+    dnsRecordsForAZonePatchDnsRecord,
+    dnsRecordsForAZoneUpdateDnsRecord
+  },
+  dNSSettingsForAZone: { dnsSettingsForAZoneListDnsSettings, dnsSettingsForAZoneUpdateDnsSettings },
+  dnssec: { dnssecDeleteDnssecRecords, dnssecDnssecDetails, dnssecEditDnssecStatus },
+  emailRoutingSettings: {
+    emailRoutingSettingsGetEmailRoutingSettings,
+    emailRoutingSettingsDisableEmailRouting,
+    emailRoutingSettingsDisableEmailRoutingDns,
+    emailRoutingSettingsEmailRoutingDnsSettings,
+    emailRoutingSettingsUnlockEmailRoutingDns,
+    emailRoutingSettingsEnableEmailRoutingDns,
+    emailRoutingSettingsEnableEmailRouting
+  },
+  emailRoutingRoutingRules: {
+    emailRoutingRoutingRulesListRoutingRules,
+    emailRoutingRoutingRulesCreateRoutingRule,
+    emailRoutingRoutingRulesGetCatchAllRule,
+    emailRoutingRoutingRulesUpdateCatchAllRule,
+    emailRoutingRoutingRulesDeleteRoutingRule,
+    emailRoutingRoutingRulesGetRoutingRule,
+    emailRoutingRoutingRulesUpdateRoutingRule
+  },
+  filters: {
+    filtersDeleteFilters,
+    filtersListFilters,
+    filtersCreateFilters,
+    filtersUpdateFilters,
+    filtersDeleteAFilter,
+    filtersGetAFilter,
+    filtersUpdateAFilter
+  },
+  iPAccessRulesForAZone: {
+    ipAccessRulesForAZoneListIpAccessRules,
+    ipAccessRulesForAZoneCreateAnIpAccessRule,
+    ipAccessRulesForAZoneDeleteAnIpAccessRule,
+    ipAccessRulesForAZoneUpdateAnIpAccessRule
+  },
+  zoneLockdown: {
+    zoneLockdownListZoneLockdownRules,
+    zoneLockdownCreateAZoneLockdownRule,
+    zoneLockdownDeleteAZoneLockdownRule,
+    zoneLockdownGetAZoneLockdownRule,
+    zoneLockdownUpdateAZoneLockdownRule
+  },
+  firewallRules: {
+    firewallRulesDeleteFirewallRules,
+    firewallRulesListFirewallRules,
+    firewallRulesUpdatePriorityOfFirewallRules,
+    firewallRulesCreateFirewallRules,
+    firewallRulesUpdateFirewallRules,
+    firewallRulesDeleteAFirewallRule,
+    firewallRulesGetAFirewallRule,
+    firewallRulesUpdatePriorityOfAFirewallRule,
+    firewallRulesUpdateAFirewallRule
+  },
+  userAgentBlockingRules: {
+    userAgentBlockingRulesListUserAgentBlockingRules,
+    userAgentBlockingRulesCreateAUserAgentBlockingRule,
+    userAgentBlockingRulesDeleteAUserAgentBlockingRule,
+    userAgentBlockingRulesGetAUserAgentBlockingRule,
+    userAgentBlockingRulesUpdateAUserAgentBlockingRule
+  },
+  wAFOverrides: {
+    wafOverridesListWafOverrides,
+    wafOverridesCreateAWafOverride,
+    wafOverridesDeleteAWafOverride,
+    wafOverridesGetAWafOverride,
+    wafOverridesUpdateWafOverride
+  },
+  wAFPackages: { wafPackagesListWafPackages, wafPackagesGetAWafPackage, wafPackagesUpdateAWafPackage },
+  wAFRuleGroups: { wafRuleGroupsListWafRuleGroups, wafRuleGroupsGetAWafRuleGroup, wafRuleGroupsUpdateAWafRuleGroup },
+  wAFRules: { wafRulesListWafRules, wafRulesGetAWafRule, wafRulesUpdateAWafRule },
+  healthChecks: {
+    healthChecksListHealthChecks,
+    healthChecksCreateHealthCheck,
+    healthChecksCreatePreviewHealthCheck,
+    healthChecksDeletePreviewHealthCheck,
+    healthChecksHealthCheckPreviewDetails,
+    healthChecksDeleteHealthCheck,
+    healthChecksHealthCheckDetails,
+    healthChecksPatchHealthCheck,
+    healthChecksUpdateHealthCheck
+  },
+  zoneHolds: { zones0HoldDelete, zones0HoldGet, zones0HoldPatch, zones0HoldPost },
+  perHostnameTLSSettings: { perHostnameTlsSettingsList, perHostnameTlsSettingsDelete, perHostnameTlsSettingsPut },
+  keylessSSLForAZone: {
+    keylessSslForAZoneListKeylessSslConfigurations,
+    keylessSslForAZoneCreateKeylessSslConfiguration,
+    keylessSslForAZoneDeleteKeylessSslConfiguration,
+    keylessSslForAZoneGetKeylessSslConfiguration,
+    keylessSslForAZoneEditKeylessSslConfiguration
+  },
+  leakedCredentialChecks: {
+    wafProductApiLeakedCredentialsGetStatus,
+    wafProductApiLeakedCredentialsSetStatus,
+    wafProductApiLeakedCredentialsListDetections,
+    wafProductApiLeakedCredentialsCreateDetection,
+    wafProductApiLeakedCredentialsDeleteDetection,
+    wafProductApiLeakedCredentialsUpdateDetection
+  },
+  loadBalancers: {
+    loadBalancersListLoadBalancers,
+    loadBalancersCreateLoadBalancer,
+    loadBalancersDeleteLoadBalancer,
+    loadBalancersLoadBalancerDetails,
+    loadBalancersPatchLoadBalancer,
+    loadBalancersUpdateLoadBalancer
+  },
+  logpushJobsForAZone: {
+    getZonesZoneIdLogpushDatasetsDatasetIdFields,
+    getZonesZoneIdLogpushDatasetsDatasetIdJobs,
+    getZonesZoneIdLogpushJobs,
+    postZonesZoneIdLogpushJobs,
+    deleteZonesZoneIdLogpushJobsJobId,
+    getZonesZoneIdLogpushJobsJobId,
+    putZonesZoneIdLogpushJobsJobId,
+    postZonesZoneIdLogpushOwnership,
+    postZonesZoneIdLogpushOwnershipValidate,
+    postZonesZoneIdLogpushValidateDestination,
+    postZonesZoneIdLogpushValidateDestinationExists,
+    postZonesZoneIdLogpushValidateOrigin
+  },
+  instantLogsJobsForAZone: { getZonesZoneIdLogpushEdgeJobs, postZonesZoneIdLogpushEdgeJobs },
+  logsReceived: {
+    getZonesZoneIdLogsControlRetentionFlag,
+    postZonesZoneIdLogsControlRetentionFlag,
+    getZonesZoneIdLogsRayidsRayId,
+    getZonesZoneIdLogsReceived,
+    getZonesZoneIdLogsReceivedFields
+  },
+  managedTransforms: { deleteManagedTransforms, listManagedTransforms, updateManagedTransforms },
+  zoneLevelAuthenticatedOriginPulls: {
+    zoneLevelAuthenticatedOriginPullsListCertificates,
+    zoneLevelAuthenticatedOriginPullsUploadCertificate,
+    zoneLevelAuthenticatedOriginPullsGetEnablementSettingForZone,
+    zoneLevelAuthenticatedOriginPullsSetEnablementForZone,
+    zoneLevelAuthenticatedOriginPullsDeleteCertificate,
+    zoneLevelAuthenticatedOriginPullsGetCertificateDetails
+  },
+  perHostnameAuthenticatedOriginPull: {
+    perHostnameAuthenticatedOriginPullEnableOrDisableAHostnameForClientAuthentication,
+    perHostnameAuthenticatedOriginPullListCertificates,
+    perHostnameAuthenticatedOriginPullUploadAHostnameClientCertificate,
+    perHostnameAuthenticatedOriginPullDeleteHostnameClientCertificate,
+    perHostnameAuthenticatedOriginPullGetTheHostnameClientCertificate,
+    perHostnameAuthenticatedOriginPullGetTheHostnameStatusForClientAuthentication
+  },
+  pageShield: {
+    pageShieldGetSettings,
+    pageShieldUpdateSettings,
+    pageShieldListConnections,
+    pageShieldGetConnection,
+    pageShieldListCookies,
+    pageShieldGetCookie,
+    pageShieldListPolicies,
+    pageShieldCreatePolicy,
+    pageShieldDeletePolicy,
+    pageShieldGetPolicy,
+    pageShieldUpdatePolicy,
+    pageShieldListScripts,
+    pageShieldGetScript
+  },
+  pageRules: {
+    pageRulesListPageRules,
+    pageRulesCreateAPageRule,
+    pageRulesDeleteAPageRule,
+    pageRulesGetAPageRule,
+    pageRulesEditAPageRule,
+    pageRulesUpdateAPageRule
+  },
+  availablePageRulesSettings: { availablePageRulesSettingsListAvailablePageRulesSettings },
+  rateLimitsForAZone: {
+    rateLimitsForAZoneListRateLimits,
+    rateLimitsForAZoneCreateARateLimit,
+    rateLimitsForAZoneDeleteARateLimit,
+    rateLimitsForAZoneGetARateLimit,
+    rateLimitsForAZoneUpdateARateLimit
+  },
+  zoneRulesets: {
+    listZoneRulesets,
+    createZoneRuleset,
+    getZoneEntrypointRuleset,
+    updateZoneEntrypointRuleset,
+    listZoneEntrypointRulesetVersions,
+    getZoneEntrypointRulesetVersion,
+    deleteZoneRuleset,
+    getZoneRuleset,
+    updateZoneRuleset,
+    createZoneRulesetRule,
+    deleteZoneRulesetRule,
+    updateZoneRulesetRule,
+    listZoneRulesetVersions,
+    deleteZoneRulesetVersion,
+    getZoneRulesetVersion,
+    listZoneRulesetVersionRulesByTag
+  },
+  secondaryDNSSecondaryZone: {
+    secondaryDnsSecondaryZoneForceAxfr,
+    secondaryDnsSecondaryZoneDeleteSecondaryZoneConfiguration,
+    secondaryDnsSecondaryZoneSecondaryZoneConfigurationDetails,
+    secondaryDnsSecondaryZoneCreateSecondaryZoneConfiguration,
+    secondaryDnsSecondaryZoneUpdateSecondaryZoneConfiguration
+  },
+  secondaryDNSPrimaryZone: {
+    secondaryDnsPrimaryZoneDeletePrimaryZoneConfiguration,
+    secondaryDnsPrimaryZonePrimaryZoneConfigurationDetails,
+    secondaryDnsPrimaryZoneCreatePrimaryZoneConfiguration,
+    secondaryDnsPrimaryZoneUpdatePrimaryZoneConfiguration,
+    secondaryDnsPrimaryZoneDisableOutgoingZoneTransfers,
+    secondaryDnsPrimaryZoneEnableOutgoingZoneTransfers,
+    secondaryDnsPrimaryZoneForceDnsNotify,
+    secondaryDnsPrimaryZoneGetOutgoingZoneTransferStatus
+  },
+  securityTxt: { deleteSecurityTxt, getSecurityTxt, updateSecurityTxt },
+  zoneSettings: {
+    zoneSettingsGetAllZoneSettings,
+    zoneSettingsEditZoneSettingsInfo,
+    zoneSettingsGetFontsSetting,
+    zoneSettingsChangeFontsSetting,
+    zoneSettingsGetSpeedBrainSetting,
+    zoneSettingsChangeSpeedBrainSetting,
+    zoneSettingsGetSingleSetting,
+    zoneSettingsEditSingleSetting
+  },
+  zaraz: {
+    getZonesZoneIdentifierZarazConfig,
+    putZonesZoneIdentifierZarazConfig,
+    getZonesZoneIdentifierZarazDefault,
+    getZonesZoneIdentifierZarazExport,
+    getZonesZoneIdentifierZarazHistory,
+    putZonesZoneIdentifierZarazHistory,
+    getZonesZoneIdentifierZarazConfigHistory,
+    postZonesZoneIdentifierZarazPublish,
+    getZonesZoneIdentifierZarazWorkflow,
+    putZonesZoneIdentifierZarazWorkflow
+  },
+  zoneSnippets: {
+    zoneSnippets,
+    zoneSnippetsSnippetRulesDelete,
+    zoneSnippetsSnippetRules,
+    zoneSnippetsSnippetRulesPut,
+    zoneSnippetsSnippetDelete,
+    zoneSnippetsSnippet,
+    zoneSnippetsSnippetPut,
+    zoneSnippetsSnippetContent
+  },
+  spectrumAnalytics: {
+    spectrumAggregateAnalyticsGetCurrentAggregatedAnalytics,
+    spectrumAnalyticsByTimeGetAnalyticsByTime,
+    spectrumAnalyticsSummaryGetAnalyticsSummary
+  },
+  spectrumApplications: {
+    spectrumApplicationsListSpectrumApplications,
+    spectrumApplicationsCreateSpectrumApplicationUsingANameForTheOrigin,
+    spectrumApplicationsDeleteSpectrumApplication,
+    spectrumApplicationsGetSpectrumApplicationConfiguration,
+    spectrumApplicationsUpdateSpectrumApplicationConfigurationUsingANameForTheOrigin
+  },
+  observatory: {
+    speedGetAvailabilities,
+    speedListPages,
+    speedDeleteTests,
+    speedListTestHistory,
+    speedCreateTest,
+    speedGetTest,
+    speedListPageTrend,
+    speedDeleteTestSchedule,
+    speedGetScheduledTest,
+    speedCreateScheduledTest
+  },
+  analyzeCertificate: { analyzeCertificateAnalyzeCertificate },
+  certificatePacks: {
+    certificatePacksListCertificatePacks,
+    certificatePacksOrderAdvancedCertificateManagerCertificatePack,
+    certificatePacksGetCertificatePackQuotas,
+    certificatePacksDeleteAdvancedCertificateManagerCertificatePack,
+    certificatePacksGetCertificatePack,
+    certificatePacksRestartValidationForAdvancedCertificateManagerCertificatePack
+  },
+  universalSSLSettingsForAZone: {
+    universalSslSettingsForAZoneUniversalSslSettingsDetails,
+    universalSslSettingsForAZoneEditUniversalSslSettings
+  },
+  sSLVerification: { sslVerificationSslVerificationDetails, sslVerificationEditSslCertificatePackValidationMethod },
+  uRLNormalization: { deleteUrlNormalization, getUrlNormalization, updateUrlNormalization },
+  waitingRoom: {
+    waitingRoomListWaitingRooms,
+    waitingRoomCreateWaitingRoom,
+    waitingRoomCreateACustomWaitingRoomPagePreview,
+    waitingRoomGetZoneSettings,
+    waitingRoomPatchZoneSettings,
+    waitingRoomUpdateZoneSettings,
+    waitingRoomDeleteWaitingRoom,
+    waitingRoomWaitingRoomDetails,
+    waitingRoomPatchWaitingRoom,
+    waitingRoomUpdateWaitingRoom,
+    waitingRoomListEvents,
+    waitingRoomCreateEvent,
+    waitingRoomDeleteEvent,
+    waitingRoomEventDetails,
+    waitingRoomPatchEvent,
+    waitingRoomUpdateEvent,
+    waitingRoomPreviewActiveEventDetails,
+    waitingRoomListWaitingRoomRules,
+    waitingRoomCreateWaitingRoomRule,
+    waitingRoomReplaceWaitingRoomRules,
+    waitingRoomDeleteWaitingRoomRule,
+    waitingRoomPatchWaitingRoomRule,
+    waitingRoomGetWaitingRoomStatus
+  },
+  web3Hostname: {
+    web3HostnameListWeb3Hostnames,
+    web3HostnameCreateWeb3Hostname,
+    web3HostnameDeleteWeb3Hostname,
+    web3HostnameWeb3HostnameDetails,
+    web3HostnameEditWeb3Hostname,
+    web3HostnameIpfsUniversalPathGatewayContentListDetails,
+    web3HostnameUpdateIpfsUniversalPathGatewayContentList,
+    web3HostnameListIpfsUniversalPathGatewayContentListEntries,
+    web3HostnameCreateIpfsUniversalPathGatewayContentListEntry,
+    web3HostnameDeleteIpfsUniversalPathGatewayContentListEntry,
+    web3HostnameIpfsUniversalPathGatewayContentListEntryDetails,
+    web3HostnameEditIpfsUniversalPathGatewayContentListEntry
+  },
+  workerFiltersDeprecated: {
+    workerFiltersDeprecatedListFilters,
+    workerFiltersDeprecatedCreateFilter,
+    workerFiltersDeprecatedDeleteFilter,
+    workerFiltersDeprecatedUpdateFilter
+  },
+  workerRoutes: {
+    workerRoutesListRoutes,
+    workerRoutesCreateRoute,
+    workerRoutesDeleteRoute,
+    workerRoutesGetRoute,
+    workerRoutesUpdateRoute
+  },
+  workerScriptDeprecated: {
+    workerScriptDeprecatedDeleteWorker,
+    workerScriptDeprecatedDownloadWorker,
+    workerScriptDeprecatedUploadWorker
+  },
+  workerBindingDeprecated: { workerBindingDeprecatedListBindings },
+  automaticSSLTLS: { sslDetectorAutomaticModeGetEnrollment, sslDetectorAutomaticModePatchEnrollment }
+};
diff --git a/packages/cloudflare-api/src/api/extra.ts b/packages/cloudflare-api/src/api/extra.ts
new file mode 100644
index 00000000..3bfd731a
--- /dev/null
+++ b/packages/cloudflare-api/src/api/extra.ts
@@ -0,0 +1,3687 @@
+import {
+  accountsListAccounts,
+  accountCreation,
+  urlscannerGetResponseText,
+  urlscannerSearchScans,
+  urlscannerCreateScan,
+  urlscannerGetScan,
+  urlscannerGetScanHar,
+  urlscannerGetScanScreenshot,
+  urlscannerCreateScanBulkV2,
+  urlscannerGetScanDomV2,
+  urlscannerGetScanHarV2,
+  urlscannerGetResponseV2,
+  urlscannerGetScanV2,
+  urlscannerCreateScanV2,
+  urlscannerGetScanScreenshotV2,
+  urlscannerSearchScansV2,
+  cloudforceOneRequestList,
+  cloudforceOneRequestConstants,
+  cloudforceOneRequestNew,
+  cloudforceOnePriorityList,
+  cloudforceOnePriorityNew,
+  cloudforceOnePriorityQuota,
+  cloudforceOnePriorityDelete,
+  cloudforceOnePriorityGet,
+  cloudforceOnePriorityUpdate,
+  cloudforceOneRequestQuota,
+  cloudforceOneRequestTypes,
+  cloudforceOneRequestDelete,
+  cloudforceOneRequestGet,
+  cloudforceOneRequestUpdate,
+  cloudforceOneRequestAssetList,
+  cloudforceOneRequestAssetNew,
+  cloudforceOneRequestAssetDelete,
+  cloudforceOneRequestAssetGet,
+  cloudforceOneRequestAssetUpdate,
+  cloudforceOneRequestMessageList,
+  cloudforceOneRequestMessageNew,
+  cloudforceOneRequestMessageDelete,
+  cloudforceOneRequestMessageUpdate,
+  customPagesForAnAccountListCustomPages,
+  customPagesForAnAccountGetACustomPage,
+  customPagesForAnAccountUpdateACustomPage,
+  listsGetBulkOperationStatus,
+  listsGetAListItem,
+  accountDeletion,
+  accountsAccountDetails,
+  accountsUpdateAccount,
+  accessApplicationsListAccessApplications,
+  accessApplicationsAddAnApplication,
+  accessShortLivedCertificateCAsListShortLivedCertificateCAs,
+  accessApplicationsDeleteAnAccessApplication,
+  accessApplicationsGetAnAccessApplication,
+  accessApplicationsUpdateAnAccessApplication,
+  accessShortLivedCertificateCAsDeleteAShortLivedCertificateCa,
+  accessShortLivedCertificateCAsGetAShortLivedCertificateCa,
+  accessShortLivedCertificateCAsCreateAShortLivedCertificateCa,
+  accessPoliciesListAccessAppPolicies,
+  accessPoliciesCreateAnAccessPolicy,
+  accessPoliciesDeleteAnAccessPolicy,
+  accessPoliciesGetAnAccessPolicy,
+  accessPoliciesUpdateAnAccessPolicy,
+  accessApplicationsRevokeServiceTokens,
+  accessApplicationsTestAccessPolicies,
+  accessBookmarkApplicationsDeprecatedListBookmarkApplications,
+  accessBookmarkApplicationsDeprecatedDeleteABookmarkApplication,
+  accessBookmarkApplicationsDeprecatedGetABookmarkApplication,
+  accessBookmarkApplicationsDeprecatedCreateABookmarkApplication,
+  accessBookmarkApplicationsDeprecatedUpdateABookmarkApplication,
+  accessMtlsAuthenticationListMtlsCertificates,
+  accessMtlsAuthenticationAddAnMtlsCertificate,
+  accessMtlsAuthenticationListMtlsCertificatesHostnameSettings,
+  accessMtlsAuthenticationUpdateAnMtlsCertificateSettings,
+  accessMtlsAuthenticationDeleteAnMtlsCertificate,
+  accessMtlsAuthenticationGetAnMtlsCertificate,
+  accessMtlsAuthenticationUpdateAnMtlsCertificate,
+  accessCustomPagesListCustomPages,
+  accessCustomPagesCreateACustomPage,
+  accessCustomPagesDeleteACustomPage,
+  accessCustomPagesGetACustomPage,
+  accessCustomPagesUpdateACustomPage,
+  accessGatewayCaListSSHCa,
+  accessGatewayCaAddAnSSHCa,
+  accessGatewayCaDeleteAnSSHCa,
+  accessGroupsListAccessGroups,
+  accessGroupsCreateAnAccessGroup,
+  accessGroupsDeleteAnAccessGroup,
+  accessGroupsGetAnAccessGroup,
+  accessGroupsUpdateAnAccessGroup,
+  accessIdentityProvidersListAccessIdentityProviders,
+  accessIdentityProvidersAddAnAccessIdentityProvider,
+  accessIdentityProvidersDeleteAnAccessIdentityProvider,
+  accessIdentityProvidersGetAnAccessIdentityProvider,
+  accessIdentityProvidersUpdateAnAccessIdentityProvider,
+  accessKeyConfigurationGetTheAccessKeyConfiguration,
+  accessKeyConfigurationUpdateTheAccessKeyConfiguration,
+  accessKeyConfigurationRotateAccessKeys,
+  accessAuthenticationLogsGetAccessAuthenticationLogs,
+  zeroTrustOrganizationGetYourZeroTrustOrganization,
+  zeroTrustOrganizationCreateYourZeroTrustOrganization,
+  zeroTrustOrganizationUpdateYourZeroTrustOrganization,
+  zeroTrustOrganizationGetYourZeroTrustOrganizationDohSettings,
+  zeroTrustOrganizationUpdateYourZeroTrustOrganizationDohSettings,
+  zeroTrustOrganizationRevokeAllAccessTokensForAUser,
+  accessPoliciesListAccessReusablePolicies,
+  accessPoliciesCreateAnAccessReusablePolicy,
+  accessPoliciesDeleteAnAccessReusablePolicy,
+  accessPoliciesGetAnAccessReusablePolicy,
+  accessPoliciesUpdateAnAccessReusablePolicy,
+  accessPolicyTests,
+  accessPolicyTestsGetAnUpdate,
+  accessPolicyTestsGetAUserPage,
+  zeroTrustSeatsUpdateAUserSeat,
+  accessServiceTokensListServiceTokens,
+  accessServiceTokensCreateAServiceToken,
+  accessServiceTokensDeleteAServiceToken,
+  accessServiceTokensGetAServiceToken,
+  accessServiceTokensUpdateAServiceToken,
+  accessServiceTokensRefreshAServiceToken,
+  accessServiceTokensRotateAServiceToken,
+  accessTagsListTags,
+  accessTagsCreateTag,
+  accessTagsDeleteATag,
+  accessTagsGetATag,
+  accessTagsUpdateATag,
+  zeroTrustUsersGetUsers,
+  zeroTrustUsersGetActiveSessions,
+  zeroTrustUsersGetActiveSession,
+  zeroTrustUsersGetFailedLogins,
+  zeroTrustUsersGetLastSeenIdentity,
+  ipAddressManagementAddressMapsListAddressMaps,
+  ipAddressManagementAddressMapsCreateAddressMap,
+  ipAddressManagementAddressMapsDeleteAddressMap,
+  ipAddressManagementAddressMapsAddressMapDetails,
+  ipAddressManagementAddressMapsUpdateAddressMap,
+  ipAddressManagementAddressMapsRemoveAnAccountMembershipFromAnAddressMap,
+  ipAddressManagementAddressMapsAddAnAccountMembershipToAnAddressMap,
+  ipAddressManagementAddressMapsRemoveAnIpFromAnAddressMap,
+  ipAddressManagementAddressMapsAddAnIpToAnAddressMap,
+  ipAddressManagementAddressMapsRemoveAZoneMembershipFromAnAddressMap,
+  ipAddressManagementAddressMapsAddAZoneMembershipToAnAddressMap,
+  ipAddressManagementPrefixesUploadLoaDocument,
+  ipAddressManagementPrefixesDownloadLoaDocument,
+  ipAddressManagementPrefixesListPrefixes,
+  ipAddressManagementPrefixesAddPrefix,
+  ipAddressManagementPrefixesDeletePrefix,
+  ipAddressManagementPrefixesPrefixDetails,
+  ipAddressManagementPrefixesUpdatePrefixDescription,
+  ipAddressManagementPrefixesListBgpPrefixes,
+  ipAddressManagementPrefixesCreateBgpPrefix,
+  ipAddressManagementPrefixesFetchBgpPrefix,
+  ipAddressManagementPrefixesUpdateBgpPrefix,
+  ipAddressManagementDynamicAdvertisementGetAdvertisementStatus,
+  ipAddressManagementDynamicAdvertisementUpdatePrefixDynamicAdvertisementStatus,
+  ipAddressManagementServiceBindingsListServiceBindings,
+  ipAddressManagementServiceBindingsCreateServiceBinding,
+  ipAddressManagementServiceBindingsDeleteServiceBinding,
+  ipAddressManagementServiceBindingsGetServiceBinding,
+  ipAddressManagementPrefixDelegationListPrefixDelegations,
+  ipAddressManagementPrefixDelegationCreatePrefixDelegation,
+  ipAddressManagementPrefixDelegationDeletePrefixDelegation,
+  dlsAccountRegionalHostnamesAccountListRegions,
+  ipAddressManagementServiceBindingsListServices,
+  aigConfigListEvaluators,
+  aigConfigListGateway,
+  aigConfigCreateGateway,
+  aigConfigListDataset,
+  aigConfigCreateDataset,
+  aigConfigDeleteDataset,
+  aigConfigFetchDataset,
+  aigConfigUpdateDataset,
+  aigConfigListEvaluations,
+  aigConfigCreateEvaluations,
+  aigConfigDeleteEvaluations,
+  aigConfigFetchEvaluations,
+  aigConfigDeleteGatewayLogs,
+  aigConfigListGatewayLogs,
+  aigConfigGetGatewayLogDetail,
+  aigConfigPatchGatewayLog,
+  aigConfigGetGatewayLogRequest,
+  aigConfigGetGatewayLogResponse,
+  aigConfigDeleteGateway,
+  aigConfigFetchGateway,
+  aigConfigUpdateGateway,
+  workersAiSearchAuthor,
+  workersAiListFinetunes,
+  workersAiCreateFinetune,
+  workersAiListPublicFinetunes,
+  workersAiUploadFinetuneAsset,
+  workersAiGetModelSchema,
+  workersAiSearchModel,
+  workersAiPostRunCfBaaiBgeBaseEnV15,
+  workersAiPostRunCfBaaiBgeLargeEnV15,
+  workersAiPostRunCfBaaiBgeSmallEnV15,
+  workersAiPostRunCfBlackForestLabsFlux1Schnell,
+  workersAiPostRunCfBytedanceStableDiffusionXlLightning,
+  workersAiPostRunCfDeepseekAiDeepseekMath7bInstruct,
+  workersAiPostRunCfDefogSqlcoder7b2,
+  workersAiPostRunCfFacebookBartLargeCnn,
+  workersAiPostRunCfFacebookDetrResnet50,
+  workersAiPostRunCfFblgitUnaCybertron7bV2Bf16,
+  workersAiPostRunCfGoogleGemma2bItLora,
+  workersAiPostRunCfGoogleGemma7bItLora,
+  workersAiPostRunCfHuggingfaceDistilbertSst2Int8,
+  workersAiPostRunCfLykonDreamshaper8Lcm,
+  workersAiPostRunCfMetaLlamaLlama27bChatHfLora,
+  workersAiPostRunCfMetaLlama27bChatFp16,
+  workersAiPostRunCfMetaLlama27bChatInt8,
+  workersAiPostRunCfMetaLlama38bInstruct,
+  workersAiPostRunCfMetaLlama38bInstructAwq,
+  workersAiPostRunCfMetaLlama3170bInstruct,
+  workersAiPostRunCfMetaLlama3170bInstructPreview,
+  workersAiPostRunCfMetaLlama3170bPreview,
+  workersAiPostRunCfMetaLlama318bInstruct,
+  workersAiPostRunCfMetaLlama318bInstructAwq,
+  workersAiPostRunCfMetaLlama318bInstructFast,
+  workersAiPostRunCfMetaLlama318bInstructFp8,
+  workersAiPostRunCfMetaLlama318bPreview,
+  workersAiPostRunCfMetaLlama3211bVisionInstruct,
+  workersAiPostRunCfMetaLlama321bInstruct,
+  workersAiPostRunCfMetaLlama323bInstruct,
+  workersAiPostRunCfMetaLlama3370bInstructFp8Fast,
+  workersAiPostRunCfMetaM2m10012b,
+  workersAiPostRunCfMicrosoftPhi2,
+  workersAiPostRunCfMicrosoftResnet50,
+  workersAiPostRunCfMistralMistral7bInstructV01,
+  workersAiPostRunCfMistralMistral7bInstructV02Lora,
+  workersAiPostRunCfOpenaiWhisper,
+  workersAiPostRunCfOpenaiWhisperLargeV3Turbo,
+  workersAiPostRunCfOpenaiWhisperTinyEn,
+  workersAiPostRunCfOpenchatOpenchat350106,
+  workersAiPostRunCfQwenQwen1505bChat,
+  workersAiPostRunCfQwenQwen1518bChat,
+  workersAiPostRunCfQwenQwen1514bChatAwq,
+  workersAiPostRunCfQwenQwen157bChatAwq,
+  workersAiPostRunCfRunwaymlStableDiffusionV15Img2img,
+  workersAiPostRunCfRunwaymlStableDiffusionV15Inpainting,
+  workersAiPostRunCfStabilityaiStableDiffusionXlBase10,
+  workersAiPostRunCfTheblokeDiscolmGerman7bV1Awq,
+  workersAiPostRunCfTiiuaeFalcon7bInstruct,
+  workersAiPostRunCfTinyllamaTinyllama11bChatV10,
+  workersAiPostRunHfGoogleGemma7bIt,
+  workersAiPostRunHfMetaLlamaMetaLlama38bInstruct,
+  workersAiPostRunHfMistralMistral7bInstructV02,
+  workersAiPostRunHfMistralaiMistral7bInstructV02,
+  workersAiPostRunHfNexusflowStarlingLm7bBeta,
+  workersAiPostRunHfNousresearchHermes2ProMistral7b,
+  workersAiPostRunHfTheblokeDeepseekCoder67bBaseAwq,
+  workersAiPostRunHfTheblokeDeepseekCoder67bInstructAwq,
+  workersAiPostRunHfTheblokeLlama213bChatAwq,
+  workersAiPostRunHfTheblokeLlamaguard7bAwq,
+  workersAiPostRunHfTheblokeMistral7bInstructV01Awq,
+  workersAiPostRunHfTheblokeNeuralChat7bV31Awq,
+  workersAiPostRunHfTheblokeOpenhermes25Mistral7bAwq,
+  workersAiPostRunHfTheblokeZephyr7bBetaAwq,
+  workersAiPostRunModel,
+  workersAiSearchTask,
+  notificationAlertTypesGetAlertTypes,
+  notificationMechanismEligibilityGetDeliveryMechanismEligibility,
+  notificationDestinationsWithPagerDutyDeletePagerDutyServices,
+  notificationDestinationsWithPagerDutyListPagerDutyServices,
+  notificationDestinationsWithPagerDutyConnectPagerDuty,
+  notificationDestinationsWithPagerDutyConnectPagerDutyToken,
+  notificationWebhooksListWebhooks,
+  notificationWebhooksCreateAWebhook,
+  notificationWebhooksDeleteAWebhook,
+  notificationWebhooksGetAWebhook,
+  notificationWebhooksUpdateAWebhook,
+  notificationHistoryListHistory,
+  notificationPoliciesListNotificationPolicies,
+  notificationPoliciesCreateANotificationPolicy,
+  notificationPoliciesDeleteANotificationPolicy,
+  notificationPoliciesGetANotificationPolicy,
+  notificationPoliciesUpdateANotificationPolicy,
+  auditLogsGetAccountAuditLogs,
+  accountBillingProfileDeprecatedBillingProfileDetails,
+  botnetThreatFeedGetDayReport,
+  botnetThreatFeedGetFullReport,
+  botnetThreatFeedListAsn,
+  botnetThreatFeedDeleteAsn,
+  phishingUrlScannerSubmitSuspiciousUrlForScanning,
+  phishingUrlInformationGetResultsForAUrlScan,
+  callsAppsList,
+  callsAppsCreateANewApp,
+  callsAppsDeleteApp,
+  callsAppsRetrieveAppDetails,
+  callsAppsUpdateAppDetails,
+  callsTurnKeyList,
+  callsTurnKeyCreate,
+  callsDeleteTurnKey,
+  callsRetrieveTurnKeyDetails,
+  callsUpdateTurnKey,
+  cloudflareTunnelListCloudflareTunnels,
+  cloudflareTunnelCreateACloudflareTunnel,
+  cloudflareTunnelDeleteACloudflareTunnel,
+  cloudflareTunnelGetACloudflareTunnel,
+  cloudflareTunnelUpdateACloudflareTunnel,
+  cloudflareTunnelConfigurationGetConfiguration,
+  cloudflareTunnelConfigurationPutConfiguration,
+  cloudflareTunnelCleanUpCloudflareTunnelConnections,
+  cloudflareTunnelListCloudflareTunnelConnections,
+  cloudflareTunnelGetCloudflareTunnelConnector,
+  cloudflareTunnelGetACloudflareTunnelManagementToken,
+  cloudflareTunnelGetACloudflareTunnelToken,
+  accountsTurnstileWidgetsList,
+  accountsTurnstileWidgetCreate,
+  accountsTurnstileWidgetDelete,
+  accountsTurnstileWidgetGet,
+  accountsTurnstileWidgetUpdate,
+  accountsTurnstileWidgetRotateSecret,
+  accountLevelCustomNameserversListAccountCustomNameservers,
+  accountLevelCustomNameserversAddAccountCustomNameserver,
+  accountLevelCustomNameserversGetEligibleZonesForAccountCustomNameservers,
+  accountLevelCustomNameserversDeleteAccountCustomNameserver,
+  cloudflareD1ListDatabases,
+  cloudflareD1CreateDatabase,
+  cloudflareD1DeleteDatabase,
+  cloudflareD1GetDatabase,
+  cloudflareD1ExportDatabase,
+  cloudflareD1ImportDatabase,
+  cloudflareD1QueryDatabase,
+  cloudflareD1RawDatabaseQuery,
+  devicesListDevices,
+  deviceDexTestDetails,
+  deviceDexTestCreateDeviceDexTest,
+  deviceDexTestDeleteDeviceDexTest,
+  deviceDexTestGetDeviceDexTest,
+  deviceDexTestUpdateDeviceDexTest,
+  deviceManagedNetworksListDeviceManagedNetworks,
+  deviceManagedNetworksCreateDeviceManagedNetwork,
+  deviceManagedNetworksDeleteDeviceManagedNetwork,
+  deviceManagedNetworksDeviceManagedNetworkDetails,
+  deviceManagedNetworksUpdateDeviceManagedNetwork,
+  devicesListDeviceSettingsPolicies,
+  devicesGetDefaultDeviceSettingsPolicy,
+  devicesUpdateDefaultDeviceSettingsPolicy,
+  devicesCreateDeviceSettingsPolicy,
+  devicesGetSplitTunnelExcludeList,
+  devicesSetSplitTunnelExcludeList,
+  devicesGetLocalDomainFallbackList,
+  devicesSetLocalDomainFallbackList,
+  devicesGetSplitTunnelIncludeList,
+  devicesSetSplitTunnelIncludeList,
+  devicesDeleteDeviceSettingsPolicy,
+  devicesGetDeviceSettingsPolicyById,
+  devicesUpdateDeviceSettingsPolicy,
+  devicesGetSplitTunnelExcludeListForADeviceSettingsPolicy,
+  devicesSetSplitTunnelExcludeListForADeviceSettingsPolicy,
+  devicesGetLocalDomainFallbackListForADeviceSettingsPolicy,
+  devicesSetLocalDomainFallbackListForADeviceSettingsPolicy,
+  devicesGetSplitTunnelIncludeListForADeviceSettingsPolicy,
+  devicesSetSplitTunnelIncludeListForADeviceSettingsPolicy,
+  devicePostureRulesListDevicePostureRules,
+  devicePostureRulesCreateDevicePostureRule,
+  devicePostureIntegrationsListDevicePostureIntegrations,
+  devicePostureIntegrationsCreateDevicePostureIntegration,
+  devicePostureIntegrationsDeleteDevicePostureIntegration,
+  devicePostureIntegrationsDevicePostureIntegrationDetails,
+  devicePostureIntegrationsUpdateDevicePostureIntegration,
+  devicePostureRulesDeleteDevicePostureRule,
+  devicePostureRulesDevicePostureRulesDetails,
+  devicePostureRulesUpdateDevicePostureRule,
+  devicesRevokeDevices,
+  zeroTrustAccountsGetDeviceSettingsForZeroTrustAccount,
+  zeroTrustAccountsPatchDeviceSettingsForTheZeroTrustAccount,
+  zeroTrustAccountsUpdateDeviceSettingsForTheZeroTrustAccount,
+  devicesUnrevokeDevices,
+  devicesDeviceDetails,
+  devicesListAdminOverrideCodeForDevice,
+  dexEndpointsListColos,
+  getCommands,
+  postCommands,
+  getCommandsQuota,
+  getCommandsCommandIdDownloadsFilename,
+  devicesLiveStatus,
+  dexFleetStatusDevices,
+  dexFleetStatusLive,
+  dexFleetStatusOverTime,
+  dexEndpointsHttpTestDetails,
+  dexEndpointsHttpTestPercentiles,
+  dexEndpointsListTestsOverview,
+  dexEndpointsTestsUniqueDevices,
+  dexEndpointsTracerouteTestResultNetworkPath,
+  dexEndpointsTracerouteTestDetails,
+  dexEndpointsTracerouteTestNetworkPath,
+  dexEndpointsTracerouteTestPercentiles,
+  diagnosticsTraceroute,
+  dlpDatasetsReadAll,
+  dlpDatasetsCreate,
+  dlpDatasetsDelete,
+  dlpDatasetsRead,
+  dlpDatasetsUpdate,
+  dlpDatasetsCreateVersion,
+  dlpDatasetsUploadVersion,
+  dlpDatasetsDefineColumns,
+  dlpDatasetsUploadDatasetColumn,
+  dlpEmailScannerGetAccountMapping,
+  dlpEmailScannerCreateAccountMapping,
+  dlpEmailScannerListAllRules,
+  dlpEmailScannerUpdateRulePriorities,
+  dlpEmailScannerCreateRule,
+  dlpEmailScannerDeleteRule,
+  dlpEmailScannerGetRule,
+  dlpEmailScannerUpdateRule,
+  dlpEntriesListAllEntries,
+  dlpEntriesCreateEntry,
+  dlpEntriesDeleteEntry,
+  dlpEntriesGetDlpEntry,
+  dlpEntriesUpdateEntry,
+  dlpLimitsGet,
+  dlpPatternValidate,
+  dlpPayloadLogGet,
+  dlpPayloadLogPut,
+  dlpProfilesListAllProfiles,
+  dlpProfilesCreateCustomProfiles,
+  dlpProfilesDeleteCustomProfile,
+  dlpProfilesGetCustomProfile,
+  dlpProfilesUpdateCustomProfile,
+  dlpProfilesGetPredefinedProfile,
+  dlpProfilesUpdatePredefinedProfile,
+  dlpProfilesGetDlpProfile,
+  dnsFirewallListDnsFirewallClusters,
+  dnsFirewallCreateDnsFirewallCluster,
+  dnsFirewallDeleteDnsFirewallCluster,
+  dnsFirewallDnsFirewallClusterDetails,
+  dnsFirewallUpdateDnsFirewallCluster,
+  dnsFirewallAnalyticsTable,
+  dnsFirewallAnalyticsByTime,
+  dnsFirewallShowDnsFirewallClusterReverseDns,
+  dnsFirewallUpdateDnsFirewallClusterReverseDns,
+  dnsSettingsForAnAccountListDnsSettings,
+  dnsSettingsForAnAccountUpdateDnsSettings,
+  dnsViewsForAnAccountListInternalDnsViews,
+  dnsViewsForAnAccountCreateInternalDnsViews,
+  dnsViewsForAnAccountDeleteInternalDnsView,
+  dnsViewsForAnAccountGetInternalDnsView,
+  dnsViewsForAnAccountUpdateInternalDnsView,
+  emailSecurityInvestigate,
+  emailSecurityPostBulkMessageMove,
+  emailSecurityPostPreview,
+  emailSecurityPostRelease,
+  emailSecurityGetMessage,
+  emailSecurityGetMessageDetections,
+  emailSecurityPostMessageMove,
+  emailSecurityGetMessagePreview,
+  emailSecurityGetMessageRaw,
+  emailSecurityPostReclassify,
+  emailSecurityGetMessageTrace,
+  emailSecurityListAllowPolicies,
+  emailSecurityCreateAllowPolicy,
+  emailSecurityDeleteAllowPolicy,
+  emailSecurityGetAllowPolicy,
+  emailSecurityUpdateAllowPolicy,
+  emailSecurityListBlockedSenders,
+  emailSecurityCreateBlockedSender,
+  emailSecurityDeleteBlockedSender,
+  emailSecurityGetBlockedSender,
+  emailSecurityUpdateBlockedSender,
+  emailSecurityDeleteDomains,
+  emailSecurityListDomains,
+  emailSecurityDeleteDomain,
+  emailSecurityGetDomain,
+  emailSecurityUpdateDomain,
+  emailSecurityListDisplayNames,
+  emailSecurityCreateDisplayName,
+  emailSecurityDeleteDisplayName,
+  emailSecurityGetDisplayName,
+  emailSecurityUpdateDisplayName,
+  emailSecurityListTrustedDomains,
+  emailSecurityCreateTrustedDomain,
+  emailSecurityDeleteTrustedDomain,
+  emailSecurityGetTrustedDomain,
+  emailSecurityUpdateTrustedDomain,
+  emailSecuritySubmissions,
+  emailRoutingDestinationAddressesListDestinationAddresses,
+  emailRoutingDestinationAddressesCreateADestinationAddress,
+  emailRoutingDestinationAddressesDeleteDestinationAddress,
+  emailRoutingDestinationAddressesGetADestinationAddress,
+  r2GetEventNotificationConfigs,
+  r2EventNotificationDeleteConfig,
+  r2PutEventNotificationConfig,
+  ipAccessRulesForAnAccountListIpAccessRules,
+  ipAccessRulesForAnAccountCreateAnIpAccessRule,
+  ipAccessRulesForAnAccountDeleteAnIpAccessRule,
+  ipAccessRulesForAnAccountGetAnIpAccessRule,
+  ipAccessRulesForAnAccountUpdateAnIpAccessRule,
+  zeroTrustAccountsGetZeroTrustAccountInformation,
+  zeroTrustAccountsCreateZeroTrustAccount,
+  zeroTrustGatewayApplicationAndApplicationTypeMappingsListApplicationAndApplicationTypeMappings,
+  zeroTrustGetAuditSshSettings,
+  zeroTrustUpdateAuditSshSettings,
+  zeroTrustRotateSshAccountSeed,
+  zeroTrustGatewayCategoriesListCategories,
+  zeroTrustCertificatesListZeroTrustCertificates,
+  zeroTrustCertificatesCreateZeroTrustCertificate,
+  zeroTrustCertificatesDeleteZeroTrustCertificate,
+  zeroTrustCertificatesZeroTrustCertificateDetails,
+  zeroTrustCertificatesActivateZeroTrustCertificate,
+  zeroTrustCertificatesDeactivateZeroTrustCertificate,
+  zeroTrustAccountsGetZeroTrustAccountConfiguration,
+  zeroTrustAccountsPatchZeroTrustAccountConfiguration,
+  zeroTrustAccountsUpdateZeroTrustAccountConfiguration,
+  zeroTrustAccountsGetZeroTrustCertificateConfiguration,
+  zeroTrustListsListZeroTrustLists,
+  zeroTrustListsCreateZeroTrustList,
+  zeroTrustListsDeleteZeroTrustList,
+  zeroTrustListsZeroTrustListDetails,
+  zeroTrustListsPatchZeroTrustList,
+  zeroTrustListsUpdateZeroTrustList,
+  zeroTrustListsZeroTrustListItems,
+  zeroTrustGatewayLocationsListZeroTrustGatewayLocations,
+  zeroTrustGatewayLocationsCreateZeroTrustGatewayLocation,
+  zeroTrustGatewayLocationsDeleteZeroTrustGatewayLocation,
+  zeroTrustGatewayLocationsZeroTrustGatewayLocationDetails,
+  zeroTrustGatewayLocationsUpdateZeroTrustGatewayLocation,
+  zeroTrustAccountsGetLoggingSettingsForTheZeroTrustAccount,
+  zeroTrustAccountsUpdateLoggingSettingsForTheZeroTrustAccount,
+  zeroTrustGatewayProxyEndpointsListProxyEndpoints,
+  zeroTrustGatewayProxyEndpointsCreateProxyEndpoint,
+  zeroTrustGatewayProxyEndpointsDeleteProxyEndpoint,
+  zeroTrustGatewayProxyEndpointsProxyEndpointDetails,
+  zeroTrustGatewayProxyEndpointsUpdateProxyEndpoint,
+  zeroTrustGatewayRulesListZeroTrustGatewayRules,
+  zeroTrustGatewayRulesCreateZeroTrustGatewayRule,
+  zeroTrustGatewayRulesDeleteZeroTrustGatewayRule,
+  zeroTrustGatewayRulesZeroTrustGatewayRuleDetails,
+  zeroTrustGatewayRulesUpdateZeroTrustGatewayRule,
+  zeroTrustGatewayRulesResetExpirationZeroTrustGatewayRule,
+  listHyperdrive,
+  createHyperdrive,
+  deleteHyperdrive,
+  getHyperdrive,
+  patchHyperdrive,
+  updateHyperdrive,
+  accountPermissionGroupList,
+  accountPermissionGroupDetails,
+  accountResourceGroupList,
+  accountResourceGroupCreate,
+  accountResourceGroupDelete,
+  accountResourceGroupDetails,
+  accountResourceGroupUpdate,
+  cloudflareImagesListImages,
+  cloudflareImagesUploadAnImageViaUrl,
+  cloudflareImagesKeysListSigningKeys,
+  cloudflareImagesKeysDeleteSigningKey,
+  cloudflareImagesKeysAddSigningKey,
+  cloudflareImagesImagesUsageStatistics,
+  cloudflareImagesVariantsListVariants,
+  cloudflareImagesVariantsCreateAVariant,
+  cloudflareImagesVariantsDeleteAVariant,
+  cloudflareImagesVariantsVariantDetails,
+  cloudflareImagesVariantsUpdateAVariant,
+  cloudflareImagesDeleteImage,
+  cloudflareImagesImageDetails,
+  cloudflareImagesUpdateImage,
+  cloudflareImagesBaseImage,
+  cloudflareImagesListImagesV2,
+  cloudflareImagesCreateAuthenticatedDirectUploadUrlV2,
+  infraTargetsList,
+  infraTargetsPost,
+  infraTargetsDeleteBatch,
+  infraTargetsPutBatch,
+  infraTargetsDelete,
+  infraTargetsGet,
+  infraTargetsPut,
+  asnIntelligenceGetAsnOverview,
+  asnIntelligenceGetAsnSubnets,
+  getSecurityCenterIssueTypes,
+  getSecurityCenterIssues,
+  getSecurityCenterIssueCountsByClass,
+  getSecurityCenterIssueCountsBySeverity,
+  getSecurityCenterIssueCountsByType,
+  archiveSecurityCenterInsight,
+  passiveDnsByIpGetPassiveDnsByIp,
+  domainIntelligenceGetDomainDetails,
+  domainHistoryGetDomainHistory,
+  domainIntelligenceGetMultipleDomainDetails,
+  customIndicatorFeedsGetIndicatorFeeds,
+  customIndicatorFeedsCreateIndicatorFeeds,
+  customIndicatorFeedsAddPermission,
+  customIndicatorFeedsRemovePermission,
+  customIndicatorFeedsViewPermissions,
+  customIndicatorFeedsGetIndicatorFeedMetadata,
+  customIndicatorFeedsUpdateIndicatorFeedMetadata,
+  customIndicatorFeedsGetIndicatorFeedData,
+  customIndicatorFeedsUpdateIndicatorFeedData,
+  customIndicatorFeedsDownloadIndicatorFeedData,
+  ipIntelligenceGetIpOverview,
+  ipListGetIpLists,
+  miscategorizationCreateMiscategorization,
+  sinkholeConfigGetSinkholes,
+  whoisRecordGetWhoisRecord,
+  accountLoadBalancerMonitorsListMonitors,
+  accountLoadBalancerMonitorsCreateMonitor,
+  accountLoadBalancerMonitorsDeleteMonitor,
+  accountLoadBalancerMonitorsMonitorDetails,
+  accountLoadBalancerMonitorsPatchMonitor,
+  accountLoadBalancerMonitorsUpdateMonitor,
+  accountLoadBalancerMonitorsPreviewMonitor,
+  accountLoadBalancerMonitorsListMonitorReferences,
+  accountLoadBalancerPoolsListPools,
+  accountLoadBalancerPoolsPatchPools,
+  accountLoadBalancerPoolsCreatePool,
+  accountLoadBalancerPoolsDeletePool,
+  accountLoadBalancerPoolsPoolDetails,
+  accountLoadBalancerPoolsPatchPool,
+  accountLoadBalancerPoolsUpdatePool,
+  accountLoadBalancerPoolsPoolHealthDetails,
+  accountLoadBalancerPoolsPreviewPool,
+  accountLoadBalancerPoolsListPoolReferences,
+  accountLoadBalancerMonitorsPreviewResult,
+  loadBalancerRegionsListRegions,
+  loadBalancerRegionsGetRegion,
+  accountLoadBalancerSearchSearchResources,
+  getAccountsAccountIdLogpushDatasetsDatasetIdFields,
+  getAccountsAccountIdLogpushDatasetsDatasetIdJobs,
+  getAccountsAccountIdLogpushJobs,
+  postAccountsAccountIdLogpushJobs,
+  deleteAccountsAccountIdLogpushJobsJobId,
+  getAccountsAccountIdLogpushJobsJobId,
+  putAccountsAccountIdLogpushJobsJobId,
+  postAccountsAccountIdLogpushOwnership,
+  postAccountsAccountIdLogpushOwnershipValidate,
+  deleteAccountsAccountIdLogpushValidateDestination,
+  deleteAccountsAccountIdLogpushValidateDestinationExists,
+  postAccountsAccountIdLogpushValidateOrigin,
+  auditLogsV2GetAccountAuditLogs,
+  deleteAccountsAccountIdLogsControlCmbConfig,
+  getAccountsAccountIdLogsControlCmbConfig,
+  postAccountsAccountIdLogsControlCmbConfig,
+  magicAccountAppsListApps,
+  magicAccountAppsAddApp,
+  magicAccountAppsDeleteApp,
+  magicAccountAppsUpdateApp,
+  magicInterconnectsListInterconnects,
+  magicInterconnectsUpdateMultipleInterconnects,
+  magicInterconnectsListInterconnectDetails,
+  magicInterconnectsUpdateInterconnect,
+  mconnConnectorList,
+  mconnConnectorFetch,
+  mconnConnectorUpdate,
+  mconnConnectorReplace,
+  magicGreTunnelsListGreTunnels,
+  magicGreTunnelsCreateGreTunnels,
+  magicGreTunnelsUpdateMultipleGreTunnels,
+  magicGreTunnelsDeleteGreTunnel,
+  magicGreTunnelsListGreTunnelDetails,
+  magicGreTunnelsUpdateGreTunnel,
+  magicIpsecTunnelsListIpsecTunnels,
+  magicIpsecTunnelsCreateIpsecTunnels,
+  magicIpsecTunnelsUpdateMultipleIpsecTunnels,
+  magicIpsecTunnelsDeleteIpsecTunnel,
+  magicIpsecTunnelsListIpsecTunnelDetails,
+  magicIpsecTunnelsUpdateIpsecTunnel,
+  magicIpsecTunnelsGeneratePreSharedKeyPskForIpsecTunnels,
+  magicStaticRoutesDeleteManyRoutes,
+  magicStaticRoutesListRoutes,
+  magicStaticRoutesCreateRoutes,
+  magicStaticRoutesUpdateManyRoutes,
+  magicStaticRoutesDeleteRoute,
+  magicStaticRoutesRouteDetails,
+  magicStaticRoutesUpdateRoute,
+  magicSitesListSites,
+  magicSitesCreateSite,
+  magicSitesDeleteSite,
+  magicSitesSiteDetails,
+  magicSitesPatchSite,
+  magicSitesUpdateSite,
+  magicSiteAclsListAcls,
+  magicSiteAclsCreateAcl,
+  magicSiteAclsDeleteAcl,
+  magicSiteAclsAclDetails,
+  magicSiteAclsPatchAcl,
+  magicSiteAclsUpdateAcl,
+  magicSiteAppConfigsListAppConfigs,
+  magicSiteAppConfigsAddAppConfig,
+  magicSiteAppConfigsDeleteAppConfig,
+  magicSiteAppConfigsUpdateAppConfig,
+  magicSiteLansListLans,
+  magicSiteLansCreateLan,
+  magicSiteLansDeleteLan,
+  magicSiteLansLanDetails,
+  magicSiteLansPatchLan,
+  magicSiteLansUpdateLan,
+  magicSiteWansListWans,
+  magicSiteWansCreateWan,
+  magicSiteWansDeleteWan,
+  magicSiteWansWanDetails,
+  magicSiteWansPatchWan,
+  magicSiteWansUpdateWan,
+  accountMembersListMembers,
+  accountMembersAddMember,
+  accountMembersRemoveMember,
+  accountMembersMemberDetails,
+  accountMembersUpdateMember,
+  magicNetworkMonitoringConfigurationDeleteAccountConfiguration,
+  magicNetworkMonitoringConfigurationListAccountConfiguration,
+  magicNetworkMonitoringConfigurationUpdateAccountConfigurationFields,
+  magicNetworkMonitoringConfigurationCreateAccountConfiguration,
+  magicNetworkMonitoringConfigurationUpdateAnEntireAccountConfiguration,
+  magicNetworkMonitoringConfigurationListRulesAndAccountConfiguration,
+  magicNetworkMonitoringRulesListRules,
+  magicNetworkMonitoringRulesCreateRules,
+  magicNetworkMonitoringRulesUpdateRules,
+  magicNetworkMonitoringRulesDeleteRule,
+  magicNetworkMonitoringRulesGetRule,
+  magicNetworkMonitoringRulesUpdateRule,
+  magicNetworkMonitoringRulesUpdateAdvertisementForRule,
+  mTlsCertificateManagementListMTlsCertificates,
+  mTlsCertificateManagementUploadMTlsCertificate,
+  mTlsCertificateManagementDeleteMTlsCertificate,
+  mTlsCertificateManagementGetMTlsCertificate,
+  mTlsCertificateManagementListMTlsCertificateAssociations,
+  pagesProjectGetProjects,
+  pagesProjectCreateProject,
+  pagesProjectDeleteProject,
+  pagesProjectGetProject,
+  pagesProjectUpdateProject,
+  pagesDeploymentGetDeployments,
+  pagesDeploymentCreateDeployment,
+  pagesDeploymentDeleteDeployment,
+  pagesDeploymentGetDeploymentInfo,
+  pagesDeploymentGetDeploymentLogs,
+  pagesDeploymentRetryDeployment,
+  pagesDeploymentRollbackDeployment,
+  pagesDomainsGetDomains,
+  pagesDomainsAddDomain,
+  pagesDomainsDeleteDomain,
+  pagesDomainsGetDomain,
+  pagesDomainsPatchDomain,
+  pagesPurgeBuildCache,
+  magicPcapCollectionListPacketCaptureRequests,
+  magicPcapCollectionCreatePcapRequest,
+  magicPcapCollectionListPcaPsBucketOwnership,
+  magicPcapCollectionAddBucketsForFullPacketCaptures,
+  magicPcapCollectionValidateBucketsForFullPacketCaptures,
+  magicPcapCollectionDeleteBucketsForFullPacketCaptures,
+  magicPcapCollectionGetPcapRequest,
+  magicPcapCollectionDownloadSimplePcap,
+  queuesList,
+  queuesCreate,
+  queuesDelete,
+  queuesGet,
+  queuesUpdate,
+  queuesListConsumers,
+  queuesCreateConsumer,
+  queuesDeleteConsumer,
+  queuesUpdateConsumer,
+  queuesAckMessages,
+  queuesPullMessages,
+  r2ListBuckets,
+  r2CreateBucket,
+  r2DeleteBucket,
+  r2GetBucket,
+  r2DeleteBucketCorsPolicy,
+  r2GetBucketCorsPolicy,
+  r2PutBucketCorsPolicy,
+  r2ListCustomDomains,
+  r2AddCustomDomain,
+  r2DeleteCustomDomain,
+  r2GetCustomDomainSettings,
+  r2EditCustomDomainSettings,
+  r2GetBucketPublicPolicy,
+  r2PutBucketPublicPolicy,
+  r2GetBucketLifecycleConfiguration,
+  r2PutBucketLifecycleConfiguration,
+  r2DeleteBucketSippyConfig,
+  r2GetBucketSippyConfig,
+  r2PutBucketSippyConfig,
+  r2CreateTempAccessCredentials,
+  registrarDomainsListDomains,
+  registrarDomainsGetDomain,
+  registrarDomainsUpdateDomain,
+  accountRequestTracerRequestTrace,
+  accountRolesListRoles,
+  accountRolesRoleDetails,
+  listsGetLists,
+  listsCreateAList,
+  listsDeleteAList,
+  listsGetAList,
+  listsUpdateAList,
+  listsDeleteListItems,
+  listsGetListItems,
+  listsCreateListItems,
+  listsUpdateAllListItems,
+  listAccountRulesets,
+  createAccountRuleset,
+  getAccountEntrypointRuleset,
+  updateAccountEntrypointRuleset,
+  listAccountEntrypointRulesetVersions,
+  getAccountEntrypointRulesetVersion,
+  deleteAccountRuleset,
+  getAccountRuleset,
+  updateAccountRuleset,
+  createAccountRulesetRule,
+  deleteAccountRulesetRule,
+  updateAccountRulesetRule,
+  listAccountRulesetVersions,
+  deleteAccountRulesetVersion,
+  getAccountRulesetVersion,
+  listAccountRulesetVersionRulesByTag,
+  webAnalyticsCreateSite,
+  webAnalyticsListSites,
+  webAnalyticsDeleteSite,
+  webAnalyticsGetSite,
+  webAnalyticsUpdateSite,
+  webAnalyticsCreateRule,
+  webAnalyticsDeleteRule,
+  webAnalyticsUpdateRule,
+  webAnalyticsListRules,
+  webAnalyticsModifyRules,
+  secondaryDnsAclListAcLs,
+  secondaryDnsAclCreateAcl,
+  secondaryDnsAclDeleteAcl,
+  secondaryDnsAclAclDetails,
+  secondaryDnsAclUpdateAcl,
+  secondaryDnsPeerListPeers,
+  secondaryDnsPeerCreatePeer,
+  secondaryDnsPeerDeletePeer,
+  secondaryDnsPeerPeerDetails,
+  secondaryDnsPeerUpdatePeer,
+  secondaryDnsTsigListTsiGs,
+  secondaryDnsTsigCreateTsig,
+  secondaryDnsTsigDeleteTsig,
+  secondaryDnsTsigTsigDetails,
+  secondaryDnsTsigUpdateTsig,
+  sharesList,
+  shareCreate,
+  shareDelete,
+  sharesGetById,
+  shareUpdate,
+  shareRecipientsList,
+  shareRecipientCreate,
+  shareRecipientDelete,
+  shareRecipientsGetById,
+  shareResourcesList,
+  shareResourceCreate,
+  shareResourceDelete,
+  shareResourcesGetById,
+  shareResourceUpdate,
+  workersKvRequestAnalyticsQueryRequestAnalytics,
+  workersKvStoredDataAnalyticsQueryStoredDataAnalytics,
+  workersKvNamespaceListNamespaces,
+  workersKvNamespaceCreateANamespace,
+  workersKvNamespaceRemoveANamespace,
+  workersKvNamespaceGetANamespace,
+  workersKvNamespaceRenameANamespace,
+  workersKvNamespaceDeleteMultipleKeyValuePairsDeprecated,
+  workersKvNamespaceWriteMultipleKeyValuePairs,
+  workersKvNamespaceDeleteMultipleKeyValuePairs,
+  workersKvNamespaceListANamespaceSKeys,
+  workersKvNamespaceReadTheMetadataForAKey,
+  workersKvNamespaceDeleteKeyValuePair,
+  workersKvNamespaceReadKeyValuePair,
+  workersKvNamespaceWriteKeyValuePairWithMetadata,
+  streamVideosListVideos,
+  streamVideosInitiateVideoUploadsUsingTus,
+  streamVideoClippingClipVideosGivenAStartAndEndTime,
+  streamVideosUploadVideosFromAUrl,
+  streamVideosUploadVideosViaDirectUploadUrLs,
+  streamSigningKeysListSigningKeys,
+  streamSigningKeysCreateSigningKeys,
+  streamSigningKeysDeleteSigningKeys,
+  streamLiveInputsListLiveInputs,
+  streamLiveInputsCreateALiveInput,
+  streamLiveInputsDeleteALiveInput,
+  streamLiveInputsRetrieveALiveInput,
+  streamLiveInputsUpdateALiveInput,
+  streamLiveInputsListAllOutputsAssociatedWithASpecifiedLiveInput,
+  streamLiveInputsCreateANewOutputConnectedToALiveInput,
+  streamLiveInputsDeleteAnOutput,
+  streamLiveInputsUpdateAnOutput,
+  streamVideosStorageUsage,
+  streamWatermarkProfileListWatermarkProfiles,
+  streamWatermarkProfileCreateWatermarkProfilesViaBasicUpload,
+  streamWatermarkProfileDeleteWatermarkProfiles,
+  streamWatermarkProfileWatermarkProfileDetails,
+  streamWebhookDeleteWebhooks,
+  streamWebhookViewWebhooks,
+  streamWebhookCreateWebhooks,
+  streamVideosDeleteVideo,
+  streamVideosRetrieveVideoDetails,
+  streamVideosUpdateVideoDetails,
+  listAudioTracks,
+  addAudioTrack,
+  deleteAudioTracks,
+  editAudioTracks,
+  streamSubtitlesCaptionsListCaptionsOrSubtitles,
+  streamSubtitlesCaptionsDeleteCaptionsOrSubtitles,
+  streamSubtitlesCaptionsGetCaptionOrSubtitleForLanguage,
+  streamSubtitlesCaptionsUploadCaptionsOrSubtitles,
+  streamSubtitlesCaptionsGenerateCaptionOrSubtitleForLanguage,
+  streamSubtitlesCaptionsGetVttCaptionOrSubtitle,
+  streamMP4DownloadsDeleteDownloads,
+  streamMP4DownloadsListDownloads,
+  streamMP4DownloadsCreateDownloads,
+  streamVideosRetreieveEmbedCodeHtml,
+  streamVideosCreateSignedUrlTokensForVideos,
+  accountSubscriptionsListSubscriptions,
+  accountSubscriptionsCreateSubscription,
+  accountSubscriptionsDeleteSubscription,
+  accountSubscriptionsUpdateSubscription,
+  tunnelRouteListTunnelRoutes,
+  tunnelRouteCreateATunnelRoute,
+  tunnelRouteGetTunnelRouteByIp,
+  tunnelRouteDeleteATunnelRouteWithCidr,
+  tunnelRouteUpdateATunnelRouteWithCidr,
+  tunnelRouteCreateATunnelRouteWithCidr,
+  tunnelRouteDeleteATunnelRoute,
+  tunnelRouteGetTunnelRoute,
+  tunnelRouteUpdateATunnelRoute,
+  tunnelVirtualNetworkListVirtualNetworks,
+  tunnelVirtualNetworkCreateAVirtualNetwork,
+  tunnelVirtualNetworkDelete,
+  tunnelVirtualNetworkGet,
+  tunnelVirtualNetworkUpdate,
+  accountApiTokensListTokens,
+  accountApiTokensCreateToken,
+  accountApiTokensListPermissionGroups,
+  accountApiTokensVerifyToken,
+  accountApiTokensDeleteToken,
+  accountApiTokensTokenDetails,
+  accountApiTokensUpdateToken,
+  accountApiTokensRollToken,
+  cloudflareTunnelListAllTunnels,
+  submitAbuseReport,
+  vectorizeDeprecatedListVectorizeIndexes,
+  vectorizeDeprecatedCreateVectorizeIndex,
+  vectorizeDeprecatedDeleteVectorizeIndex,
+  vectorizeDeprecatedGetVectorizeIndex,
+  vectorizeDeprecatedUpdateVectorizeIndex,
+  vectorizeDeprecatedDeleteVectorsById,
+  vectorizeDeprecatedGetVectorsById,
+  vectorizeDeprecatedInsertVector,
+  vectorizeDeprecatedQueryVector,
+  vectorizeDeprecatedUpsertVector,
+  vectorizeListVectorizeIndexes,
+  vectorizeCreateVectorizeIndex,
+  vectorizeDeleteVectorizeIndex,
+  vectorizeGetVectorizeIndex,
+  vectorizeDeleteVectorsById,
+  vectorizeGetVectorsById,
+  vectorizeIndexInfo,
+  vectorizeInsertVector,
+  vectorizeCreateMetadataIndex,
+  vectorizeDeleteMetadataIndex,
+  vectorizeListMetadataIndexes,
+  vectorizeQueryVector,
+  vectorizeUpsertVector,
+  cloudflareTunnelListWarpConnectorTunnels,
+  cloudflareTunnelCreateAWarpConnectorTunnel,
+  cloudflareTunnelDeleteAWarpConnectorTunnel,
+  cloudflareTunnelGetAWarpConnectorTunnel,
+  cloudflareTunnelUpdateAWarpConnectorTunnel,
+  cloudflareTunnelGetAWarpConnectorTunnelToken,
+  workerAccountSettingsFetchWorkerAccountSettings,
+  workerAccountSettingsCreateWorkerAccountSettings,
+  workerAssetsUpload,
+  workerDeploymentsDeprecatedListDeployments,
+  workerDeploymentsDeprecatedGetDeploymentDetail,
+  namespaceWorkerList,
+  namespaceWorkerCreate,
+  namespaceWorkerDeleteNamespace,
+  namespaceWorkerGetNamespace,
+  namespaceWorkerScriptDeleteWorker,
+  namespaceWorkerScriptWorkerDetails,
+  namespaceWorkerScriptUploadWorkerModule,
+  namespaceWorkerScriptUpdateCreateAssetsUploadSession,
+  namespaceWorkerGetScriptBindings,
+  namespaceWorkerGetScriptContent,
+  namespaceWorkerPutScriptContent,
+  namespaceWorkerListScriptSecrets,
+  namespaceWorkerPutScriptSecrets,
+  namespaceWorkerGetScriptSecrets,
+  namespaceWorkerGetScriptSettings,
+  namespaceWorkerPatchScriptSettings,
+  namespaceWorkerGetScriptTags,
+  namespaceWorkerPutScriptTags,
+  namespaceWorkerDeleteScriptTag,
+  namespaceWorkerPutScriptTag,
+  workerDomainListDomains,
+  workerDomainAttachToDomain,
+  workerDomainDetachFromDomain,
+  workerDomainGetADomain,
+  durableObjectsNamespaceListNamespaces,
+  durableObjectsNamespaceListObjects,
+  workerScriptListWorkers,
+  workerScriptDeleteWorker,
+  workerScriptDownloadWorker,
+  workerScriptUploadWorkerModule,
+  workerScriptUpdateCreateAssetsUploadSession,
+  workerScriptPutContent,
+  workerScriptGetContent,
+  workerDeploymentsListDeployments,
+  workerDeploymentsCreateDeployment,
+  workerCronTriggerGetCronTriggers,
+  workerCronTriggerUpdateCronTriggers,
+  workerScriptSettingsGetSettings,
+  workerScriptSettingsPatchSettings,
+  workerScriptGetSettings,
+  workerScriptPatchSettings,
+  workerScriptGetSubdomain,
+  workerScriptPostSubdomain,
+  workerTailLogsListTails,
+  workerTailLogsStartTail,
+  workerTailLogsDeleteTail,
+  workerScriptFetchUsageModel,
+  workerScriptUpdateUsageModel,
+  workerVersionsListVersions,
+  workerVersionsUploadVersion,
+  workerVersionsGetVersionDetail,
+  workerEnvironmentGetScriptContent,
+  workerEnvironmentPutScriptContent,
+  workerScriptEnvironmentGetSettings,
+  workerScriptEnvironmentPatchSettings,
+  workerSubdomainGetSubdomain,
+  workerSubdomainCreateSubdomain,
+  worListWorkflows,
+  worGetWorkflowDetails,
+  worCreateOrModifyWorkflow,
+  worListWorkflowInstances,
+  worCreateNewWorkflowInstance,
+  worDescribeWorkflowInstance,
+  worChangeStatusWorkflowInstance,
+  worListWorkflowVersions,
+  worDescribeWorkflowVersions,
+  zeroTrustAccountsGetConnectivitySettings,
+  zeroTrustAccountsPatchConnectivitySettings,
+  dlpRiskScoreBehaviorsGet,
+  dlpRiskScoreBehaviorsPut,
+  dlpZtRiskScoreIntegrationList,
+  dlpZtRiskScoreIntegrationCreate,
+  dlpZtRiskScoreIntegrationGetByReferenceId,
+  dlpZtRiskScoreIntegrationDelete,
+  dlpZtRiskScoreIntegrationGet,
+  dlpZtRiskScoreIntegrationUpdate,
+  dlpRiskScoreSummaryGet,
+  dlpRiskScoreSummaryGetForUser,
+  dlpRiskScoreResetPost,
+  originCaListCertificates,
+  originCaCreateCertificate,
+  originCaRevokeCertificate,
+  originCaGetCertificate,
+  cloudflareIPsCloudflareIpDetails,
+  userSAccountMembershipsListMemberships,
+  userSAccountMembershipsDeleteMembership,
+  userSAccountMembershipsMembershipDetails,
+  userSAccountMembershipsUpdateMembership,
+  auditLogsGetOrganizationAuditLogs,
+  organizationSharesList,
+  radarGetAiBotsSummaryByUserAgent,
+  radarGetAiBotsTimeseriesGroupByUserAgent,
+  radarGetAnnotations,
+  radarGetAnnotationsOutages,
+  radarGetAnnotationsOutagesTop,
+  radarGetDnsAs112TimeseriesByDnssec,
+  radarGetDnsAs112TimeseriesByEdns,
+  radarGetDnsAs112TimeseriesByIpVersion,
+  radarGetDnsAs112TimeseriesByProtocol,
+  radarGetDnsAs112TimeseriesByQueryType,
+  radarGetDnsAs112TimeseriesByResponseCodes,
+  radarGetDnsAs112Timeseries,
+  radarGetDnsAs112TimeseriesGroupByDnssec,
+  radarGetDnsAs112TimeseriesGroupByEdns,
+  radarGetDnsAs112TimeseriesGroupByIpVersion,
+  radarGetDnsAs112TimeseriesGroupByProtocol,
+  radarGetDnsAs112TimeseriesGroupByQueryType,
+  radarGetDnsAs112TimeseriesGroupByResponseCodes,
+  radarGetDnsAs112TopLocations,
+  radarGetDnsAs112TopLocationsByDnssec,
+  radarGetDnsAs112TopLocationsByEdns,
+  radarGetDnsAs112TopLocationsByIpVersion,
+  radarGetAttacksLayer3Summary,
+  radarGetAttacksLayer3SummaryByBitrate,
+  radarGetAttacksLayer3SummaryByDuration,
+  radarGetAttacksLayer3SummaryByIpVersion,
+  radarGetAttacksLayer3SummaryByProtocol,
+  radarGetAttacksLayer3SummaryByVector,
+  radarGetAttacksLayer3TimeseriesByBytes,
+  radarGetAttacksLayer3TimeseriesGroups,
+  radarGetAttacksLayer3TimeseriesGroupByBitrate,
+  radarGetAttacksLayer3TimeseriesGroupByDuration,
+  radarGetAttacksLayer3TimeseriesGroupByIndustry,
+  radarGetAttacksLayer3TimeseriesGroupByIpVersion,
+  radarGetAttacksLayer3TimeseriesGroupByProtocol,
+  radarGetAttacksLayer3TimeseriesGroupByVector,
+  radarGetAttacksLayer3TimeseriesGroupByVertical,
+  radarGetAttacksLayer3TopAttacks,
+  radarGetAttacksLayer3TopIndustries,
+  radarGetAttacksLayer3TopOriginLocations,
+  radarGetAttacksLayer3TopTargetLocations,
+  radarGetAttacksLayer3TopVerticals,
+  radarGetAttacksLayer7Summary,
+  radarGetAttacksLayer7SummaryByHttpMethod,
+  radarGetAttacksLayer7SummaryByHttpVersion,
+  radarGetAttacksLayer7SummaryByIpVersion,
+  radarGetAttacksLayer7SummaryByManagedRules,
+  radarGetAttacksLayer7SummaryByMitigationProduct,
+  radarGetAttacksLayer7Timeseries,
+  radarGetAttacksLayer7TimeseriesGroup,
+  radarGetAttacksLayer7TimeseriesGroupByHttpMethod,
+  radarGetAttacksLayer7TimeseriesGroupByHttpVersion,
+  radarGetAttacksLayer7TimeseriesGroupByIndustry,
+  radarGetAttacksLayer7TimeseriesGroupByIpVersion,
+  radarGetAttacksLayer7TimeseriesGroupByManagedRules,
+  radarGetAttacksLayer7TimeseriesGroupByMitigationProduct,
+  radarGetAttacksLayer7TimeseriesGroupByVertical,
+  radarGetAttacksLayer7TopOriginAs,
+  radarGetAttacksLayer7TopAttacks,
+  radarGetAttacksLayer7TopIndustries,
+  radarGetAttacksLayer7TopOriginLocation,
+  radarGetAttacksLayer7TopTargetLocation,
+  radarGetAttacksLayer7TopVerticals,
+  radarGetBgpHijacksEvents,
+  radarGetBgpIpsTimeseries,
+  radarGetBgpRouteLeakEvents,
+  radarGetBgpRoutesAsns,
+  radarGetBgpPfx2asMoas,
+  radarGetBgpPfx2as,
+  radarGetBgpRoutesStats,
+  radarGetBgpTimeseries,
+  radarGetBgpTopAses,
+  radarGetBgpTopAsnsByPrefixes,
+  radarGetBgpTopPrefixes,
+  radarGetReportsDatasets,
+  radarPostReportsDatasetDownloadUrl,
+  radarGetReportsDatasetDownload,
+  radarGetDnsTopAses,
+  radarGetDnsTopLocations,
+  radarGetEmailRoutingSummaryByArc,
+  radarGetEmailRoutingSummaryByDkim,
+  radarGetEmailRoutingSummaryByDmarc,
+  radarGetEmailRoutingSummaryByEncrypted,
+  radarGetEmailRoutingSummaryByIpVersion,
+  radarGetEmailRoutingSummaryBySpf,
+  radarGetEmailRoutingTimeseriesGroupByArc,
+  radarGetEmailRoutingTimeseriesGroupByDkim,
+  radarGetEmailRoutingTimeseriesGroupByDmarc,
+  radarGetEmailRoutingTimeseriesGroupByEncrypted,
+  radarGetEmailRoutingTimeseriesGroupByIpVersion,
+  radarGetEmailRoutingTimeseriesGroupBySpf,
+  radarGetEmailSecuritySummaryByArc,
+  radarGetEmailSecuritySummaryByDkim,
+  radarGetEmailSecuritySummaryByDmarc,
+  radarGetEmailSecuritySummaryByMalicious,
+  radarGetEmailSecuritySummaryBySpam,
+  radarGetEmailSecuritySummaryBySpf,
+  radarGetEmailSecuritySummaryBySpoof,
+  radarGetEmailSecuritySummaryByThreatCategory,
+  radarGetEmailSecuritySummaryByTlsVersion,
+  radarGetEmailSecurityTimeseriesGroupByArc,
+  radarGetEmailSecurityTimeseriesGroupByDkim,
+  radarGetEmailSecurityTimeseriesGroupByDmarc,
+  radarGetEmailSecurityTimeseriesGroupByMalicious,
+  radarGetEmailSecurityTimeseriesGroupBySpam,
+  radarGetEmailSecurityTimeseriesGroupBySpf,
+  radarGetEmailSecurityTimeseriesGroupBySpoof,
+  radarGetEmailSecurityTimeseriesGroupByThreatCategory,
+  radarGetEmailSecurityTimeseriesGroupByTlsVersion,
+  radarGetEmailSecurityTopTldsByMessages,
+  radarGetEmailSecurityTopTldsByMalicious,
+  radarGetEmailSecurityTopTldsBySpam,
+  radarGetEmailSecurityTopTldsBySpoof,
+  radarGetEntitiesAsnList,
+  radarGetEntitiesAsnByIp,
+  radarGetEntitiesAsnById,
+  radarGetAsnsRel,
+  radarGetEntitiesIp,
+  radarGetEntitiesLocations,
+  radarGetEntitiesLocationByAlpha2,
+  radarGetHttpSummaryByBotClass,
+  radarGetHttpSummaryByDeviceType,
+  radarGetHttpSummaryByHttpProtocol,
+  radarGetHttpSummaryByHttpVersion,
+  radarGetHttpSummaryByIpVersion,
+  radarGetHttpSummaryByOperatingSystem,
+  radarGetHttpSummaryByPostQuantum,
+  radarGetHttpSummaryByTlsVersion,
+  radarGetHttpTimeseries,
+  radarGetHttpTimeseriesGroupByBotClass,
+  radarGetHttpTimeseriesGroupByBrowsers,
+  radarGetHttpTimeseriesGroupByBrowserFamilies,
+  radarGetHttpTimeseriesGroupByDeviceType,
+  radarGetHttpTimeseriesGroupByHttpProtocol,
+  radarGetHttpTimeseriesGroupByHttpVersion,
+  radarGetHttpTimeseriesGroupByIpVersion,
+  radarGetHttpTimeseriesGroupByOperatingSystem,
+  radarGetHttpTimeseriesGroupByPostQuantum,
+  radarGetHttpTimeseriesGroupByTlsVersion,
+  radarGetHttpTopAsesByHttpRequests,
+  radarGetHttpTopAsesByBotClass,
+  radarGetHttpTopAsesByBrowserFamily,
+  radarGetHttpTopAsesByDeviceType,
+  radarGetHttpTopAsesByHttpProtocol,
+  radarGetHttpTopAsesByHttpVersion,
+  radarGetHttpTopAsesByIpVersion,
+  radarGetHttpTopAsesByOperatingSystem,
+  radarGetHttpTopAsesByTlsVersion,
+  radarGetHttpTopBrowsers,
+  radarGetHttpTopBrowserFamilies,
+  radarGetHttpTopLocationsByHttpRequests,
+  radarGetHttpTopLocationsByBotClass,
+  radarGetHttpTopLocationsByBrowserFamily,
+  radarGetHttpTopLocationsByDeviceType,
+  radarGetHttpTopLocationsByHttpProtocol,
+  radarGetHttpTopLocationsByHttpVersion,
+  radarGetHttpTopLocationsByIpVersion,
+  radarGetHttpTopLocationsByOperatingSystem,
+  radarGetHttpTopLocationsByTlsVersion,
+  radarGetNetflowsSummary,
+  radarGetNetflowsTimeseries,
+  radarGetNetflowsTopAses,
+  radarGetNetflowsTopLocations,
+  radarGetQualityIndexSummary,
+  radarGetQualityIndexTimeseriesGroup,
+  radarGetQualitySpeedHistogram,
+  radarGetQualitySpeedSummary,
+  radarGetQualitySpeedTopAses,
+  radarGetQualitySpeedTopLocations,
+  radarGetRankingDomainDetails,
+  radarGetRankingDomainTimeseries,
+  radarGetRankingTopDomains,
+  radarGetSearchGlobal,
+  radarGetTcpResetsTimeoutsSummary,
+  radarGetTcpResetsTimeoutsTimeseriesGroup,
+  radarGetTrafficAnomalies,
+  radarGetTrafficAnomaliesTop,
+  radarGetVerifiedBotsTopByHttpRequests,
+  radarGetVerifiedBotsTopCategoriesByHttpRequests,
+  userUserDetails,
+  userEditUser,
+  auditLogsGetUserAuditLogs,
+  userBillingHistoryDeprecatedBillingHistoryDetails,
+  userBillingProfileDeprecatedBillingProfileDetails,
+  ipAccessRulesForAUserListIpAccessRules,
+  ipAccessRulesForAUserCreateAnIpAccessRule,
+  ipAccessRulesForAUserDeleteAnIpAccessRule,
+  ipAccessRulesForAUserUpdateAnIpAccessRule,
+  userSInvitesListInvitations,
+  userSInvitesInvitationDetails,
+  userSInvitesRespondToInvitation,
+  loadBalancerMonitorsListMonitors,
+  loadBalancerMonitorsCreateMonitor,
+  loadBalancerMonitorsDeleteMonitor,
+  loadBalancerMonitorsMonitorDetails,
+  loadBalancerMonitorsPatchMonitor,
+  loadBalancerMonitorsUpdateMonitor,
+  loadBalancerMonitorsPreviewMonitor,
+  loadBalancerMonitorsListMonitorReferences,
+  loadBalancerPoolsListPools,
+  loadBalancerPoolsPatchPools,
+  loadBalancerPoolsCreatePool,
+  loadBalancerPoolsDeletePool,
+  loadBalancerPoolsPoolDetails,
+  loadBalancerPoolsPatchPool,
+  loadBalancerPoolsUpdatePool,
+  loadBalancerPoolsPoolHealthDetails,
+  loadBalancerPoolsPreviewPool,
+  loadBalancerPoolsListPoolReferences,
+  loadBalancerMonitorsPreviewResult,
+  loadBalancerHealthcheckEventsListHealthcheckEvents,
+  userSOrganizationsListOrganizations,
+  userSOrganizationsLeaveOrganization,
+  userSOrganizationsOrganizationDetails,
+  userSubscriptionGetUserSubscriptions,
+  userSubscriptionDeleteUserSubscription,
+  userSubscriptionUpdateUserSubscription,
+  userApiTokensListTokens,
+  userApiTokensCreateToken,
+  permissionGroupsListPermissionGroups,
+  userApiTokensVerifyToken,
+  userApiTokensDeleteToken,
+  userApiTokensTokenDetails,
+  userApiTokensUpdateToken,
+  userApiTokensRollToken,
+  zonesGet,
+  zonesPost,
+  zoneSubscriptionZoneSubscriptionDetails,
+  zoneSubscriptionCreateZoneSubscription,
+  zoneSubscriptionUpdateZoneSubscription,
+  zoneAnalyticsDeprecatedGetAnalyticsByCoLocations,
+  zoneAnalyticsDeprecatedGetDashboard,
+  customPagesForAZoneListCustomPages,
+  customPagesForAZoneGetACustomPage,
+  customPagesForAZoneUpdateACustomPage,
+  sslTlsModeRecommendationSslTlsRecommendation,
+  zones0Delete,
+  zones0Get,
+  zones0Patch,
+  zoneLevelAccessApplicationsListAccessApplications,
+  zoneLevelAccessApplicationsAddABookmarkApplication,
+  zoneLevelAccessShortLivedCertificateCAsListShortLivedCertificateCAs,
+  zoneLevelAccessApplicationsDeleteAnAccessApplication,
+  zoneLevelAccessApplicationsGetAnAccessApplication,
+  zoneLevelAccessApplicationsUpdateABookmarkApplication,
+  zoneLevelAccessShortLivedCertificateCAsDeleteAShortLivedCertificateCa,
+  zoneLevelAccessShortLivedCertificateCAsGetAShortLivedCertificateCa,
+  zoneLevelAccessShortLivedCertificateCAsCreateAShortLivedCertificateCa,
+  zoneLevelAccessPoliciesListAccessPolicies,
+  zoneLevelAccessPoliciesCreateAnAccessPolicy,
+  zoneLevelAccessPoliciesDeleteAnAccessPolicy,
+  zoneLevelAccessPoliciesGetAnAccessPolicy,
+  zoneLevelAccessPoliciesUpdateAnAccessPolicy,
+  zoneLevelAccessApplicationsRevokeServiceTokens,
+  zoneLevelAccessApplicationsTestAccessPolicies,
+  zoneLevelAccessMtlsAuthenticationListMtlsCertificates,
+  zoneLevelAccessMtlsAuthenticationAddAnMtlsCertificate,
+  zoneLevelAccessMtlsAuthenticationListMtlsCertificatesHostnameSettings,
+  zoneLevelAccessMtlsAuthenticationUpdateAnMtlsCertificateSettings,
+  zoneLevelAccessMtlsAuthenticationDeleteAnMtlsCertificate,
+  zoneLevelAccessMtlsAuthenticationGetAnMtlsCertificate,
+  zoneLevelAccessMtlsAuthenticationUpdateAnMtlsCertificate,
+  zoneLevelAccessGroupsListAccessGroups,
+  zoneLevelAccessGroupsCreateAnAccessGroup,
+  zoneLevelAccessGroupsDeleteAnAccessGroup,
+  zoneLevelAccessGroupsGetAnAccessGroup,
+  zoneLevelAccessGroupsUpdateAnAccessGroup,
+  zoneLevelAccessIdentityProvidersListAccessIdentityProviders,
+  zoneLevelAccessIdentityProvidersAddAnAccessIdentityProvider,
+  zoneLevelAccessIdentityProvidersDeleteAnAccessIdentityProvider,
+  zoneLevelAccessIdentityProvidersGetAnAccessIdentityProvider,
+  zoneLevelAccessIdentityProvidersUpdateAnAccessIdentityProvider,
+  zoneLevelZeroTrustOrganizationGetYourZeroTrustOrganization,
+  zoneLevelZeroTrustOrganizationCreateYourZeroTrustOrganization,
+  zoneLevelZeroTrustOrganizationUpdateYourZeroTrustOrganization,
+  zoneLevelZeroTrustOrganizationRevokeAllAccessTokensForAUser,
+  zoneLevelAccessServiceTokensListServiceTokens,
+  zoneLevelAccessServiceTokensCreateAServiceToken,
+  zoneLevelAccessServiceTokensDeleteAServiceToken,
+  zoneLevelAccessServiceTokensGetAServiceToken,
+  zoneLevelAccessServiceTokensUpdateAServiceToken,
+  totalTlsTotalTlsSettingsDetails,
+  totalTlsEnableOrDisableTotalTls,
+  putZonesZoneIdActivationCheck,
+  dlsAccountRegionalHostnamesAccountListHostnames,
+  dlsAccountRegionalHostnamesAccountCreateHostname,
+  dlsAccountRegionalHostnamesAccountDeleteHostname,
+  dlsAccountRegionalHostnamesAccountFetchHostname,
+  dlsAccountRegionalHostnamesAccountPatchHostname,
+  argoAnalyticsForZoneArgoAnalyticsForAZone,
+  argoAnalyticsForGeolocationArgoAnalyticsForAZoneAtDifferentPoPs,
+  apiShieldSettingsRetrieveInformationAboutSpecificConfigurationProperties,
+  apiShieldSettingsSetConfigurationProperties,
+  apiShieldApiDiscoveryRetrieveDiscoveredOperationsOnAZoneAsOpenapi,
+  apiShieldApiDiscoveryRetrieveDiscoveredOperationsOnAZone,
+  apiShieldApiPatchDiscoveredOperations,
+  apiShieldApiPatchDiscoveredOperation,
+  apiShieldExpressionTemplatesFallthrough,
+  apiShieldEndpointManagementDeleteMultipleOperations,
+  apiShieldEndpointManagementRetrieveInformationAboutAllOperationsOnAZone,
+  apiShieldEndpointManagementAddOperationsToAZone,
+  apiShieldSchemaValidationUpdateMultipleOperationLevelSettings,
+  apiShieldEndpointManagementDeleteAnOperation,
+  apiShieldEndpointManagementRetrieveInformationAboutAnOperation,
+  apiShieldSchemaValidationRetrieveOperationLevelSettings,
+  apiShieldSchemaValidationUpdateOperationLevelSettings,
+  apiShieldEndpointManagementRetrieveOperationsAndFeaturesAsOpenApiSchemas,
+  apiShieldSchemaValidationRetrieveZoneLevelSettings,
+  apiShieldSchemaValidationPatchZoneLevelSettings,
+  apiShieldSchemaValidationUpdateZoneLevelSettings,
+  apiShieldSchemaValidationRetrieveInformationAboutAllSchemas,
+  apiShieldSchemaValidationPostSchema,
+  apiShieldSchemaValidationRetrieveUserSchemaHosts,
+  apiShieldSchemaDeleteASchema,
+  apiShieldSchemaValidationRetrieveInformationAboutSpecificSchema,
+  apiShieldSchemaValidationEnableValidationForASchema,
+  apiShieldSchemaValidationExtractOperationsFromSchema,
+  argoSmartRoutingGetArgoSmartRoutingSetting,
+  argoSmartRoutingPatchArgoSmartRoutingSetting,
+  tieredCachingGetTieredCachingSetting,
+  tieredCachingPatchTieredCachingSetting,
+  zoneRatePlanListAvailablePlans,
+  zoneRatePlanAvailablePlanDetails,
+  zoneRatePlanListAvailableRatePlans,
+  botManagementForAZoneGetConfig,
+  botManagementForAZoneUpdateConfig,
+  zoneCacheSettingsGetCacheReserveSetting,
+  zoneCacheSettingsChangeCacheReserveSetting,
+  zoneCacheSettingsGetCacheReserveClear,
+  zoneCacheSettingsStartCacheReserveClear,
+  zoneCacheSettingsGetOriginPostQuantumEncryptionSetting,
+  zoneCacheSettingsChangeOriginPostQuantumEncryptionSetting,
+  zoneCacheSettingsGetRegionalTieredCacheSetting,
+  zoneCacheSettingsChangeRegionalTieredCacheSetting,
+  smartTieredCacheDeleteSmartTieredCacheSetting,
+  smartTieredCacheGetSmartTieredCacheSetting,
+  smartTieredCachePatchSmartTieredCacheSetting,
+  zoneCacheSettingsDeleteVariantsSetting,
+  zoneCacheSettingsGetVariantsSetting,
+  zoneCacheSettingsChangeVariantsSetting,
+  clientCertificateForAZoneListHostnameAssociations,
+  clientCertificateForAZonePutHostnameAssociations,
+  clientCertificateForAZoneListClientCertificates,
+  clientCertificateForAZoneCreateClientCertificate,
+  clientCertificateForAZoneDeleteClientCertificate,
+  clientCertificateForAZoneClientCertificateDetails,
+  clientCertificateForAZoneEditClientCertificate,
+  zoneCloudConnectorRules,
+  zoneCloudConenctorRulesPut,
+  wafContentScanningDisable,
+  wafContentScanningEnable,
+  wafContentScanningListCustomScanExpressions,
+  wafContentScanningAddCustomScanExpressions,
+  wafContentScanningDeleteCustomScanExpressions,
+  wafContentScanningGetStatus,
+  customSslForAZoneListSslConfigurations,
+  customSslForAZoneCreateSslConfiguration,
+  customSslForAZoneRePrioritizeSslCertificates,
+  customSslForAZoneDeleteSslConfiguration,
+  customSslForAZoneSslConfigurationDetails,
+  customSslForAZoneEditSslConfiguration,
+  customHostnameForAZoneListCustomHostnames,
+  customHostnameForAZoneCreateCustomHostname,
+  customHostnameFallbackOriginForAZoneDeleteFallbackOriginForCustomHostnames,
+  customHostnameFallbackOriginForAZoneGetFallbackOriginForCustomHostnames,
+  customHostnameFallbackOriginForAZoneUpdateFallbackOriginForCustomHostnames,
+  customHostnameForAZoneDeleteCustomHostnameAndAnyIssuedSslCertificates,
+  customHostnameForAZoneCustomHostnameDetails,
+  customHostnameForAZoneEditCustomHostname,
+  accountLevelCustomNameserversUsageForAZoneGetAccountCustomNameserverRelatedZoneMetadata,
+  accountLevelCustomNameserversUsageForAZoneSetAccountCustomNameserverRelatedZoneMetadata,
+  dcvDelegationUuidGet,
+  devicesGetPolicyCertificates,
+  devicesUpdatePolicyCertificates,
+  dnsAnalyticsTable,
+  dnsAnalyticsByTime,
+  dnsRecordsForAZoneListDnsRecords,
+  dnsRecordsForAZoneCreateDnsRecord,
+  dnsRecordsForAZoneBatchDnsRecords,
+  dnsRecordsForAZoneExportDnsRecords,
+  dnsRecordsForAZoneImportDnsRecords,
+  dnsRecordsForAZoneScanDnsRecords,
+  dnsRecordsForAZoneDeleteDnsRecord,
+  dnsRecordsForAZoneDnsRecordDetails,
+  dnsRecordsForAZonePatchDnsRecord,
+  dnsRecordsForAZoneUpdateDnsRecord,
+  dnsSettingsForAZoneListDnsSettings,
+  dnsSettingsForAZoneUpdateDnsSettings,
+  dnssecDeleteDnssecRecords,
+  dnssecDnssecDetails,
+  dnssecEditDnssecStatus,
+  emailRoutingSettingsGetEmailRoutingSettings,
+  emailRoutingSettingsDisableEmailRouting,
+  emailRoutingSettingsDisableEmailRoutingDns,
+  emailRoutingSettingsEmailRoutingDnsSettings,
+  emailRoutingSettingsUnlockEmailRoutingDns,
+  emailRoutingSettingsEnableEmailRoutingDns,
+  emailRoutingSettingsEnableEmailRouting,
+  emailRoutingRoutingRulesListRoutingRules,
+  emailRoutingRoutingRulesCreateRoutingRule,
+  emailRoutingRoutingRulesGetCatchAllRule,
+  emailRoutingRoutingRulesUpdateCatchAllRule,
+  emailRoutingRoutingRulesDeleteRoutingRule,
+  emailRoutingRoutingRulesGetRoutingRule,
+  emailRoutingRoutingRulesUpdateRoutingRule,
+  filtersDeleteFilters,
+  filtersListFilters,
+  filtersCreateFilters,
+  filtersUpdateFilters,
+  filtersDeleteAFilter,
+  filtersGetAFilter,
+  filtersUpdateAFilter,
+  ipAccessRulesForAZoneListIpAccessRules,
+  ipAccessRulesForAZoneCreateAnIpAccessRule,
+  ipAccessRulesForAZoneDeleteAnIpAccessRule,
+  ipAccessRulesForAZoneUpdateAnIpAccessRule,
+  zoneLockdownListZoneLockdownRules,
+  zoneLockdownCreateAZoneLockdownRule,
+  zoneLockdownDeleteAZoneLockdownRule,
+  zoneLockdownGetAZoneLockdownRule,
+  zoneLockdownUpdateAZoneLockdownRule,
+  firewallRulesDeleteFirewallRules,
+  firewallRulesListFirewallRules,
+  firewallRulesUpdatePriorityOfFirewallRules,
+  firewallRulesCreateFirewallRules,
+  firewallRulesUpdateFirewallRules,
+  firewallRulesDeleteAFirewallRule,
+  firewallRulesGetAFirewallRule,
+  firewallRulesUpdatePriorityOfAFirewallRule,
+  firewallRulesUpdateAFirewallRule,
+  userAgentBlockingRulesListUserAgentBlockingRules,
+  userAgentBlockingRulesCreateAUserAgentBlockingRule,
+  userAgentBlockingRulesDeleteAUserAgentBlockingRule,
+  userAgentBlockingRulesGetAUserAgentBlockingRule,
+  userAgentBlockingRulesUpdateAUserAgentBlockingRule,
+  wafOverridesListWafOverrides,
+  wafOverridesCreateAWafOverride,
+  wafOverridesDeleteAWafOverride,
+  wafOverridesGetAWafOverride,
+  wafOverridesUpdateWafOverride,
+  wafPackagesListWafPackages,
+  wafPackagesGetAWafPackage,
+  wafPackagesUpdateAWafPackage,
+  wafRuleGroupsListWafRuleGroups,
+  wafRuleGroupsGetAWafRuleGroup,
+  wafRuleGroupsUpdateAWafRuleGroup,
+  wafRulesListWafRules,
+  wafRulesGetAWafRule,
+  wafRulesUpdateAWafRule,
+  healthChecksListHealthChecks,
+  healthChecksCreateHealthCheck,
+  healthChecksCreatePreviewHealthCheck,
+  healthChecksDeletePreviewHealthCheck,
+  healthChecksHealthCheckPreviewDetails,
+  healthChecksDeleteHealthCheck,
+  healthChecksHealthCheckDetails,
+  healthChecksPatchHealthCheck,
+  healthChecksUpdateHealthCheck,
+  zones0HoldDelete,
+  zones0HoldGet,
+  zones0HoldPatch,
+  zones0HoldPost,
+  perHostnameTlsSettingsList,
+  perHostnameTlsSettingsDelete,
+  perHostnameTlsSettingsPut,
+  keylessSslForAZoneListKeylessSslConfigurations,
+  keylessSslForAZoneCreateKeylessSslConfiguration,
+  keylessSslForAZoneDeleteKeylessSslConfiguration,
+  keylessSslForAZoneGetKeylessSslConfiguration,
+  keylessSslForAZoneEditKeylessSslConfiguration,
+  wafProductApiLeakedCredentialsGetStatus,
+  wafProductApiLeakedCredentialsSetStatus,
+  wafProductApiLeakedCredentialsListDetections,
+  wafProductApiLeakedCredentialsCreateDetection,
+  wafProductApiLeakedCredentialsDeleteDetection,
+  wafProductApiLeakedCredentialsUpdateDetection,
+  loadBalancersListLoadBalancers,
+  loadBalancersCreateLoadBalancer,
+  loadBalancersDeleteLoadBalancer,
+  loadBalancersLoadBalancerDetails,
+  loadBalancersPatchLoadBalancer,
+  loadBalancersUpdateLoadBalancer,
+  getZonesZoneIdLogpushDatasetsDatasetIdFields,
+  getZonesZoneIdLogpushDatasetsDatasetIdJobs,
+  getZonesZoneIdLogpushEdgeJobs,
+  postZonesZoneIdLogpushEdgeJobs,
+  getZonesZoneIdLogpushJobs,
+  postZonesZoneIdLogpushJobs,
+  deleteZonesZoneIdLogpushJobsJobId,
+  getZonesZoneIdLogpushJobsJobId,
+  putZonesZoneIdLogpushJobsJobId,
+  postZonesZoneIdLogpushOwnership,
+  postZonesZoneIdLogpushOwnershipValidate,
+  postZonesZoneIdLogpushValidateDestination,
+  postZonesZoneIdLogpushValidateDestinationExists,
+  postZonesZoneIdLogpushValidateOrigin,
+  getZonesZoneIdLogsControlRetentionFlag,
+  postZonesZoneIdLogsControlRetentionFlag,
+  getZonesZoneIdLogsRayidsRayId,
+  getZonesZoneIdLogsReceived,
+  getZonesZoneIdLogsReceivedFields,
+  deleteManagedTransforms,
+  listManagedTransforms,
+  updateManagedTransforms,
+  zoneLevelAuthenticatedOriginPullsListCertificates,
+  zoneLevelAuthenticatedOriginPullsUploadCertificate,
+  perHostnameAuthenticatedOriginPullEnableOrDisableAHostnameForClientAuthentication,
+  perHostnameAuthenticatedOriginPullListCertificates,
+  perHostnameAuthenticatedOriginPullUploadAHostnameClientCertificate,
+  perHostnameAuthenticatedOriginPullDeleteHostnameClientCertificate,
+  perHostnameAuthenticatedOriginPullGetTheHostnameClientCertificate,
+  perHostnameAuthenticatedOriginPullGetTheHostnameStatusForClientAuthentication,
+  zoneLevelAuthenticatedOriginPullsGetEnablementSettingForZone,
+  zoneLevelAuthenticatedOriginPullsSetEnablementForZone,
+  zoneLevelAuthenticatedOriginPullsDeleteCertificate,
+  zoneLevelAuthenticatedOriginPullsGetCertificateDetails,
+  pageShieldGetSettings,
+  pageShieldUpdateSettings,
+  pageShieldListConnections,
+  pageShieldGetConnection,
+  pageShieldListCookies,
+  pageShieldGetCookie,
+  pageShieldListPolicies,
+  pageShieldCreatePolicy,
+  pageShieldDeletePolicy,
+  pageShieldGetPolicy,
+  pageShieldUpdatePolicy,
+  pageShieldListScripts,
+  pageShieldGetScript,
+  pageRulesListPageRules,
+  pageRulesCreateAPageRule,
+  availablePageRulesSettingsListAvailablePageRulesSettings,
+  pageRulesDeleteAPageRule,
+  pageRulesGetAPageRule,
+  pageRulesEditAPageRule,
+  pageRulesUpdateAPageRule,
+  zonePurge,
+  rateLimitsForAZoneListRateLimits,
+  rateLimitsForAZoneCreateARateLimit,
+  rateLimitsForAZoneDeleteARateLimit,
+  rateLimitsForAZoneGetARateLimit,
+  rateLimitsForAZoneUpdateARateLimit,
+  listZoneRulesets,
+  createZoneRuleset,
+  getZoneEntrypointRuleset,
+  updateZoneEntrypointRuleset,
+  listZoneEntrypointRulesetVersions,
+  getZoneEntrypointRulesetVersion,
+  deleteZoneRuleset,
+  getZoneRuleset,
+  updateZoneRuleset,
+  createZoneRulesetRule,
+  deleteZoneRulesetRule,
+  updateZoneRulesetRule,
+  listZoneRulesetVersions,
+  deleteZoneRulesetVersion,
+  getZoneRulesetVersion,
+  listZoneRulesetVersionRulesByTag,
+  secondaryDnsSecondaryZoneForceAxfr,
+  secondaryDnsSecondaryZoneDeleteSecondaryZoneConfiguration,
+  secondaryDnsSecondaryZoneSecondaryZoneConfigurationDetails,
+  secondaryDnsSecondaryZoneCreateSecondaryZoneConfiguration,
+  secondaryDnsSecondaryZoneUpdateSecondaryZoneConfiguration,
+  secondaryDnsPrimaryZoneDeletePrimaryZoneConfiguration,
+  secondaryDnsPrimaryZonePrimaryZoneConfigurationDetails,
+  secondaryDnsPrimaryZoneCreatePrimaryZoneConfiguration,
+  secondaryDnsPrimaryZoneUpdatePrimaryZoneConfiguration,
+  secondaryDnsPrimaryZoneDisableOutgoingZoneTransfers,
+  secondaryDnsPrimaryZoneEnableOutgoingZoneTransfers,
+  secondaryDnsPrimaryZoneForceDnsNotify,
+  secondaryDnsPrimaryZoneGetOutgoingZoneTransferStatus,
+  deleteSecurityTxt,
+  getSecurityTxt,
+  updateSecurityTxt,
+  zoneSettingsGetAllZoneSettings,
+  zoneSettingsEditZoneSettingsInfo,
+  zoneSettingsGetFontsSetting,
+  zoneSettingsChangeFontsSetting,
+  zoneCacheSettingsGetOriginMaxHttpVersionSetting,
+  zoneCacheSettingsChangeOriginMaxHttpVersionSetting,
+  webAnalyticsGetRumStatus,
+  webAnalyticsToggleRum,
+  zoneSettingsGetSpeedBrainSetting,
+  zoneSettingsChangeSpeedBrainSetting,
+  getZonesZoneIdentifierZarazConfig,
+  putZonesZoneIdentifierZarazConfig,
+  getZonesZoneIdentifierZarazDefault,
+  getZonesZoneIdentifierZarazExport,
+  getZonesZoneIdentifierZarazHistory,
+  putZonesZoneIdentifierZarazHistory,
+  getZonesZoneIdentifierZarazConfigHistory,
+  postZonesZoneIdentifierZarazPublish,
+  getZonesZoneIdentifierZarazWorkflow,
+  putZonesZoneIdentifierZarazWorkflow,
+  zoneSettingsGetSingleSetting,
+  zoneSettingsEditSingleSetting,
+  zoneSnippets,
+  zoneSnippetsSnippetRulesDelete,
+  zoneSnippetsSnippetRules,
+  zoneSnippetsSnippetRulesPut,
+  zoneSnippetsSnippetDelete,
+  zoneSnippetsSnippet,
+  zoneSnippetsSnippetPut,
+  zoneSnippetsSnippetContent,
+  spectrumAggregateAnalyticsGetCurrentAggregatedAnalytics,
+  spectrumAnalyticsByTimeGetAnalyticsByTime,
+  spectrumAnalyticsSummaryGetAnalyticsSummary,
+  spectrumApplicationsListSpectrumApplications,
+  spectrumApplicationsCreateSpectrumApplicationUsingANameForTheOrigin,
+  spectrumApplicationsDeleteSpectrumApplication,
+  spectrumApplicationsGetSpectrumApplicationConfiguration,
+  spectrumApplicationsUpdateSpectrumApplicationConfigurationUsingANameForTheOrigin,
+  speedGetAvailabilities,
+  speedListPages,
+  speedDeleteTests,
+  speedListTestHistory,
+  speedCreateTest,
+  speedGetTest,
+  speedListPageTrend,
+  speedDeleteTestSchedule,
+  speedGetScheduledTest,
+  speedCreateScheduledTest,
+  analyzeCertificateAnalyzeCertificate,
+  certificatePacksListCertificatePacks,
+  certificatePacksOrderAdvancedCertificateManagerCertificatePack,
+  certificatePacksGetCertificatePackQuotas,
+  certificatePacksDeleteAdvancedCertificateManagerCertificatePack,
+  certificatePacksGetCertificatePack,
+  certificatePacksRestartValidationForAdvancedCertificateManagerCertificatePack,
+  universalSslSettingsForAZoneUniversalSslSettingsDetails,
+  universalSslSettingsForAZoneEditUniversalSslSettings,
+  sslVerificationSslVerificationDetails,
+  sslVerificationEditSslCertificatePackValidationMethod,
+  deleteUrlNormalization,
+  getUrlNormalization,
+  updateUrlNormalization,
+  waitingRoomListWaitingRooms,
+  waitingRoomCreateWaitingRoom,
+  waitingRoomCreateACustomWaitingRoomPagePreview,
+  waitingRoomGetZoneSettings,
+  waitingRoomPatchZoneSettings,
+  waitingRoomUpdateZoneSettings,
+  waitingRoomDeleteWaitingRoom,
+  waitingRoomWaitingRoomDetails,
+  waitingRoomPatchWaitingRoom,
+  waitingRoomUpdateWaitingRoom,
+  waitingRoomListEvents,
+  waitingRoomCreateEvent,
+  waitingRoomDeleteEvent,
+  waitingRoomEventDetails,
+  waitingRoomPatchEvent,
+  waitingRoomUpdateEvent,
+  waitingRoomPreviewActiveEventDetails,
+  waitingRoomListWaitingRoomRules,
+  waitingRoomCreateWaitingRoomRule,
+  waitingRoomReplaceWaitingRoomRules,
+  waitingRoomDeleteWaitingRoomRule,
+  waitingRoomPatchWaitingRoomRule,
+  waitingRoomGetWaitingRoomStatus,
+  web3HostnameListWeb3Hostnames,
+  web3HostnameCreateWeb3Hostname,
+  web3HostnameDeleteWeb3Hostname,
+  web3HostnameWeb3HostnameDetails,
+  web3HostnameEditWeb3Hostname,
+  web3HostnameIpfsUniversalPathGatewayContentListDetails,
+  web3HostnameUpdateIpfsUniversalPathGatewayContentList,
+  web3HostnameListIpfsUniversalPathGatewayContentListEntries,
+  web3HostnameCreateIpfsUniversalPathGatewayContentListEntry,
+  web3HostnameDeleteIpfsUniversalPathGatewayContentListEntry,
+  web3HostnameIpfsUniversalPathGatewayContentListEntryDetails,
+  web3HostnameEditIpfsUniversalPathGatewayContentListEntry,
+  workerFiltersDeprecatedListFilters,
+  workerFiltersDeprecatedCreateFilter,
+  workerFiltersDeprecatedDeleteFilter,
+  workerFiltersDeprecatedUpdateFilter,
+  workerRoutesListRoutes,
+  workerRoutesCreateRoute,
+  workerRoutesDeleteRoute,
+  workerRoutesGetRoute,
+  workerRoutesUpdateRoute,
+  workerScriptDeprecatedDeleteWorker,
+  workerScriptDeprecatedDownloadWorker,
+  workerScriptDeprecatedUploadWorker,
+  workerBindingDeprecatedListBindings,
+  sslDetectorAutomaticModeGetEnrollment,
+  sslDetectorAutomaticModePatchEnrollment
+} from './components';
+
+export const operationsByPath = {
+  'GET /accounts': accountsListAccounts,
+  'POST /accounts': accountCreation,
+  'GET /accounts/{accountId}/urlscanner/response/{responseId}': urlscannerGetResponseText,
+  'GET /accounts/{accountId}/urlscanner/scan': urlscannerSearchScans,
+  'POST /accounts/{accountId}/urlscanner/scan': urlscannerCreateScan,
+  'GET /accounts/{accountId}/urlscanner/scan/{scanId}': urlscannerGetScan,
+  'GET /accounts/{accountId}/urlscanner/scan/{scanId}/har': urlscannerGetScanHar,
+  'GET /accounts/{accountId}/urlscanner/scan/{scanId}/screenshot': urlscannerGetScanScreenshot,
+  'POST /accounts/{accountId}/urlscanner/v2/bulk': urlscannerCreateScanBulkV2,
+  'GET /accounts/{accountId}/urlscanner/v2/dom/{scanId}': urlscannerGetScanDomV2,
+  'GET /accounts/{accountId}/urlscanner/v2/har/{scanId}': urlscannerGetScanHarV2,
+  'GET /accounts/{accountId}/urlscanner/v2/responses/{responseId}': urlscannerGetResponseV2,
+  'GET /accounts/{accountId}/urlscanner/v2/result/{scanId}': urlscannerGetScanV2,
+  'POST /accounts/{accountId}/urlscanner/v2/scan': urlscannerCreateScanV2,
+  'GET /accounts/{accountId}/urlscanner/v2/screenshots/{scanId}.png': urlscannerGetScanScreenshotV2,
+  'GET /accounts/{accountId}/urlscanner/v2/search': urlscannerSearchScansV2,
+  'POST /accounts/{account_identifier}/cloudforce-one/requests': cloudforceOneRequestList,
+  'GET /accounts/{account_identifier}/cloudforce-one/requests/constants': cloudforceOneRequestConstants,
+  'POST /accounts/{account_identifier}/cloudforce-one/requests/new': cloudforceOneRequestNew,
+  'POST /accounts/{account_identifier}/cloudforce-one/requests/priority': cloudforceOnePriorityList,
+  'POST /accounts/{account_identifier}/cloudforce-one/requests/priority/new': cloudforceOnePriorityNew,
+  'GET /accounts/{account_identifier}/cloudforce-one/requests/priority/quota': cloudforceOnePriorityQuota,
+  'DELETE /accounts/{account_identifier}/cloudforce-one/requests/priority/{priority_identifer}':
+    cloudforceOnePriorityDelete,
+  'GET /accounts/{account_identifier}/cloudforce-one/requests/priority/{priority_identifer}': cloudforceOnePriorityGet,
+  'PUT /accounts/{account_identifier}/cloudforce-one/requests/priority/{priority_identifer}':
+    cloudforceOnePriorityUpdate,
+  'GET /accounts/{account_identifier}/cloudforce-one/requests/quota': cloudforceOneRequestQuota,
+  'GET /accounts/{account_identifier}/cloudforce-one/requests/types': cloudforceOneRequestTypes,
+  'DELETE /accounts/{account_identifier}/cloudforce-one/requests/{request_identifier}': cloudforceOneRequestDelete,
+  'GET /accounts/{account_identifier}/cloudforce-one/requests/{request_identifier}': cloudforceOneRequestGet,
+  'PUT /accounts/{account_identifier}/cloudforce-one/requests/{request_identifier}': cloudforceOneRequestUpdate,
+  'POST /accounts/{account_identifier}/cloudforce-one/requests/{request_identifier}/asset':
+    cloudforceOneRequestAssetList,
+  'POST /accounts/{account_identifier}/cloudforce-one/requests/{request_identifier}/asset/new':
+    cloudforceOneRequestAssetNew,
+  'DELETE /accounts/{account_identifier}/cloudforce-one/requests/{request_identifier}/asset/{asset_identifer}':
+    cloudforceOneRequestAssetDelete,
+  'GET /accounts/{account_identifier}/cloudforce-one/requests/{request_identifier}/asset/{asset_identifer}':
+    cloudforceOneRequestAssetGet,
+  'PUT /accounts/{account_identifier}/cloudforce-one/requests/{request_identifier}/asset/{asset_identifer}':
+    cloudforceOneRequestAssetUpdate,
+  'POST /accounts/{account_identifier}/cloudforce-one/requests/{request_identifier}/message':
+    cloudforceOneRequestMessageList,
+  'POST /accounts/{account_identifier}/cloudforce-one/requests/{request_identifier}/message/new':
+    cloudforceOneRequestMessageNew,
+  'DELETE /accounts/{account_identifier}/cloudforce-one/requests/{request_identifier}/message/{message_identifer}':
+    cloudforceOneRequestMessageDelete,
+  'PUT /accounts/{account_identifier}/cloudforce-one/requests/{request_identifier}/message/{message_identifer}':
+    cloudforceOneRequestMessageUpdate,
+  'GET /accounts/{account_identifier}/custom_pages': customPagesForAnAccountListCustomPages,
+  'GET /accounts/{account_identifier}/custom_pages/{identifier}': customPagesForAnAccountGetACustomPage,
+  'PUT /accounts/{account_identifier}/custom_pages/{identifier}': customPagesForAnAccountUpdateACustomPage,
+  'GET /accounts/{account_identifier}/rules/lists/bulk_operations/{operation_id}': listsGetBulkOperationStatus,
+  'GET /accounts/{account_identifier}/rules/lists/{list_id}/items/{item_id}': listsGetAListItem,
+  'DELETE /accounts/{account_id}': accountDeletion,
+  'GET /accounts/{account_id}': accountsAccountDetails,
+  'PUT /accounts/{account_id}': accountsUpdateAccount,
+  'GET /accounts/{account_id}/access/apps': accessApplicationsListAccessApplications,
+  'POST /accounts/{account_id}/access/apps': accessApplicationsAddAnApplication,
+  'GET /accounts/{account_id}/access/apps/ca': accessShortLivedCertificateCAsListShortLivedCertificateCAs,
+  'DELETE /accounts/{account_id}/access/apps/{app_id}': accessApplicationsDeleteAnAccessApplication,
+  'GET /accounts/{account_id}/access/apps/{app_id}': accessApplicationsGetAnAccessApplication,
+  'PUT /accounts/{account_id}/access/apps/{app_id}': accessApplicationsUpdateAnAccessApplication,
+  'DELETE /accounts/{account_id}/access/apps/{app_id}/ca': accessShortLivedCertificateCAsDeleteAShortLivedCertificateCa,
+  'GET /accounts/{account_id}/access/apps/{app_id}/ca': accessShortLivedCertificateCAsGetAShortLivedCertificateCa,
+  'POST /accounts/{account_id}/access/apps/{app_id}/ca': accessShortLivedCertificateCAsCreateAShortLivedCertificateCa,
+  'GET /accounts/{account_id}/access/apps/{app_id}/policies': accessPoliciesListAccessAppPolicies,
+  'POST /accounts/{account_id}/access/apps/{app_id}/policies': accessPoliciesCreateAnAccessPolicy,
+  'DELETE /accounts/{account_id}/access/apps/{app_id}/policies/{policy_id}': accessPoliciesDeleteAnAccessPolicy,
+  'GET /accounts/{account_id}/access/apps/{app_id}/policies/{policy_id}': accessPoliciesGetAnAccessPolicy,
+  'PUT /accounts/{account_id}/access/apps/{app_id}/policies/{policy_id}': accessPoliciesUpdateAnAccessPolicy,
+  'POST /accounts/{account_id}/access/apps/{app_id}/revoke_tokens': accessApplicationsRevokeServiceTokens,
+  'GET /accounts/{account_id}/access/apps/{app_id}/user_policy_checks': accessApplicationsTestAccessPolicies,
+  'GET /accounts/{account_id}/access/bookmarks': accessBookmarkApplicationsDeprecatedListBookmarkApplications,
+  'DELETE /accounts/{account_id}/access/bookmarks/{bookmark_id}':
+    accessBookmarkApplicationsDeprecatedDeleteABookmarkApplication,
+  'GET /accounts/{account_id}/access/bookmarks/{bookmark_id}':
+    accessBookmarkApplicationsDeprecatedGetABookmarkApplication,
+  'POST /accounts/{account_id}/access/bookmarks/{bookmark_id}':
+    accessBookmarkApplicationsDeprecatedCreateABookmarkApplication,
+  'PUT /accounts/{account_id}/access/bookmarks/{bookmark_id}':
+    accessBookmarkApplicationsDeprecatedUpdateABookmarkApplication,
+  'GET /accounts/{account_id}/access/certificates': accessMtlsAuthenticationListMtlsCertificates,
+  'POST /accounts/{account_id}/access/certificates': accessMtlsAuthenticationAddAnMtlsCertificate,
+  'GET /accounts/{account_id}/access/certificates/settings':
+    accessMtlsAuthenticationListMtlsCertificatesHostnameSettings,
+  'PUT /accounts/{account_id}/access/certificates/settings': accessMtlsAuthenticationUpdateAnMtlsCertificateSettings,
+  'DELETE /accounts/{account_id}/access/certificates/{certificate_id}': accessMtlsAuthenticationDeleteAnMtlsCertificate,
+  'GET /accounts/{account_id}/access/certificates/{certificate_id}': accessMtlsAuthenticationGetAnMtlsCertificate,
+  'PUT /accounts/{account_id}/access/certificates/{certificate_id}': accessMtlsAuthenticationUpdateAnMtlsCertificate,
+  'GET /accounts/{account_id}/access/custom_pages': accessCustomPagesListCustomPages,
+  'POST /accounts/{account_id}/access/custom_pages': accessCustomPagesCreateACustomPage,
+  'DELETE /accounts/{account_id}/access/custom_pages/{custom_page_id}': accessCustomPagesDeleteACustomPage,
+  'GET /accounts/{account_id}/access/custom_pages/{custom_page_id}': accessCustomPagesGetACustomPage,
+  'PUT /accounts/{account_id}/access/custom_pages/{custom_page_id}': accessCustomPagesUpdateACustomPage,
+  'GET /accounts/{account_id}/access/gateway_ca': accessGatewayCaListSSHCa,
+  'POST /accounts/{account_id}/access/gateway_ca': accessGatewayCaAddAnSSHCa,
+  'DELETE /accounts/{account_id}/access/gateway_ca/{certificate_id}': accessGatewayCaDeleteAnSSHCa,
+  'GET /accounts/{account_id}/access/groups': accessGroupsListAccessGroups,
+  'POST /accounts/{account_id}/access/groups': accessGroupsCreateAnAccessGroup,
+  'DELETE /accounts/{account_id}/access/groups/{group_id}': accessGroupsDeleteAnAccessGroup,
+  'GET /accounts/{account_id}/access/groups/{group_id}': accessGroupsGetAnAccessGroup,
+  'PUT /accounts/{account_id}/access/groups/{group_id}': accessGroupsUpdateAnAccessGroup,
+  'GET /accounts/{account_id}/access/identity_providers': accessIdentityProvidersListAccessIdentityProviders,
+  'POST /accounts/{account_id}/access/identity_providers': accessIdentityProvidersAddAnAccessIdentityProvider,
+  'DELETE /accounts/{account_id}/access/identity_providers/{identity_provider_id}':
+    accessIdentityProvidersDeleteAnAccessIdentityProvider,
+  'GET /accounts/{account_id}/access/identity_providers/{identity_provider_id}':
+    accessIdentityProvidersGetAnAccessIdentityProvider,
+  'PUT /accounts/{account_id}/access/identity_providers/{identity_provider_id}':
+    accessIdentityProvidersUpdateAnAccessIdentityProvider,
+  'GET /accounts/{account_id}/access/keys': accessKeyConfigurationGetTheAccessKeyConfiguration,
+  'PUT /accounts/{account_id}/access/keys': accessKeyConfigurationUpdateTheAccessKeyConfiguration,
+  'POST /accounts/{account_id}/access/keys/rotate': accessKeyConfigurationRotateAccessKeys,
+  'GET /accounts/{account_id}/access/logs/access_requests': accessAuthenticationLogsGetAccessAuthenticationLogs,
+  'GET /accounts/{account_id}/access/organizations': zeroTrustOrganizationGetYourZeroTrustOrganization,
+  'POST /accounts/{account_id}/access/organizations': zeroTrustOrganizationCreateYourZeroTrustOrganization,
+  'PUT /accounts/{account_id}/access/organizations': zeroTrustOrganizationUpdateYourZeroTrustOrganization,
+  'GET /accounts/{account_id}/access/organizations/doh': zeroTrustOrganizationGetYourZeroTrustOrganizationDohSettings,
+  'PUT /accounts/{account_id}/access/organizations/doh':
+    zeroTrustOrganizationUpdateYourZeroTrustOrganizationDohSettings,
+  'POST /accounts/{account_id}/access/organizations/revoke_user': zeroTrustOrganizationRevokeAllAccessTokensForAUser,
+  'GET /accounts/{account_id}/access/policies': accessPoliciesListAccessReusablePolicies,
+  'POST /accounts/{account_id}/access/policies': accessPoliciesCreateAnAccessReusablePolicy,
+  'DELETE /accounts/{account_id}/access/policies/{policy_id}': accessPoliciesDeleteAnAccessReusablePolicy,
+  'GET /accounts/{account_id}/access/policies/{policy_id}': accessPoliciesGetAnAccessReusablePolicy,
+  'PUT /accounts/{account_id}/access/policies/{policy_id}': accessPoliciesUpdateAnAccessReusablePolicy,
+  'POST /accounts/{account_id}/access/policy-tests': accessPolicyTests,
+  'GET /accounts/{account_id}/access/policy-tests/{policy_test_id}': accessPolicyTestsGetAnUpdate,
+  'GET /accounts/{account_id}/access/policy-tests/{policy_test_id}/users': accessPolicyTestsGetAUserPage,
+  'PATCH /accounts/{account_id}/access/seats': zeroTrustSeatsUpdateAUserSeat,
+  'GET /accounts/{account_id}/access/service_tokens': accessServiceTokensListServiceTokens,
+  'POST /accounts/{account_id}/access/service_tokens': accessServiceTokensCreateAServiceToken,
+  'DELETE /accounts/{account_id}/access/service_tokens/{service_token_id}': accessServiceTokensDeleteAServiceToken,
+  'GET /accounts/{account_id}/access/service_tokens/{service_token_id}': accessServiceTokensGetAServiceToken,
+  'PUT /accounts/{account_id}/access/service_tokens/{service_token_id}': accessServiceTokensUpdateAServiceToken,
+  'POST /accounts/{account_id}/access/service_tokens/{service_token_id}/refresh':
+    accessServiceTokensRefreshAServiceToken,
+  'POST /accounts/{account_id}/access/service_tokens/{service_token_id}/rotate': accessServiceTokensRotateAServiceToken,
+  'GET /accounts/{account_id}/access/tags': accessTagsListTags,
+  'POST /accounts/{account_id}/access/tags': accessTagsCreateTag,
+  'DELETE /accounts/{account_id}/access/tags/{tag_name}': accessTagsDeleteATag,
+  'GET /accounts/{account_id}/access/tags/{tag_name}': accessTagsGetATag,
+  'PUT /accounts/{account_id}/access/tags/{tag_name}': accessTagsUpdateATag,
+  'GET /accounts/{account_id}/access/users': zeroTrustUsersGetUsers,
+  'GET /accounts/{account_id}/access/users/{user_id}/active_sessions': zeroTrustUsersGetActiveSessions,
+  'GET /accounts/{account_id}/access/users/{user_id}/active_sessions/{nonce}': zeroTrustUsersGetActiveSession,
+  'GET /accounts/{account_id}/access/users/{user_id}/failed_logins': zeroTrustUsersGetFailedLogins,
+  'GET /accounts/{account_id}/access/users/{user_id}/last_seen_identity': zeroTrustUsersGetLastSeenIdentity,
+  'GET /accounts/{account_id}/addressing/address_maps': ipAddressManagementAddressMapsListAddressMaps,
+  'POST /accounts/{account_id}/addressing/address_maps': ipAddressManagementAddressMapsCreateAddressMap,
+  'DELETE /accounts/{account_id}/addressing/address_maps/{address_map_id}':
+    ipAddressManagementAddressMapsDeleteAddressMap,
+  'GET /accounts/{account_id}/addressing/address_maps/{address_map_id}':
+    ipAddressManagementAddressMapsAddressMapDetails,
+  'PATCH /accounts/{account_id}/addressing/address_maps/{address_map_id}':
+    ipAddressManagementAddressMapsUpdateAddressMap,
+  'DELETE /accounts/{account_id}/addressing/address_maps/{address_map_id}/accounts/{account_id}':
+    ipAddressManagementAddressMapsRemoveAnAccountMembershipFromAnAddressMap,
+  'PUT /accounts/{account_id}/addressing/address_maps/{address_map_id}/accounts/{account_id}':
+    ipAddressManagementAddressMapsAddAnAccountMembershipToAnAddressMap,
+  'DELETE /accounts/{account_id}/addressing/address_maps/{address_map_id}/ips/{ip_address}':
+    ipAddressManagementAddressMapsRemoveAnIpFromAnAddressMap,
+  'PUT /accounts/{account_id}/addressing/address_maps/{address_map_id}/ips/{ip_address}':
+    ipAddressManagementAddressMapsAddAnIpToAnAddressMap,
+  'DELETE /accounts/{account_id}/addressing/address_maps/{address_map_id}/zones/{zone_id}':
+    ipAddressManagementAddressMapsRemoveAZoneMembershipFromAnAddressMap,
+  'PUT /accounts/{account_id}/addressing/address_maps/{address_map_id}/zones/{zone_id}':
+    ipAddressManagementAddressMapsAddAZoneMembershipToAnAddressMap,
+  'POST /accounts/{account_id}/addressing/loa_documents': ipAddressManagementPrefixesUploadLoaDocument,
+  'GET /accounts/{account_id}/addressing/loa_documents/{loa_document_id}/download':
+    ipAddressManagementPrefixesDownloadLoaDocument,
+  'GET /accounts/{account_id}/addressing/prefixes': ipAddressManagementPrefixesListPrefixes,
+  'POST /accounts/{account_id}/addressing/prefixes': ipAddressManagementPrefixesAddPrefix,
+  'DELETE /accounts/{account_id}/addressing/prefixes/{prefix_id}': ipAddressManagementPrefixesDeletePrefix,
+  'GET /accounts/{account_id}/addressing/prefixes/{prefix_id}': ipAddressManagementPrefixesPrefixDetails,
+  'PATCH /accounts/{account_id}/addressing/prefixes/{prefix_id}': ipAddressManagementPrefixesUpdatePrefixDescription,
+  'GET /accounts/{account_id}/addressing/prefixes/{prefix_id}/bgp/prefixes': ipAddressManagementPrefixesListBgpPrefixes,
+  'POST /accounts/{account_id}/addressing/prefixes/{prefix_id}/bgp/prefixes':
+    ipAddressManagementPrefixesCreateBgpPrefix,
+  'GET /accounts/{account_id}/addressing/prefixes/{prefix_id}/bgp/prefixes/{bgp_prefix_id}':
+    ipAddressManagementPrefixesFetchBgpPrefix,
+  'PATCH /accounts/{account_id}/addressing/prefixes/{prefix_id}/bgp/prefixes/{bgp_prefix_id}':
+    ipAddressManagementPrefixesUpdateBgpPrefix,
+  'GET /accounts/{account_id}/addressing/prefixes/{prefix_id}/bgp/status':
+    ipAddressManagementDynamicAdvertisementGetAdvertisementStatus,
+  'PATCH /accounts/{account_id}/addressing/prefixes/{prefix_id}/bgp/status':
+    ipAddressManagementDynamicAdvertisementUpdatePrefixDynamicAdvertisementStatus,
+  'GET /accounts/{account_id}/addressing/prefixes/{prefix_id}/bindings':
+    ipAddressManagementServiceBindingsListServiceBindings,
+  'POST /accounts/{account_id}/addressing/prefixes/{prefix_id}/bindings':
+    ipAddressManagementServiceBindingsCreateServiceBinding,
+  'DELETE /accounts/{account_id}/addressing/prefixes/{prefix_id}/bindings/{binding_id}':
+    ipAddressManagementServiceBindingsDeleteServiceBinding,
+  'GET /accounts/{account_id}/addressing/prefixes/{prefix_id}/bindings/{binding_id}':
+    ipAddressManagementServiceBindingsGetServiceBinding,
+  'GET /accounts/{account_id}/addressing/prefixes/{prefix_id}/delegations':
+    ipAddressManagementPrefixDelegationListPrefixDelegations,
+  'POST /accounts/{account_id}/addressing/prefixes/{prefix_id}/delegations':
+    ipAddressManagementPrefixDelegationCreatePrefixDelegation,
+  'DELETE /accounts/{account_id}/addressing/prefixes/{prefix_id}/delegations/{delegation_id}':
+    ipAddressManagementPrefixDelegationDeletePrefixDelegation,
+  'GET /accounts/{account_id}/addressing/regional_hostnames/regions': dlsAccountRegionalHostnamesAccountListRegions,
+  'GET /accounts/{account_id}/addressing/services': ipAddressManagementServiceBindingsListServices,
+  'GET /accounts/{account_id}/ai-gateway/evaluation-types': aigConfigListEvaluators,
+  'GET /accounts/{account_id}/ai-gateway/gateways': aigConfigListGateway,
+  'POST /accounts/{account_id}/ai-gateway/gateways': aigConfigCreateGateway,
+  'GET /accounts/{account_id}/ai-gateway/gateways/{gateway_id}/datasets': aigConfigListDataset,
+  'POST /accounts/{account_id}/ai-gateway/gateways/{gateway_id}/datasets': aigConfigCreateDataset,
+  'DELETE /accounts/{account_id}/ai-gateway/gateways/{gateway_id}/datasets/{id}': aigConfigDeleteDataset,
+  'GET /accounts/{account_id}/ai-gateway/gateways/{gateway_id}/datasets/{id}': aigConfigFetchDataset,
+  'PUT /accounts/{account_id}/ai-gateway/gateways/{gateway_id}/datasets/{id}': aigConfigUpdateDataset,
+  'GET /accounts/{account_id}/ai-gateway/gateways/{gateway_id}/evaluations': aigConfigListEvaluations,
+  'POST /accounts/{account_id}/ai-gateway/gateways/{gateway_id}/evaluations': aigConfigCreateEvaluations,
+  'DELETE /accounts/{account_id}/ai-gateway/gateways/{gateway_id}/evaluations/{id}': aigConfigDeleteEvaluations,
+  'GET /accounts/{account_id}/ai-gateway/gateways/{gateway_id}/evaluations/{id}': aigConfigFetchEvaluations,
+  'DELETE /accounts/{account_id}/ai-gateway/gateways/{gateway_id}/logs': aigConfigDeleteGatewayLogs,
+  'GET /accounts/{account_id}/ai-gateway/gateways/{gateway_id}/logs': aigConfigListGatewayLogs,
+  'GET /accounts/{account_id}/ai-gateway/gateways/{gateway_id}/logs/{id}': aigConfigGetGatewayLogDetail,
+  'PATCH /accounts/{account_id}/ai-gateway/gateways/{gateway_id}/logs/{id}': aigConfigPatchGatewayLog,
+  'GET /accounts/{account_id}/ai-gateway/gateways/{gateway_id}/logs/{id}/request': aigConfigGetGatewayLogRequest,
+  'GET /accounts/{account_id}/ai-gateway/gateways/{gateway_id}/logs/{id}/response': aigConfigGetGatewayLogResponse,
+  'DELETE /accounts/{account_id}/ai-gateway/gateways/{id}': aigConfigDeleteGateway,
+  'GET /accounts/{account_id}/ai-gateway/gateways/{id}': aigConfigFetchGateway,
+  'PUT /accounts/{account_id}/ai-gateway/gateways/{id}': aigConfigUpdateGateway,
+  'GET /accounts/{account_id}/ai/authors/search': workersAiSearchAuthor,
+  'GET /accounts/{account_id}/ai/finetunes': workersAiListFinetunes,
+  'POST /accounts/{account_id}/ai/finetunes': workersAiCreateFinetune,
+  'GET /accounts/{account_id}/ai/finetunes/public': workersAiListPublicFinetunes,
+  'POST /accounts/{account_id}/ai/finetunes/{finetune_id}/finetune-assets': workersAiUploadFinetuneAsset,
+  'GET /accounts/{account_id}/ai/models/schema': workersAiGetModelSchema,
+  'GET /accounts/{account_id}/ai/models/search': workersAiSearchModel,
+  'POST /accounts/{account_id}/ai/run/@cf/baai/bge-base-en-v1.5': workersAiPostRunCfBaaiBgeBaseEnV15,
+  'POST /accounts/{account_id}/ai/run/@cf/baai/bge-large-en-v1.5': workersAiPostRunCfBaaiBgeLargeEnV15,
+  'POST /accounts/{account_id}/ai/run/@cf/baai/bge-small-en-v1.5': workersAiPostRunCfBaaiBgeSmallEnV15,
+  'POST /accounts/{account_id}/ai/run/@cf/black-forest-labs/flux-1-schnell':
+    workersAiPostRunCfBlackForestLabsFlux1Schnell,
+  'POST /accounts/{account_id}/ai/run/@cf/bytedance/stable-diffusion-xl-lightning':
+    workersAiPostRunCfBytedanceStableDiffusionXlLightning,
+  'POST /accounts/{account_id}/ai/run/@cf/deepseek-ai/deepseek-math-7b-instruct':
+    workersAiPostRunCfDeepseekAiDeepseekMath7bInstruct,
+  'POST /accounts/{account_id}/ai/run/@cf/defog/sqlcoder-7b-2': workersAiPostRunCfDefogSqlcoder7b2,
+  'POST /accounts/{account_id}/ai/run/@cf/facebook/bart-large-cnn': workersAiPostRunCfFacebookBartLargeCnn,
+  'POST /accounts/{account_id}/ai/run/@cf/facebook/detr-resnet-50': workersAiPostRunCfFacebookDetrResnet50,
+  'POST /accounts/{account_id}/ai/run/@cf/fblgit/una-cybertron-7b-v2-bf16':
+    workersAiPostRunCfFblgitUnaCybertron7bV2Bf16,
+  'POST /accounts/{account_id}/ai/run/@cf/google/gemma-2b-it-lora': workersAiPostRunCfGoogleGemma2bItLora,
+  'POST /accounts/{account_id}/ai/run/@cf/google/gemma-7b-it-lora': workersAiPostRunCfGoogleGemma7bItLora,
+  'POST /accounts/{account_id}/ai/run/@cf/huggingface/distilbert-sst-2-int8':
+    workersAiPostRunCfHuggingfaceDistilbertSst2Int8,
+  'POST /accounts/{account_id}/ai/run/@cf/lykon/dreamshaper-8-lcm': workersAiPostRunCfLykonDreamshaper8Lcm,
+  'POST /accounts/{account_id}/ai/run/@cf/meta-llama/llama-2-7b-chat-hf-lora':
+    workersAiPostRunCfMetaLlamaLlama27bChatHfLora,
+  'POST /accounts/{account_id}/ai/run/@cf/meta/llama-2-7b-chat-fp16': workersAiPostRunCfMetaLlama27bChatFp16,
+  'POST /accounts/{account_id}/ai/run/@cf/meta/llama-2-7b-chat-int8': workersAiPostRunCfMetaLlama27bChatInt8,
+  'POST /accounts/{account_id}/ai/run/@cf/meta/llama-3-8b-instruct': workersAiPostRunCfMetaLlama38bInstruct,
+  'POST /accounts/{account_id}/ai/run/@cf/meta/llama-3-8b-instruct-awq': workersAiPostRunCfMetaLlama38bInstructAwq,
+  'POST /accounts/{account_id}/ai/run/@cf/meta/llama-3.1-70b-instruct': workersAiPostRunCfMetaLlama3170bInstruct,
+  'POST /accounts/{account_id}/ai/run/@cf/meta/llama-3.1-70b-instruct-preview':
+    workersAiPostRunCfMetaLlama3170bInstructPreview,
+  'POST /accounts/{account_id}/ai/run/@cf/meta/llama-3.1-70b-preview': workersAiPostRunCfMetaLlama3170bPreview,
+  'POST /accounts/{account_id}/ai/run/@cf/meta/llama-3.1-8b-instruct': workersAiPostRunCfMetaLlama318bInstruct,
+  'POST /accounts/{account_id}/ai/run/@cf/meta/llama-3.1-8b-instruct-awq': workersAiPostRunCfMetaLlama318bInstructAwq,
+  'POST /accounts/{account_id}/ai/run/@cf/meta/llama-3.1-8b-instruct-fast': workersAiPostRunCfMetaLlama318bInstructFast,
+  'POST /accounts/{account_id}/ai/run/@cf/meta/llama-3.1-8b-instruct-fp8': workersAiPostRunCfMetaLlama318bInstructFp8,
+  'POST /accounts/{account_id}/ai/run/@cf/meta/llama-3.1-8b-preview': workersAiPostRunCfMetaLlama318bPreview,
+  'POST /accounts/{account_id}/ai/run/@cf/meta/llama-3.2-11b-vision-instruct':
+    workersAiPostRunCfMetaLlama3211bVisionInstruct,
+  'POST /accounts/{account_id}/ai/run/@cf/meta/llama-3.2-1b-instruct': workersAiPostRunCfMetaLlama321bInstruct,
+  'POST /accounts/{account_id}/ai/run/@cf/meta/llama-3.2-3b-instruct': workersAiPostRunCfMetaLlama323bInstruct,
+  'POST /accounts/{account_id}/ai/run/@cf/meta/llama-3.3-70b-instruct-fp8-fast':
+    workersAiPostRunCfMetaLlama3370bInstructFp8Fast,
+  'POST /accounts/{account_id}/ai/run/@cf/meta/m2m100-1.2b': workersAiPostRunCfMetaM2m10012b,
+  'POST /accounts/{account_id}/ai/run/@cf/microsoft/phi-2': workersAiPostRunCfMicrosoftPhi2,
+  'POST /accounts/{account_id}/ai/run/@cf/microsoft/resnet-50': workersAiPostRunCfMicrosoftResnet50,
+  'POST /accounts/{account_id}/ai/run/@cf/mistral/mistral-7b-instruct-v0.1':
+    workersAiPostRunCfMistralMistral7bInstructV01,
+  'POST /accounts/{account_id}/ai/run/@cf/mistral/mistral-7b-instruct-v0.2-lora':
+    workersAiPostRunCfMistralMistral7bInstructV02Lora,
+  'POST /accounts/{account_id}/ai/run/@cf/openai/whisper': workersAiPostRunCfOpenaiWhisper,
+  'POST /accounts/{account_id}/ai/run/@cf/openai/whisper-large-v3-turbo': workersAiPostRunCfOpenaiWhisperLargeV3Turbo,
+  'POST /accounts/{account_id}/ai/run/@cf/openai/whisper-tiny-en': workersAiPostRunCfOpenaiWhisperTinyEn,
+  'POST /accounts/{account_id}/ai/run/@cf/openchat/openchat-3.5-0106': workersAiPostRunCfOpenchatOpenchat350106,
+  'POST /accounts/{account_id}/ai/run/@cf/qwen/qwen1.5-0.5b-chat': workersAiPostRunCfQwenQwen1505bChat,
+  'POST /accounts/{account_id}/ai/run/@cf/qwen/qwen1.5-1.8b-chat': workersAiPostRunCfQwenQwen1518bChat,
+  'POST /accounts/{account_id}/ai/run/@cf/qwen/qwen1.5-14b-chat-awq': workersAiPostRunCfQwenQwen1514bChatAwq,
+  'POST /accounts/{account_id}/ai/run/@cf/qwen/qwen1.5-7b-chat-awq': workersAiPostRunCfQwenQwen157bChatAwq,
+  'POST /accounts/{account_id}/ai/run/@cf/runwayml/stable-diffusion-v1-5-img2img':
+    workersAiPostRunCfRunwaymlStableDiffusionV15Img2img,
+  'POST /accounts/{account_id}/ai/run/@cf/runwayml/stable-diffusion-v1-5-inpainting':
+    workersAiPostRunCfRunwaymlStableDiffusionV15Inpainting,
+  'POST /accounts/{account_id}/ai/run/@cf/stabilityai/stable-diffusion-xl-base-1.0':
+    workersAiPostRunCfStabilityaiStableDiffusionXlBase10,
+  'POST /accounts/{account_id}/ai/run/@cf/thebloke/discolm-german-7b-v1-awq':
+    workersAiPostRunCfTheblokeDiscolmGerman7bV1Awq,
+  'POST /accounts/{account_id}/ai/run/@cf/tiiuae/falcon-7b-instruct': workersAiPostRunCfTiiuaeFalcon7bInstruct,
+  'POST /accounts/{account_id}/ai/run/@cf/tinyllama/tinyllama-1.1b-chat-v1.0':
+    workersAiPostRunCfTinyllamaTinyllama11bChatV10,
+  'POST /accounts/{account_id}/ai/run/@hf/google/gemma-7b-it': workersAiPostRunHfGoogleGemma7bIt,
+  'POST /accounts/{account_id}/ai/run/@hf/meta-llama/meta-llama-3-8b-instruct':
+    workersAiPostRunHfMetaLlamaMetaLlama38bInstruct,
+  'POST /accounts/{account_id}/ai/run/@hf/mistral/mistral-7b-instruct-v0.2':
+    workersAiPostRunHfMistralMistral7bInstructV02,
+  'POST /accounts/{account_id}/ai/run/@hf/mistralai/mistral-7b-instruct-v0.2':
+    workersAiPostRunHfMistralaiMistral7bInstructV02,
+  'POST /accounts/{account_id}/ai/run/@hf/nexusflow/starling-lm-7b-beta': workersAiPostRunHfNexusflowStarlingLm7bBeta,
+  'POST /accounts/{account_id}/ai/run/@hf/nousresearch/hermes-2-pro-mistral-7b':
+    workersAiPostRunHfNousresearchHermes2ProMistral7b,
+  'POST /accounts/{account_id}/ai/run/@hf/thebloke/deepseek-coder-6.7b-base-awq':
+    workersAiPostRunHfTheblokeDeepseekCoder67bBaseAwq,
+  'POST /accounts/{account_id}/ai/run/@hf/thebloke/deepseek-coder-6.7b-instruct-awq':
+    workersAiPostRunHfTheblokeDeepseekCoder67bInstructAwq,
+  'POST /accounts/{account_id}/ai/run/@hf/thebloke/llama-2-13b-chat-awq': workersAiPostRunHfTheblokeLlama213bChatAwq,
+  'POST /accounts/{account_id}/ai/run/@hf/thebloke/llamaguard-7b-awq': workersAiPostRunHfTheblokeLlamaguard7bAwq,
+  'POST /accounts/{account_id}/ai/run/@hf/thebloke/mistral-7b-instruct-v0.1-awq':
+    workersAiPostRunHfTheblokeMistral7bInstructV01Awq,
+  'POST /accounts/{account_id}/ai/run/@hf/thebloke/neural-chat-7b-v3-1-awq':
+    workersAiPostRunHfTheblokeNeuralChat7bV31Awq,
+  'POST /accounts/{account_id}/ai/run/@hf/thebloke/openhermes-2.5-mistral-7b-awq':
+    workersAiPostRunHfTheblokeOpenhermes25Mistral7bAwq,
+  'POST /accounts/{account_id}/ai/run/@hf/thebloke/zephyr-7b-beta-awq': workersAiPostRunHfTheblokeZephyr7bBetaAwq,
+  'POST /accounts/{account_id}/ai/run/{model_name}': workersAiPostRunModel,
+  'GET /accounts/{account_id}/ai/tasks/search': workersAiSearchTask,
+  'GET /accounts/{account_id}/alerting/v3/available_alerts': notificationAlertTypesGetAlertTypes,
+  'GET /accounts/{account_id}/alerting/v3/destinations/eligible':
+    notificationMechanismEligibilityGetDeliveryMechanismEligibility,
+  'DELETE /accounts/{account_id}/alerting/v3/destinations/pagerduty':
+    notificationDestinationsWithPagerDutyDeletePagerDutyServices,
+  'GET /accounts/{account_id}/alerting/v3/destinations/pagerduty':
+    notificationDestinationsWithPagerDutyListPagerDutyServices,
+  'POST /accounts/{account_id}/alerting/v3/destinations/pagerduty/connect':
+    notificationDestinationsWithPagerDutyConnectPagerDuty,
+  'GET /accounts/{account_id}/alerting/v3/destinations/pagerduty/connect/{token_id}':
+    notificationDestinationsWithPagerDutyConnectPagerDutyToken,
+  'GET /accounts/{account_id}/alerting/v3/destinations/webhooks': notificationWebhooksListWebhooks,
+  'POST /accounts/{account_id}/alerting/v3/destinations/webhooks': notificationWebhooksCreateAWebhook,
+  'DELETE /accounts/{account_id}/alerting/v3/destinations/webhooks/{webhook_id}': notificationWebhooksDeleteAWebhook,
+  'GET /accounts/{account_id}/alerting/v3/destinations/webhooks/{webhook_id}': notificationWebhooksGetAWebhook,
+  'PUT /accounts/{account_id}/alerting/v3/destinations/webhooks/{webhook_id}': notificationWebhooksUpdateAWebhook,
+  'GET /accounts/{account_id}/alerting/v3/history': notificationHistoryListHistory,
+  'GET /accounts/{account_id}/alerting/v3/policies': notificationPoliciesListNotificationPolicies,
+  'POST /accounts/{account_id}/alerting/v3/policies': notificationPoliciesCreateANotificationPolicy,
+  'DELETE /accounts/{account_id}/alerting/v3/policies/{policy_id}': notificationPoliciesDeleteANotificationPolicy,
+  'GET /accounts/{account_id}/alerting/v3/policies/{policy_id}': notificationPoliciesGetANotificationPolicy,
+  'PUT /accounts/{account_id}/alerting/v3/policies/{policy_id}': notificationPoliciesUpdateANotificationPolicy,
+  'GET /accounts/{account_id}/audit_logs': auditLogsGetAccountAuditLogs,
+  'GET /accounts/{account_id}/billing/profile': accountBillingProfileDeprecatedBillingProfileDetails,
+  'GET /accounts/{account_id}/botnet_feed/asn/{asn_id}/day_report': botnetThreatFeedGetDayReport,
+  'GET /accounts/{account_id}/botnet_feed/asn/{asn_id}/full_report': botnetThreatFeedGetFullReport,
+  'GET /accounts/{account_id}/botnet_feed/configs/asn': botnetThreatFeedListAsn,
+  'DELETE /accounts/{account_id}/botnet_feed/configs/asn/{asn_id}': botnetThreatFeedDeleteAsn,
+  'POST /accounts/{account_id}/brand-protection/submit': phishingUrlScannerSubmitSuspiciousUrlForScanning,
+  'GET /accounts/{account_id}/brand-protection/url-info': phishingUrlInformationGetResultsForAUrlScan,
+  'GET /accounts/{account_id}/calls/apps': callsAppsList,
+  'POST /accounts/{account_id}/calls/apps': callsAppsCreateANewApp,
+  'DELETE /accounts/{account_id}/calls/apps/{app_id}': callsAppsDeleteApp,
+  'GET /accounts/{account_id}/calls/apps/{app_id}': callsAppsRetrieveAppDetails,
+  'PUT /accounts/{account_id}/calls/apps/{app_id}': callsAppsUpdateAppDetails,
+  'GET /accounts/{account_id}/calls/turn_keys': callsTurnKeyList,
+  'POST /accounts/{account_id}/calls/turn_keys': callsTurnKeyCreate,
+  'DELETE /accounts/{account_id}/calls/turn_keys/{key_id}': callsDeleteTurnKey,
+  'GET /accounts/{account_id}/calls/turn_keys/{key_id}': callsRetrieveTurnKeyDetails,
+  'PUT /accounts/{account_id}/calls/turn_keys/{key_id}': callsUpdateTurnKey,
+  'GET /accounts/{account_id}/cfd_tunnel': cloudflareTunnelListCloudflareTunnels,
+  'POST /accounts/{account_id}/cfd_tunnel': cloudflareTunnelCreateACloudflareTunnel,
+  'DELETE /accounts/{account_id}/cfd_tunnel/{tunnel_id}': cloudflareTunnelDeleteACloudflareTunnel,
+  'GET /accounts/{account_id}/cfd_tunnel/{tunnel_id}': cloudflareTunnelGetACloudflareTunnel,
+  'PATCH /accounts/{account_id}/cfd_tunnel/{tunnel_id}': cloudflareTunnelUpdateACloudflareTunnel,
+  'GET /accounts/{account_id}/cfd_tunnel/{tunnel_id}/configurations': cloudflareTunnelConfigurationGetConfiguration,
+  'PUT /accounts/{account_id}/cfd_tunnel/{tunnel_id}/configurations': cloudflareTunnelConfigurationPutConfiguration,
+  'DELETE /accounts/{account_id}/cfd_tunnel/{tunnel_id}/connections':
+    cloudflareTunnelCleanUpCloudflareTunnelConnections,
+  'GET /accounts/{account_id}/cfd_tunnel/{tunnel_id}/connections': cloudflareTunnelListCloudflareTunnelConnections,
+  'GET /accounts/{account_id}/cfd_tunnel/{tunnel_id}/connectors/{connector_id}':
+    cloudflareTunnelGetCloudflareTunnelConnector,
+  'POST /accounts/{account_id}/cfd_tunnel/{tunnel_id}/management': cloudflareTunnelGetACloudflareTunnelManagementToken,
+  'GET /accounts/{account_id}/cfd_tunnel/{tunnel_id}/token': cloudflareTunnelGetACloudflareTunnelToken,
+  'GET /accounts/{account_id}/challenges/widgets': accountsTurnstileWidgetsList,
+  'POST /accounts/{account_id}/challenges/widgets': accountsTurnstileWidgetCreate,
+  'DELETE /accounts/{account_id}/challenges/widgets/{sitekey}': accountsTurnstileWidgetDelete,
+  'GET /accounts/{account_id}/challenges/widgets/{sitekey}': accountsTurnstileWidgetGet,
+  'PUT /accounts/{account_id}/challenges/widgets/{sitekey}': accountsTurnstileWidgetUpdate,
+  'POST /accounts/{account_id}/challenges/widgets/{sitekey}/rotate_secret': accountsTurnstileWidgetRotateSecret,
+  'GET /accounts/{account_id}/custom_ns': accountLevelCustomNameserversListAccountCustomNameservers,
+  'POST /accounts/{account_id}/custom_ns': accountLevelCustomNameserversAddAccountCustomNameserver,
+  'GET /accounts/{account_id}/custom_ns/availability':
+    accountLevelCustomNameserversGetEligibleZonesForAccountCustomNameservers,
+  'DELETE /accounts/{account_id}/custom_ns/{custom_ns_id}': accountLevelCustomNameserversDeleteAccountCustomNameserver,
+  'GET /accounts/{account_id}/d1/database': cloudflareD1ListDatabases,
+  'POST /accounts/{account_id}/d1/database': cloudflareD1CreateDatabase,
+  'DELETE /accounts/{account_id}/d1/database/{database_id}': cloudflareD1DeleteDatabase,
+  'GET /accounts/{account_id}/d1/database/{database_id}': cloudflareD1GetDatabase,
+  'POST /accounts/{account_id}/d1/database/{database_id}/export': cloudflareD1ExportDatabase,
+  'POST /accounts/{account_id}/d1/database/{database_id}/import': cloudflareD1ImportDatabase,
+  'POST /accounts/{account_id}/d1/database/{database_id}/query': cloudflareD1QueryDatabase,
+  'POST /accounts/{account_id}/d1/database/{database_id}/raw': cloudflareD1RawDatabaseQuery,
+  'GET /accounts/{account_id}/devices': devicesListDevices,
+  'GET /accounts/{account_id}/devices/dex_tests': deviceDexTestDetails,
+  'POST /accounts/{account_id}/devices/dex_tests': deviceDexTestCreateDeviceDexTest,
+  'DELETE /accounts/{account_id}/devices/dex_tests/{dex_test_id}': deviceDexTestDeleteDeviceDexTest,
+  'GET /accounts/{account_id}/devices/dex_tests/{dex_test_id}': deviceDexTestGetDeviceDexTest,
+  'PUT /accounts/{account_id}/devices/dex_tests/{dex_test_id}': deviceDexTestUpdateDeviceDexTest,
+  'GET /accounts/{account_id}/devices/networks': deviceManagedNetworksListDeviceManagedNetworks,
+  'POST /accounts/{account_id}/devices/networks': deviceManagedNetworksCreateDeviceManagedNetwork,
+  'DELETE /accounts/{account_id}/devices/networks/{network_id}': deviceManagedNetworksDeleteDeviceManagedNetwork,
+  'GET /accounts/{account_id}/devices/networks/{network_id}': deviceManagedNetworksDeviceManagedNetworkDetails,
+  'PUT /accounts/{account_id}/devices/networks/{network_id}': deviceManagedNetworksUpdateDeviceManagedNetwork,
+  'GET /accounts/{account_id}/devices/policies': devicesListDeviceSettingsPolicies,
+  'GET /accounts/{account_id}/devices/policy': devicesGetDefaultDeviceSettingsPolicy,
+  'PATCH /accounts/{account_id}/devices/policy': devicesUpdateDefaultDeviceSettingsPolicy,
+  'POST /accounts/{account_id}/devices/policy': devicesCreateDeviceSettingsPolicy,
+  'GET /accounts/{account_id}/devices/policy/exclude': devicesGetSplitTunnelExcludeList,
+  'PUT /accounts/{account_id}/devices/policy/exclude': devicesSetSplitTunnelExcludeList,
+  'GET /accounts/{account_id}/devices/policy/fallback_domains': devicesGetLocalDomainFallbackList,
+  'PUT /accounts/{account_id}/devices/policy/fallback_domains': devicesSetLocalDomainFallbackList,
+  'GET /accounts/{account_id}/devices/policy/include': devicesGetSplitTunnelIncludeList,
+  'PUT /accounts/{account_id}/devices/policy/include': devicesSetSplitTunnelIncludeList,
+  'DELETE /accounts/{account_id}/devices/policy/{policy_id}': devicesDeleteDeviceSettingsPolicy,
+  'GET /accounts/{account_id}/devices/policy/{policy_id}': devicesGetDeviceSettingsPolicyById,
+  'PATCH /accounts/{account_id}/devices/policy/{policy_id}': devicesUpdateDeviceSettingsPolicy,
+  'GET /accounts/{account_id}/devices/policy/{policy_id}/exclude':
+    devicesGetSplitTunnelExcludeListForADeviceSettingsPolicy,
+  'PUT /accounts/{account_id}/devices/policy/{policy_id}/exclude':
+    devicesSetSplitTunnelExcludeListForADeviceSettingsPolicy,
+  'GET /accounts/{account_id}/devices/policy/{policy_id}/fallback_domains':
+    devicesGetLocalDomainFallbackListForADeviceSettingsPolicy,
+  'PUT /accounts/{account_id}/devices/policy/{policy_id}/fallback_domains':
+    devicesSetLocalDomainFallbackListForADeviceSettingsPolicy,
+  'GET /accounts/{account_id}/devices/policy/{policy_id}/include':
+    devicesGetSplitTunnelIncludeListForADeviceSettingsPolicy,
+  'PUT /accounts/{account_id}/devices/policy/{policy_id}/include':
+    devicesSetSplitTunnelIncludeListForADeviceSettingsPolicy,
+  'GET /accounts/{account_id}/devices/posture': devicePostureRulesListDevicePostureRules,
+  'POST /accounts/{account_id}/devices/posture': devicePostureRulesCreateDevicePostureRule,
+  'GET /accounts/{account_id}/devices/posture/integration': devicePostureIntegrationsListDevicePostureIntegrations,
+  'POST /accounts/{account_id}/devices/posture/integration': devicePostureIntegrationsCreateDevicePostureIntegration,
+  'DELETE /accounts/{account_id}/devices/posture/integration/{integration_id}':
+    devicePostureIntegrationsDeleteDevicePostureIntegration,
+  'GET /accounts/{account_id}/devices/posture/integration/{integration_id}':
+    devicePostureIntegrationsDevicePostureIntegrationDetails,
+  'PATCH /accounts/{account_id}/devices/posture/integration/{integration_id}':
+    devicePostureIntegrationsUpdateDevicePostureIntegration,
+  'DELETE /accounts/{account_id}/devices/posture/{rule_id}': devicePostureRulesDeleteDevicePostureRule,
+  'GET /accounts/{account_id}/devices/posture/{rule_id}': devicePostureRulesDevicePostureRulesDetails,
+  'PUT /accounts/{account_id}/devices/posture/{rule_id}': devicePostureRulesUpdateDevicePostureRule,
+  'POST /accounts/{account_id}/devices/revoke': devicesRevokeDevices,
+  'GET /accounts/{account_id}/devices/settings': zeroTrustAccountsGetDeviceSettingsForZeroTrustAccount,
+  'PATCH /accounts/{account_id}/devices/settings': zeroTrustAccountsPatchDeviceSettingsForTheZeroTrustAccount,
+  'PUT /accounts/{account_id}/devices/settings': zeroTrustAccountsUpdateDeviceSettingsForTheZeroTrustAccount,
+  'POST /accounts/{account_id}/devices/unrevoke': devicesUnrevokeDevices,
+  'GET /accounts/{account_id}/devices/{device_id}': devicesDeviceDetails,
+  'GET /accounts/{account_id}/devices/{device_id}/override_codes': devicesListAdminOverrideCodeForDevice,
+  'GET /accounts/{account_id}/dex/colos': dexEndpointsListColos,
+  'GET /accounts/{account_id}/dex/commands': getCommands,
+  'POST /accounts/{account_id}/dex/commands': postCommands,
+  'GET /accounts/{account_id}/dex/commands/quota': getCommandsQuota,
+  'GET /accounts/{account_id}/dex/commands/{command_id}/downloads/{filename}': getCommandsCommandIdDownloadsFilename,
+  'GET /accounts/{account_id}/dex/devices/{device_id}/fleet-status/live': devicesLiveStatus,
+  'GET /accounts/{account_id}/dex/fleet-status/devices': dexFleetStatusDevices,
+  'GET /accounts/{account_id}/dex/fleet-status/live': dexFleetStatusLive,
+  'GET /accounts/{account_id}/dex/fleet-status/over-time': dexFleetStatusOverTime,
+  'GET /accounts/{account_id}/dex/http-tests/{test_id}': dexEndpointsHttpTestDetails,
+  'GET /accounts/{account_id}/dex/http-tests/{test_id}/percentiles': dexEndpointsHttpTestPercentiles,
+  'GET /accounts/{account_id}/dex/tests/overview': dexEndpointsListTestsOverview,
+  'GET /accounts/{account_id}/dex/tests/unique-devices': dexEndpointsTestsUniqueDevices,
+  'GET /accounts/{account_id}/dex/traceroute-test-results/{test_result_id}/network-path':
+    dexEndpointsTracerouteTestResultNetworkPath,
+  'GET /accounts/{account_id}/dex/traceroute-tests/{test_id}': dexEndpointsTracerouteTestDetails,
+  'GET /accounts/{account_id}/dex/traceroute-tests/{test_id}/network-path': dexEndpointsTracerouteTestNetworkPath,
+  'GET /accounts/{account_id}/dex/traceroute-tests/{test_id}/percentiles': dexEndpointsTracerouteTestPercentiles,
+  'POST /accounts/{account_id}/diagnostics/traceroute': diagnosticsTraceroute,
+  'GET /accounts/{account_id}/dlp/datasets': dlpDatasetsReadAll,
+  'POST /accounts/{account_id}/dlp/datasets': dlpDatasetsCreate,
+  'DELETE /accounts/{account_id}/dlp/datasets/{dataset_id}': dlpDatasetsDelete,
+  'GET /accounts/{account_id}/dlp/datasets/{dataset_id}': dlpDatasetsRead,
+  'PUT /accounts/{account_id}/dlp/datasets/{dataset_id}': dlpDatasetsUpdate,
+  'POST /accounts/{account_id}/dlp/datasets/{dataset_id}/upload': dlpDatasetsCreateVersion,
+  'POST /accounts/{account_id}/dlp/datasets/{dataset_id}/upload/{version}': dlpDatasetsUploadVersion,
+  'POST /accounts/{account_id}/dlp/datasets/{dataset_id}/versions/{version}': dlpDatasetsDefineColumns,
+  'POST /accounts/{account_id}/dlp/datasets/{dataset_id}/versions/{version}/entries/{entry_id}':
+    dlpDatasetsUploadDatasetColumn,
+  'GET /accounts/{account_id}/dlp/email/account_mapping': dlpEmailScannerGetAccountMapping,
+  'POST /accounts/{account_id}/dlp/email/account_mapping': dlpEmailScannerCreateAccountMapping,
+  'GET /accounts/{account_id}/dlp/email/rules': dlpEmailScannerListAllRules,
+  'PATCH /accounts/{account_id}/dlp/email/rules': dlpEmailScannerUpdateRulePriorities,
+  'POST /accounts/{account_id}/dlp/email/rules': dlpEmailScannerCreateRule,
+  'DELETE /accounts/{account_id}/dlp/email/rules/{rule_id}': dlpEmailScannerDeleteRule,
+  'GET /accounts/{account_id}/dlp/email/rules/{rule_id}': dlpEmailScannerGetRule,
+  'PUT /accounts/{account_id}/dlp/email/rules/{rule_id}': dlpEmailScannerUpdateRule,
+  'GET /accounts/{account_id}/dlp/entries': dlpEntriesListAllEntries,
+  'POST /accounts/{account_id}/dlp/entries': dlpEntriesCreateEntry,
+  'DELETE /accounts/{account_id}/dlp/entries/{entry_id}': dlpEntriesDeleteEntry,
+  'GET /accounts/{account_id}/dlp/entries/{entry_id}': dlpEntriesGetDlpEntry,
+  'PUT /accounts/{account_id}/dlp/entries/{entry_id}': dlpEntriesUpdateEntry,
+  'GET /accounts/{account_id}/dlp/limits': dlpLimitsGet,
+  'POST /accounts/{account_id}/dlp/patterns/validate': dlpPatternValidate,
+  'GET /accounts/{account_id}/dlp/payload_log': dlpPayloadLogGet,
+  'PUT /accounts/{account_id}/dlp/payload_log': dlpPayloadLogPut,
+  'GET /accounts/{account_id}/dlp/profiles': dlpProfilesListAllProfiles,
+  'POST /accounts/{account_id}/dlp/profiles/custom': dlpProfilesCreateCustomProfiles,
+  'DELETE /accounts/{account_id}/dlp/profiles/custom/{profile_id}': dlpProfilesDeleteCustomProfile,
+  'GET /accounts/{account_id}/dlp/profiles/custom/{profile_id}': dlpProfilesGetCustomProfile,
+  'PUT /accounts/{account_id}/dlp/profiles/custom/{profile_id}': dlpProfilesUpdateCustomProfile,
+  'GET /accounts/{account_id}/dlp/profiles/predefined/{profile_id}': dlpProfilesGetPredefinedProfile,
+  'PUT /accounts/{account_id}/dlp/profiles/predefined/{profile_id}': dlpProfilesUpdatePredefinedProfile,
+  'GET /accounts/{account_id}/dlp/profiles/{profile_id}': dlpProfilesGetDlpProfile,
+  'GET /accounts/{account_id}/dns_firewall': dnsFirewallListDnsFirewallClusters,
+  'POST /accounts/{account_id}/dns_firewall': dnsFirewallCreateDnsFirewallCluster,
+  'DELETE /accounts/{account_id}/dns_firewall/{dns_firewall_id}': dnsFirewallDeleteDnsFirewallCluster,
+  'GET /accounts/{account_id}/dns_firewall/{dns_firewall_id}': dnsFirewallDnsFirewallClusterDetails,
+  'PATCH /accounts/{account_id}/dns_firewall/{dns_firewall_id}': dnsFirewallUpdateDnsFirewallCluster,
+  'GET /accounts/{account_id}/dns_firewall/{dns_firewall_id}/dns_analytics/report': dnsFirewallAnalyticsTable,
+  'GET /accounts/{account_id}/dns_firewall/{dns_firewall_id}/dns_analytics/report/bytime': dnsFirewallAnalyticsByTime,
+  'GET /accounts/{account_id}/dns_firewall/{dns_firewall_id}/reverse_dns': dnsFirewallShowDnsFirewallClusterReverseDns,
+  'PATCH /accounts/{account_id}/dns_firewall/{dns_firewall_id}/reverse_dns':
+    dnsFirewallUpdateDnsFirewallClusterReverseDns,
+  'GET /accounts/{account_id}/dns_settings': dnsSettingsForAnAccountListDnsSettings,
+  'PATCH /accounts/{account_id}/dns_settings': dnsSettingsForAnAccountUpdateDnsSettings,
+  'GET /accounts/{account_id}/dns_settings/views': dnsViewsForAnAccountListInternalDnsViews,
+  'POST /accounts/{account_id}/dns_settings/views': dnsViewsForAnAccountCreateInternalDnsViews,
+  'DELETE /accounts/{account_id}/dns_settings/views/{view_id}': dnsViewsForAnAccountDeleteInternalDnsView,
+  'GET /accounts/{account_id}/dns_settings/views/{view_id}': dnsViewsForAnAccountGetInternalDnsView,
+  'PATCH /accounts/{account_id}/dns_settings/views/{view_id}': dnsViewsForAnAccountUpdateInternalDnsView,
+  'GET /accounts/{account_id}/email-security/investigate': emailSecurityInvestigate,
+  'POST /accounts/{account_id}/email-security/investigate/move': emailSecurityPostBulkMessageMove,
+  'POST /accounts/{account_id}/email-security/investigate/preview': emailSecurityPostPreview,
+  'POST /accounts/{account_id}/email-security/investigate/release': emailSecurityPostRelease,
+  'GET /accounts/{account_id}/email-security/investigate/{postfix_id}': emailSecurityGetMessage,
+  'GET /accounts/{account_id}/email-security/investigate/{postfix_id}/detections': emailSecurityGetMessageDetections,
+  'POST /accounts/{account_id}/email-security/investigate/{postfix_id}/move': emailSecurityPostMessageMove,
+  'GET /accounts/{account_id}/email-security/investigate/{postfix_id}/preview': emailSecurityGetMessagePreview,
+  'GET /accounts/{account_id}/email-security/investigate/{postfix_id}/raw': emailSecurityGetMessageRaw,
+  'POST /accounts/{account_id}/email-security/investigate/{postfix_id}/reclassify': emailSecurityPostReclassify,
+  'GET /accounts/{account_id}/email-security/investigate/{postfix_id}/trace': emailSecurityGetMessageTrace,
+  'GET /accounts/{account_id}/email-security/settings/allow_policies': emailSecurityListAllowPolicies,
+  'POST /accounts/{account_id}/email-security/settings/allow_policies': emailSecurityCreateAllowPolicy,
+  'DELETE /accounts/{account_id}/email-security/settings/allow_policies/{policy_id}': emailSecurityDeleteAllowPolicy,
+  'GET /accounts/{account_id}/email-security/settings/allow_policies/{policy_id}': emailSecurityGetAllowPolicy,
+  'PATCH /accounts/{account_id}/email-security/settings/allow_policies/{policy_id}': emailSecurityUpdateAllowPolicy,
+  'GET /accounts/{account_id}/email-security/settings/block_senders': emailSecurityListBlockedSenders,
+  'POST /accounts/{account_id}/email-security/settings/block_senders': emailSecurityCreateBlockedSender,
+  'DELETE /accounts/{account_id}/email-security/settings/block_senders/{pattern_id}': emailSecurityDeleteBlockedSender,
+  'GET /accounts/{account_id}/email-security/settings/block_senders/{pattern_id}': emailSecurityGetBlockedSender,
+  'PATCH /accounts/{account_id}/email-security/settings/block_senders/{pattern_id}': emailSecurityUpdateBlockedSender,
+  'DELETE /accounts/{account_id}/email-security/settings/domains': emailSecurityDeleteDomains,
+  'GET /accounts/{account_id}/email-security/settings/domains': emailSecurityListDomains,
+  'DELETE /accounts/{account_id}/email-security/settings/domains/{domain_id}': emailSecurityDeleteDomain,
+  'GET /accounts/{account_id}/email-security/settings/domains/{domain_id}': emailSecurityGetDomain,
+  'PATCH /accounts/{account_id}/email-security/settings/domains/{domain_id}': emailSecurityUpdateDomain,
+  'GET /accounts/{account_id}/email-security/settings/impersonation_registry': emailSecurityListDisplayNames,
+  'POST /accounts/{account_id}/email-security/settings/impersonation_registry': emailSecurityCreateDisplayName,
+  'DELETE /accounts/{account_id}/email-security/settings/impersonation_registry/{display_name_id}':
+    emailSecurityDeleteDisplayName,
+  'GET /accounts/{account_id}/email-security/settings/impersonation_registry/{display_name_id}':
+    emailSecurityGetDisplayName,
+  'PATCH /accounts/{account_id}/email-security/settings/impersonation_registry/{display_name_id}':
+    emailSecurityUpdateDisplayName,
+  'GET /accounts/{account_id}/email-security/settings/trusted_domains': emailSecurityListTrustedDomains,
+  'POST /accounts/{account_id}/email-security/settings/trusted_domains': emailSecurityCreateTrustedDomain,
+  'DELETE /accounts/{account_id}/email-security/settings/trusted_domains/{trusted_domain_id}':
+    emailSecurityDeleteTrustedDomain,
+  'GET /accounts/{account_id}/email-security/settings/trusted_domains/{trusted_domain_id}':
+    emailSecurityGetTrustedDomain,
+  'PATCH /accounts/{account_id}/email-security/settings/trusted_domains/{trusted_domain_id}':
+    emailSecurityUpdateTrustedDomain,
+  'GET /accounts/{account_id}/email-security/submissions': emailSecuritySubmissions,
+  'GET /accounts/{account_id}/email/routing/addresses': emailRoutingDestinationAddressesListDestinationAddresses,
+  'POST /accounts/{account_id}/email/routing/addresses': emailRoutingDestinationAddressesCreateADestinationAddress,
+  'DELETE /accounts/{account_id}/email/routing/addresses/{destination_address_identifier}':
+    emailRoutingDestinationAddressesDeleteDestinationAddress,
+  'GET /accounts/{account_id}/email/routing/addresses/{destination_address_identifier}':
+    emailRoutingDestinationAddressesGetADestinationAddress,
+  'GET /accounts/{account_id}/event_notifications/r2/{bucket_name}/configuration': r2GetEventNotificationConfigs,
+  'DELETE /accounts/{account_id}/event_notifications/r2/{bucket_name}/configuration/queues/{queue_id}':
+    r2EventNotificationDeleteConfig,
+  'PUT /accounts/{account_id}/event_notifications/r2/{bucket_name}/configuration/queues/{queue_id}':
+    r2PutEventNotificationConfig,
+  'GET /accounts/{account_id}/firewall/access_rules/rules': ipAccessRulesForAnAccountListIpAccessRules,
+  'POST /accounts/{account_id}/firewall/access_rules/rules': ipAccessRulesForAnAccountCreateAnIpAccessRule,
+  'DELETE /accounts/{account_id}/firewall/access_rules/rules/{rule_id}': ipAccessRulesForAnAccountDeleteAnIpAccessRule,
+  'GET /accounts/{account_id}/firewall/access_rules/rules/{rule_id}': ipAccessRulesForAnAccountGetAnIpAccessRule,
+  'PATCH /accounts/{account_id}/firewall/access_rules/rules/{rule_id}': ipAccessRulesForAnAccountUpdateAnIpAccessRule,
+  'GET /accounts/{account_id}/gateway': zeroTrustAccountsGetZeroTrustAccountInformation,
+  'POST /accounts/{account_id}/gateway': zeroTrustAccountsCreateZeroTrustAccount,
+  'GET /accounts/{account_id}/gateway/app_types':
+    zeroTrustGatewayApplicationAndApplicationTypeMappingsListApplicationAndApplicationTypeMappings,
+  'GET /accounts/{account_id}/gateway/audit_ssh_settings': zeroTrustGetAuditSshSettings,
+  'PUT /accounts/{account_id}/gateway/audit_ssh_settings': zeroTrustUpdateAuditSshSettings,
+  'POST /accounts/{account_id}/gateway/audit_ssh_settings/rotate_seed': zeroTrustRotateSshAccountSeed,
+  'GET /accounts/{account_id}/gateway/categories': zeroTrustGatewayCategoriesListCategories,
+  'GET /accounts/{account_id}/gateway/certificates': zeroTrustCertificatesListZeroTrustCertificates,
+  'POST /accounts/{account_id}/gateway/certificates': zeroTrustCertificatesCreateZeroTrustCertificate,
+  'DELETE /accounts/{account_id}/gateway/certificates/{certificate_id}':
+    zeroTrustCertificatesDeleteZeroTrustCertificate,
+  'GET /accounts/{account_id}/gateway/certificates/{certificate_id}': zeroTrustCertificatesZeroTrustCertificateDetails,
+  'POST /accounts/{account_id}/gateway/certificates/{certificate_id}/activate':
+    zeroTrustCertificatesActivateZeroTrustCertificate,
+  'POST /accounts/{account_id}/gateway/certificates/{certificate_id}/deactivate':
+    zeroTrustCertificatesDeactivateZeroTrustCertificate,
+  'GET /accounts/{account_id}/gateway/configuration': zeroTrustAccountsGetZeroTrustAccountConfiguration,
+  'PATCH /accounts/{account_id}/gateway/configuration': zeroTrustAccountsPatchZeroTrustAccountConfiguration,
+  'PUT /accounts/{account_id}/gateway/configuration': zeroTrustAccountsUpdateZeroTrustAccountConfiguration,
+  'GET /accounts/{account_id}/gateway/configuration/custom_certificate':
+    zeroTrustAccountsGetZeroTrustCertificateConfiguration,
+  'GET /accounts/{account_id}/gateway/lists': zeroTrustListsListZeroTrustLists,
+  'POST /accounts/{account_id}/gateway/lists': zeroTrustListsCreateZeroTrustList,
+  'DELETE /accounts/{account_id}/gateway/lists/{list_id}': zeroTrustListsDeleteZeroTrustList,
+  'GET /accounts/{account_id}/gateway/lists/{list_id}': zeroTrustListsZeroTrustListDetails,
+  'PATCH /accounts/{account_id}/gateway/lists/{list_id}': zeroTrustListsPatchZeroTrustList,
+  'PUT /accounts/{account_id}/gateway/lists/{list_id}': zeroTrustListsUpdateZeroTrustList,
+  'GET /accounts/{account_id}/gateway/lists/{list_id}/items': zeroTrustListsZeroTrustListItems,
+  'GET /accounts/{account_id}/gateway/locations': zeroTrustGatewayLocationsListZeroTrustGatewayLocations,
+  'POST /accounts/{account_id}/gateway/locations': zeroTrustGatewayLocationsCreateZeroTrustGatewayLocation,
+  'DELETE /accounts/{account_id}/gateway/locations/{location_id}':
+    zeroTrustGatewayLocationsDeleteZeroTrustGatewayLocation,
+  'GET /accounts/{account_id}/gateway/locations/{location_id}':
+    zeroTrustGatewayLocationsZeroTrustGatewayLocationDetails,
+  'PUT /accounts/{account_id}/gateway/locations/{location_id}': zeroTrustGatewayLocationsUpdateZeroTrustGatewayLocation,
+  'GET /accounts/{account_id}/gateway/logging': zeroTrustAccountsGetLoggingSettingsForTheZeroTrustAccount,
+  'PUT /accounts/{account_id}/gateway/logging': zeroTrustAccountsUpdateLoggingSettingsForTheZeroTrustAccount,
+  'GET /accounts/{account_id}/gateway/proxy_endpoints': zeroTrustGatewayProxyEndpointsListProxyEndpoints,
+  'POST /accounts/{account_id}/gateway/proxy_endpoints': zeroTrustGatewayProxyEndpointsCreateProxyEndpoint,
+  'DELETE /accounts/{account_id}/gateway/proxy_endpoints/{proxy_endpoint_id}':
+    zeroTrustGatewayProxyEndpointsDeleteProxyEndpoint,
+  'GET /accounts/{account_id}/gateway/proxy_endpoints/{proxy_endpoint_id}':
+    zeroTrustGatewayProxyEndpointsProxyEndpointDetails,
+  'PATCH /accounts/{account_id}/gateway/proxy_endpoints/{proxy_endpoint_id}':
+    zeroTrustGatewayProxyEndpointsUpdateProxyEndpoint,
+  'GET /accounts/{account_id}/gateway/rules': zeroTrustGatewayRulesListZeroTrustGatewayRules,
+  'POST /accounts/{account_id}/gateway/rules': zeroTrustGatewayRulesCreateZeroTrustGatewayRule,
+  'DELETE /accounts/{account_id}/gateway/rules/{rule_id}': zeroTrustGatewayRulesDeleteZeroTrustGatewayRule,
+  'GET /accounts/{account_id}/gateway/rules/{rule_id}': zeroTrustGatewayRulesZeroTrustGatewayRuleDetails,
+  'PUT /accounts/{account_id}/gateway/rules/{rule_id}': zeroTrustGatewayRulesUpdateZeroTrustGatewayRule,
+  'POST /accounts/{account_id}/gateway/rules/{rule_id}/reset_expiration':
+    zeroTrustGatewayRulesResetExpirationZeroTrustGatewayRule,
+  'GET /accounts/{account_id}/hyperdrive/configs': listHyperdrive,
+  'POST /accounts/{account_id}/hyperdrive/configs': createHyperdrive,
+  'DELETE /accounts/{account_id}/hyperdrive/configs/{hyperdrive_id}': deleteHyperdrive,
+  'GET /accounts/{account_id}/hyperdrive/configs/{hyperdrive_id}': getHyperdrive,
+  'PATCH /accounts/{account_id}/hyperdrive/configs/{hyperdrive_id}': patchHyperdrive,
+  'PUT /accounts/{account_id}/hyperdrive/configs/{hyperdrive_id}': updateHyperdrive,
+  'GET /accounts/{account_id}/iam/permission_groups': accountPermissionGroupList,
+  'GET /accounts/{account_id}/iam/permission_groups/{permission_group_id}': accountPermissionGroupDetails,
+  'GET /accounts/{account_id}/iam/resource_groups': accountResourceGroupList,
+  'POST /accounts/{account_id}/iam/resource_groups': accountResourceGroupCreate,
+  'DELETE /accounts/{account_id}/iam/resource_groups/{resource_group_id}': accountResourceGroupDelete,
+  'GET /accounts/{account_id}/iam/resource_groups/{resource_group_id}': accountResourceGroupDetails,
+  'PUT /accounts/{account_id}/iam/resource_groups/{resource_group_id}': accountResourceGroupUpdate,
+  'GET /accounts/{account_id}/images/v1': cloudflareImagesListImages,
+  'POST /accounts/{account_id}/images/v1': cloudflareImagesUploadAnImageViaUrl,
+  'GET /accounts/{account_id}/images/v1/keys': cloudflareImagesKeysListSigningKeys,
+  'DELETE /accounts/{account_id}/images/v1/keys/{signing_key_name}': cloudflareImagesKeysDeleteSigningKey,
+  'PUT /accounts/{account_id}/images/v1/keys/{signing_key_name}': cloudflareImagesKeysAddSigningKey,
+  'GET /accounts/{account_id}/images/v1/stats': cloudflareImagesImagesUsageStatistics,
+  'GET /accounts/{account_id}/images/v1/variants': cloudflareImagesVariantsListVariants,
+  'POST /accounts/{account_id}/images/v1/variants': cloudflareImagesVariantsCreateAVariant,
+  'DELETE /accounts/{account_id}/images/v1/variants/{variant_id}': cloudflareImagesVariantsDeleteAVariant,
+  'GET /accounts/{account_id}/images/v1/variants/{variant_id}': cloudflareImagesVariantsVariantDetails,
+  'PATCH /accounts/{account_id}/images/v1/variants/{variant_id}': cloudflareImagesVariantsUpdateAVariant,
+  'DELETE /accounts/{account_id}/images/v1/{image_id}': cloudflareImagesDeleteImage,
+  'GET /accounts/{account_id}/images/v1/{image_id}': cloudflareImagesImageDetails,
+  'PATCH /accounts/{account_id}/images/v1/{image_id}': cloudflareImagesUpdateImage,
+  'GET /accounts/{account_id}/images/v1/{image_id}/blob': cloudflareImagesBaseImage,
+  'GET /accounts/{account_id}/images/v2': cloudflareImagesListImagesV2,
+  'POST /accounts/{account_id}/images/v2/direct_upload': cloudflareImagesCreateAuthenticatedDirectUploadUrlV2,
+  'GET /accounts/{account_id}/infrastructure/targets': infraTargetsList,
+  'POST /accounts/{account_id}/infrastructure/targets': infraTargetsPost,
+  'DELETE /accounts/{account_id}/infrastructure/targets/batch': infraTargetsDeleteBatch,
+  'PUT /accounts/{account_id}/infrastructure/targets/batch': infraTargetsPutBatch,
+  'DELETE /accounts/{account_id}/infrastructure/targets/{target_id}': infraTargetsDelete,
+  'GET /accounts/{account_id}/infrastructure/targets/{target_id}': infraTargetsGet,
+  'PUT /accounts/{account_id}/infrastructure/targets/{target_id}': infraTargetsPut,
+  'GET /accounts/{account_id}/intel/asn/{asn}': asnIntelligenceGetAsnOverview,
+  'GET /accounts/{account_id}/intel/asn/{asn}/subnets': asnIntelligenceGetAsnSubnets,
+  'GET /accounts/{account_id}/intel/attack-surface-report/issue-types': getSecurityCenterIssueTypes,
+  'GET /accounts/{account_id}/intel/attack-surface-report/issues': getSecurityCenterIssues,
+  'GET /accounts/{account_id}/intel/attack-surface-report/issues/class': getSecurityCenterIssueCountsByClass,
+  'GET /accounts/{account_id}/intel/attack-surface-report/issues/severity': getSecurityCenterIssueCountsBySeverity,
+  'GET /accounts/{account_id}/intel/attack-surface-report/issues/type': getSecurityCenterIssueCountsByType,
+  'PUT /accounts/{account_id}/intel/attack-surface-report/{issue_id}/dismiss': archiveSecurityCenterInsight,
+  'GET /accounts/{account_id}/intel/dns': passiveDnsByIpGetPassiveDnsByIp,
+  'GET /accounts/{account_id}/intel/domain': domainIntelligenceGetDomainDetails,
+  'GET /accounts/{account_id}/intel/domain-history': domainHistoryGetDomainHistory,
+  'GET /accounts/{account_id}/intel/domain/bulk': domainIntelligenceGetMultipleDomainDetails,
+  'GET /accounts/{account_id}/intel/indicator-feeds': customIndicatorFeedsGetIndicatorFeeds,
+  'POST /accounts/{account_id}/intel/indicator-feeds': customIndicatorFeedsCreateIndicatorFeeds,
+  'PUT /accounts/{account_id}/intel/indicator-feeds/permissions/add': customIndicatorFeedsAddPermission,
+  'PUT /accounts/{account_id}/intel/indicator-feeds/permissions/remove': customIndicatorFeedsRemovePermission,
+  'GET /accounts/{account_id}/intel/indicator-feeds/permissions/view': customIndicatorFeedsViewPermissions,
+  'GET /accounts/{account_id}/intel/indicator-feeds/{feed_id}': customIndicatorFeedsGetIndicatorFeedMetadata,
+  'PUT /accounts/{account_id}/intel/indicator-feeds/{feed_id}': customIndicatorFeedsUpdateIndicatorFeedMetadata,
+  'GET /accounts/{account_id}/intel/indicator-feeds/{feed_id}/data': customIndicatorFeedsGetIndicatorFeedData,
+  'PUT /accounts/{account_id}/intel/indicator-feeds/{feed_id}/snapshot': customIndicatorFeedsUpdateIndicatorFeedData,
+  'GET /accounts/{account_id}/intel/indicator_feeds/{feed_id}/download': customIndicatorFeedsDownloadIndicatorFeedData,
+  'GET /accounts/{account_id}/intel/ip': ipIntelligenceGetIpOverview,
+  'GET /accounts/{account_id}/intel/ip-list': ipListGetIpLists,
+  'POST /accounts/{account_id}/intel/miscategorization': miscategorizationCreateMiscategorization,
+  'GET /accounts/{account_id}/intel/sinkholes': sinkholeConfigGetSinkholes,
+  'GET /accounts/{account_id}/intel/whois': whoisRecordGetWhoisRecord,
+  'GET /accounts/{account_id}/load_balancers/monitors': accountLoadBalancerMonitorsListMonitors,
+  'POST /accounts/{account_id}/load_balancers/monitors': accountLoadBalancerMonitorsCreateMonitor,
+  'DELETE /accounts/{account_id}/load_balancers/monitors/{monitor_id}': accountLoadBalancerMonitorsDeleteMonitor,
+  'GET /accounts/{account_id}/load_balancers/monitors/{monitor_id}': accountLoadBalancerMonitorsMonitorDetails,
+  'PATCH /accounts/{account_id}/load_balancers/monitors/{monitor_id}': accountLoadBalancerMonitorsPatchMonitor,
+  'PUT /accounts/{account_id}/load_balancers/monitors/{monitor_id}': accountLoadBalancerMonitorsUpdateMonitor,
+  'POST /accounts/{account_id}/load_balancers/monitors/{monitor_id}/preview': accountLoadBalancerMonitorsPreviewMonitor,
+  'GET /accounts/{account_id}/load_balancers/monitors/{monitor_id}/references':
+    accountLoadBalancerMonitorsListMonitorReferences,
+  'GET /accounts/{account_id}/load_balancers/pools': accountLoadBalancerPoolsListPools,
+  'PATCH /accounts/{account_id}/load_balancers/pools': accountLoadBalancerPoolsPatchPools,
+  'POST /accounts/{account_id}/load_balancers/pools': accountLoadBalancerPoolsCreatePool,
+  'DELETE /accounts/{account_id}/load_balancers/pools/{pool_id}': accountLoadBalancerPoolsDeletePool,
+  'GET /accounts/{account_id}/load_balancers/pools/{pool_id}': accountLoadBalancerPoolsPoolDetails,
+  'PATCH /accounts/{account_id}/load_balancers/pools/{pool_id}': accountLoadBalancerPoolsPatchPool,
+  'PUT /accounts/{account_id}/load_balancers/pools/{pool_id}': accountLoadBalancerPoolsUpdatePool,
+  'GET /accounts/{account_id}/load_balancers/pools/{pool_id}/health': accountLoadBalancerPoolsPoolHealthDetails,
+  'POST /accounts/{account_id}/load_balancers/pools/{pool_id}/preview': accountLoadBalancerPoolsPreviewPool,
+  'GET /accounts/{account_id}/load_balancers/pools/{pool_id}/references': accountLoadBalancerPoolsListPoolReferences,
+  'GET /accounts/{account_id}/load_balancers/preview/{preview_id}': accountLoadBalancerMonitorsPreviewResult,
+  'GET /accounts/{account_id}/load_balancers/regions': loadBalancerRegionsListRegions,
+  'GET /accounts/{account_id}/load_balancers/regions/{region_id}': loadBalancerRegionsGetRegion,
+  'GET /accounts/{account_id}/load_balancers/search': accountLoadBalancerSearchSearchResources,
+  'GET /accounts/{account_id}/logpush/datasets/{dataset_id}/fields': getAccountsAccountIdLogpushDatasetsDatasetIdFields,
+  'GET /accounts/{account_id}/logpush/datasets/{dataset_id}/jobs': getAccountsAccountIdLogpushDatasetsDatasetIdJobs,
+  'GET /accounts/{account_id}/logpush/jobs': getAccountsAccountIdLogpushJobs,
+  'POST /accounts/{account_id}/logpush/jobs': postAccountsAccountIdLogpushJobs,
+  'DELETE /accounts/{account_id}/logpush/jobs/{job_id}': deleteAccountsAccountIdLogpushJobsJobId,
+  'GET /accounts/{account_id}/logpush/jobs/{job_id}': getAccountsAccountIdLogpushJobsJobId,
+  'PUT /accounts/{account_id}/logpush/jobs/{job_id}': putAccountsAccountIdLogpushJobsJobId,
+  'POST /accounts/{account_id}/logpush/ownership': postAccountsAccountIdLogpushOwnership,
+  'POST /accounts/{account_id}/logpush/ownership/validate': postAccountsAccountIdLogpushOwnershipValidate,
+  'POST /accounts/{account_id}/logpush/validate/destination': deleteAccountsAccountIdLogpushValidateDestination,
+  'POST /accounts/{account_id}/logpush/validate/destination/exists':
+    deleteAccountsAccountIdLogpushValidateDestinationExists,
+  'POST /accounts/{account_id}/logpush/validate/origin': postAccountsAccountIdLogpushValidateOrigin,
+  'GET /accounts/{account_id}/logs/audit': auditLogsV2GetAccountAuditLogs,
+  'DELETE /accounts/{account_id}/logs/control/cmb/config': deleteAccountsAccountIdLogsControlCmbConfig,
+  'GET /accounts/{account_id}/logs/control/cmb/config': getAccountsAccountIdLogsControlCmbConfig,
+  'POST /accounts/{account_id}/logs/control/cmb/config': postAccountsAccountIdLogsControlCmbConfig,
+  'GET /accounts/{account_id}/magic/apps': magicAccountAppsListApps,
+  'POST /accounts/{account_id}/magic/apps': magicAccountAppsAddApp,
+  'DELETE /accounts/{account_id}/magic/apps/{account_app_id}': magicAccountAppsDeleteApp,
+  'PUT /accounts/{account_id}/magic/apps/{account_app_id}': magicAccountAppsUpdateApp,
+  'GET /accounts/{account_id}/magic/cf_interconnects': magicInterconnectsListInterconnects,
+  'PUT /accounts/{account_id}/magic/cf_interconnects': magicInterconnectsUpdateMultipleInterconnects,
+  'GET /accounts/{account_id}/magic/cf_interconnects/{cf_interconnect_id}': magicInterconnectsListInterconnectDetails,
+  'PUT /accounts/{account_id}/magic/cf_interconnects/{cf_interconnect_id}': magicInterconnectsUpdateInterconnect,
+  'GET /accounts/{account_id}/magic/connectors': mconnConnectorList,
+  'GET /accounts/{account_id}/magic/connectors/{connector_id}': mconnConnectorFetch,
+  'PATCH /accounts/{account_id}/magic/connectors/{connector_id}': mconnConnectorUpdate,
+  'PUT /accounts/{account_id}/magic/connectors/{connector_id}': mconnConnectorReplace,
+  'GET /accounts/{account_id}/magic/gre_tunnels': magicGreTunnelsListGreTunnels,
+  'POST /accounts/{account_id}/magic/gre_tunnels': magicGreTunnelsCreateGreTunnels,
+  'PUT /accounts/{account_id}/magic/gre_tunnels': magicGreTunnelsUpdateMultipleGreTunnels,
+  'DELETE /accounts/{account_id}/magic/gre_tunnels/{gre_tunnel_id}': magicGreTunnelsDeleteGreTunnel,
+  'GET /accounts/{account_id}/magic/gre_tunnels/{gre_tunnel_id}': magicGreTunnelsListGreTunnelDetails,
+  'PUT /accounts/{account_id}/magic/gre_tunnels/{gre_tunnel_id}': magicGreTunnelsUpdateGreTunnel,
+  'GET /accounts/{account_id}/magic/ipsec_tunnels': magicIpsecTunnelsListIpsecTunnels,
+  'POST /accounts/{account_id}/magic/ipsec_tunnels': magicIpsecTunnelsCreateIpsecTunnels,
+  'PUT /accounts/{account_id}/magic/ipsec_tunnels': magicIpsecTunnelsUpdateMultipleIpsecTunnels,
+  'DELETE /accounts/{account_id}/magic/ipsec_tunnels/{ipsec_tunnel_id}': magicIpsecTunnelsDeleteIpsecTunnel,
+  'GET /accounts/{account_id}/magic/ipsec_tunnels/{ipsec_tunnel_id}': magicIpsecTunnelsListIpsecTunnelDetails,
+  'PUT /accounts/{account_id}/magic/ipsec_tunnels/{ipsec_tunnel_id}': magicIpsecTunnelsUpdateIpsecTunnel,
+  'POST /accounts/{account_id}/magic/ipsec_tunnels/{ipsec_tunnel_id}/psk_generate':
+    magicIpsecTunnelsGeneratePreSharedKeyPskForIpsecTunnels,
+  'DELETE /accounts/{account_id}/magic/routes': magicStaticRoutesDeleteManyRoutes,
+  'GET /accounts/{account_id}/magic/routes': magicStaticRoutesListRoutes,
+  'POST /accounts/{account_id}/magic/routes': magicStaticRoutesCreateRoutes,
+  'PUT /accounts/{account_id}/magic/routes': magicStaticRoutesUpdateManyRoutes,
+  'DELETE /accounts/{account_id}/magic/routes/{route_id}': magicStaticRoutesDeleteRoute,
+  'GET /accounts/{account_id}/magic/routes/{route_id}': magicStaticRoutesRouteDetails,
+  'PUT /accounts/{account_id}/magic/routes/{route_id}': magicStaticRoutesUpdateRoute,
+  'GET /accounts/{account_id}/magic/sites': magicSitesListSites,
+  'POST /accounts/{account_id}/magic/sites': magicSitesCreateSite,
+  'DELETE /accounts/{account_id}/magic/sites/{site_id}': magicSitesDeleteSite,
+  'GET /accounts/{account_id}/magic/sites/{site_id}': magicSitesSiteDetails,
+  'PATCH /accounts/{account_id}/magic/sites/{site_id}': magicSitesPatchSite,
+  'PUT /accounts/{account_id}/magic/sites/{site_id}': magicSitesUpdateSite,
+  'GET /accounts/{account_id}/magic/sites/{site_id}/acls': magicSiteAclsListAcls,
+  'POST /accounts/{account_id}/magic/sites/{site_id}/acls': magicSiteAclsCreateAcl,
+  'DELETE /accounts/{account_id}/magic/sites/{site_id}/acls/{acl_id}': magicSiteAclsDeleteAcl,
+  'GET /accounts/{account_id}/magic/sites/{site_id}/acls/{acl_id}': magicSiteAclsAclDetails,
+  'PATCH /accounts/{account_id}/magic/sites/{site_id}/acls/{acl_id}': magicSiteAclsPatchAcl,
+  'PUT /accounts/{account_id}/magic/sites/{site_id}/acls/{acl_id}': magicSiteAclsUpdateAcl,
+  'GET /accounts/{account_id}/magic/sites/{site_id}/app_configs': magicSiteAppConfigsListAppConfigs,
+  'POST /accounts/{account_id}/magic/sites/{site_id}/app_configs': magicSiteAppConfigsAddAppConfig,
+  'DELETE /accounts/{account_id}/magic/sites/{site_id}/app_configs/{app_config_id}': magicSiteAppConfigsDeleteAppConfig,
+  'PUT /accounts/{account_id}/magic/sites/{site_id}/app_configs/{app_config_id}': magicSiteAppConfigsUpdateAppConfig,
+  'GET /accounts/{account_id}/magic/sites/{site_id}/lans': magicSiteLansListLans,
+  'POST /accounts/{account_id}/magic/sites/{site_id}/lans': magicSiteLansCreateLan,
+  'DELETE /accounts/{account_id}/magic/sites/{site_id}/lans/{lan_id}': magicSiteLansDeleteLan,
+  'GET /accounts/{account_id}/magic/sites/{site_id}/lans/{lan_id}': magicSiteLansLanDetails,
+  'PATCH /accounts/{account_id}/magic/sites/{site_id}/lans/{lan_id}': magicSiteLansPatchLan,
+  'PUT /accounts/{account_id}/magic/sites/{site_id}/lans/{lan_id}': magicSiteLansUpdateLan,
+  'GET /accounts/{account_id}/magic/sites/{site_id}/wans': magicSiteWansListWans,
+  'POST /accounts/{account_id}/magic/sites/{site_id}/wans': magicSiteWansCreateWan,
+  'DELETE /accounts/{account_id}/magic/sites/{site_id}/wans/{wan_id}': magicSiteWansDeleteWan,
+  'GET /accounts/{account_id}/magic/sites/{site_id}/wans/{wan_id}': magicSiteWansWanDetails,
+  'PATCH /accounts/{account_id}/magic/sites/{site_id}/wans/{wan_id}': magicSiteWansPatchWan,
+  'PUT /accounts/{account_id}/magic/sites/{site_id}/wans/{wan_id}': magicSiteWansUpdateWan,
+  'GET /accounts/{account_id}/members': accountMembersListMembers,
+  'POST /accounts/{account_id}/members': accountMembersAddMember,
+  'DELETE /accounts/{account_id}/members/{member_id}': accountMembersRemoveMember,
+  'GET /accounts/{account_id}/members/{member_id}': accountMembersMemberDetails,
+  'PUT /accounts/{account_id}/members/{member_id}': accountMembersUpdateMember,
+  'DELETE /accounts/{account_id}/mnm/config': magicNetworkMonitoringConfigurationDeleteAccountConfiguration,
+  'GET /accounts/{account_id}/mnm/config': magicNetworkMonitoringConfigurationListAccountConfiguration,
+  'PATCH /accounts/{account_id}/mnm/config': magicNetworkMonitoringConfigurationUpdateAccountConfigurationFields,
+  'POST /accounts/{account_id}/mnm/config': magicNetworkMonitoringConfigurationCreateAccountConfiguration,
+  'PUT /accounts/{account_id}/mnm/config': magicNetworkMonitoringConfigurationUpdateAnEntireAccountConfiguration,
+  'GET /accounts/{account_id}/mnm/config/full': magicNetworkMonitoringConfigurationListRulesAndAccountConfiguration,
+  'GET /accounts/{account_id}/mnm/rules': magicNetworkMonitoringRulesListRules,
+  'POST /accounts/{account_id}/mnm/rules': magicNetworkMonitoringRulesCreateRules,
+  'PUT /accounts/{account_id}/mnm/rules': magicNetworkMonitoringRulesUpdateRules,
+  'DELETE /accounts/{account_id}/mnm/rules/{rule_id}': magicNetworkMonitoringRulesDeleteRule,
+  'GET /accounts/{account_id}/mnm/rules/{rule_id}': magicNetworkMonitoringRulesGetRule,
+  'PATCH /accounts/{account_id}/mnm/rules/{rule_id}': magicNetworkMonitoringRulesUpdateRule,
+  'PATCH /accounts/{account_id}/mnm/rules/{rule_id}/advertisement':
+    magicNetworkMonitoringRulesUpdateAdvertisementForRule,
+  'GET /accounts/{account_id}/mtls_certificates': mTlsCertificateManagementListMTlsCertificates,
+  'POST /accounts/{account_id}/mtls_certificates': mTlsCertificateManagementUploadMTlsCertificate,
+  'DELETE /accounts/{account_id}/mtls_certificates/{mtls_certificate_id}':
+    mTlsCertificateManagementDeleteMTlsCertificate,
+  'GET /accounts/{account_id}/mtls_certificates/{mtls_certificate_id}': mTlsCertificateManagementGetMTlsCertificate,
+  'GET /accounts/{account_id}/mtls_certificates/{mtls_certificate_id}/associations':
+    mTlsCertificateManagementListMTlsCertificateAssociations,
+  'GET /accounts/{account_id}/pages/projects': pagesProjectGetProjects,
+  'POST /accounts/{account_id}/pages/projects': pagesProjectCreateProject,
+  'DELETE /accounts/{account_id}/pages/projects/{project_name}': pagesProjectDeleteProject,
+  'GET /accounts/{account_id}/pages/projects/{project_name}': pagesProjectGetProject,
+  'PATCH /accounts/{account_id}/pages/projects/{project_name}': pagesProjectUpdateProject,
+  'GET /accounts/{account_id}/pages/projects/{project_name}/deployments': pagesDeploymentGetDeployments,
+  'POST /accounts/{account_id}/pages/projects/{project_name}/deployments': pagesDeploymentCreateDeployment,
+  'DELETE /accounts/{account_id}/pages/projects/{project_name}/deployments/{deployment_id}':
+    pagesDeploymentDeleteDeployment,
+  'GET /accounts/{account_id}/pages/projects/{project_name}/deployments/{deployment_id}':
+    pagesDeploymentGetDeploymentInfo,
+  'GET /accounts/{account_id}/pages/projects/{project_name}/deployments/{deployment_id}/history/logs':
+    pagesDeploymentGetDeploymentLogs,
+  'POST /accounts/{account_id}/pages/projects/{project_name}/deployments/{deployment_id}/retry':
+    pagesDeploymentRetryDeployment,
+  'POST /accounts/{account_id}/pages/projects/{project_name}/deployments/{deployment_id}/rollback':
+    pagesDeploymentRollbackDeployment,
+  'GET /accounts/{account_id}/pages/projects/{project_name}/domains': pagesDomainsGetDomains,
+  'POST /accounts/{account_id}/pages/projects/{project_name}/domains': pagesDomainsAddDomain,
+  'DELETE /accounts/{account_id}/pages/projects/{project_name}/domains/{domain_name}': pagesDomainsDeleteDomain,
+  'GET /accounts/{account_id}/pages/projects/{project_name}/domains/{domain_name}': pagesDomainsGetDomain,
+  'PATCH /accounts/{account_id}/pages/projects/{project_name}/domains/{domain_name}': pagesDomainsPatchDomain,
+  'POST /accounts/{account_id}/pages/projects/{project_name}/purge_build_cache': pagesPurgeBuildCache,
+  'GET /accounts/{account_id}/pcaps': magicPcapCollectionListPacketCaptureRequests,
+  'POST /accounts/{account_id}/pcaps': magicPcapCollectionCreatePcapRequest,
+  'GET /accounts/{account_id}/pcaps/ownership': magicPcapCollectionListPcaPsBucketOwnership,
+  'POST /accounts/{account_id}/pcaps/ownership': magicPcapCollectionAddBucketsForFullPacketCaptures,
+  'POST /accounts/{account_id}/pcaps/ownership/validate': magicPcapCollectionValidateBucketsForFullPacketCaptures,
+  'DELETE /accounts/{account_id}/pcaps/ownership/{ownership_id}': magicPcapCollectionDeleteBucketsForFullPacketCaptures,
+  'GET /accounts/{account_id}/pcaps/{pcap_id}': magicPcapCollectionGetPcapRequest,
+  'GET /accounts/{account_id}/pcaps/{pcap_id}/download': magicPcapCollectionDownloadSimplePcap,
+  'GET /accounts/{account_id}/queues': queuesList,
+  'POST /accounts/{account_id}/queues': queuesCreate,
+  'DELETE /accounts/{account_id}/queues/{queue_id}': queuesDelete,
+  'GET /accounts/{account_id}/queues/{queue_id}': queuesGet,
+  'PUT /accounts/{account_id}/queues/{queue_id}': queuesUpdate,
+  'GET /accounts/{account_id}/queues/{queue_id}/consumers': queuesListConsumers,
+  'POST /accounts/{account_id}/queues/{queue_id}/consumers': queuesCreateConsumer,
+  'DELETE /accounts/{account_id}/queues/{queue_id}/consumers/{consumer_id}': queuesDeleteConsumer,
+  'PUT /accounts/{account_id}/queues/{queue_id}/consumers/{consumer_id}': queuesUpdateConsumer,
+  'POST /accounts/{account_id}/queues/{queue_id}/messages/ack': queuesAckMessages,
+  'POST /accounts/{account_id}/queues/{queue_id}/messages/pull': queuesPullMessages,
+  'GET /accounts/{account_id}/r2/buckets': r2ListBuckets,
+  'POST /accounts/{account_id}/r2/buckets': r2CreateBucket,
+  'DELETE /accounts/{account_id}/r2/buckets/{bucket_name}': r2DeleteBucket,
+  'GET /accounts/{account_id}/r2/buckets/{bucket_name}': r2GetBucket,
+  'DELETE /accounts/{account_id}/r2/buckets/{bucket_name}/cors': r2DeleteBucketCorsPolicy,
+  'GET /accounts/{account_id}/r2/buckets/{bucket_name}/cors': r2GetBucketCorsPolicy,
+  'PUT /accounts/{account_id}/r2/buckets/{bucket_name}/cors': r2PutBucketCorsPolicy,
+  'GET /accounts/{account_id}/r2/buckets/{bucket_name}/domains/custom': r2ListCustomDomains,
+  'POST /accounts/{account_id}/r2/buckets/{bucket_name}/domains/custom': r2AddCustomDomain,
+  'DELETE /accounts/{account_id}/r2/buckets/{bucket_name}/domains/custom/{domain_name}': r2DeleteCustomDomain,
+  'GET /accounts/{account_id}/r2/buckets/{bucket_name}/domains/custom/{domain_name}': r2GetCustomDomainSettings,
+  'PUT /accounts/{account_id}/r2/buckets/{bucket_name}/domains/custom/{domain_name}': r2EditCustomDomainSettings,
+  'GET /accounts/{account_id}/r2/buckets/{bucket_name}/domains/managed': r2GetBucketPublicPolicy,
+  'PUT /accounts/{account_id}/r2/buckets/{bucket_name}/domains/managed': r2PutBucketPublicPolicy,
+  'GET /accounts/{account_id}/r2/buckets/{bucket_name}/lifecycle': r2GetBucketLifecycleConfiguration,
+  'PUT /accounts/{account_id}/r2/buckets/{bucket_name}/lifecycle': r2PutBucketLifecycleConfiguration,
+  'DELETE /accounts/{account_id}/r2/buckets/{bucket_name}/sippy': r2DeleteBucketSippyConfig,
+  'GET /accounts/{account_id}/r2/buckets/{bucket_name}/sippy': r2GetBucketSippyConfig,
+  'PUT /accounts/{account_id}/r2/buckets/{bucket_name}/sippy': r2PutBucketSippyConfig,
+  'POST /accounts/{account_id}/r2/temp-access-credentials': r2CreateTempAccessCredentials,
+  'GET /accounts/{account_id}/registrar/domains': registrarDomainsListDomains,
+  'GET /accounts/{account_id}/registrar/domains/{domain_name}': registrarDomainsGetDomain,
+  'PUT /accounts/{account_id}/registrar/domains/{domain_name}': registrarDomainsUpdateDomain,
+  'POST /accounts/{account_id}/request-tracer/trace': accountRequestTracerRequestTrace,
+  'GET /accounts/{account_id}/roles': accountRolesListRoles,
+  'GET /accounts/{account_id}/roles/{role_id}': accountRolesRoleDetails,
+  'GET /accounts/{account_id}/rules/lists': listsGetLists,
+  'POST /accounts/{account_id}/rules/lists': listsCreateAList,
+  'DELETE /accounts/{account_id}/rules/lists/{list_id}': listsDeleteAList,
+  'GET /accounts/{account_id}/rules/lists/{list_id}': listsGetAList,
+  'PUT /accounts/{account_id}/rules/lists/{list_id}': listsUpdateAList,
+  'DELETE /accounts/{account_id}/rules/lists/{list_id}/items': listsDeleteListItems,
+  'GET /accounts/{account_id}/rules/lists/{list_id}/items': listsGetListItems,
+  'POST /accounts/{account_id}/rules/lists/{list_id}/items': listsCreateListItems,
+  'PUT /accounts/{account_id}/rules/lists/{list_id}/items': listsUpdateAllListItems,
+  'GET /accounts/{account_id}/rulesets': listAccountRulesets,
+  'POST /accounts/{account_id}/rulesets': createAccountRuleset,
+  'GET /accounts/{account_id}/rulesets/phases/{ruleset_phase}/entrypoint': getAccountEntrypointRuleset,
+  'PUT /accounts/{account_id}/rulesets/phases/{ruleset_phase}/entrypoint': updateAccountEntrypointRuleset,
+  'GET /accounts/{account_id}/rulesets/phases/{ruleset_phase}/entrypoint/versions':
+    listAccountEntrypointRulesetVersions,
+  'GET /accounts/{account_id}/rulesets/phases/{ruleset_phase}/entrypoint/versions/{ruleset_version}':
+    getAccountEntrypointRulesetVersion,
+  'DELETE /accounts/{account_id}/rulesets/{ruleset_id}': deleteAccountRuleset,
+  'GET /accounts/{account_id}/rulesets/{ruleset_id}': getAccountRuleset,
+  'PUT /accounts/{account_id}/rulesets/{ruleset_id}': updateAccountRuleset,
+  'POST /accounts/{account_id}/rulesets/{ruleset_id}/rules': createAccountRulesetRule,
+  'DELETE /accounts/{account_id}/rulesets/{ruleset_id}/rules/{rule_id}': deleteAccountRulesetRule,
+  'PATCH /accounts/{account_id}/rulesets/{ruleset_id}/rules/{rule_id}': updateAccountRulesetRule,
+  'GET /accounts/{account_id}/rulesets/{ruleset_id}/versions': listAccountRulesetVersions,
+  'DELETE /accounts/{account_id}/rulesets/{ruleset_id}/versions/{ruleset_version}': deleteAccountRulesetVersion,
+  'GET /accounts/{account_id}/rulesets/{ruleset_id}/versions/{ruleset_version}': getAccountRulesetVersion,
+  'GET /accounts/{account_id}/rulesets/{ruleset_id}/versions/{ruleset_version}/by_tag/{rule_tag}':
+    listAccountRulesetVersionRulesByTag,
+  'POST /accounts/{account_id}/rum/site_info': webAnalyticsCreateSite,
+  'GET /accounts/{account_id}/rum/site_info/list': webAnalyticsListSites,
+  'DELETE /accounts/{account_id}/rum/site_info/{site_id}': webAnalyticsDeleteSite,
+  'GET /accounts/{account_id}/rum/site_info/{site_id}': webAnalyticsGetSite,
+  'PUT /accounts/{account_id}/rum/site_info/{site_id}': webAnalyticsUpdateSite,
+  'POST /accounts/{account_id}/rum/v2/{ruleset_id}/rule': webAnalyticsCreateRule,
+  'DELETE /accounts/{account_id}/rum/v2/{ruleset_id}/rule/{rule_id}': webAnalyticsDeleteRule,
+  'PUT /accounts/{account_id}/rum/v2/{ruleset_id}/rule/{rule_id}': webAnalyticsUpdateRule,
+  'GET /accounts/{account_id}/rum/v2/{ruleset_id}/rules': webAnalyticsListRules,
+  'POST /accounts/{account_id}/rum/v2/{ruleset_id}/rules': webAnalyticsModifyRules,
+  'GET /accounts/{account_id}/secondary_dns/acls': secondaryDnsAclListAcLs,
+  'POST /accounts/{account_id}/secondary_dns/acls': secondaryDnsAclCreateAcl,
+  'DELETE /accounts/{account_id}/secondary_dns/acls/{acl_id}': secondaryDnsAclDeleteAcl,
+  'GET /accounts/{account_id}/secondary_dns/acls/{acl_id}': secondaryDnsAclAclDetails,
+  'PUT /accounts/{account_id}/secondary_dns/acls/{acl_id}': secondaryDnsAclUpdateAcl,
+  'GET /accounts/{account_id}/secondary_dns/peers': secondaryDnsPeerListPeers,
+  'POST /accounts/{account_id}/secondary_dns/peers': secondaryDnsPeerCreatePeer,
+  'DELETE /accounts/{account_id}/secondary_dns/peers/{peer_id}': secondaryDnsPeerDeletePeer,
+  'GET /accounts/{account_id}/secondary_dns/peers/{peer_id}': secondaryDnsPeerPeerDetails,
+  'PUT /accounts/{account_id}/secondary_dns/peers/{peer_id}': secondaryDnsPeerUpdatePeer,
+  'GET /accounts/{account_id}/secondary_dns/tsigs': secondaryDnsTsigListTsiGs,
+  'POST /accounts/{account_id}/secondary_dns/tsigs': secondaryDnsTsigCreateTsig,
+  'DELETE /accounts/{account_id}/secondary_dns/tsigs/{tsig_id}': secondaryDnsTsigDeleteTsig,
+  'GET /accounts/{account_id}/secondary_dns/tsigs/{tsig_id}': secondaryDnsTsigTsigDetails,
+  'PUT /accounts/{account_id}/secondary_dns/tsigs/{tsig_id}': secondaryDnsTsigUpdateTsig,
+  'GET /accounts/{account_id}/shares': sharesList,
+  'POST /accounts/{account_id}/shares': shareCreate,
+  'DELETE /accounts/{account_id}/shares/{share_id}': shareDelete,
+  'GET /accounts/{account_id}/shares/{share_id}': sharesGetById,
+  'PUT /accounts/{account_id}/shares/{share_id}': shareUpdate,
+  'GET /accounts/{account_id}/shares/{share_id}/recipients': shareRecipientsList,
+  'POST /accounts/{account_id}/shares/{share_id}/recipients': shareRecipientCreate,
+  'DELETE /accounts/{account_id}/shares/{share_id}/recipients/{recipient_id}': shareRecipientDelete,
+  'GET /accounts/{account_id}/shares/{share_id}/recipients/{recipient_id}': shareRecipientsGetById,
+  'GET /accounts/{account_id}/shares/{share_id}/resources': shareResourcesList,
+  'POST /accounts/{account_id}/shares/{share_id}/resources': shareResourceCreate,
+  'DELETE /accounts/{account_id}/shares/{share_id}/resources/{resource_id}': shareResourceDelete,
+  'GET /accounts/{account_id}/shares/{share_id}/resources/{resource_id}': shareResourcesGetById,
+  'PUT /accounts/{account_id}/shares/{share_id}/resources/{resource_id}': shareResourceUpdate,
+  'GET /accounts/{account_id}/storage/analytics': workersKvRequestAnalyticsQueryRequestAnalytics,
+  'GET /accounts/{account_id}/storage/analytics/stored': workersKvStoredDataAnalyticsQueryStoredDataAnalytics,
+  'GET /accounts/{account_id}/storage/kv/namespaces': workersKvNamespaceListNamespaces,
+  'POST /accounts/{account_id}/storage/kv/namespaces': workersKvNamespaceCreateANamespace,
+  'DELETE /accounts/{account_id}/storage/kv/namespaces/{namespace_id}': workersKvNamespaceRemoveANamespace,
+  'GET /accounts/{account_id}/storage/kv/namespaces/{namespace_id}': workersKvNamespaceGetANamespace,
+  'PUT /accounts/{account_id}/storage/kv/namespaces/{namespace_id}': workersKvNamespaceRenameANamespace,
+  'DELETE /accounts/{account_id}/storage/kv/namespaces/{namespace_id}/bulk':
+    workersKvNamespaceDeleteMultipleKeyValuePairsDeprecated,
+  'PUT /accounts/{account_id}/storage/kv/namespaces/{namespace_id}/bulk': workersKvNamespaceWriteMultipleKeyValuePairs,
+  'POST /accounts/{account_id}/storage/kv/namespaces/{namespace_id}/bulk/delete':
+    workersKvNamespaceDeleteMultipleKeyValuePairs,
+  'GET /accounts/{account_id}/storage/kv/namespaces/{namespace_id}/keys': workersKvNamespaceListANamespaceSKeys,
+  'GET /accounts/{account_id}/storage/kv/namespaces/{namespace_id}/metadata/{key_name}':
+    workersKvNamespaceReadTheMetadataForAKey,
+  'DELETE /accounts/{account_id}/storage/kv/namespaces/{namespace_id}/values/{key_name}':
+    workersKvNamespaceDeleteKeyValuePair,
+  'GET /accounts/{account_id}/storage/kv/namespaces/{namespace_id}/values/{key_name}':
+    workersKvNamespaceReadKeyValuePair,
+  'PUT /accounts/{account_id}/storage/kv/namespaces/{namespace_id}/values/{key_name}':
+    workersKvNamespaceWriteKeyValuePairWithMetadata,
+  'GET /accounts/{account_id}/stream': streamVideosListVideos,
+  'POST /accounts/{account_id}/stream': streamVideosInitiateVideoUploadsUsingTus,
+  'POST /accounts/{account_id}/stream/clip': streamVideoClippingClipVideosGivenAStartAndEndTime,
+  'POST /accounts/{account_id}/stream/copy': streamVideosUploadVideosFromAUrl,
+  'POST /accounts/{account_id}/stream/direct_upload': streamVideosUploadVideosViaDirectUploadUrLs,
+  'GET /accounts/{account_id}/stream/keys': streamSigningKeysListSigningKeys,
+  'POST /accounts/{account_id}/stream/keys': streamSigningKeysCreateSigningKeys,
+  'DELETE /accounts/{account_id}/stream/keys/{identifier}': streamSigningKeysDeleteSigningKeys,
+  'GET /accounts/{account_id}/stream/live_inputs': streamLiveInputsListLiveInputs,
+  'POST /accounts/{account_id}/stream/live_inputs': streamLiveInputsCreateALiveInput,
+  'DELETE /accounts/{account_id}/stream/live_inputs/{live_input_identifier}': streamLiveInputsDeleteALiveInput,
+  'GET /accounts/{account_id}/stream/live_inputs/{live_input_identifier}': streamLiveInputsRetrieveALiveInput,
+  'PUT /accounts/{account_id}/stream/live_inputs/{live_input_identifier}': streamLiveInputsUpdateALiveInput,
+  'GET /accounts/{account_id}/stream/live_inputs/{live_input_identifier}/outputs':
+    streamLiveInputsListAllOutputsAssociatedWithASpecifiedLiveInput,
+  'POST /accounts/{account_id}/stream/live_inputs/{live_input_identifier}/outputs':
+    streamLiveInputsCreateANewOutputConnectedToALiveInput,
+  'DELETE /accounts/{account_id}/stream/live_inputs/{live_input_identifier}/outputs/{output_identifier}':
+    streamLiveInputsDeleteAnOutput,
+  'PUT /accounts/{account_id}/stream/live_inputs/{live_input_identifier}/outputs/{output_identifier}':
+    streamLiveInputsUpdateAnOutput,
+  'GET /accounts/{account_id}/stream/storage-usage': streamVideosStorageUsage,
+  'GET /accounts/{account_id}/stream/watermarks': streamWatermarkProfileListWatermarkProfiles,
+  'POST /accounts/{account_id}/stream/watermarks': streamWatermarkProfileCreateWatermarkProfilesViaBasicUpload,
+  'DELETE /accounts/{account_id}/stream/watermarks/{identifier}': streamWatermarkProfileDeleteWatermarkProfiles,
+  'GET /accounts/{account_id}/stream/watermarks/{identifier}': streamWatermarkProfileWatermarkProfileDetails,
+  'DELETE /accounts/{account_id}/stream/webhook': streamWebhookDeleteWebhooks,
+  'GET /accounts/{account_id}/stream/webhook': streamWebhookViewWebhooks,
+  'PUT /accounts/{account_id}/stream/webhook': streamWebhookCreateWebhooks,
+  'DELETE /accounts/{account_id}/stream/{identifier}': streamVideosDeleteVideo,
+  'GET /accounts/{account_id}/stream/{identifier}': streamVideosRetrieveVideoDetails,
+  'POST /accounts/{account_id}/stream/{identifier}': streamVideosUpdateVideoDetails,
+  'GET /accounts/{account_id}/stream/{identifier}/audio': listAudioTracks,
+  'POST /accounts/{account_id}/stream/{identifier}/audio/copy': addAudioTrack,
+  'DELETE /accounts/{account_id}/stream/{identifier}/audio/{audio_identifier}': deleteAudioTracks,
+  'PATCH /accounts/{account_id}/stream/{identifier}/audio/{audio_identifier}': editAudioTracks,
+  'GET /accounts/{account_id}/stream/{identifier}/captions': streamSubtitlesCaptionsListCaptionsOrSubtitles,
+  'DELETE /accounts/{account_id}/stream/{identifier}/captions/{language}':
+    streamSubtitlesCaptionsDeleteCaptionsOrSubtitles,
+  'GET /accounts/{account_id}/stream/{identifier}/captions/{language}':
+    streamSubtitlesCaptionsGetCaptionOrSubtitleForLanguage,
+  'PUT /accounts/{account_id}/stream/{identifier}/captions/{language}':
+    streamSubtitlesCaptionsUploadCaptionsOrSubtitles,
+  'POST /accounts/{account_id}/stream/{identifier}/captions/{language}/generate':
+    streamSubtitlesCaptionsGenerateCaptionOrSubtitleForLanguage,
+  'GET /accounts/{account_id}/stream/{identifier}/captions/{language}/vtt':
+    streamSubtitlesCaptionsGetVttCaptionOrSubtitle,
+  'DELETE /accounts/{account_id}/stream/{identifier}/downloads': streamMP4DownloadsDeleteDownloads,
+  'GET /accounts/{account_id}/stream/{identifier}/downloads': streamMP4DownloadsListDownloads,
+  'POST /accounts/{account_id}/stream/{identifier}/downloads': streamMP4DownloadsCreateDownloads,
+  'GET /accounts/{account_id}/stream/{identifier}/embed': streamVideosRetreieveEmbedCodeHtml,
+  'POST /accounts/{account_id}/stream/{identifier}/token': streamVideosCreateSignedUrlTokensForVideos,
+  'GET /accounts/{account_id}/subscriptions': accountSubscriptionsListSubscriptions,
+  'POST /accounts/{account_id}/subscriptions': accountSubscriptionsCreateSubscription,
+  'DELETE /accounts/{account_id}/subscriptions/{subscription_identifier}': accountSubscriptionsDeleteSubscription,
+  'PUT /accounts/{account_id}/subscriptions/{subscription_identifier}': accountSubscriptionsUpdateSubscription,
+  'GET /accounts/{account_id}/teamnet/routes': tunnelRouteListTunnelRoutes,
+  'POST /accounts/{account_id}/teamnet/routes': tunnelRouteCreateATunnelRoute,
+  'GET /accounts/{account_id}/teamnet/routes/ip/{ip}': tunnelRouteGetTunnelRouteByIp,
+  'DELETE /accounts/{account_id}/teamnet/routes/network/{ip_network_encoded}': tunnelRouteDeleteATunnelRouteWithCidr,
+  'PATCH /accounts/{account_id}/teamnet/routes/network/{ip_network_encoded}': tunnelRouteUpdateATunnelRouteWithCidr,
+  'POST /accounts/{account_id}/teamnet/routes/network/{ip_network_encoded}': tunnelRouteCreateATunnelRouteWithCidr,
+  'DELETE /accounts/{account_id}/teamnet/routes/{route_id}': tunnelRouteDeleteATunnelRoute,
+  'GET /accounts/{account_id}/teamnet/routes/{route_id}': tunnelRouteGetTunnelRoute,
+  'PATCH /accounts/{account_id}/teamnet/routes/{route_id}': tunnelRouteUpdateATunnelRoute,
+  'GET /accounts/{account_id}/teamnet/virtual_networks': tunnelVirtualNetworkListVirtualNetworks,
+  'POST /accounts/{account_id}/teamnet/virtual_networks': tunnelVirtualNetworkCreateAVirtualNetwork,
+  'DELETE /accounts/{account_id}/teamnet/virtual_networks/{virtual_network_id}': tunnelVirtualNetworkDelete,
+  'GET /accounts/{account_id}/teamnet/virtual_networks/{virtual_network_id}': tunnelVirtualNetworkGet,
+  'PATCH /accounts/{account_id}/teamnet/virtual_networks/{virtual_network_id}': tunnelVirtualNetworkUpdate,
+  'GET /accounts/{account_id}/tokens': accountApiTokensListTokens,
+  'POST /accounts/{account_id}/tokens': accountApiTokensCreateToken,
+  'GET /accounts/{account_id}/tokens/permission_groups': accountApiTokensListPermissionGroups,
+  'GET /accounts/{account_id}/tokens/verify': accountApiTokensVerifyToken,
+  'DELETE /accounts/{account_id}/tokens/{token_id}': accountApiTokensDeleteToken,
+  'GET /accounts/{account_id}/tokens/{token_id}': accountApiTokensTokenDetails,
+  'PUT /accounts/{account_id}/tokens/{token_id}': accountApiTokensUpdateToken,
+  'PUT /accounts/{account_id}/tokens/{token_id}/value': accountApiTokensRollToken,
+  'GET /accounts/{account_id}/tunnels': cloudflareTunnelListAllTunnels,
+  'POST /accounts/{account_id}/v1/abuse-reports/{report_type}': submitAbuseReport,
+  'GET /accounts/{account_id}/vectorize/indexes': vectorizeDeprecatedListVectorizeIndexes,
+  'POST /accounts/{account_id}/vectorize/indexes': vectorizeDeprecatedCreateVectorizeIndex,
+  'DELETE /accounts/{account_id}/vectorize/indexes/{index_name}': vectorizeDeprecatedDeleteVectorizeIndex,
+  'GET /accounts/{account_id}/vectorize/indexes/{index_name}': vectorizeDeprecatedGetVectorizeIndex,
+  'PUT /accounts/{account_id}/vectorize/indexes/{index_name}': vectorizeDeprecatedUpdateVectorizeIndex,
+  'POST /accounts/{account_id}/vectorize/indexes/{index_name}/delete-by-ids': vectorizeDeprecatedDeleteVectorsById,
+  'POST /accounts/{account_id}/vectorize/indexes/{index_name}/get-by-ids': vectorizeDeprecatedGetVectorsById,
+  'POST /accounts/{account_id}/vectorize/indexes/{index_name}/insert': vectorizeDeprecatedInsertVector,
+  'POST /accounts/{account_id}/vectorize/indexes/{index_name}/query': vectorizeDeprecatedQueryVector,
+  'POST /accounts/{account_id}/vectorize/indexes/{index_name}/upsert': vectorizeDeprecatedUpsertVector,
+  'GET /accounts/{account_id}/vectorize/v2/indexes': vectorizeListVectorizeIndexes,
+  'POST /accounts/{account_id}/vectorize/v2/indexes': vectorizeCreateVectorizeIndex,
+  'DELETE /accounts/{account_id}/vectorize/v2/indexes/{index_name}': vectorizeDeleteVectorizeIndex,
+  'GET /accounts/{account_id}/vectorize/v2/indexes/{index_name}': vectorizeGetVectorizeIndex,
+  'POST /accounts/{account_id}/vectorize/v2/indexes/{index_name}/delete_by_ids': vectorizeDeleteVectorsById,
+  'POST /accounts/{account_id}/vectorize/v2/indexes/{index_name}/get_by_ids': vectorizeGetVectorsById,
+  'GET /accounts/{account_id}/vectorize/v2/indexes/{index_name}/info': vectorizeIndexInfo,
+  'POST /accounts/{account_id}/vectorize/v2/indexes/{index_name}/insert': vectorizeInsertVector,
+  'POST /accounts/{account_id}/vectorize/v2/indexes/{index_name}/metadata_index/create': vectorizeCreateMetadataIndex,
+  'POST /accounts/{account_id}/vectorize/v2/indexes/{index_name}/metadata_index/delete': vectorizeDeleteMetadataIndex,
+  'GET /accounts/{account_id}/vectorize/v2/indexes/{index_name}/metadata_index/list': vectorizeListMetadataIndexes,
+  'POST /accounts/{account_id}/vectorize/v2/indexes/{index_name}/query': vectorizeQueryVector,
+  'POST /accounts/{account_id}/vectorize/v2/indexes/{index_name}/upsert': vectorizeUpsertVector,
+  'GET /accounts/{account_id}/warp_connector': cloudflareTunnelListWarpConnectorTunnels,
+  'POST /accounts/{account_id}/warp_connector': cloudflareTunnelCreateAWarpConnectorTunnel,
+  'DELETE /accounts/{account_id}/warp_connector/{tunnel_id}': cloudflareTunnelDeleteAWarpConnectorTunnel,
+  'GET /accounts/{account_id}/warp_connector/{tunnel_id}': cloudflareTunnelGetAWarpConnectorTunnel,
+  'PATCH /accounts/{account_id}/warp_connector/{tunnel_id}': cloudflareTunnelUpdateAWarpConnectorTunnel,
+  'GET /accounts/{account_id}/warp_connector/{tunnel_id}/token': cloudflareTunnelGetAWarpConnectorTunnelToken,
+  'GET /accounts/{account_id}/workers/account-settings': workerAccountSettingsFetchWorkerAccountSettings,
+  'PUT /accounts/{account_id}/workers/account-settings': workerAccountSettingsCreateWorkerAccountSettings,
+  'POST /accounts/{account_id}/workers/assets/upload': workerAssetsUpload,
+  'GET /accounts/{account_id}/workers/deployments/by-script/{script_id}': workerDeploymentsDeprecatedListDeployments,
+  'GET /accounts/{account_id}/workers/deployments/by-script/{script_id}/detail/{deployment_id}':
+    workerDeploymentsDeprecatedGetDeploymentDetail,
+  'GET /accounts/{account_id}/workers/dispatch/namespaces': namespaceWorkerList,
+  'POST /accounts/{account_id}/workers/dispatch/namespaces': namespaceWorkerCreate,
+  'DELETE /accounts/{account_id}/workers/dispatch/namespaces/{dispatch_namespace}': namespaceWorkerDeleteNamespace,
+  'GET /accounts/{account_id}/workers/dispatch/namespaces/{dispatch_namespace}': namespaceWorkerGetNamespace,
+  'DELETE /accounts/{account_id}/workers/dispatch/namespaces/{dispatch_namespace}/scripts/{script_name}':
+    namespaceWorkerScriptDeleteWorker,
+  'GET /accounts/{account_id}/workers/dispatch/namespaces/{dispatch_namespace}/scripts/{script_name}':
+    namespaceWorkerScriptWorkerDetails,
+  'PUT /accounts/{account_id}/workers/dispatch/namespaces/{dispatch_namespace}/scripts/{script_name}':
+    namespaceWorkerScriptUploadWorkerModule,
+  'POST /accounts/{account_id}/workers/dispatch/namespaces/{dispatch_namespace}/scripts/{script_name}/assets-upload-session':
+    namespaceWorkerScriptUpdateCreateAssetsUploadSession,
+  'GET /accounts/{account_id}/workers/dispatch/namespaces/{dispatch_namespace}/scripts/{script_name}/bindings':
+    namespaceWorkerGetScriptBindings,
+  'GET /accounts/{account_id}/workers/dispatch/namespaces/{dispatch_namespace}/scripts/{script_name}/content':
+    namespaceWorkerGetScriptContent,
+  'PUT /accounts/{account_id}/workers/dispatch/namespaces/{dispatch_namespace}/scripts/{script_name}/content':
+    namespaceWorkerPutScriptContent,
+  'GET /accounts/{account_id}/workers/dispatch/namespaces/{dispatch_namespace}/scripts/{script_name}/secrets':
+    namespaceWorkerListScriptSecrets,
+  'PUT /accounts/{account_id}/workers/dispatch/namespaces/{dispatch_namespace}/scripts/{script_name}/secrets':
+    namespaceWorkerPutScriptSecrets,
+  'GET /accounts/{account_id}/workers/dispatch/namespaces/{dispatch_namespace}/scripts/{script_name}/secrets/{secret_name}':
+    namespaceWorkerGetScriptSecrets,
+  'GET /accounts/{account_id}/workers/dispatch/namespaces/{dispatch_namespace}/scripts/{script_name}/settings':
+    namespaceWorkerGetScriptSettings,
+  'PATCH /accounts/{account_id}/workers/dispatch/namespaces/{dispatch_namespace}/scripts/{script_name}/settings':
+    namespaceWorkerPatchScriptSettings,
+  'GET /accounts/{account_id}/workers/dispatch/namespaces/{dispatch_namespace}/scripts/{script_name}/tags':
+    namespaceWorkerGetScriptTags,
+  'PUT /accounts/{account_id}/workers/dispatch/namespaces/{dispatch_namespace}/scripts/{script_name}/tags':
+    namespaceWorkerPutScriptTags,
+  'DELETE /accounts/{account_id}/workers/dispatch/namespaces/{dispatch_namespace}/scripts/{script_name}/tags/{tag}':
+    namespaceWorkerDeleteScriptTag,
+  'PUT /accounts/{account_id}/workers/dispatch/namespaces/{dispatch_namespace}/scripts/{script_name}/tags/{tag}':
+    namespaceWorkerPutScriptTag,
+  'GET /accounts/{account_id}/workers/domains': workerDomainListDomains,
+  'PUT /accounts/{account_id}/workers/domains': workerDomainAttachToDomain,
+  'DELETE /accounts/{account_id}/workers/domains/{domain_id}': workerDomainDetachFromDomain,
+  'GET /accounts/{account_id}/workers/domains/{domain_id}': workerDomainGetADomain,
+  'GET /accounts/{account_id}/workers/durable_objects/namespaces': durableObjectsNamespaceListNamespaces,
+  'GET /accounts/{account_id}/workers/durable_objects/namespaces/{id}/objects': durableObjectsNamespaceListObjects,
+  'GET /accounts/{account_id}/workers/scripts': workerScriptListWorkers,
+  'DELETE /accounts/{account_id}/workers/scripts/{script_name}': workerScriptDeleteWorker,
+  'GET /accounts/{account_id}/workers/scripts/{script_name}': workerScriptDownloadWorker,
+  'PUT /accounts/{account_id}/workers/scripts/{script_name}': workerScriptUploadWorkerModule,
+  'POST /accounts/{account_id}/workers/scripts/{script_name}/assets-upload-session':
+    workerScriptUpdateCreateAssetsUploadSession,
+  'PUT /accounts/{account_id}/workers/scripts/{script_name}/content': workerScriptPutContent,
+  'GET /accounts/{account_id}/workers/scripts/{script_name}/content/v2': workerScriptGetContent,
+  'GET /accounts/{account_id}/workers/scripts/{script_name}/deployments': workerDeploymentsListDeployments,
+  'POST /accounts/{account_id}/workers/scripts/{script_name}/deployments': workerDeploymentsCreateDeployment,
+  'GET /accounts/{account_id}/workers/scripts/{script_name}/schedules': workerCronTriggerGetCronTriggers,
+  'PUT /accounts/{account_id}/workers/scripts/{script_name}/schedules': workerCronTriggerUpdateCronTriggers,
+  'GET /accounts/{account_id}/workers/scripts/{script_name}/script-settings': workerScriptSettingsGetSettings,
+  'PATCH /accounts/{account_id}/workers/scripts/{script_name}/script-settings': workerScriptSettingsPatchSettings,
+  'GET /accounts/{account_id}/workers/scripts/{script_name}/settings': workerScriptGetSettings,
+  'PATCH /accounts/{account_id}/workers/scripts/{script_name}/settings': workerScriptPatchSettings,
+  'GET /accounts/{account_id}/workers/scripts/{script_name}/subdomain': workerScriptGetSubdomain,
+  'POST /accounts/{account_id}/workers/scripts/{script_name}/subdomain': workerScriptPostSubdomain,
+  'GET /accounts/{account_id}/workers/scripts/{script_name}/tails': workerTailLogsListTails,
+  'POST /accounts/{account_id}/workers/scripts/{script_name}/tails': workerTailLogsStartTail,
+  'DELETE /accounts/{account_id}/workers/scripts/{script_name}/tails/{id}': workerTailLogsDeleteTail,
+  'GET /accounts/{account_id}/workers/scripts/{script_name}/usage-model': workerScriptFetchUsageModel,
+  'PUT /accounts/{account_id}/workers/scripts/{script_name}/usage-model': workerScriptUpdateUsageModel,
+  'GET /accounts/{account_id}/workers/scripts/{script_name}/versions': workerVersionsListVersions,
+  'POST /accounts/{account_id}/workers/scripts/{script_name}/versions': workerVersionsUploadVersion,
+  'GET /accounts/{account_id}/workers/scripts/{script_name}/versions/{version_id}': workerVersionsGetVersionDetail,
+  'GET /accounts/{account_id}/workers/services/{service_name}/environments/{environment_name}/content':
+    workerEnvironmentGetScriptContent,
+  'PUT /accounts/{account_id}/workers/services/{service_name}/environments/{environment_name}/content':
+    workerEnvironmentPutScriptContent,
+  'GET /accounts/{account_id}/workers/services/{service_name}/environments/{environment_name}/settings':
+    workerScriptEnvironmentGetSettings,
+  'PATCH /accounts/{account_id}/workers/services/{service_name}/environments/{environment_name}/settings':
+    workerScriptEnvironmentPatchSettings,
+  'GET /accounts/{account_id}/workers/subdomain': workerSubdomainGetSubdomain,
+  'PUT /accounts/{account_id}/workers/subdomain': workerSubdomainCreateSubdomain,
+  'GET /accounts/{account_id}/workflows': worListWorkflows,
+  'GET /accounts/{account_id}/workflows/{workflow_name}': worGetWorkflowDetails,
+  'PUT /accounts/{account_id}/workflows/{workflow_name}': worCreateOrModifyWorkflow,
+  'GET /accounts/{account_id}/workflows/{workflow_name}/instances': worListWorkflowInstances,
+  'POST /accounts/{account_id}/workflows/{workflow_name}/instances': worCreateNewWorkflowInstance,
+  'GET /accounts/{account_id}/workflows/{workflow_name}/instances/{instance_id}': worDescribeWorkflowInstance,
+  'PATCH /accounts/{account_id}/workflows/{workflow_name}/instances/{instance_id}/status':
+    worChangeStatusWorkflowInstance,
+  'GET /accounts/{account_id}/workflows/{workflow_name}/versions': worListWorkflowVersions,
+  'GET /accounts/{account_id}/workflows/{workflow_name}/versions/{version_id}': worDescribeWorkflowVersions,
+  'GET /accounts/{account_id}/zerotrust/connectivity_settings': zeroTrustAccountsGetConnectivitySettings,
+  'PATCH /accounts/{account_id}/zerotrust/connectivity_settings': zeroTrustAccountsPatchConnectivitySettings,
+  'GET /accounts/{account_id}/zt_risk_scoring/behaviors': dlpRiskScoreBehaviorsGet,
+  'PUT /accounts/{account_id}/zt_risk_scoring/behaviors': dlpRiskScoreBehaviorsPut,
+  'GET /accounts/{account_id}/zt_risk_scoring/integrations': dlpZtRiskScoreIntegrationList,
+  'POST /accounts/{account_id}/zt_risk_scoring/integrations': dlpZtRiskScoreIntegrationCreate,
+  'GET /accounts/{account_id}/zt_risk_scoring/integrations/reference_id/{reference_id}':
+    dlpZtRiskScoreIntegrationGetByReferenceId,
+  'DELETE /accounts/{account_id}/zt_risk_scoring/integrations/{integration_id}': dlpZtRiskScoreIntegrationDelete,
+  'GET /accounts/{account_id}/zt_risk_scoring/integrations/{integration_id}': dlpZtRiskScoreIntegrationGet,
+  'PUT /accounts/{account_id}/zt_risk_scoring/integrations/{integration_id}': dlpZtRiskScoreIntegrationUpdate,
+  'GET /accounts/{account_id}/zt_risk_scoring/summary': dlpRiskScoreSummaryGet,
+  'GET /accounts/{account_id}/zt_risk_scoring/{user_id}': dlpRiskScoreSummaryGetForUser,
+  'POST /accounts/{account_id}/zt_risk_scoring/{user_id}/reset': dlpRiskScoreResetPost,
+  'GET /certificates': originCaListCertificates,
+  'POST /certificates': originCaCreateCertificate,
+  'DELETE /certificates/{certificate_id}': originCaRevokeCertificate,
+  'GET /certificates/{certificate_id}': originCaGetCertificate,
+  'GET /ips': cloudflareIPsCloudflareIpDetails,
+  'GET /memberships': userSAccountMembershipsListMemberships,
+  'DELETE /memberships/{membership_id}': userSAccountMembershipsDeleteMembership,
+  'GET /memberships/{membership_id}': userSAccountMembershipsMembershipDetails,
+  'PUT /memberships/{membership_id}': userSAccountMembershipsUpdateMembership,
+  'GET /organizations/{organization_id}/audit_logs': auditLogsGetOrganizationAuditLogs,
+  'GET /organizations/{organization_id}/shares': organizationSharesList,
+  'GET /radar/ai/bots/summary/user_agent': radarGetAiBotsSummaryByUserAgent,
+  'GET /radar/ai/bots/timeseries_groups/user_agent': radarGetAiBotsTimeseriesGroupByUserAgent,
+  'GET /radar/annotations': radarGetAnnotations,
+  'GET /radar/annotations/outages': radarGetAnnotationsOutages,
+  'GET /radar/annotations/outages/locations': radarGetAnnotationsOutagesTop,
+  'GET /radar/as112/summary/dnssec': radarGetDnsAs112TimeseriesByDnssec,
+  'GET /radar/as112/summary/edns': radarGetDnsAs112TimeseriesByEdns,
+  'GET /radar/as112/summary/ip_version': radarGetDnsAs112TimeseriesByIpVersion,
+  'GET /radar/as112/summary/protocol': radarGetDnsAs112TimeseriesByProtocol,
+  'GET /radar/as112/summary/query_type': radarGetDnsAs112TimeseriesByQueryType,
+  'GET /radar/as112/summary/response_codes': radarGetDnsAs112TimeseriesByResponseCodes,
+  'GET /radar/as112/timeseries': radarGetDnsAs112Timeseries,
+  'GET /radar/as112/timeseries_groups/dnssec': radarGetDnsAs112TimeseriesGroupByDnssec,
+  'GET /radar/as112/timeseries_groups/edns': radarGetDnsAs112TimeseriesGroupByEdns,
+  'GET /radar/as112/timeseries_groups/ip_version': radarGetDnsAs112TimeseriesGroupByIpVersion,
+  'GET /radar/as112/timeseries_groups/protocol': radarGetDnsAs112TimeseriesGroupByProtocol,
+  'GET /radar/as112/timeseries_groups/query_type': radarGetDnsAs112TimeseriesGroupByQueryType,
+  'GET /radar/as112/timeseries_groups/response_codes': radarGetDnsAs112TimeseriesGroupByResponseCodes,
+  'GET /radar/as112/top/locations': radarGetDnsAs112TopLocations,
+  'GET /radar/as112/top/locations/dnssec/{dnssec}': radarGetDnsAs112TopLocationsByDnssec,
+  'GET /radar/as112/top/locations/edns/{edns}': radarGetDnsAs112TopLocationsByEdns,
+  'GET /radar/as112/top/locations/ip_version/{ip_version}': radarGetDnsAs112TopLocationsByIpVersion,
+  'GET /radar/attacks/layer3/summary': radarGetAttacksLayer3Summary,
+  'GET /radar/attacks/layer3/summary/bitrate': radarGetAttacksLayer3SummaryByBitrate,
+  'GET /radar/attacks/layer3/summary/duration': radarGetAttacksLayer3SummaryByDuration,
+  'GET /radar/attacks/layer3/summary/ip_version': radarGetAttacksLayer3SummaryByIpVersion,
+  'GET /radar/attacks/layer3/summary/protocol': radarGetAttacksLayer3SummaryByProtocol,
+  'GET /radar/attacks/layer3/summary/vector': radarGetAttacksLayer3SummaryByVector,
+  'GET /radar/attacks/layer3/timeseries': radarGetAttacksLayer3TimeseriesByBytes,
+  'GET /radar/attacks/layer3/timeseries_groups': radarGetAttacksLayer3TimeseriesGroups,
+  'GET /radar/attacks/layer3/timeseries_groups/bitrate': radarGetAttacksLayer3TimeseriesGroupByBitrate,
+  'GET /radar/attacks/layer3/timeseries_groups/duration': radarGetAttacksLayer3TimeseriesGroupByDuration,
+  'GET /radar/attacks/layer3/timeseries_groups/industry': radarGetAttacksLayer3TimeseriesGroupByIndustry,
+  'GET /radar/attacks/layer3/timeseries_groups/ip_version': radarGetAttacksLayer3TimeseriesGroupByIpVersion,
+  'GET /radar/attacks/layer3/timeseries_groups/protocol': radarGetAttacksLayer3TimeseriesGroupByProtocol,
+  'GET /radar/attacks/layer3/timeseries_groups/vector': radarGetAttacksLayer3TimeseriesGroupByVector,
+  'GET /radar/attacks/layer3/timeseries_groups/vertical': radarGetAttacksLayer3TimeseriesGroupByVertical,
+  'GET /radar/attacks/layer3/top/attacks': radarGetAttacksLayer3TopAttacks,
+  'GET /radar/attacks/layer3/top/industry': radarGetAttacksLayer3TopIndustries,
+  'GET /radar/attacks/layer3/top/locations/origin': radarGetAttacksLayer3TopOriginLocations,
+  'GET /radar/attacks/layer3/top/locations/target': radarGetAttacksLayer3TopTargetLocations,
+  'GET /radar/attacks/layer3/top/vertical': radarGetAttacksLayer3TopVerticals,
+  'GET /radar/attacks/layer7/summary': radarGetAttacksLayer7Summary,
+  'GET /radar/attacks/layer7/summary/http_method': radarGetAttacksLayer7SummaryByHttpMethod,
+  'GET /radar/attacks/layer7/summary/http_version': radarGetAttacksLayer7SummaryByHttpVersion,
+  'GET /radar/attacks/layer7/summary/ip_version': radarGetAttacksLayer7SummaryByIpVersion,
+  'GET /radar/attacks/layer7/summary/managed_rules': radarGetAttacksLayer7SummaryByManagedRules,
+  'GET /radar/attacks/layer7/summary/mitigation_product': radarGetAttacksLayer7SummaryByMitigationProduct,
+  'GET /radar/attacks/layer7/timeseries': radarGetAttacksLayer7Timeseries,
+  'GET /radar/attacks/layer7/timeseries_groups': radarGetAttacksLayer7TimeseriesGroup,
+  'GET /radar/attacks/layer7/timeseries_groups/http_method': radarGetAttacksLayer7TimeseriesGroupByHttpMethod,
+  'GET /radar/attacks/layer7/timeseries_groups/http_version': radarGetAttacksLayer7TimeseriesGroupByHttpVersion,
+  'GET /radar/attacks/layer7/timeseries_groups/industry': radarGetAttacksLayer7TimeseriesGroupByIndustry,
+  'GET /radar/attacks/layer7/timeseries_groups/ip_version': radarGetAttacksLayer7TimeseriesGroupByIpVersion,
+  'GET /radar/attacks/layer7/timeseries_groups/managed_rules': radarGetAttacksLayer7TimeseriesGroupByManagedRules,
+  'GET /radar/attacks/layer7/timeseries_groups/mitigation_product':
+    radarGetAttacksLayer7TimeseriesGroupByMitigationProduct,
+  'GET /radar/attacks/layer7/timeseries_groups/vertical': radarGetAttacksLayer7TimeseriesGroupByVertical,
+  'GET /radar/attacks/layer7/top/ases/origin': radarGetAttacksLayer7TopOriginAs,
+  'GET /radar/attacks/layer7/top/attacks': radarGetAttacksLayer7TopAttacks,
+  'GET /radar/attacks/layer7/top/industry': radarGetAttacksLayer7TopIndustries,
+  'GET /radar/attacks/layer7/top/locations/origin': radarGetAttacksLayer7TopOriginLocation,
+  'GET /radar/attacks/layer7/top/locations/target': radarGetAttacksLayer7TopTargetLocation,
+  'GET /radar/attacks/layer7/top/vertical': radarGetAttacksLayer7TopVerticals,
+  'GET /radar/bgp/hijacks/events': radarGetBgpHijacksEvents,
+  'GET /radar/bgp/ips/timeseries': radarGetBgpIpsTimeseries,
+  'GET /radar/bgp/leaks/events': radarGetBgpRouteLeakEvents,
+  'GET /radar/bgp/routes/ases': radarGetBgpRoutesAsns,
+  'GET /radar/bgp/routes/moas': radarGetBgpPfx2asMoas,
+  'GET /radar/bgp/routes/pfx2as': radarGetBgpPfx2as,
+  'GET /radar/bgp/routes/stats': radarGetBgpRoutesStats,
+  'GET /radar/bgp/timeseries': radarGetBgpTimeseries,
+  'GET /radar/bgp/top/ases': radarGetBgpTopAses,
+  'GET /radar/bgp/top/ases/prefixes': radarGetBgpTopAsnsByPrefixes,
+  'GET /radar/bgp/top/prefixes': radarGetBgpTopPrefixes,
+  'GET /radar/datasets': radarGetReportsDatasets,
+  'POST /radar/datasets/download': radarPostReportsDatasetDownloadUrl,
+  'GET /radar/datasets/{alias}': radarGetReportsDatasetDownload,
+  'GET /radar/dns/top/ases': radarGetDnsTopAses,
+  'GET /radar/dns/top/locations': radarGetDnsTopLocations,
+  'GET /radar/email/routing/summary/arc': radarGetEmailRoutingSummaryByArc,
+  'GET /radar/email/routing/summary/dkim': radarGetEmailRoutingSummaryByDkim,
+  'GET /radar/email/routing/summary/dmarc': radarGetEmailRoutingSummaryByDmarc,
+  'GET /radar/email/routing/summary/encrypted': radarGetEmailRoutingSummaryByEncrypted,
+  'GET /radar/email/routing/summary/ip_version': radarGetEmailRoutingSummaryByIpVersion,
+  'GET /radar/email/routing/summary/spf': radarGetEmailRoutingSummaryBySpf,
+  'GET /radar/email/routing/timeseries_groups/arc': radarGetEmailRoutingTimeseriesGroupByArc,
+  'GET /radar/email/routing/timeseries_groups/dkim': radarGetEmailRoutingTimeseriesGroupByDkim,
+  'GET /radar/email/routing/timeseries_groups/dmarc': radarGetEmailRoutingTimeseriesGroupByDmarc,
+  'GET /radar/email/routing/timeseries_groups/encrypted': radarGetEmailRoutingTimeseriesGroupByEncrypted,
+  'GET /radar/email/routing/timeseries_groups/ip_version': radarGetEmailRoutingTimeseriesGroupByIpVersion,
+  'GET /radar/email/routing/timeseries_groups/spf': radarGetEmailRoutingTimeseriesGroupBySpf,
+  'GET /radar/email/security/summary/arc': radarGetEmailSecuritySummaryByArc,
+  'GET /radar/email/security/summary/dkim': radarGetEmailSecuritySummaryByDkim,
+  'GET /radar/email/security/summary/dmarc': radarGetEmailSecuritySummaryByDmarc,
+  'GET /radar/email/security/summary/malicious': radarGetEmailSecuritySummaryByMalicious,
+  'GET /radar/email/security/summary/spam': radarGetEmailSecuritySummaryBySpam,
+  'GET /radar/email/security/summary/spf': radarGetEmailSecuritySummaryBySpf,
+  'GET /radar/email/security/summary/spoof': radarGetEmailSecuritySummaryBySpoof,
+  'GET /radar/email/security/summary/threat_category': radarGetEmailSecuritySummaryByThreatCategory,
+  'GET /radar/email/security/summary/tls_version': radarGetEmailSecuritySummaryByTlsVersion,
+  'GET /radar/email/security/timeseries_groups/arc': radarGetEmailSecurityTimeseriesGroupByArc,
+  'GET /radar/email/security/timeseries_groups/dkim': radarGetEmailSecurityTimeseriesGroupByDkim,
+  'GET /radar/email/security/timeseries_groups/dmarc': radarGetEmailSecurityTimeseriesGroupByDmarc,
+  'GET /radar/email/security/timeseries_groups/malicious': radarGetEmailSecurityTimeseriesGroupByMalicious,
+  'GET /radar/email/security/timeseries_groups/spam': radarGetEmailSecurityTimeseriesGroupBySpam,
+  'GET /radar/email/security/timeseries_groups/spf': radarGetEmailSecurityTimeseriesGroupBySpf,
+  'GET /radar/email/security/timeseries_groups/spoof': radarGetEmailSecurityTimeseriesGroupBySpoof,
+  'GET /radar/email/security/timeseries_groups/threat_category': radarGetEmailSecurityTimeseriesGroupByThreatCategory,
+  'GET /radar/email/security/timeseries_groups/tls_version': radarGetEmailSecurityTimeseriesGroupByTlsVersion,
+  'GET /radar/email/security/top/tlds': radarGetEmailSecurityTopTldsByMessages,
+  'GET /radar/email/security/top/tlds/malicious/{malicious}': radarGetEmailSecurityTopTldsByMalicious,
+  'GET /radar/email/security/top/tlds/spam/{spam}': radarGetEmailSecurityTopTldsBySpam,
+  'GET /radar/email/security/top/tlds/spoof/{spoof}': radarGetEmailSecurityTopTldsBySpoof,
+  'GET /radar/entities/asns': radarGetEntitiesAsnList,
+  'GET /radar/entities/asns/ip': radarGetEntitiesAsnByIp,
+  'GET /radar/entities/asns/{asn}': radarGetEntitiesAsnById,
+  'GET /radar/entities/asns/{asn}/rel': radarGetAsnsRel,
+  'GET /radar/entities/ip': radarGetEntitiesIp,
+  'GET /radar/entities/locations': radarGetEntitiesLocations,
+  'GET /radar/entities/locations/{location}': radarGetEntitiesLocationByAlpha2,
+  'GET /radar/http/summary/bot_class': radarGetHttpSummaryByBotClass,
+  'GET /radar/http/summary/device_type': radarGetHttpSummaryByDeviceType,
+  'GET /radar/http/summary/http_protocol': radarGetHttpSummaryByHttpProtocol,
+  'GET /radar/http/summary/http_version': radarGetHttpSummaryByHttpVersion,
+  'GET /radar/http/summary/ip_version': radarGetHttpSummaryByIpVersion,
+  'GET /radar/http/summary/os': radarGetHttpSummaryByOperatingSystem,
+  'GET /radar/http/summary/post_quantum': radarGetHttpSummaryByPostQuantum,
+  'GET /radar/http/summary/tls_version': radarGetHttpSummaryByTlsVersion,
+  'GET /radar/http/timeseries': radarGetHttpTimeseries,
+  'GET /radar/http/timeseries_groups/bot_class': radarGetHttpTimeseriesGroupByBotClass,
+  'GET /radar/http/timeseries_groups/browser': radarGetHttpTimeseriesGroupByBrowsers,
+  'GET /radar/http/timeseries_groups/browser_family': radarGetHttpTimeseriesGroupByBrowserFamilies,
+  'GET /radar/http/timeseries_groups/device_type': radarGetHttpTimeseriesGroupByDeviceType,
+  'GET /radar/http/timeseries_groups/http_protocol': radarGetHttpTimeseriesGroupByHttpProtocol,
+  'GET /radar/http/timeseries_groups/http_version': radarGetHttpTimeseriesGroupByHttpVersion,
+  'GET /radar/http/timeseries_groups/ip_version': radarGetHttpTimeseriesGroupByIpVersion,
+  'GET /radar/http/timeseries_groups/os': radarGetHttpTimeseriesGroupByOperatingSystem,
+  'GET /radar/http/timeseries_groups/post_quantum': radarGetHttpTimeseriesGroupByPostQuantum,
+  'GET /radar/http/timeseries_groups/tls_version': radarGetHttpTimeseriesGroupByTlsVersion,
+  'GET /radar/http/top/ases': radarGetHttpTopAsesByHttpRequests,
+  'GET /radar/http/top/ases/bot_class/{bot_class}': radarGetHttpTopAsesByBotClass,
+  'GET /radar/http/top/ases/browser_family/{browser_family}': radarGetHttpTopAsesByBrowserFamily,
+  'GET /radar/http/top/ases/device_type/{device_type}': radarGetHttpTopAsesByDeviceType,
+  'GET /radar/http/top/ases/http_protocol/{http_protocol}': radarGetHttpTopAsesByHttpProtocol,
+  'GET /radar/http/top/ases/http_version/{http_version}': radarGetHttpTopAsesByHttpVersion,
+  'GET /radar/http/top/ases/ip_version/{ip_version}': radarGetHttpTopAsesByIpVersion,
+  'GET /radar/http/top/ases/os/{os}': radarGetHttpTopAsesByOperatingSystem,
+  'GET /radar/http/top/ases/tls_version/{tls_version}': radarGetHttpTopAsesByTlsVersion,
+  'GET /radar/http/top/browser': radarGetHttpTopBrowsers,
+  'GET /radar/http/top/browser_family': radarGetHttpTopBrowserFamilies,
+  'GET /radar/http/top/locations': radarGetHttpTopLocationsByHttpRequests,
+  'GET /radar/http/top/locations/bot_class/{bot_class}': radarGetHttpTopLocationsByBotClass,
+  'GET /radar/http/top/locations/browser_family/{browser_family}': radarGetHttpTopLocationsByBrowserFamily,
+  'GET /radar/http/top/locations/device_type/{device_type}': radarGetHttpTopLocationsByDeviceType,
+  'GET /radar/http/top/locations/http_protocol/{http_protocol}': radarGetHttpTopLocationsByHttpProtocol,
+  'GET /radar/http/top/locations/http_version/{http_version}': radarGetHttpTopLocationsByHttpVersion,
+  'GET /radar/http/top/locations/ip_version/{ip_version}': radarGetHttpTopLocationsByIpVersion,
+  'GET /radar/http/top/locations/os/{os}': radarGetHttpTopLocationsByOperatingSystem,
+  'GET /radar/http/top/locations/tls_version/{tls_version}': radarGetHttpTopLocationsByTlsVersion,
+  'GET /radar/netflows/summary': radarGetNetflowsSummary,
+  'GET /radar/netflows/timeseries': radarGetNetflowsTimeseries,
+  'GET /radar/netflows/top/ases': radarGetNetflowsTopAses,
+  'GET /radar/netflows/top/locations': radarGetNetflowsTopLocations,
+  'GET /radar/quality/iqi/summary': radarGetQualityIndexSummary,
+  'GET /radar/quality/iqi/timeseries_groups': radarGetQualityIndexTimeseriesGroup,
+  'GET /radar/quality/speed/histogram': radarGetQualitySpeedHistogram,
+  'GET /radar/quality/speed/summary': radarGetQualitySpeedSummary,
+  'GET /radar/quality/speed/top/ases': radarGetQualitySpeedTopAses,
+  'GET /radar/quality/speed/top/locations': radarGetQualitySpeedTopLocations,
+  'GET /radar/ranking/domain/{domain}': radarGetRankingDomainDetails,
+  'GET /radar/ranking/timeseries_groups': radarGetRankingDomainTimeseries,
+  'GET /radar/ranking/top': radarGetRankingTopDomains,
+  'GET /radar/search/global': radarGetSearchGlobal,
+  'GET /radar/tcp_resets_timeouts/summary': radarGetTcpResetsTimeoutsSummary,
+  'GET /radar/tcp_resets_timeouts/timeseries_groups': radarGetTcpResetsTimeoutsTimeseriesGroup,
+  'GET /radar/traffic_anomalies': radarGetTrafficAnomalies,
+  'GET /radar/traffic_anomalies/locations': radarGetTrafficAnomaliesTop,
+  'GET /radar/verified_bots/top/bots': radarGetVerifiedBotsTopByHttpRequests,
+  'GET /radar/verified_bots/top/categories': radarGetVerifiedBotsTopCategoriesByHttpRequests,
+  'GET /user': userUserDetails,
+  'PATCH /user': userEditUser,
+  'GET /user/audit_logs': auditLogsGetUserAuditLogs,
+  'GET /user/billing/history': userBillingHistoryDeprecatedBillingHistoryDetails,
+  'GET /user/billing/profile': userBillingProfileDeprecatedBillingProfileDetails,
+  'GET /user/firewall/access_rules/rules': ipAccessRulesForAUserListIpAccessRules,
+  'POST /user/firewall/access_rules/rules': ipAccessRulesForAUserCreateAnIpAccessRule,
+  'DELETE /user/firewall/access_rules/rules/{rule_id}': ipAccessRulesForAUserDeleteAnIpAccessRule,
+  'PATCH /user/firewall/access_rules/rules/{rule_id}': ipAccessRulesForAUserUpdateAnIpAccessRule,
+  'GET /user/invites': userSInvitesListInvitations,
+  'GET /user/invites/{invite_id}': userSInvitesInvitationDetails,
+  'PATCH /user/invites/{invite_id}': userSInvitesRespondToInvitation,
+  'GET /user/load_balancers/monitors': loadBalancerMonitorsListMonitors,
+  'POST /user/load_balancers/monitors': loadBalancerMonitorsCreateMonitor,
+  'DELETE /user/load_balancers/monitors/{monitor_id}': loadBalancerMonitorsDeleteMonitor,
+  'GET /user/load_balancers/monitors/{monitor_id}': loadBalancerMonitorsMonitorDetails,
+  'PATCH /user/load_balancers/monitors/{monitor_id}': loadBalancerMonitorsPatchMonitor,
+  'PUT /user/load_balancers/monitors/{monitor_id}': loadBalancerMonitorsUpdateMonitor,
+  'POST /user/load_balancers/monitors/{monitor_id}/preview': loadBalancerMonitorsPreviewMonitor,
+  'GET /user/load_balancers/monitors/{monitor_id}/references': loadBalancerMonitorsListMonitorReferences,
+  'GET /user/load_balancers/pools': loadBalancerPoolsListPools,
+  'PATCH /user/load_balancers/pools': loadBalancerPoolsPatchPools,
+  'POST /user/load_balancers/pools': loadBalancerPoolsCreatePool,
+  'DELETE /user/load_balancers/pools/{pool_id}': loadBalancerPoolsDeletePool,
+  'GET /user/load_balancers/pools/{pool_id}': loadBalancerPoolsPoolDetails,
+  'PATCH /user/load_balancers/pools/{pool_id}': loadBalancerPoolsPatchPool,
+  'PUT /user/load_balancers/pools/{pool_id}': loadBalancerPoolsUpdatePool,
+  'GET /user/load_balancers/pools/{pool_id}/health': loadBalancerPoolsPoolHealthDetails,
+  'POST /user/load_balancers/pools/{pool_id}/preview': loadBalancerPoolsPreviewPool,
+  'GET /user/load_balancers/pools/{pool_id}/references': loadBalancerPoolsListPoolReferences,
+  'GET /user/load_balancers/preview/{preview_id}': loadBalancerMonitorsPreviewResult,
+  'GET /user/load_balancing_analytics/events': loadBalancerHealthcheckEventsListHealthcheckEvents,
+  'GET /user/organizations': userSOrganizationsListOrganizations,
+  'DELETE /user/organizations/{organization_id}': userSOrganizationsLeaveOrganization,
+  'GET /user/organizations/{organization_id}': userSOrganizationsOrganizationDetails,
+  'GET /user/subscriptions': userSubscriptionGetUserSubscriptions,
+  'DELETE /user/subscriptions/{identifier}': userSubscriptionDeleteUserSubscription,
+  'PUT /user/subscriptions/{identifier}': userSubscriptionUpdateUserSubscription,
+  'GET /user/tokens': userApiTokensListTokens,
+  'POST /user/tokens': userApiTokensCreateToken,
+  'GET /user/tokens/permission_groups': permissionGroupsListPermissionGroups,
+  'GET /user/tokens/verify': userApiTokensVerifyToken,
+  'DELETE /user/tokens/{token_id}': userApiTokensDeleteToken,
+  'GET /user/tokens/{token_id}': userApiTokensTokenDetails,
+  'PUT /user/tokens/{token_id}': userApiTokensUpdateToken,
+  'PUT /user/tokens/{token_id}/value': userApiTokensRollToken,
+  'GET /zones': zonesGet,
+  'POST /zones': zonesPost,
+  'GET /zones/{identifier}/subscription': zoneSubscriptionZoneSubscriptionDetails,
+  'POST /zones/{identifier}/subscription': zoneSubscriptionCreateZoneSubscription,
+  'PUT /zones/{identifier}/subscription': zoneSubscriptionUpdateZoneSubscription,
+  'GET /zones/{zone_identifier}/analytics/colos': zoneAnalyticsDeprecatedGetAnalyticsByCoLocations,
+  'GET /zones/{zone_identifier}/analytics/dashboard': zoneAnalyticsDeprecatedGetDashboard,
+  'GET /zones/{zone_identifier}/custom_pages': customPagesForAZoneListCustomPages,
+  'GET /zones/{zone_identifier}/custom_pages/{identifier}': customPagesForAZoneGetACustomPage,
+  'PUT /zones/{zone_identifier}/custom_pages/{identifier}': customPagesForAZoneUpdateACustomPage,
+  'GET /zones/{zone_identifier}/ssl/recommendation': sslTlsModeRecommendationSslTlsRecommendation,
+  'DELETE /zones/{zone_id}': zones0Delete,
+  'GET /zones/{zone_id}': zones0Get,
+  'PATCH /zones/{zone_id}': zones0Patch,
+  'GET /zones/{zone_id}/access/apps': zoneLevelAccessApplicationsListAccessApplications,
+  'POST /zones/{zone_id}/access/apps': zoneLevelAccessApplicationsAddABookmarkApplication,
+  'GET /zones/{zone_id}/access/apps/ca': zoneLevelAccessShortLivedCertificateCAsListShortLivedCertificateCAs,
+  'DELETE /zones/{zone_id}/access/apps/{app_id}': zoneLevelAccessApplicationsDeleteAnAccessApplication,
+  'GET /zones/{zone_id}/access/apps/{app_id}': zoneLevelAccessApplicationsGetAnAccessApplication,
+  'PUT /zones/{zone_id}/access/apps/{app_id}': zoneLevelAccessApplicationsUpdateABookmarkApplication,
+  'DELETE /zones/{zone_id}/access/apps/{app_id}/ca':
+    zoneLevelAccessShortLivedCertificateCAsDeleteAShortLivedCertificateCa,
+  'GET /zones/{zone_id}/access/apps/{app_id}/ca': zoneLevelAccessShortLivedCertificateCAsGetAShortLivedCertificateCa,
+  'POST /zones/{zone_id}/access/apps/{app_id}/ca':
+    zoneLevelAccessShortLivedCertificateCAsCreateAShortLivedCertificateCa,
+  'GET /zones/{zone_id}/access/apps/{app_id}/policies': zoneLevelAccessPoliciesListAccessPolicies,
+  'POST /zones/{zone_id}/access/apps/{app_id}/policies': zoneLevelAccessPoliciesCreateAnAccessPolicy,
+  'DELETE /zones/{zone_id}/access/apps/{app_id}/policies/{policy_id}': zoneLevelAccessPoliciesDeleteAnAccessPolicy,
+  'GET /zones/{zone_id}/access/apps/{app_id}/policies/{policy_id}': zoneLevelAccessPoliciesGetAnAccessPolicy,
+  'PUT /zones/{zone_id}/access/apps/{app_id}/policies/{policy_id}': zoneLevelAccessPoliciesUpdateAnAccessPolicy,
+  'POST /zones/{zone_id}/access/apps/{app_id}/revoke_tokens': zoneLevelAccessApplicationsRevokeServiceTokens,
+  'GET /zones/{zone_id}/access/apps/{app_id}/user_policy_checks': zoneLevelAccessApplicationsTestAccessPolicies,
+  'GET /zones/{zone_id}/access/certificates': zoneLevelAccessMtlsAuthenticationListMtlsCertificates,
+  'POST /zones/{zone_id}/access/certificates': zoneLevelAccessMtlsAuthenticationAddAnMtlsCertificate,
+  'GET /zones/{zone_id}/access/certificates/settings':
+    zoneLevelAccessMtlsAuthenticationListMtlsCertificatesHostnameSettings,
+  'PUT /zones/{zone_id}/access/certificates/settings': zoneLevelAccessMtlsAuthenticationUpdateAnMtlsCertificateSettings,
+  'DELETE /zones/{zone_id}/access/certificates/{certificate_id}':
+    zoneLevelAccessMtlsAuthenticationDeleteAnMtlsCertificate,
+  'GET /zones/{zone_id}/access/certificates/{certificate_id}': zoneLevelAccessMtlsAuthenticationGetAnMtlsCertificate,
+  'PUT /zones/{zone_id}/access/certificates/{certificate_id}': zoneLevelAccessMtlsAuthenticationUpdateAnMtlsCertificate,
+  'GET /zones/{zone_id}/access/groups': zoneLevelAccessGroupsListAccessGroups,
+  'POST /zones/{zone_id}/access/groups': zoneLevelAccessGroupsCreateAnAccessGroup,
+  'DELETE /zones/{zone_id}/access/groups/{group_id}': zoneLevelAccessGroupsDeleteAnAccessGroup,
+  'GET /zones/{zone_id}/access/groups/{group_id}': zoneLevelAccessGroupsGetAnAccessGroup,
+  'PUT /zones/{zone_id}/access/groups/{group_id}': zoneLevelAccessGroupsUpdateAnAccessGroup,
+  'GET /zones/{zone_id}/access/identity_providers': zoneLevelAccessIdentityProvidersListAccessIdentityProviders,
+  'POST /zones/{zone_id}/access/identity_providers': zoneLevelAccessIdentityProvidersAddAnAccessIdentityProvider,
+  'DELETE /zones/{zone_id}/access/identity_providers/{identity_provider_id}':
+    zoneLevelAccessIdentityProvidersDeleteAnAccessIdentityProvider,
+  'GET /zones/{zone_id}/access/identity_providers/{identity_provider_id}':
+    zoneLevelAccessIdentityProvidersGetAnAccessIdentityProvider,
+  'PUT /zones/{zone_id}/access/identity_providers/{identity_provider_id}':
+    zoneLevelAccessIdentityProvidersUpdateAnAccessIdentityProvider,
+  'GET /zones/{zone_id}/access/organizations': zoneLevelZeroTrustOrganizationGetYourZeroTrustOrganization,
+  'POST /zones/{zone_id}/access/organizations': zoneLevelZeroTrustOrganizationCreateYourZeroTrustOrganization,
+  'PUT /zones/{zone_id}/access/organizations': zoneLevelZeroTrustOrganizationUpdateYourZeroTrustOrganization,
+  'POST /zones/{zone_id}/access/organizations/revoke_user': zoneLevelZeroTrustOrganizationRevokeAllAccessTokensForAUser,
+  'GET /zones/{zone_id}/access/service_tokens': zoneLevelAccessServiceTokensListServiceTokens,
+  'POST /zones/{zone_id}/access/service_tokens': zoneLevelAccessServiceTokensCreateAServiceToken,
+  'DELETE /zones/{zone_id}/access/service_tokens/{service_token_id}': zoneLevelAccessServiceTokensDeleteAServiceToken,
+  'GET /zones/{zone_id}/access/service_tokens/{service_token_id}': zoneLevelAccessServiceTokensGetAServiceToken,
+  'PUT /zones/{zone_id}/access/service_tokens/{service_token_id}': zoneLevelAccessServiceTokensUpdateAServiceToken,
+  'GET /zones/{zone_id}/acm/total_tls': totalTlsTotalTlsSettingsDetails,
+  'POST /zones/{zone_id}/acm/total_tls': totalTlsEnableOrDisableTotalTls,
+  'PUT /zones/{zone_id}/activation_check': putZonesZoneIdActivationCheck,
+  'GET /zones/{zone_id}/addressing/regional_hostnames': dlsAccountRegionalHostnamesAccountListHostnames,
+  'POST /zones/{zone_id}/addressing/regional_hostnames': dlsAccountRegionalHostnamesAccountCreateHostname,
+  'DELETE /zones/{zone_id}/addressing/regional_hostnames/{hostname}': dlsAccountRegionalHostnamesAccountDeleteHostname,
+  'GET /zones/{zone_id}/addressing/regional_hostnames/{hostname}': dlsAccountRegionalHostnamesAccountFetchHostname,
+  'PATCH /zones/{zone_id}/addressing/regional_hostnames/{hostname}': dlsAccountRegionalHostnamesAccountPatchHostname,
+  'GET /zones/{zone_id}/analytics/latency': argoAnalyticsForZoneArgoAnalyticsForAZone,
+  'GET /zones/{zone_id}/analytics/latency/colos': argoAnalyticsForGeolocationArgoAnalyticsForAZoneAtDifferentPoPs,
+  'GET /zones/{zone_id}/api_gateway/configuration':
+    apiShieldSettingsRetrieveInformationAboutSpecificConfigurationProperties,
+  'PUT /zones/{zone_id}/api_gateway/configuration': apiShieldSettingsSetConfigurationProperties,
+  'GET /zones/{zone_id}/api_gateway/discovery': apiShieldApiDiscoveryRetrieveDiscoveredOperationsOnAZoneAsOpenapi,
+  'GET /zones/{zone_id}/api_gateway/discovery/operations': apiShieldApiDiscoveryRetrieveDiscoveredOperationsOnAZone,
+  'PATCH /zones/{zone_id}/api_gateway/discovery/operations': apiShieldApiPatchDiscoveredOperations,
+  'PATCH /zones/{zone_id}/api_gateway/discovery/operations/{operation_id}': apiShieldApiPatchDiscoveredOperation,
+  'POST /zones/{zone_id}/api_gateway/expression-template/fallthrough': apiShieldExpressionTemplatesFallthrough,
+  'DELETE /zones/{zone_id}/api_gateway/operations': apiShieldEndpointManagementDeleteMultipleOperations,
+  'GET /zones/{zone_id}/api_gateway/operations':
+    apiShieldEndpointManagementRetrieveInformationAboutAllOperationsOnAZone,
+  'POST /zones/{zone_id}/api_gateway/operations': apiShieldEndpointManagementAddOperationsToAZone,
+  'PATCH /zones/{zone_id}/api_gateway/operations/schema_validation':
+    apiShieldSchemaValidationUpdateMultipleOperationLevelSettings,
+  'DELETE /zones/{zone_id}/api_gateway/operations/{operation_id}': apiShieldEndpointManagementDeleteAnOperation,
+  'GET /zones/{zone_id}/api_gateway/operations/{operation_id}':
+    apiShieldEndpointManagementRetrieveInformationAboutAnOperation,
+  'GET /zones/{zone_id}/api_gateway/operations/{operation_id}/schema_validation':
+    apiShieldSchemaValidationRetrieveOperationLevelSettings,
+  'PUT /zones/{zone_id}/api_gateway/operations/{operation_id}/schema_validation':
+    apiShieldSchemaValidationUpdateOperationLevelSettings,
+  'GET /zones/{zone_id}/api_gateway/schemas': apiShieldEndpointManagementRetrieveOperationsAndFeaturesAsOpenApiSchemas,
+  'GET /zones/{zone_id}/api_gateway/settings/schema_validation': apiShieldSchemaValidationRetrieveZoneLevelSettings,
+  'PATCH /zones/{zone_id}/api_gateway/settings/schema_validation': apiShieldSchemaValidationPatchZoneLevelSettings,
+  'PUT /zones/{zone_id}/api_gateway/settings/schema_validation': apiShieldSchemaValidationUpdateZoneLevelSettings,
+  'GET /zones/{zone_id}/api_gateway/user_schemas': apiShieldSchemaValidationRetrieveInformationAboutAllSchemas,
+  'POST /zones/{zone_id}/api_gateway/user_schemas': apiShieldSchemaValidationPostSchema,
+  'GET /zones/{zone_id}/api_gateway/user_schemas/hosts': apiShieldSchemaValidationRetrieveUserSchemaHosts,
+  'DELETE /zones/{zone_id}/api_gateway/user_schemas/{schema_id}': apiShieldSchemaDeleteASchema,
+  'GET /zones/{zone_id}/api_gateway/user_schemas/{schema_id}':
+    apiShieldSchemaValidationRetrieveInformationAboutSpecificSchema,
+  'PATCH /zones/{zone_id}/api_gateway/user_schemas/{schema_id}': apiShieldSchemaValidationEnableValidationForASchema,
+  'GET /zones/{zone_id}/api_gateway/user_schemas/{schema_id}/operations':
+    apiShieldSchemaValidationExtractOperationsFromSchema,
+  'GET /zones/{zone_id}/argo/smart_routing': argoSmartRoutingGetArgoSmartRoutingSetting,
+  'PATCH /zones/{zone_id}/argo/smart_routing': argoSmartRoutingPatchArgoSmartRoutingSetting,
+  'GET /zones/{zone_id}/argo/tiered_caching': tieredCachingGetTieredCachingSetting,
+  'PATCH /zones/{zone_id}/argo/tiered_caching': tieredCachingPatchTieredCachingSetting,
+  'GET /zones/{zone_id}/available_plans': zoneRatePlanListAvailablePlans,
+  'GET /zones/{zone_id}/available_plans/{plan_identifier}': zoneRatePlanAvailablePlanDetails,
+  'GET /zones/{zone_id}/available_rate_plans': zoneRatePlanListAvailableRatePlans,
+  'GET /zones/{zone_id}/bot_management': botManagementForAZoneGetConfig,
+  'PUT /zones/{zone_id}/bot_management': botManagementForAZoneUpdateConfig,
+  'GET /zones/{zone_id}/cache/cache_reserve': zoneCacheSettingsGetCacheReserveSetting,
+  'PATCH /zones/{zone_id}/cache/cache_reserve': zoneCacheSettingsChangeCacheReserveSetting,
+  'GET /zones/{zone_id}/cache/cache_reserve_clear': zoneCacheSettingsGetCacheReserveClear,
+  'POST /zones/{zone_id}/cache/cache_reserve_clear': zoneCacheSettingsStartCacheReserveClear,
+  'GET /zones/{zone_id}/cache/origin_post_quantum_encryption': zoneCacheSettingsGetOriginPostQuantumEncryptionSetting,
+  'PUT /zones/{zone_id}/cache/origin_post_quantum_encryption':
+    zoneCacheSettingsChangeOriginPostQuantumEncryptionSetting,
+  'GET /zones/{zone_id}/cache/regional_tiered_cache': zoneCacheSettingsGetRegionalTieredCacheSetting,
+  'PATCH /zones/{zone_id}/cache/regional_tiered_cache': zoneCacheSettingsChangeRegionalTieredCacheSetting,
+  'DELETE /zones/{zone_id}/cache/tiered_cache_smart_topology_enable': smartTieredCacheDeleteSmartTieredCacheSetting,
+  'GET /zones/{zone_id}/cache/tiered_cache_smart_topology_enable': smartTieredCacheGetSmartTieredCacheSetting,
+  'PATCH /zones/{zone_id}/cache/tiered_cache_smart_topology_enable': smartTieredCachePatchSmartTieredCacheSetting,
+  'DELETE /zones/{zone_id}/cache/variants': zoneCacheSettingsDeleteVariantsSetting,
+  'GET /zones/{zone_id}/cache/variants': zoneCacheSettingsGetVariantsSetting,
+  'PATCH /zones/{zone_id}/cache/variants': zoneCacheSettingsChangeVariantsSetting,
+  'GET /zones/{zone_id}/certificate_authorities/hostname_associations':
+    clientCertificateForAZoneListHostnameAssociations,
+  'PUT /zones/{zone_id}/certificate_authorities/hostname_associations':
+    clientCertificateForAZonePutHostnameAssociations,
+  'GET /zones/{zone_id}/client_certificates': clientCertificateForAZoneListClientCertificates,
+  'POST /zones/{zone_id}/client_certificates': clientCertificateForAZoneCreateClientCertificate,
+  'DELETE /zones/{zone_id}/client_certificates/{client_certificate_id}':
+    clientCertificateForAZoneDeleteClientCertificate,
+  'GET /zones/{zone_id}/client_certificates/{client_certificate_id}': clientCertificateForAZoneClientCertificateDetails,
+  'PATCH /zones/{zone_id}/client_certificates/{client_certificate_id}': clientCertificateForAZoneEditClientCertificate,
+  'GET /zones/{zone_id}/cloud_connector/rules': zoneCloudConnectorRules,
+  'PUT /zones/{zone_id}/cloud_connector/rules': zoneCloudConenctorRulesPut,
+  'POST /zones/{zone_id}/content-upload-scan/disable': wafContentScanningDisable,
+  'POST /zones/{zone_id}/content-upload-scan/enable': wafContentScanningEnable,
+  'GET /zones/{zone_id}/content-upload-scan/payloads': wafContentScanningListCustomScanExpressions,
+  'POST /zones/{zone_id}/content-upload-scan/payloads': wafContentScanningAddCustomScanExpressions,
+  'DELETE /zones/{zone_id}/content-upload-scan/payloads/{expression_id}': wafContentScanningDeleteCustomScanExpressions,
+  'GET /zones/{zone_id}/content-upload-scan/settings': wafContentScanningGetStatus,
+  'GET /zones/{zone_id}/custom_certificates': customSslForAZoneListSslConfigurations,
+  'POST /zones/{zone_id}/custom_certificates': customSslForAZoneCreateSslConfiguration,
+  'PUT /zones/{zone_id}/custom_certificates/prioritize': customSslForAZoneRePrioritizeSslCertificates,
+  'DELETE /zones/{zone_id}/custom_certificates/{custom_certificate_id}': customSslForAZoneDeleteSslConfiguration,
+  'GET /zones/{zone_id}/custom_certificates/{custom_certificate_id}': customSslForAZoneSslConfigurationDetails,
+  'PATCH /zones/{zone_id}/custom_certificates/{custom_certificate_id}': customSslForAZoneEditSslConfiguration,
+  'GET /zones/{zone_id}/custom_hostnames': customHostnameForAZoneListCustomHostnames,
+  'POST /zones/{zone_id}/custom_hostnames': customHostnameForAZoneCreateCustomHostname,
+  'DELETE /zones/{zone_id}/custom_hostnames/fallback_origin':
+    customHostnameFallbackOriginForAZoneDeleteFallbackOriginForCustomHostnames,
+  'GET /zones/{zone_id}/custom_hostnames/fallback_origin':
+    customHostnameFallbackOriginForAZoneGetFallbackOriginForCustomHostnames,
+  'PUT /zones/{zone_id}/custom_hostnames/fallback_origin':
+    customHostnameFallbackOriginForAZoneUpdateFallbackOriginForCustomHostnames,
+  'DELETE /zones/{zone_id}/custom_hostnames/{custom_hostname_id}':
+    customHostnameForAZoneDeleteCustomHostnameAndAnyIssuedSslCertificates,
+  'GET /zones/{zone_id}/custom_hostnames/{custom_hostname_id}': customHostnameForAZoneCustomHostnameDetails,
+  'PATCH /zones/{zone_id}/custom_hostnames/{custom_hostname_id}': customHostnameForAZoneEditCustomHostname,
+  'GET /zones/{zone_id}/custom_ns':
+    accountLevelCustomNameserversUsageForAZoneGetAccountCustomNameserverRelatedZoneMetadata,
+  'PUT /zones/{zone_id}/custom_ns':
+    accountLevelCustomNameserversUsageForAZoneSetAccountCustomNameserverRelatedZoneMetadata,
+  'GET /zones/{zone_id}/dcv_delegation/uuid': dcvDelegationUuidGet,
+  'GET /zones/{zone_id}/devices/policy/certificates': devicesGetPolicyCertificates,
+  'PATCH /zones/{zone_id}/devices/policy/certificates': devicesUpdatePolicyCertificates,
+  'GET /zones/{zone_id}/dns_analytics/report': dnsAnalyticsTable,
+  'GET /zones/{zone_id}/dns_analytics/report/bytime': dnsAnalyticsByTime,
+  'GET /zones/{zone_id}/dns_records': dnsRecordsForAZoneListDnsRecords,
+  'POST /zones/{zone_id}/dns_records': dnsRecordsForAZoneCreateDnsRecord,
+  'POST /zones/{zone_id}/dns_records/batch': dnsRecordsForAZoneBatchDnsRecords,
+  'GET /zones/{zone_id}/dns_records/export': dnsRecordsForAZoneExportDnsRecords,
+  'POST /zones/{zone_id}/dns_records/import': dnsRecordsForAZoneImportDnsRecords,
+  'POST /zones/{zone_id}/dns_records/scan': dnsRecordsForAZoneScanDnsRecords,
+  'DELETE /zones/{zone_id}/dns_records/{dns_record_id}': dnsRecordsForAZoneDeleteDnsRecord,
+  'GET /zones/{zone_id}/dns_records/{dns_record_id}': dnsRecordsForAZoneDnsRecordDetails,
+  'PATCH /zones/{zone_id}/dns_records/{dns_record_id}': dnsRecordsForAZonePatchDnsRecord,
+  'PUT /zones/{zone_id}/dns_records/{dns_record_id}': dnsRecordsForAZoneUpdateDnsRecord,
+  'GET /zones/{zone_id}/dns_settings': dnsSettingsForAZoneListDnsSettings,
+  'PATCH /zones/{zone_id}/dns_settings': dnsSettingsForAZoneUpdateDnsSettings,
+  'DELETE /zones/{zone_id}/dnssec': dnssecDeleteDnssecRecords,
+  'GET /zones/{zone_id}/dnssec': dnssecDnssecDetails,
+  'PATCH /zones/{zone_id}/dnssec': dnssecEditDnssecStatus,
+  'GET /zones/{zone_id}/email/routing': emailRoutingSettingsGetEmailRoutingSettings,
+  'POST /zones/{zone_id}/email/routing/disable': emailRoutingSettingsDisableEmailRouting,
+  'DELETE /zones/{zone_id}/email/routing/dns': emailRoutingSettingsDisableEmailRoutingDns,
+  'GET /zones/{zone_id}/email/routing/dns': emailRoutingSettingsEmailRoutingDnsSettings,
+  'PATCH /zones/{zone_id}/email/routing/dns': emailRoutingSettingsUnlockEmailRoutingDns,
+  'POST /zones/{zone_id}/email/routing/dns': emailRoutingSettingsEnableEmailRoutingDns,
+  'POST /zones/{zone_id}/email/routing/enable': emailRoutingSettingsEnableEmailRouting,
+  'GET /zones/{zone_id}/email/routing/rules': emailRoutingRoutingRulesListRoutingRules,
+  'POST /zones/{zone_id}/email/routing/rules': emailRoutingRoutingRulesCreateRoutingRule,
+  'GET /zones/{zone_id}/email/routing/rules/catch_all': emailRoutingRoutingRulesGetCatchAllRule,
+  'PUT /zones/{zone_id}/email/routing/rules/catch_all': emailRoutingRoutingRulesUpdateCatchAllRule,
+  'DELETE /zones/{zone_id}/email/routing/rules/{rule_identifier}': emailRoutingRoutingRulesDeleteRoutingRule,
+  'GET /zones/{zone_id}/email/routing/rules/{rule_identifier}': emailRoutingRoutingRulesGetRoutingRule,
+  'PUT /zones/{zone_id}/email/routing/rules/{rule_identifier}': emailRoutingRoutingRulesUpdateRoutingRule,
+  'DELETE /zones/{zone_id}/filters': filtersDeleteFilters,
+  'GET /zones/{zone_id}/filters': filtersListFilters,
+  'POST /zones/{zone_id}/filters': filtersCreateFilters,
+  'PUT /zones/{zone_id}/filters': filtersUpdateFilters,
+  'DELETE /zones/{zone_id}/filters/{filter_id}': filtersDeleteAFilter,
+  'GET /zones/{zone_id}/filters/{filter_id}': filtersGetAFilter,
+  'PUT /zones/{zone_id}/filters/{filter_id}': filtersUpdateAFilter,
+  'GET /zones/{zone_id}/firewall/access_rules/rules': ipAccessRulesForAZoneListIpAccessRules,
+  'POST /zones/{zone_id}/firewall/access_rules/rules': ipAccessRulesForAZoneCreateAnIpAccessRule,
+  'DELETE /zones/{zone_id}/firewall/access_rules/rules/{rule_id}': ipAccessRulesForAZoneDeleteAnIpAccessRule,
+  'PATCH /zones/{zone_id}/firewall/access_rules/rules/{rule_id}': ipAccessRulesForAZoneUpdateAnIpAccessRule,
+  'GET /zones/{zone_id}/firewall/lockdowns': zoneLockdownListZoneLockdownRules,
+  'POST /zones/{zone_id}/firewall/lockdowns': zoneLockdownCreateAZoneLockdownRule,
+  'DELETE /zones/{zone_id}/firewall/lockdowns/{lock_downs_id}': zoneLockdownDeleteAZoneLockdownRule,
+  'GET /zones/{zone_id}/firewall/lockdowns/{lock_downs_id}': zoneLockdownGetAZoneLockdownRule,
+  'PUT /zones/{zone_id}/firewall/lockdowns/{lock_downs_id}': zoneLockdownUpdateAZoneLockdownRule,
+  'DELETE /zones/{zone_id}/firewall/rules': firewallRulesDeleteFirewallRules,
+  'GET /zones/{zone_id}/firewall/rules': firewallRulesListFirewallRules,
+  'PATCH /zones/{zone_id}/firewall/rules': firewallRulesUpdatePriorityOfFirewallRules,
+  'POST /zones/{zone_id}/firewall/rules': firewallRulesCreateFirewallRules,
+  'PUT /zones/{zone_id}/firewall/rules': firewallRulesUpdateFirewallRules,
+  'DELETE /zones/{zone_id}/firewall/rules/{rule_id}': firewallRulesDeleteAFirewallRule,
+  'GET /zones/{zone_id}/firewall/rules/{rule_id}': firewallRulesGetAFirewallRule,
+  'PATCH /zones/{zone_id}/firewall/rules/{rule_id}': firewallRulesUpdatePriorityOfAFirewallRule,
+  'PUT /zones/{zone_id}/firewall/rules/{rule_id}': firewallRulesUpdateAFirewallRule,
+  'GET /zones/{zone_id}/firewall/ua_rules': userAgentBlockingRulesListUserAgentBlockingRules,
+  'POST /zones/{zone_id}/firewall/ua_rules': userAgentBlockingRulesCreateAUserAgentBlockingRule,
+  'DELETE /zones/{zone_id}/firewall/ua_rules/{ua_rule_id}': userAgentBlockingRulesDeleteAUserAgentBlockingRule,
+  'GET /zones/{zone_id}/firewall/ua_rules/{ua_rule_id}': userAgentBlockingRulesGetAUserAgentBlockingRule,
+  'PUT /zones/{zone_id}/firewall/ua_rules/{ua_rule_id}': userAgentBlockingRulesUpdateAUserAgentBlockingRule,
+  'GET /zones/{zone_id}/firewall/waf/overrides': wafOverridesListWafOverrides,
+  'POST /zones/{zone_id}/firewall/waf/overrides': wafOverridesCreateAWafOverride,
+  'DELETE /zones/{zone_id}/firewall/waf/overrides/{overrides_id}': wafOverridesDeleteAWafOverride,
+  'GET /zones/{zone_id}/firewall/waf/overrides/{overrides_id}': wafOverridesGetAWafOverride,
+  'PUT /zones/{zone_id}/firewall/waf/overrides/{overrides_id}': wafOverridesUpdateWafOverride,
+  'GET /zones/{zone_id}/firewall/waf/packages': wafPackagesListWafPackages,
+  'GET /zones/{zone_id}/firewall/waf/packages/{package_id}': wafPackagesGetAWafPackage,
+  'PATCH /zones/{zone_id}/firewall/waf/packages/{package_id}': wafPackagesUpdateAWafPackage,
+  'GET /zones/{zone_id}/firewall/waf/packages/{package_id}/groups': wafRuleGroupsListWafRuleGroups,
+  'GET /zones/{zone_id}/firewall/waf/packages/{package_id}/groups/{group_id}': wafRuleGroupsGetAWafRuleGroup,
+  'PATCH /zones/{zone_id}/firewall/waf/packages/{package_id}/groups/{group_id}': wafRuleGroupsUpdateAWafRuleGroup,
+  'GET /zones/{zone_id}/firewall/waf/packages/{package_id}/rules': wafRulesListWafRules,
+  'GET /zones/{zone_id}/firewall/waf/packages/{package_id}/rules/{rule_id}': wafRulesGetAWafRule,
+  'PATCH /zones/{zone_id}/firewall/waf/packages/{package_id}/rules/{rule_id}': wafRulesUpdateAWafRule,
+  'GET /zones/{zone_id}/healthchecks': healthChecksListHealthChecks,
+  'POST /zones/{zone_id}/healthchecks': healthChecksCreateHealthCheck,
+  'POST /zones/{zone_id}/healthchecks/preview': healthChecksCreatePreviewHealthCheck,
+  'DELETE /zones/{zone_id}/healthchecks/preview/{healthcheck_id}': healthChecksDeletePreviewHealthCheck,
+  'GET /zones/{zone_id}/healthchecks/preview/{healthcheck_id}': healthChecksHealthCheckPreviewDetails,
+  'DELETE /zones/{zone_id}/healthchecks/{healthcheck_id}': healthChecksDeleteHealthCheck,
+  'GET /zones/{zone_id}/healthchecks/{healthcheck_id}': healthChecksHealthCheckDetails,
+  'PATCH /zones/{zone_id}/healthchecks/{healthcheck_id}': healthChecksPatchHealthCheck,
+  'PUT /zones/{zone_id}/healthchecks/{healthcheck_id}': healthChecksUpdateHealthCheck,
+  'DELETE /zones/{zone_id}/hold': zones0HoldDelete,
+  'GET /zones/{zone_id}/hold': zones0HoldGet,
+  'PATCH /zones/{zone_id}/hold': zones0HoldPatch,
+  'POST /zones/{zone_id}/hold': zones0HoldPost,
+  'GET /zones/{zone_id}/hostnames/settings/{setting_id}': perHostnameTlsSettingsList,
+  'DELETE /zones/{zone_id}/hostnames/settings/{setting_id}/{hostname}': perHostnameTlsSettingsDelete,
+  'PUT /zones/{zone_id}/hostnames/settings/{setting_id}/{hostname}': perHostnameTlsSettingsPut,
+  'GET /zones/{zone_id}/keyless_certificates': keylessSslForAZoneListKeylessSslConfigurations,
+  'POST /zones/{zone_id}/keyless_certificates': keylessSslForAZoneCreateKeylessSslConfiguration,
+  'DELETE /zones/{zone_id}/keyless_certificates/{keyless_certificate_id}':
+    keylessSslForAZoneDeleteKeylessSslConfiguration,
+  'GET /zones/{zone_id}/keyless_certificates/{keyless_certificate_id}': keylessSslForAZoneGetKeylessSslConfiguration,
+  'PATCH /zones/{zone_id}/keyless_certificates/{keyless_certificate_id}': keylessSslForAZoneEditKeylessSslConfiguration,
+  'GET /zones/{zone_id}/leaked-credential-checks': wafProductApiLeakedCredentialsGetStatus,
+  'POST /zones/{zone_id}/leaked-credential-checks': wafProductApiLeakedCredentialsSetStatus,
+  'GET /zones/{zone_id}/leaked-credential-checks/detections': wafProductApiLeakedCredentialsListDetections,
+  'POST /zones/{zone_id}/leaked-credential-checks/detections': wafProductApiLeakedCredentialsCreateDetection,
+  'DELETE /zones/{zone_id}/leaked-credential-checks/detections/{detection_id}':
+    wafProductApiLeakedCredentialsDeleteDetection,
+  'PUT /zones/{zone_id}/leaked-credential-checks/detections/{detection_id}':
+    wafProductApiLeakedCredentialsUpdateDetection,
+  'GET /zones/{zone_id}/load_balancers': loadBalancersListLoadBalancers,
+  'POST /zones/{zone_id}/load_balancers': loadBalancersCreateLoadBalancer,
+  'DELETE /zones/{zone_id}/load_balancers/{load_balancer_id}': loadBalancersDeleteLoadBalancer,
+  'GET /zones/{zone_id}/load_balancers/{load_balancer_id}': loadBalancersLoadBalancerDetails,
+  'PATCH /zones/{zone_id}/load_balancers/{load_balancer_id}': loadBalancersPatchLoadBalancer,
+  'PUT /zones/{zone_id}/load_balancers/{load_balancer_id}': loadBalancersUpdateLoadBalancer,
+  'GET /zones/{zone_id}/logpush/datasets/{dataset_id}/fields': getZonesZoneIdLogpushDatasetsDatasetIdFields,
+  'GET /zones/{zone_id}/logpush/datasets/{dataset_id}/jobs': getZonesZoneIdLogpushDatasetsDatasetIdJobs,
+  'GET /zones/{zone_id}/logpush/edge': getZonesZoneIdLogpushEdgeJobs,
+  'POST /zones/{zone_id}/logpush/edge': postZonesZoneIdLogpushEdgeJobs,
+  'GET /zones/{zone_id}/logpush/jobs': getZonesZoneIdLogpushJobs,
+  'POST /zones/{zone_id}/logpush/jobs': postZonesZoneIdLogpushJobs,
+  'DELETE /zones/{zone_id}/logpush/jobs/{job_id}': deleteZonesZoneIdLogpushJobsJobId,
+  'GET /zones/{zone_id}/logpush/jobs/{job_id}': getZonesZoneIdLogpushJobsJobId,
+  'PUT /zones/{zone_id}/logpush/jobs/{job_id}': putZonesZoneIdLogpushJobsJobId,
+  'POST /zones/{zone_id}/logpush/ownership': postZonesZoneIdLogpushOwnership,
+  'POST /zones/{zone_id}/logpush/ownership/validate': postZonesZoneIdLogpushOwnershipValidate,
+  'POST /zones/{zone_id}/logpush/validate/destination': postZonesZoneIdLogpushValidateDestination,
+  'POST /zones/{zone_id}/logpush/validate/destination/exists': postZonesZoneIdLogpushValidateDestinationExists,
+  'POST /zones/{zone_id}/logpush/validate/origin': postZonesZoneIdLogpushValidateOrigin,
+  'GET /zones/{zone_id}/logs/control/retention/flag': getZonesZoneIdLogsControlRetentionFlag,
+  'POST /zones/{zone_id}/logs/control/retention/flag': postZonesZoneIdLogsControlRetentionFlag,
+  'GET /zones/{zone_id}/logs/rayids/{ray_id}': getZonesZoneIdLogsRayidsRayId,
+  'GET /zones/{zone_id}/logs/received': getZonesZoneIdLogsReceived,
+  'GET /zones/{zone_id}/logs/received/fields': getZonesZoneIdLogsReceivedFields,
+  'DELETE /zones/{zone_id}/managed_headers': deleteManagedTransforms,
+  'GET /zones/{zone_id}/managed_headers': listManagedTransforms,
+  'PATCH /zones/{zone_id}/managed_headers': updateManagedTransforms,
+  'GET /zones/{zone_id}/origin_tls_client_auth': zoneLevelAuthenticatedOriginPullsListCertificates,
+  'POST /zones/{zone_id}/origin_tls_client_auth': zoneLevelAuthenticatedOriginPullsUploadCertificate,
+  'PUT /zones/{zone_id}/origin_tls_client_auth/hostnames':
+    perHostnameAuthenticatedOriginPullEnableOrDisableAHostnameForClientAuthentication,
+  'GET /zones/{zone_id}/origin_tls_client_auth/hostnames/certificates':
+    perHostnameAuthenticatedOriginPullListCertificates,
+  'POST /zones/{zone_id}/origin_tls_client_auth/hostnames/certificates':
+    perHostnameAuthenticatedOriginPullUploadAHostnameClientCertificate,
+  'DELETE /zones/{zone_id}/origin_tls_client_auth/hostnames/certificates/{certificate_id}':
+    perHostnameAuthenticatedOriginPullDeleteHostnameClientCertificate,
+  'GET /zones/{zone_id}/origin_tls_client_auth/hostnames/certificates/{certificate_id}':
+    perHostnameAuthenticatedOriginPullGetTheHostnameClientCertificate,
+  'GET /zones/{zone_id}/origin_tls_client_auth/hostnames/{hostname}':
+    perHostnameAuthenticatedOriginPullGetTheHostnameStatusForClientAuthentication,
+  'GET /zones/{zone_id}/origin_tls_client_auth/settings': zoneLevelAuthenticatedOriginPullsGetEnablementSettingForZone,
+  'PUT /zones/{zone_id}/origin_tls_client_auth/settings': zoneLevelAuthenticatedOriginPullsSetEnablementForZone,
+  'DELETE /zones/{zone_id}/origin_tls_client_auth/{certificate_id}': zoneLevelAuthenticatedOriginPullsDeleteCertificate,
+  'GET /zones/{zone_id}/origin_tls_client_auth/{certificate_id}':
+    zoneLevelAuthenticatedOriginPullsGetCertificateDetails,
+  'GET /zones/{zone_id}/page_shield': pageShieldGetSettings,
+  'PUT /zones/{zone_id}/page_shield': pageShieldUpdateSettings,
+  'GET /zones/{zone_id}/page_shield/connections': pageShieldListConnections,
+  'GET /zones/{zone_id}/page_shield/connections/{connection_id}': pageShieldGetConnection,
+  'GET /zones/{zone_id}/page_shield/cookies': pageShieldListCookies,
+  'GET /zones/{zone_id}/page_shield/cookies/{cookie_id}': pageShieldGetCookie,
+  'GET /zones/{zone_id}/page_shield/policies': pageShieldListPolicies,
+  'POST /zones/{zone_id}/page_shield/policies': pageShieldCreatePolicy,
+  'DELETE /zones/{zone_id}/page_shield/policies/{policy_id}': pageShieldDeletePolicy,
+  'GET /zones/{zone_id}/page_shield/policies/{policy_id}': pageShieldGetPolicy,
+  'PUT /zones/{zone_id}/page_shield/policies/{policy_id}': pageShieldUpdatePolicy,
+  'GET /zones/{zone_id}/page_shield/scripts': pageShieldListScripts,
+  'GET /zones/{zone_id}/page_shield/scripts/{script_id}': pageShieldGetScript,
+  'GET /zones/{zone_id}/pagerules': pageRulesListPageRules,
+  'POST /zones/{zone_id}/pagerules': pageRulesCreateAPageRule,
+  'GET /zones/{zone_id}/pagerules/settings': availablePageRulesSettingsListAvailablePageRulesSettings,
+  'DELETE /zones/{zone_id}/pagerules/{pagerule_id}': pageRulesDeleteAPageRule,
+  'GET /zones/{zone_id}/pagerules/{pagerule_id}': pageRulesGetAPageRule,
+  'PATCH /zones/{zone_id}/pagerules/{pagerule_id}': pageRulesEditAPageRule,
+  'PUT /zones/{zone_id}/pagerules/{pagerule_id}': pageRulesUpdateAPageRule,
+  'POST /zones/{zone_id}/purge_cache': zonePurge,
+  'GET /zones/{zone_id}/rate_limits': rateLimitsForAZoneListRateLimits,
+  'POST /zones/{zone_id}/rate_limits': rateLimitsForAZoneCreateARateLimit,
+  'DELETE /zones/{zone_id}/rate_limits/{rate_limit_id}': rateLimitsForAZoneDeleteARateLimit,
+  'GET /zones/{zone_id}/rate_limits/{rate_limit_id}': rateLimitsForAZoneGetARateLimit,
+  'PUT /zones/{zone_id}/rate_limits/{rate_limit_id}': rateLimitsForAZoneUpdateARateLimit,
+  'GET /zones/{zone_id}/rulesets': listZoneRulesets,
+  'POST /zones/{zone_id}/rulesets': createZoneRuleset,
+  'GET /zones/{zone_id}/rulesets/phases/{ruleset_phase}/entrypoint': getZoneEntrypointRuleset,
+  'PUT /zones/{zone_id}/rulesets/phases/{ruleset_phase}/entrypoint': updateZoneEntrypointRuleset,
+  'GET /zones/{zone_id}/rulesets/phases/{ruleset_phase}/entrypoint/versions': listZoneEntrypointRulesetVersions,
+  'GET /zones/{zone_id}/rulesets/phases/{ruleset_phase}/entrypoint/versions/{ruleset_version}':
+    getZoneEntrypointRulesetVersion,
+  'DELETE /zones/{zone_id}/rulesets/{ruleset_id}': deleteZoneRuleset,
+  'GET /zones/{zone_id}/rulesets/{ruleset_id}': getZoneRuleset,
+  'PUT /zones/{zone_id}/rulesets/{ruleset_id}': updateZoneRuleset,
+  'POST /zones/{zone_id}/rulesets/{ruleset_id}/rules': createZoneRulesetRule,
+  'DELETE /zones/{zone_id}/rulesets/{ruleset_id}/rules/{rule_id}': deleteZoneRulesetRule,
+  'PATCH /zones/{zone_id}/rulesets/{ruleset_id}/rules/{rule_id}': updateZoneRulesetRule,
+  'GET /zones/{zone_id}/rulesets/{ruleset_id}/versions': listZoneRulesetVersions,
+  'DELETE /zones/{zone_id}/rulesets/{ruleset_id}/versions/{ruleset_version}': deleteZoneRulesetVersion,
+  'GET /zones/{zone_id}/rulesets/{ruleset_id}/versions/{ruleset_version}': getZoneRulesetVersion,
+  'GET /zones/{zone_id}/rulesets/{ruleset_id}/versions/{ruleset_version}/by_tag/{rule_tag}':
+    listZoneRulesetVersionRulesByTag,
+  'POST /zones/{zone_id}/secondary_dns/force_axfr': secondaryDnsSecondaryZoneForceAxfr,
+  'DELETE /zones/{zone_id}/secondary_dns/incoming': secondaryDnsSecondaryZoneDeleteSecondaryZoneConfiguration,
+  'GET /zones/{zone_id}/secondary_dns/incoming': secondaryDnsSecondaryZoneSecondaryZoneConfigurationDetails,
+  'POST /zones/{zone_id}/secondary_dns/incoming': secondaryDnsSecondaryZoneCreateSecondaryZoneConfiguration,
+  'PUT /zones/{zone_id}/secondary_dns/incoming': secondaryDnsSecondaryZoneUpdateSecondaryZoneConfiguration,
+  'DELETE /zones/{zone_id}/secondary_dns/outgoing': secondaryDnsPrimaryZoneDeletePrimaryZoneConfiguration,
+  'GET /zones/{zone_id}/secondary_dns/outgoing': secondaryDnsPrimaryZonePrimaryZoneConfigurationDetails,
+  'POST /zones/{zone_id}/secondary_dns/outgoing': secondaryDnsPrimaryZoneCreatePrimaryZoneConfiguration,
+  'PUT /zones/{zone_id}/secondary_dns/outgoing': secondaryDnsPrimaryZoneUpdatePrimaryZoneConfiguration,
+  'POST /zones/{zone_id}/secondary_dns/outgoing/disable': secondaryDnsPrimaryZoneDisableOutgoingZoneTransfers,
+  'POST /zones/{zone_id}/secondary_dns/outgoing/enable': secondaryDnsPrimaryZoneEnableOutgoingZoneTransfers,
+  'POST /zones/{zone_id}/secondary_dns/outgoing/force_notify': secondaryDnsPrimaryZoneForceDnsNotify,
+  'GET /zones/{zone_id}/secondary_dns/outgoing/status': secondaryDnsPrimaryZoneGetOutgoingZoneTransferStatus,
+  'DELETE /zones/{zone_id}/security-center/securitytxt': deleteSecurityTxt,
+  'GET /zones/{zone_id}/security-center/securitytxt': getSecurityTxt,
+  'PUT /zones/{zone_id}/security-center/securitytxt': updateSecurityTxt,
+  'GET /zones/{zone_id}/settings': zoneSettingsGetAllZoneSettings,
+  'PATCH /zones/{zone_id}/settings': zoneSettingsEditZoneSettingsInfo,
+  'GET /zones/{zone_id}/settings/fonts': zoneSettingsGetFontsSetting,
+  'PATCH /zones/{zone_id}/settings/fonts': zoneSettingsChangeFontsSetting,
+  'GET /zones/{zone_id}/settings/origin_max_http_version': zoneCacheSettingsGetOriginMaxHttpVersionSetting,
+  'PATCH /zones/{zone_id}/settings/origin_max_http_version': zoneCacheSettingsChangeOriginMaxHttpVersionSetting,
+  'GET /zones/{zone_id}/settings/rum': webAnalyticsGetRumStatus,
+  'PATCH /zones/{zone_id}/settings/rum': webAnalyticsToggleRum,
+  'GET /zones/{zone_id}/settings/speed_brain': zoneSettingsGetSpeedBrainSetting,
+  'PATCH /zones/{zone_id}/settings/speed_brain': zoneSettingsChangeSpeedBrainSetting,
+  'GET /zones/{zone_id}/settings/zaraz/config': getZonesZoneIdentifierZarazConfig,
+  'PUT /zones/{zone_id}/settings/zaraz/config': putZonesZoneIdentifierZarazConfig,
+  'GET /zones/{zone_id}/settings/zaraz/default': getZonesZoneIdentifierZarazDefault,
+  'GET /zones/{zone_id}/settings/zaraz/export': getZonesZoneIdentifierZarazExport,
+  'GET /zones/{zone_id}/settings/zaraz/history': getZonesZoneIdentifierZarazHistory,
+  'PUT /zones/{zone_id}/settings/zaraz/history': putZonesZoneIdentifierZarazHistory,
+  'GET /zones/{zone_id}/settings/zaraz/history/configs': getZonesZoneIdentifierZarazConfigHistory,
+  'POST /zones/{zone_id}/settings/zaraz/publish': postZonesZoneIdentifierZarazPublish,
+  'GET /zones/{zone_id}/settings/zaraz/workflow': getZonesZoneIdentifierZarazWorkflow,
+  'PUT /zones/{zone_id}/settings/zaraz/workflow': putZonesZoneIdentifierZarazWorkflow,
+  'GET /zones/{zone_id}/settings/{setting_id}': zoneSettingsGetSingleSetting,
+  'PATCH /zones/{zone_id}/settings/{setting_id}': zoneSettingsEditSingleSetting,
+  'GET /zones/{zone_id}/snippets': zoneSnippets,
+  'DELETE /zones/{zone_id}/snippets/snippet_rules': zoneSnippetsSnippetRulesDelete,
+  'GET /zones/{zone_id}/snippets/snippet_rules': zoneSnippetsSnippetRules,
+  'PUT /zones/{zone_id}/snippets/snippet_rules': zoneSnippetsSnippetRulesPut,
+  'DELETE /zones/{zone_id}/snippets/{snippet_name}': zoneSnippetsSnippetDelete,
+  'GET /zones/{zone_id}/snippets/{snippet_name}': zoneSnippetsSnippet,
+  'PUT /zones/{zone_id}/snippets/{snippet_name}': zoneSnippetsSnippetPut,
+  'GET /zones/{zone_id}/snippets/{snippet_name}/content': zoneSnippetsSnippetContent,
+  'GET /zones/{zone_id}/spectrum/analytics/aggregate/current': spectrumAggregateAnalyticsGetCurrentAggregatedAnalytics,
+  'GET /zones/{zone_id}/spectrum/analytics/events/bytime': spectrumAnalyticsByTimeGetAnalyticsByTime,
+  'GET /zones/{zone_id}/spectrum/analytics/events/summary': spectrumAnalyticsSummaryGetAnalyticsSummary,
+  'GET /zones/{zone_id}/spectrum/apps': spectrumApplicationsListSpectrumApplications,
+  'POST /zones/{zone_id}/spectrum/apps': spectrumApplicationsCreateSpectrumApplicationUsingANameForTheOrigin,
+  'DELETE /zones/{zone_id}/spectrum/apps/{app_id}': spectrumApplicationsDeleteSpectrumApplication,
+  'GET /zones/{zone_id}/spectrum/apps/{app_id}': spectrumApplicationsGetSpectrumApplicationConfiguration,
+  'PUT /zones/{zone_id}/spectrum/apps/{app_id}':
+    spectrumApplicationsUpdateSpectrumApplicationConfigurationUsingANameForTheOrigin,
+  'GET /zones/{zone_id}/speed_api/availabilities': speedGetAvailabilities,
+  'GET /zones/{zone_id}/speed_api/pages': speedListPages,
+  'DELETE /zones/{zone_id}/speed_api/pages/{url}/tests': speedDeleteTests,
+  'GET /zones/{zone_id}/speed_api/pages/{url}/tests': speedListTestHistory,
+  'POST /zones/{zone_id}/speed_api/pages/{url}/tests': speedCreateTest,
+  'GET /zones/{zone_id}/speed_api/pages/{url}/tests/{test_id}': speedGetTest,
+  'GET /zones/{zone_id}/speed_api/pages/{url}/trend': speedListPageTrend,
+  'DELETE /zones/{zone_id}/speed_api/schedule/{url}': speedDeleteTestSchedule,
+  'GET /zones/{zone_id}/speed_api/schedule/{url}': speedGetScheduledTest,
+  'POST /zones/{zone_id}/speed_api/schedule/{url}': speedCreateScheduledTest,
+  'POST /zones/{zone_id}/ssl/analyze': analyzeCertificateAnalyzeCertificate,
+  'GET /zones/{zone_id}/ssl/certificate_packs': certificatePacksListCertificatePacks,
+  'POST /zones/{zone_id}/ssl/certificate_packs/order': certificatePacksOrderAdvancedCertificateManagerCertificatePack,
+  'GET /zones/{zone_id}/ssl/certificate_packs/quota': certificatePacksGetCertificatePackQuotas,
+  'DELETE /zones/{zone_id}/ssl/certificate_packs/{certificate_pack_id}':
+    certificatePacksDeleteAdvancedCertificateManagerCertificatePack,
+  'GET /zones/{zone_id}/ssl/certificate_packs/{certificate_pack_id}': certificatePacksGetCertificatePack,
+  'PATCH /zones/{zone_id}/ssl/certificate_packs/{certificate_pack_id}':
+    certificatePacksRestartValidationForAdvancedCertificateManagerCertificatePack,
+  'GET /zones/{zone_id}/ssl/universal/settings': universalSslSettingsForAZoneUniversalSslSettingsDetails,
+  'PATCH /zones/{zone_id}/ssl/universal/settings': universalSslSettingsForAZoneEditUniversalSslSettings,
+  'GET /zones/{zone_id}/ssl/verification': sslVerificationSslVerificationDetails,
+  'PATCH /zones/{zone_id}/ssl/verification/{certificate_pack_id}':
+    sslVerificationEditSslCertificatePackValidationMethod,
+  'DELETE /zones/{zone_id}/url_normalization': deleteUrlNormalization,
+  'GET /zones/{zone_id}/url_normalization': getUrlNormalization,
+  'PUT /zones/{zone_id}/url_normalization': updateUrlNormalization,
+  'GET /zones/{zone_id}/waiting_rooms': waitingRoomListWaitingRooms,
+  'POST /zones/{zone_id}/waiting_rooms': waitingRoomCreateWaitingRoom,
+  'POST /zones/{zone_id}/waiting_rooms/preview': waitingRoomCreateACustomWaitingRoomPagePreview,
+  'GET /zones/{zone_id}/waiting_rooms/settings': waitingRoomGetZoneSettings,
+  'PATCH /zones/{zone_id}/waiting_rooms/settings': waitingRoomPatchZoneSettings,
+  'PUT /zones/{zone_id}/waiting_rooms/settings': waitingRoomUpdateZoneSettings,
+  'DELETE /zones/{zone_id}/waiting_rooms/{waiting_room_id}': waitingRoomDeleteWaitingRoom,
+  'GET /zones/{zone_id}/waiting_rooms/{waiting_room_id}': waitingRoomWaitingRoomDetails,
+  'PATCH /zones/{zone_id}/waiting_rooms/{waiting_room_id}': waitingRoomPatchWaitingRoom,
+  'PUT /zones/{zone_id}/waiting_rooms/{waiting_room_id}': waitingRoomUpdateWaitingRoom,
+  'GET /zones/{zone_id}/waiting_rooms/{waiting_room_id}/events': waitingRoomListEvents,
+  'POST /zones/{zone_id}/waiting_rooms/{waiting_room_id}/events': waitingRoomCreateEvent,
+  'DELETE /zones/{zone_id}/waiting_rooms/{waiting_room_id}/events/{event_id}': waitingRoomDeleteEvent,
+  'GET /zones/{zone_id}/waiting_rooms/{waiting_room_id}/events/{event_id}': waitingRoomEventDetails,
+  'PATCH /zones/{zone_id}/waiting_rooms/{waiting_room_id}/events/{event_id}': waitingRoomPatchEvent,
+  'PUT /zones/{zone_id}/waiting_rooms/{waiting_room_id}/events/{event_id}': waitingRoomUpdateEvent,
+  'GET /zones/{zone_id}/waiting_rooms/{waiting_room_id}/events/{event_id}/details':
+    waitingRoomPreviewActiveEventDetails,
+  'GET /zones/{zone_id}/waiting_rooms/{waiting_room_id}/rules': waitingRoomListWaitingRoomRules,
+  'POST /zones/{zone_id}/waiting_rooms/{waiting_room_id}/rules': waitingRoomCreateWaitingRoomRule,
+  'PUT /zones/{zone_id}/waiting_rooms/{waiting_room_id}/rules': waitingRoomReplaceWaitingRoomRules,
+  'DELETE /zones/{zone_id}/waiting_rooms/{waiting_room_id}/rules/{rule_id}': waitingRoomDeleteWaitingRoomRule,
+  'PATCH /zones/{zone_id}/waiting_rooms/{waiting_room_id}/rules/{rule_id}': waitingRoomPatchWaitingRoomRule,
+  'GET /zones/{zone_id}/waiting_rooms/{waiting_room_id}/status': waitingRoomGetWaitingRoomStatus,
+  'GET /zones/{zone_id}/web3/hostnames': web3HostnameListWeb3Hostnames,
+  'POST /zones/{zone_id}/web3/hostnames': web3HostnameCreateWeb3Hostname,
+  'DELETE /zones/{zone_id}/web3/hostnames/{identifier}': web3HostnameDeleteWeb3Hostname,
+  'GET /zones/{zone_id}/web3/hostnames/{identifier}': web3HostnameWeb3HostnameDetails,
+  'PATCH /zones/{zone_id}/web3/hostnames/{identifier}': web3HostnameEditWeb3Hostname,
+  'GET /zones/{zone_id}/web3/hostnames/{identifier}/ipfs_universal_path/content_list':
+    web3HostnameIpfsUniversalPathGatewayContentListDetails,
+  'PUT /zones/{zone_id}/web3/hostnames/{identifier}/ipfs_universal_path/content_list':
+    web3HostnameUpdateIpfsUniversalPathGatewayContentList,
+  'GET /zones/{zone_id}/web3/hostnames/{identifier}/ipfs_universal_path/content_list/entries':
+    web3HostnameListIpfsUniversalPathGatewayContentListEntries,
+  'POST /zones/{zone_id}/web3/hostnames/{identifier}/ipfs_universal_path/content_list/entries':
+    web3HostnameCreateIpfsUniversalPathGatewayContentListEntry,
+  'DELETE /zones/{zone_id}/web3/hostnames/{identifier}/ipfs_universal_path/content_list/entries/{content_list_entry_identifier}':
+    web3HostnameDeleteIpfsUniversalPathGatewayContentListEntry,
+  'GET /zones/{zone_id}/web3/hostnames/{identifier}/ipfs_universal_path/content_list/entries/{content_list_entry_identifier}':
+    web3HostnameIpfsUniversalPathGatewayContentListEntryDetails,
+  'PUT /zones/{zone_id}/web3/hostnames/{identifier}/ipfs_universal_path/content_list/entries/{content_list_entry_identifier}':
+    web3HostnameEditIpfsUniversalPathGatewayContentListEntry,
+  'GET /zones/{zone_id}/workers/filters': workerFiltersDeprecatedListFilters,
+  'POST /zones/{zone_id}/workers/filters': workerFiltersDeprecatedCreateFilter,
+  'DELETE /zones/{zone_id}/workers/filters/{filter_id}': workerFiltersDeprecatedDeleteFilter,
+  'PUT /zones/{zone_id}/workers/filters/{filter_id}': workerFiltersDeprecatedUpdateFilter,
+  'GET /zones/{zone_id}/workers/routes': workerRoutesListRoutes,
+  'POST /zones/{zone_id}/workers/routes': workerRoutesCreateRoute,
+  'DELETE /zones/{zone_id}/workers/routes/{route_id}': workerRoutesDeleteRoute,
+  'GET /zones/{zone_id}/workers/routes/{route_id}': workerRoutesGetRoute,
+  'PUT /zones/{zone_id}/workers/routes/{route_id}': workerRoutesUpdateRoute,
+  'DELETE /zones/{zone_id}/workers/script': workerScriptDeprecatedDeleteWorker,
+  'GET /zones/{zone_id}/workers/script': workerScriptDeprecatedDownloadWorker,
+  'PUT /zones/{zone_id}/workers/script': workerScriptDeprecatedUploadWorker,
+  'GET /zones/{zone_id}/workers/script/bindings': workerBindingDeprecatedListBindings,
+  'GET /zones/{zone_tag}/settings/ssl_automatic_mode': sslDetectorAutomaticModeGetEnrollment,
+  'PATCH /zones/{zone_tag}/settings/ssl_automatic_mode': sslDetectorAutomaticModePatchEnrollment
+};
diff --git a/packages/cloudflare-api/src/api/parameters.ts b/packages/cloudflare-api/src/api/parameters.ts
new file mode 100644
index 00000000..d04fe6d6
--- /dev/null
+++ b/packages/cloudflare-api/src/api/parameters.ts
@@ -0,0 +1,158 @@
+/**
+ * Generated by @openapi-codegen
+ *
+ * @version 4.0.0
+ */
+import type * as Schemas from './schemas';
+
+export type ApiShieldApiDiscoveryOriginParameter = Schemas.ApiShieldApiDiscoveryOrigin;
+
+export type ApiShieldApiDiscoveryStateParameter = Schemas.ApiShieldApiDiscoveryState;
+
+/**
+ * When `true`, only return API Discovery results that are not saved into API Shield Endpoint Management
+ */
+export type ApiShieldDiffParameter = boolean;
+
+/**
+ * Direction to order results.
+ *
+ * @example desc
+ */
+export type ApiShieldDirectionParameter = 'asc' | 'desc';
+
+/**
+ * Filter results to only include endpoints containing this pattern.
+ *
+ * @example /api/v1
+ */
+export type ApiShieldEndpointParameter = string;
+
+/**
+ * Filter results to only include the specified hosts.
+ *
+ * @uniqueItems true
+ */
+export type ApiShieldHostParameter = string[];
+
+/**
+ * Filter results to only include the specified HTTP methods.
+ *
+ * @uniqueItems true
+ */
+export type ApiShieldMethodParameter = string[];
+
+/**
+ * @default false
+ */
+export type ApiShieldOmitSource = boolean;
+
+/**
+ * @example thresholds
+ * @uniqueItems true
+ */
+export type ApiShieldOperationFeatureParameter = ('thresholds' | 'parameter_schemas' | 'schema_info')[];
+
+export type ApiShieldOperationId = Schemas.ApiShieldUuid;
+
+/**
+ * Field to order by
+ *
+ * @example method
+ */
+export type ApiShieldOrderParameter =
+  | 'host'
+  | 'method'
+  | 'endpoint'
+  | 'traffic_stats.requests'
+  | 'traffic_stats.last_updated';
+
+/**
+ * @default 1
+ * @minimum 1
+ */
+export type ApiShieldPage = number;
+
+export type ApiShieldParametersOperationId = Schemas.ApiShieldSchemasUuid;
+
+/**
+ * @default 20
+ * @maximum 50
+ * @minimum 5
+ */
+export type ApiShieldPerPage = number;
+
+/**
+ * @format uuid
+ * @maxLength 36
+ */
+export type ApiShieldSchemaId = string;
+
+export type ApiShieldZoneId = Schemas.ApiShieldSchemasIdentifier;
+
+export type DlsAccountId = Schemas.DlsIdentifier;
+
+export type DlsHostname = Schemas.DlsHostname;
+
+export type DlsZoneId = Schemas.DlsIdentifier;
+
+/**
+ * @default 1
+ * @minimum 1
+ */
+export type HealthchecksPage = number;
+
+/**
+ * @default 25
+ * @maximum 1000
+ * @minimum 5
+ */
+export type HealthchecksPerPage = number;
+
+/**
+ * @default asc
+ */
+export type ResourceSharingDirection = 'asc' | 'desc';
+
+export type ResourceSharingKind = Schemas.ResourceSharingShareKind;
+
+/**
+ * @default created
+ */
+export type ResourceSharingOrder = 'name' | 'created';
+
+/**
+ * @example 2
+ * @minimum 0
+ * @multipleOf 1
+ */
+export type ResourceSharingPage = number;
+
+/**
+ * @example 20
+ * @maximum 100
+ * @minimum 0
+ * @multipleOf 1
+ */
+export type ResourceSharingPerPage = number;
+
+export type ResourceSharingResourceStatus = Schemas.ResourceSharingResourceStatus;
+
+export type ResourceSharingResourceType = Schemas.ResourceSharingResourceType;
+
+export type ResourceSharingStatus = Schemas.ResourceSharingShareStatus;
+
+export type ResourceSharingTargetType = Schemas.ResourceSharingShareTargetType;
+
+/**
+ * @default 1
+ * @minimum 1
+ */
+export type WaitingroomPage = number;
+
+/**
+ * @default 25
+ * @maximum 1000
+ * @minimum 5
+ */
+export type WaitingroomPerPage = number;
diff --git a/packages/cloudflare-api/src/api/requestBodies.ts b/packages/cloudflare-api/src/api/requestBodies.ts
new file mode 100644
index 00000000..28e1678b
--- /dev/null
+++ b/packages/cloudflare-api/src/api/requestBodies.ts
@@ -0,0 +1,234 @@
+/**
+ * Generated by @openapi-codegen
+ *
+ * @version 4.0.0
+ */
+import type * as Schemas from './schemas';
+
+/**
+ * A ruleset object.
+ */
+export type RulesetsCreateRuleset = Schemas.RulesetsRuleset & {
+  kind: Schemas.RulesetsRulesetKind;
+  phase: Schemas.RulesetsRulesetPhase;
+  rules: Schemas.RulesetsRequestRules;
+};
+
+export type RulesetsManagedTransforms = Schemas.RulesetsManagedTransforms;
+
+export type RulesetsRule = Schemas.RulesetsRequestRule & {
+  position?:
+    | (Schemas.RulesetsRulePosition & {
+        /**
+         * The ID of another rule to place the rule before. An empty value causes the rule to be placed at the top.
+         *
+         * @example da5e8e506c8e7877fe06cdf4c41add54
+         * @pattern ^(?:[0-9a-f]{32})?$
+         */
+        before?: string;
+      })
+    | (Schemas.RulesetsRulePosition & {
+        /**
+         * The ID of another rule to place the rule after. An empty value causes the rule to be placed at the bottom.
+         *
+         * @example 5bccdbb2a5142cd25cad8591255bd209
+         * @pattern ^(?:[0-9a-f]{32})?$
+         */
+        after?: string;
+      })
+    | (Schemas.RulesetsRulePosition & {
+        /**
+         * An index at which to place the rule, where index 1 is the first rule.
+         *
+         * @example 1
+         * @minimum 1
+         */
+        index?: number;
+      });
+};
+
+/**
+ * A ruleset object.
+ */
+export type RulesetsUpdateEntrypointRuleset = Schemas.RulesetsRuleset & {
+  rules: Schemas.RulesetsRequestRules;
+};
+
+/**
+ * A ruleset object.
+ */
+export type RulesetsUpdateRuleset = Schemas.RulesetsRuleset & {
+  kind?: Schemas.RulesetsRulesetKind;
+  phase?: Schemas.RulesetsRulesetPhase;
+  rules: Schemas.RulesetsRequestRules;
+};
+
+export type RulesetsUrlNormalization = Schemas.RulesetsUrlNormalization;
+
+export type WorkersScriptUpload =
+  | ({
+      /**
+       * JSON encoded metadata about the uploaded parts and Worker configuration.
+       */
+      metadata: {
+        /**
+         * Configuration for assets within a Worker
+         */
+        assets?: {
+          /**
+           * Configuration for assets within a Worker.
+           */
+          config?: {
+            /**
+             * Determines the redirects and rewrites of requests for HTML content.
+             *
+             * @example auto-trailing-slash
+             */
+            html_handling?: 'auto-trailing-slash' | 'force-trailing-slash' | 'drop-trailing-slash' | 'none';
+            /**
+             * Determines the response when a request does not match a static asset, and there is no Worker script.
+             *
+             * @example 404-page
+             */
+            not_found_handling?: 'none' | '404-page' | 'single-page-application';
+            /**
+             * When true and the incoming request matches an asset, that will be served instead of invoking the Worker script. When false, requests will always invoke the Worker script.
+             *
+             * @default true
+             * @example true
+             */
+            serve_directly?: boolean;
+          };
+          /**
+           * Token provided upon successful upload of all files from a registered manifest.
+           */
+          jwt?: string;
+        };
+        /**
+         * List of bindings available to the worker.
+         *
+         * @example {"name":"MY_ENV_VAR","text":"my_data","type":"plain_text"}
+         */
+        bindings?: ({
+          /**
+           * Name of the binding variable.
+           */
+          name?: string;
+          /**
+           * Type of binding. You can find more about bindings on our docs: https://developers.cloudflare.com/workers/configuration/multipart-upload-metadata/#bindings.
+           */
+          type?: string;
+        } & {
+          [key: string]: void;
+        })[];
+        /**
+         * Name of the part in the multipart request that contains the script (e.g. the file adding a listener to the `fetch` event). Indicates a `service worker syntax` Worker.
+         *
+         * @example worker.js
+         */
+        body_part?: string;
+        compatibility_date?: Schemas.WorkersCompatibilityDate;
+        compatibility_flags?: Schemas.WorkersCompatibilityFlags;
+        /**
+         * Retain assets which exist for a previously uploaded Worker version; used in lieu of providing a completion token.
+         *
+         * @example false
+         */
+        keep_assets?: boolean;
+        /**
+         * List of binding types to keep from previous_upload.
+         */
+        keep_bindings?: string[];
+        logpush?: Schemas.WorkersLogpush;
+        /**
+         * Name of the part in the multipart request that contains the main module (e.g. the file exporting a `fetch` handler). Indicates a `module syntax` Worker.
+         *
+         * @example worker.js
+         */
+        main_module?: string;
+        /**
+         * Migrations to apply for Durable Objects associated with this Worker.
+         */
+        migrations?: Schemas.WorkersSingleStepMigrations | Schemas.WorkersMultipleStepMigrations;
+        observability?: Schemas.WorkersObservability;
+        placement?: Schemas.WorkersPlacementConfig;
+        /**
+         * List of strings to use as tags for this Worker.
+         */
+        tags?: string[];
+        tail_consumers?: Schemas.WorkersTailConsumers;
+        usage_model?: Schemas.WorkersUsageModel;
+        /**
+         * Key-value pairs to use as tags for this version of this Worker.
+         */
+        version_tags?: {
+          [key: string]: string;
+        };
+      };
+    } & {
+      [key: string]: Blob[];
+    })
+  | {
+      /**
+       * Rollback message to be associated with this deployment. Only parsed when query param `"rollback_to"` is present.
+       *
+       * @example Message about the rollback.
+       */
+      message?: string;
+    };
+
+export type WorkersVersionPost = {
+  /**
+   * JSON encoded metadata about the uploaded parts and Worker configuration.
+   */
+  metadata: {
+    annotations?: {
+      /**
+       * Human-readable message about the version. Truncated to 100 bytes.
+       *
+       * @example Fixed worker code.
+       * @maxLength 100
+       */
+      ['workers/message']?: string;
+      /**
+       * User-provided identifier for the version.
+       *
+       * @example any-identifier-from-external-system
+       * @maxLength 25
+       */
+      ['workers/tag']?: string;
+    };
+    /**
+     * List of bindings available to the worker.
+     *
+     * @example {"name":"MY_ENV_VAR","text":"my_data","type":"plain_text"}
+     */
+    bindings?: Record<string, any>[];
+    /**
+     * Date indicating targeted support in the Workers runtime. Backwards incompatible fixes to the runtime following this date will not affect this Worker.
+     *
+     * @example 2023-07-25
+     */
+    compatibility_date?: string;
+    /**
+     * Flags that enable or disable certain features in the Workers runtime. Used to enable upcoming features or opt in or out of specific changes not included in a `compatibility_date`.
+     */
+    compatibility_flags?: string[];
+    /**
+     * List of binding types to keep from previous_upload.
+     */
+    keep_bindings?: string[];
+    /**
+     * Name of the part in the multipart request that contains the main module (e.g. the file exporting a `fetch` handler). Indicates a `module syntax` Worker.
+     *
+     * @example worker.js
+     */
+    main_module?: string;
+    /**
+     * Usage model to apply to invocations.
+     */
+    usage_model?: 'standard';
+  };
+} & {
+  [key: string]: Blob[];
+};
diff --git a/packages/cloudflare-api/src/api/responses.ts b/packages/cloudflare-api/src/api/responses.ts
new file mode 100644
index 00000000..771cc2a2
--- /dev/null
+++ b/packages/cloudflare-api/src/api/responses.ts
@@ -0,0 +1,118 @@
+/**
+ * Generated by @openapi-codegen
+ *
+ * @version 4.0.0
+ */
+import type * as Schemas from './schemas';
+
+export type EmailSecurityClientError = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   */
+  errors: Schemas.EmailSecurityMessage[];
+  messages: Schemas.EmailSecurityMessage[];
+  result: Record<string, any> | null;
+  /**
+   * @example false
+   */
+  success: boolean;
+};
+
+export type RulesetsEmpty = void;
+
+/**
+ * A response object.
+ */
+export type RulesetsFailure = {
+  errors: Schemas.RulesetsErrors;
+  messages: Schemas.RulesetsMessages;
+  /**
+   * A result.
+   */
+  result: any;
+  /**
+   * Whether the API call was successful.
+   */
+  success: false;
+};
+
+/**
+ * A response object.
+ */
+export type RulesetsManagedTransforms = {
+  errors: Schemas.RulesetsErrors;
+  messages: Schemas.RulesetsMessages;
+  /**
+   * A result.
+   */
+  result: Schemas.RulesetsManagedTransforms;
+  /**
+   * Whether the API call was successful.
+   */
+  success: true;
+};
+
+/**
+ * A response object.
+ */
+export type RulesetsRuleset = {
+  errors: Schemas.RulesetsErrors;
+  messages: Schemas.RulesetsMessages;
+  /**
+   * A ruleset object.
+   */
+  result: Schemas.RulesetsRuleset & {
+    kind: Schemas.RulesetsRulesetKind;
+    phase: Schemas.RulesetsRulesetPhase;
+    rules: Schemas.RulesetsResponseRules;
+  };
+  /**
+   * Whether the API call was successful.
+   */
+  success: true;
+};
+
+/**
+ * A response object.
+ */
+export type RulesetsRulesets = {
+  errors: Schemas.RulesetsErrors;
+  messages: Schemas.RulesetsMessages;
+  /**
+   * A list of rulesets. The returned information will not include the rules in each ruleset.
+   */
+  result: (Schemas.RulesetsRuleset & {
+    kind: Schemas.RulesetsRulesetKind;
+    phase: Schemas.RulesetsRulesetPhase;
+  })[];
+  /**
+   * Whether the API call was successful.
+   */
+  success: true;
+};
+
+/**
+ * A response object.
+ */
+export type RulesetsUrlNormalization = {
+  errors: Schemas.RulesetsErrors;
+  messages: Schemas.RulesetsMessages;
+  /**
+   * A result.
+   */
+  result: Schemas.RulesetsUrlNormalization;
+  /**
+   * Whether the API call was successful.
+   */
+  success: true;
+};
+
+/**
+ * @example {"errors":[],"messages":[],"result":{"created_on":"2022-05-05T05:15:11.602148Z","etag":"777f24a43bef5f69174aa69ceaf1dea67968d510a31d1vw3e49d34a0187c06d1","handlers":["fetch"],"id":"this-is_my_script-01","logpush":false,"modified_on":"2022-05-20T19:02:56.446492Z","placement_mode":"smart","startup_time_ms":10,"tail_consumers":[{"environment":"production","service":"my-log-consumer"}],"usage_model":"bundled"},"success":true}
+ */
+export type Workers200 = Schemas.WorkersScriptResponseUploadSingle & void;
+
+/**
+ * @example {"errors":[],"messages":[],"result":{"created_on":"2022-05-05T05:15:11.602148Z","etag":"777f24a43bef5f69174aa69ceaf1dea67968d510a31d1vw3e49d34a0187c06d1","handlers":["fetch"],"id":"this-is_my_script-01","logpush":false,"modified_on":"2022-05-20T19:02:56.446492Z","tail_consumers":[{"environment":"production","service":"my-log-consumer"}],"usage_model":"bundled"},"success":true}
+ */
+export type Workers4XX = void & Schemas.WorkersApiResponseCommonFailure;
diff --git a/packages/cloudflare-api/src/api/schemas.ts b/packages/cloudflare-api/src/api/schemas.ts
index b02eb751..57800e09 100644
--- a/packages/cloudflare-api/src/api/schemas.ts
+++ b/packages/cloudflare-api/src/api/schemas.ts
@@ -3,3218 +3,2885 @@
  *
  * @version 4.0.0
  */
-export type AAAARecord = {
-  /**
-   * A valid IPv6 address.
-   *
-   * @example 2400:cb00:2049::1
-   * @format ipv6
-   */
-  content?: string;
-  name?: Name5Ag1twUN;
-  proxied?: ProxiedDwzKQw8a;
+/**
+ * The account id
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type AaaAccountId = string;
+
+export type AaaAlertTypes = {
+  description?: AaaDescription;
+  display_name?: AaaDisplayName;
+  filter_options?: AaaFilterOptions;
+  type?: AaaType;
+};
+
+/**
+ * Message body included in the notification sent.
+ *
+ * @example SSL certificate has expired
+ */
+export type AaaAlertBody = string;
+
+/**
+ * Optional specification of how often to re-alert from the same incident, not support on all alert types.
+ *
+ * @example 30m
+ */
+export type AaaAlertInterval = string;
+
+/**
+ * Refers to which event will trigger a Notification dispatch. You can use the endpoint to get available alert types which then will give you a list of possible values.
+ *
+ * @example universal_ssl_event_type
+ */
+export type AaaAlertType =
+  | 'access_custom_certificate_expiration_type'
+  | 'advanced_ddos_attack_l4_alert'
+  | 'advanced_ddos_attack_l7_alert'
+  | 'advanced_http_alert_error'
+  | 'bgp_hijack_notification'
+  | 'billing_usage_alert'
+  | 'block_notification_block_removed'
+  | 'block_notification_new_block'
+  | 'block_notification_review_rejected'
+  | 'brand_protection_alert'
+  | 'brand_protection_digest'
+  | 'clickhouse_alert_fw_anomaly'
+  | 'clickhouse_alert_fw_ent_anomaly'
+  | 'cloudforce_one_request_notification'
+  | 'custom_analytics'
+  | 'custom_ssl_certificate_event_type'
+  | 'dedicated_ssl_certificate_event_type'
+  | 'device_connectivity_anomaly_alert'
+  | 'dos_attack_l4'
+  | 'dos_attack_l7'
+  | 'expiring_service_token_alert'
+  | 'failing_logpush_job_disabled_alert'
+  | 'fbm_auto_advertisement'
+  | 'fbm_dosd_attack'
+  | 'fbm_volumetric_attack'
+  | 'health_check_status_notification'
+  | 'hostname_aop_custom_certificate_expiration_type'
+  | 'http_alert_edge_error'
+  | 'http_alert_origin_error'
+  | 'incident_alert'
+  | 'image_notification'
+  | 'image_resizing_notification'
+  | 'load_balancing_health_alert'
+  | 'load_balancing_pool_enablement_alert'
+  | 'logo_match_alert'
+  | 'magic_tunnel_health_check_event'
+  | 'magic_wan_tunnel_health'
+  | 'maintenance_event_notification'
+  | 'mtls_certificate_store_certificate_expiration_type'
+  | 'pages_event_alert'
+  | 'radar_notification'
+  | 'real_origin_monitoring'
+  | 'scriptmonitor_alert_new_code_change_detections'
+  | 'scriptmonitor_alert_new_hosts'
+  | 'scriptmonitor_alert_new_malicious_hosts'
+  | 'scriptmonitor_alert_new_malicious_scripts'
+  | 'scriptmonitor_alert_new_malicious_url'
+  | 'scriptmonitor_alert_new_max_length_resource_url'
+  | 'scriptmonitor_alert_new_resources'
+  | 'secondary_dns_all_primaries_failing'
+  | 'secondary_dns_primaries_failing'
+  | 'secondary_dns_warning'
+  | 'secondary_dns_zone_successfully_updated'
+  | 'secondary_dns_zone_validation_warning'
+  | 'sentinel_alert'
+  | 'stream_live_notifications'
+  | 'synthetic_test_latency_alert'
+  | 'synthetic_test_low_availability_alert'
+  | 'traffic_anomalies_alert'
+  | 'tunnel_health_event'
+  | 'tunnel_update_event'
+  | 'universal_ssl_event_type'
+  | 'web_analytics_metrics_update'
+  | 'zone_aop_custom_certificate_expiration_type';
+
+export type AaaApiResponseCollection = AaaApiResponseCommon & {
+  result_info?: AaaSchemasResultInfo;
+};
+
+export type AaaApiResponseCommon = {
+  errors: AaaMessages;
+  messages: AaaMessages;
   /**
-   * Record type.
+   * Whether the API call was successful
    *
-   * @example AAAA
+   * @example true
    */
-  type?: 'AAAA';
-} & Base4XanMLN9;
+  success: true;
+};
 
-export type ARecord = {
+export type AaaApiResponseCommonFailure = {
   /**
-   * A valid IPv4 address.
-   *
-   * @example 198.51.100.4
-   * @format ipv4
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
    */
-  content?: string;
-  name?: Name5Ag1twUN;
-  proxied?: ProxiedDwzKQw8a;
+  errors: AaaMessages;
+  messages: AaaMessages;
   /**
-   * Record type.
+   * Whether the API call was successful
    *
-   * @example A
+   * @example false
    */
-  type?: 'A';
-} & Base4XanMLN9;
+  success: false;
+};
 
-export type CAARecord = {
-  /**
-   * Formatted CAA content. See 'data' to set CAA properties.
-   */
-  content?: string;
-  /**
-   * Components of a CAA record.
-   */
-  data?: {
+export type AaaApiResponseSingle = AaaApiResponseCommon;
+
+export type AaaAuditLogs = {
+  action?: {
     /**
-     * Flags for the CAA record.
+     * A boolean that indicates if the action attempted was successful.
      *
-     * @example 1
-     * @maximum 255
-     * @minimum 0
+     * @example true
      */
-    flags?: number;
+    result?: boolean;
     /**
-     * Name of the property controlled by this record (e.g.: issue, issuewild, iodef).
+     * A short string that describes the action that was performed.
      *
-     * @example issue
-     */
-    tag?: string;
-    /**
-     * Value of the record. This field's semantics depend on the chosen tag.
+     * @example change_setting
      */
-    value?: string;
+    type?: string;
   };
-  name?: Name5Ag1twUN;
-  /**
-   * Record type.
-   *
-   * @example CAA
-   */
-  type?: 'CAA';
-} & Base4XanMLN9;
-
-export type CERTRecord = {
-  /**
-   * Formatted CERT content. See 'data' to set CERT properties.
-   */
-  content?: string;
-  /**
-   * Components of a CERT record.
-   */
-  data?: {
+  actor?: {
     /**
-     * Algorithm.
+     * The email of the user that performed the action.
      *
-     * @example 8
-     * @maximum 255
-     * @minimum 0
+     * @example michelle@example.com
+     * @format email
      */
-    algorithm?: number;
+    email?: string;
     /**
-     * Certificate.
+     * The ID of the actor that performed the action. If a user performed the action, this will be their User ID.
+     *
+     * @example f6b5de0326bb5182b8a4840ee01ec774
      */
-    certificate?: string;
+    id?: string;
     /**
-     * Key Tag.
+     * The IP address of the request that performed the action.
      *
-     * @example 1
-     * @maximum 65535
-     * @minimum 0
+     * @example 198.41.129.166
      */
-    key_tag?: number;
+    ip?: string;
     /**
-     * Type.
+     * The type of actor, whether a User, Cloudflare Admin, or an Automated System.
      *
-     * @example 9
-     * @maximum 65535
-     * @minimum 0
+     * @example user
      */
-    type?: number;
+    type?: 'user' | 'admin' | 'Cloudflare';
   };
-  name?: Name5Ag1twUN;
   /**
-   * Record type.
+   * A string that uniquely identifies the audit log.
    *
-   * @example CERT
+   * @example d5b0f326-1232-4452-8858-1089bd7168ef
    */
-  type?: 'CERT';
-} & Base4XanMLN9;
-
-export type CNAMERecord = {
+  id?: string;
   /**
-   * A valid hostname. Must not match the record's name.
+   * The source of the event.
+   *
+   * @example API
    */
-  content?: void;
-  name?: Name5Ag1twUN;
-  proxied?: ProxiedDwzKQw8a;
+  interface?: string;
   /**
-   * Record type.
+   * An object which can lend more context to the action being logged. This is a flexible value and varies between different actions.
    *
-   * @example CNAME
+   * @example {"name":"security_level","type":"firewall","value":"high","zone_name":"example.com"}
    */
-  type?: 'CNAME';
-} & Base4XanMLN9;
-
-/**
- * A single account custom nameserver.
- */
-export type CustomNS = {
+  metadata?: Record<string, any>;
   /**
-   * A and AAAA records associated with the nameserver.
+   * The new value of the resource that was modified.
+   *
+   * @example low
    */
-  dns_records: {
+  newValue?: string;
+  /**
+   * The value of the resource before it was modified.
+   *
+   * @example high
+   */
+  oldValue?: string;
+  owner?: {
+    id?: AaaIdentifier;
+  };
+  resource?: {
     /**
-     * DNS record type.
+     * An identifier for the resource that was affected by the action.
      *
-     * @example A
+     * @example 023e105f4ecef8ad9ca31a8372d0c353
      */
-    type?: 'A' | 'AAAA';
+    id?: string;
     /**
-     * DNS record contents (an IPv4 or IPv6 address).
+     * A short string that describes the resource that was affected by the action.
      *
-     * @example 1.1.1.1
+     * @example zone
      */
-    value?: string;
-  }[];
-  ns_name: NsName;
+    type?: string;
+  };
   /**
-   * Verification status of the nameserver.
+   * A UTC RFC3339 timestamp that specifies when the action being logged occured.
    *
-   * @deprecated true
-   * @example verified
+   * @example 2017-04-26T17:31:07Z
+   * @format date-time
    */
-  status: 'moved' | 'pending' | 'verified';
-  zone_tag: SchemasIdentifier;
-};
-
-export type CustomNSInput = {
-  ns_name: NsName;
+  when?: string;
 };
 
-export type DNSKEYRecord = {
+export type AaaAuditLogsV2 = {
   /**
-   * Formatted DNSKEY content. See 'data' to set DNSKEY properties.
+   * Contains account related information.
    */
-  content?: string;
+  account?: {
+    /**
+     * A unique identifier for the account.
+     *
+     * @example 4bb334f7c94c4a29a045f03944f072e5
+     */
+    id?: string;
+    /**
+     * A string that identifies the account name.
+     *
+     * @example Example Account
+     */
+    name?: string;
+  };
   /**
-   * Components of a DNSKEY record.
+   * Provides information about the action performed.
    */
-  data?: {
+  action?: {
     /**
-     * Algorithm.
+     * A short description of the action performed.
      *
-     * @example 5
-     * @maximum 255
-     * @minimum 0
+     * @example Add Member
      */
-    algorithm?: number;
+    description?: string;
     /**
-     * Flags.
+     * The result of the action, indicating success or failure.
      *
-     * @example 1
-     * @maximum 65535
-     * @minimum 0
+     * @example success
      */
-    flags?: number;
+    result?: string;
     /**
-     * Protocol.
+     * A timestamp indicating when the action was logged.
      *
-     * @example 3
-     * @maximum 255
-     * @minimum 0
+     * @example 2024-04-26T17:31:07Z
+     * @format date-time
      */
-    protocol?: number;
+    time?: string;
     /**
-     * Public Key.
+     * A short string that describes the action that was performed.
+     *
+     * @example create
      */
-    public_key?: string;
+    type?: string;
   };
-  name?: Name5Ag1twUN;
   /**
-   * Record type.
-   *
-   * @example DNSKEY
-   */
-  type?: 'DNSKEY';
-} & Base4XanMLN9;
-
-export type DSRecord = {
-  /**
-   * Formatted DS content. See 'data' to set DS properties.
+   * Provides details about the actor who performed the action.
    */
-  content?: string;
-  /**
-   * Components of a DS record.
-   */
-  data?: {
+  actor?: {
     /**
-     * Algorithm.
-     *
-     * @example 3
-     * @maximum 255
-     * @minimum 0
+     * @example dash
      */
-    algorithm?: number;
+    context?: 'api_key' | 'api_token' | 'dash' | 'oauth' | 'origin_ca_key';
     /**
-     * Digest.
+     * The email of the actor who performed the action.
+     *
+     * @example alice@example.com
+     * @format email
      */
-    digest?: string;
+    email?: string;
     /**
-     * Digest Type.
+     * The ID of the actor who performed the action. If a user performed the action, this will be their User ID.
      *
-     * @example 1
-     * @maximum 255
-     * @minimum 0
+     * @example f6b5de0326bb5182b8a4840ee01ec774
      */
-    digest_type?: number;
+    id?: string;
     /**
-     * Key Tag.
+     * The IP address of the request that performed the action.
      *
-     * @example 1
-     * @maximum 65535
-     * @minimum 0
+     * @example 198.41.129.166
+     * @format ipv4 | ipv6
      */
-    key_tag?: number;
-  };
-  name?: Name5Ag1twUN;
-  /**
-   * Record type.
-   *
-   * @example DS
-   */
-  type?: 'DS';
-} & Base4XanMLN9;
-
-export type Everything = {
-  purge_everything?: boolean;
-};
-
-/**
- * @example http://www.example.com/css/styles.css
- */
-export type File = string;
-
-export type Files = {
-  files?: (File | UrlAndHeaders)[];
-};
-
-export type Flex = Tags | Hosts | Prefixes;
-
-export type HTTPSRecord = {
-  /**
-   * Formatted HTTPS content. See 'data' to set HTTPS properties.
-   */
-  content?: string;
-  /**
-   * Components of a HTTPS record.
-   */
-  data?: {
+    ip_address?: string;
     /**
-     * priority.
-     *
-     * @example 1
-     * @maximum 65535
-     * @minimum 0
+     * Filters by the API token ID when the actor context is an api_token.
      */
-    priority?: number;
+    token_id?: string;
     /**
-     * target.
-     *
-     * @example .
+     * Filters by the API token name when the actor context is an api_token.
      */
-    target?: string;
+    token_name?: string;
     /**
-     * value.
+     * The type of actor.
      *
-     * @example alpn="h3,h2" ipv4hint="127.0.0.1" ipv6hint="::1"
+     * @example user
      */
-    value?: string;
+    type?: 'user' | 'account' | 'cloudflare-admin';
   };
-  name?: Name5Ag1twUN;
-  /**
-   * Record type.
-   *
-   * @example HTTPS
-   */
-  type?: 'HTTPS';
-} & Base4XanMLN9;
-
-/**
- * The 'Host' header allows to override the hostname set in the HTTP request. Current support is 1 'Host' header override per origin.
- */
-export type Host = string[];
-
-export type Hosts = {
-  /**
-   * @example www.example.com
-   * @example images.example.com
-   */
-  hosts?: string[];
-};
-
-export type LOCRecord = {
+  id?: AaaSchemasIdentifier;
   /**
-   * Formatted LOC content. See 'data' to set LOC properties.
-   *
-   * @example IN LOC 37 46 46 N 122 23 35 W 0m 100m 0m 0m
-   */
-  content?: string;
-  /**
-   * Components of a LOC record.
+   * Provides raw information about the request and response.
    */
-  data?: {
-    /**
-     * Altitude of location in meters.
-     *
-     * @example 0
-     * @maximum 42849672.95
-     * @minimum -100000
-     */
-    altitude?: number;
+  raw?: {
     /**
-     * Degrees of latitude.
-     *
-     * @example 37
-     * @maximum 90
-     * @minimum 0
-     */
-    lat_degrees?: number;
-    /**
-     * Latitude direction.
-     *
-     * @example N
-     */
-    lat_direction?: 'N' | 'S';
-    /**
-     * Minutes of latitude.
+     * The Cloudflare Ray ID for the request.
      *
-     * @default 0
-     * @example 46
-     * @maximum 59
-     * @minimum 0
+     * @example 8e9b1c60ef9e1c9a
      */
-    lat_minutes?: number;
+    cf_ray_id?: string;
     /**
-     * Seconds of latitude.
+     * The HTTP method of the request.
      *
-     * @default 0
-     * @example 46
-     * @maximum 59.999
-     * @minimum 0
+     * @example POST
      */
-    lat_seconds?: number;
+    method?: string;
     /**
-     * Degrees of longitude.
+     * The HTTP response status code returned by the API.
      *
-     * @example 122
-     * @maximum 180
-     * @minimum 0
+     * @example 200
      */
-    long_degrees?: number;
+    status_code?: number;
     /**
-     * Longitude direction.
+     * The URI of the request.
      *
-     * @example W
+     * @example /accounts/4bb334f7c94c4a29a045f03944f072e5/members
      */
-    long_direction?: 'E' | 'W';
+    uri?: string;
     /**
-     * Minutes of longitude.
+     * The client's user agent string sent with the request.
      *
-     * @default 0
-     * @example 23
-     * @maximum 59
-     * @minimum 0
+     * @example Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Safari/605.1.15
      */
-    long_minutes?: number;
+    user_agent?: string;
+  };
+  /**
+   * Provides details about the affected resource.
+   */
+  resource?: {
     /**
-     * Seconds of longitude.
-     *
-     * @default 0
-     * @example 35
-     * @maximum 59.999
-     * @minimum 0
+     * The unique identifier for the affected resource.
      */
-    long_seconds?: number;
+    id?: string;
     /**
-     * Horizontal precision of location.
+     * The Cloudflare product associated with the resource.
      *
-     * @default 0
-     * @example 0
-     * @maximum 90000000
-     * @minimum 0
+     * @example members
      */
-    precision_horz?: number;
+    product?: string;
+    request?: Record<string, any>;
+    response?: Record<string, any>;
     /**
-     * Vertical precision of location.
+     * The scope of the resource.
      *
-     * @default 0
-     * @example 0
-     * @maximum 90000000
-     * @minimum 0
+     * @example accounts
      */
-    precision_vert?: number;
+    scope?: Record<string, any>;
     /**
-     * Size of location in meters.
-     *
-     * @default 0
-     * @example 100
-     * @maximum 90000000
-     * @minimum 0
+     * The type of the resource.
      */
-    size?: number;
+    type?: string;
   };
-  name?: Name5Ag1twUN;
-  /**
-   * Record type.
-   *
-   * @example LOC
-   */
-  type?: 'LOC';
-} & Base4XanMLN9;
-
-export type MXRecord = {
   /**
-   * A valid mail server hostname.
-   *
-   * @example mx.example.com
-   * @format hostname
-   */
-  content?: string;
-  name?: Name5Ag1twUN;
-  priority?: PriorityVEsVispp;
-  /**
-   * Record type.
-   *
-   * @example MX
-   */
-  type?: 'MX';
-} & Base4XanMLN9;
-
-export type NAPTRRecord = {
-  /**
-   * Formatted NAPTR content. See 'data' to set NAPTR properties.
-   */
-  content?: string;
-  /**
-   * Components of a NAPTR record.
+   * Provides details about the zone affected by the action.
    */
-  data?: {
-    /**
-     * Flags.
-     */
-    flags?: string;
+  zone?: {
     /**
-     * Order.
-     *
-     * @example 100
-     * @maximum 65535
-     * @minimum 0
+     * A string that identifies the zone id.
      */
-    order?: number;
+    id?: string;
     /**
-     * Preference.
+     * A string that identifies the zone name.
      *
-     * @example 10
-     * @maximum 65535
-     * @minimum 0
-     */
-    preference?: number;
-    /**
-     * Regex.
-     */
-    regex?: string;
-    /**
-     * Replacement.
-     */
-    replacement?: string;
-    /**
-     * Service.
+     * @example example.com
      */
-    service?: string;
+    name?: string;
   };
-  name?: Name5Ag1twUN;
-  /**
-   * Record type.
-   *
-   * @example NAPTR
-   */
-  type?: 'NAPTR';
-} & Base4XanMLN9;
+};
 
-export type NSRecord = {
-  /**
-   * A valid name server host name.
-   *
-   * @example ns1.example.com
-   */
-  content?: void;
-  name?: Name5Ag1twUN;
+export type AaaAuditLogsV2ResponseCollection = {
+  errors?: AaaSchemasMessages;
+  result?: AaaAuditLogsV2[];
+  result_info?: AaaResultInfo;
   /**
-   * Record type.
+   * Indicates whether the API call was successful
    *
-   * @example NS
+   * @example true
    */
-  type?: 'NS';
-} & Base4XanMLN9;
+  success?: true;
+};
+
+export type AaaAuditLogsResponseCollection =
+  | {
+      errors?: AaaMessages;
+      messages?: AaaMessages;
+      result?: AaaAuditLogs[];
+      /**
+       * @example true
+       */
+      success?: boolean;
+    }
+  | AaaApiResponseCommon;
+
+/**
+ * Limit the returned results to history records older than the specified date. This must be a timestamp that conforms to RFC3339.
+ *
+ * @example 2022-05-20T20:29:58.679897Z
+ * @format date-time
+ */
+export type AaaBefore = string;
 
-export type PTRRecord = {
+export type AaaComponentsSchemasApiResponseCommonFailure = {
   /**
-   * Domain name pointing to the address.
-   *
-   * @example example.com
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
    */
-  content?: string;
-  name?: Name5Ag1twUN;
+  errors: AaaMessages;
+  messages: AaaMessages;
   /**
-   * Record type.
+   * Whether the API call was successful
    *
-   * @example PTR
+   * @example false
    */
-  type?: 'PTR';
-} & Base4XanMLN9;
+  success: false;
+};
 
-export type Prefixes = {
-  /**
-   * @example www.example.com/foo
-   * @example images.example.com/bar/baz
-   */
-  prefixes?: string[];
+/**
+ * Description of the notification policy (if present).
+ *
+ * @example Universal Certificate validation status, issuance, renewal, and expiration notices
+ */
+export type AaaComponentsSchemasDescription = string;
+
+/**
+ * The name of the webhook destination. This will be included in the request body when you receive a webhook notification.
+ *
+ * @example Slack Webhook
+ */
+export type AaaComponentsSchemasName = string;
+
+export type AaaComponentsSchemasResponseCollection = AaaApiResponseCollection & {
+  result?: AaaPagerduty[];
+};
+
+/**
+ * Type of webhook endpoint.
+ *
+ * @example slack
+ */
+export type AaaComponentsSchemasType = 'slack' | 'generic' | 'gchat';
+
+/**
+ * Timestamp of when the webhook destination was created.
+ *
+ * @example 2020-10-26T18:25:04.532316Z
+ * @format date-time
+ */
+export type AaaCreatedAt = string;
+
+/**
+ * Describes the alert type.
+ *
+ * @example High levels of 5xx HTTP errors at your origin
+ */
+export type AaaDescription = string;
+
+/**
+ * Alert type name.
+ *
+ * @example Origin Error Rate Alert
+ */
+export type AaaDisplayName = string;
+
+export type AaaEligibility = {
+  eligible?: AaaEligible;
+  ready?: AaaReady;
+  type?: AaaSchemasType;
 };
 
-export type SMIMEARecord = {
+/**
+ * Determines whether or not the account is eligible for the delivery mechanism.
+ *
+ * @example true
+ */
+export type AaaEligible = boolean;
+
+/**
+ * Whether or not the Notification policy is enabled.
+ *
+ * @default true
+ * @example true
+ */
+export type AaaEnabled = boolean;
+
+/**
+ * Format of additional configuration options (filters) for the alert type. Data type of filters during policy creation: Array of strings.
+ *
+ * @example {"AvailableValues":null,"ComparisonOperator":"==","Key":"zones","Range":"1-n"}
+ * @example {"AvailableValues":[{"Description":"Service-Level Objective of 99.7","ID":"99.7"},{"Description":"Service-Level Objective of 99.8","ID":"99.8"}],"ComparisonOperator":">=","Key":"slo","Range":"0-1"}
+ */
+export type AaaFilterOptions = any[];
+
+/**
+ * Optional filters that allow you to be alerted only on a subset of events for that alert type based on some criteria. This is only available for select alert types. See alert type documentation for more details.
+ *
+ * @example {"slo":["99.9"]}
+ */
+export type AaaFilters = {
   /**
-   * Formatted SMIMEA content. See 'data' to set SMIMEA properties.
+   * Usage depends on specific alert type
    */
-  content?: string;
+  actions?: string[];
   /**
-   * Components of a SMIMEA record.
+   * Used for configuring radar_notification
    */
-  data?: {
-    /**
-     * Certificate.
-     */
-    certificate?: string;
-    /**
-     * Matching Type.
-     *
-     * @example 0
-     * @maximum 255
-     * @minimum 0
-     */
-    matching_type?: number;
-    /**
-     * Selector.
-     *
-     * @example 0
-     * @maximum 255
-     * @minimum 0
-     */
-    selector?: number;
-    /**
-     * Usage.
-     *
-     * @example 3
-     * @maximum 255
-     * @minimum 0
-     */
-    usage?: number;
-  };
-  name?: Name5Ag1twUN;
+  affected_asns?: string[];
   /**
-   * Record type.
+   * Used for configuring incident_alert
    *
-   * @example SMIMEA
+   * @example 4c231tkdlpcl
    */
-  type?: 'SMIMEA';
-} & Base4XanMLN9;
-
-export type SRVRecord = {
+  affected_components?: string[];
   /**
-   * Priority, weight, port, and SRV target. See 'data' for setting the individual component values.
-   *
-   * @example 10 IN SRV 5 8806 example.com.
+   * Used for configuring radar_notification
    */
-  content?: string;
+  affected_locations?: string[];
   /**
-   * Components of a SRV record.
+   * Used for configuring maintenance_event_notification
    */
-  data?: {
-    /**
-     * A valid hostname.
-     *
-     * @example example.com
-     * @format hostname
-     */
-    name?: string;
-    /**
-     * The port of the service.
-     *
-     * @example 8806
-     * @maximum 65535
-     * @minimum 0
-     */
-    port?: number;
-    priority?: PriorityVEsVispp;
-    /**
-     * A valid protocol.
-     *
-     * @example _tcp
-     */
-    proto?: string;
-    /**
-     * A service type, prefixed with an underscore.
-     *
-     * @example _sip
-     */
-    service?: string;
-    /**
-     * A valid hostname.
-     *
-     * @example example.com
-     * @format hostname
-     */
-    target?: string;
-    /**
-     * The record weight.
-     *
-     * @example 5
-     * @maximum 65535
-     * @minimum 0
-     */
-    weight?: number;
-  };
+  airport_code?: string[];
   /**
-   * Service, protocol, and SRV name content. See 'data' for setting the individual component values.
-   *
-   * @example _sip._tcp.example.com
-   * @maxLength 255
+   * Usage depends on specific alert type
    */
-  name?: string;
+  alert_trigger_preferences?: string[];
   /**
-   * Record type.
-   *
-   * @example SRV
+   * Usage depends on specific alert type
    */
-  type?: 'SRV';
-} & Base4XanMLN9;
-
-export type SSHFPRecord = {
+  alert_trigger_preferences_value?: string[];
   /**
-   * Formatted SSHFP content. See 'data' to set SSHFP properties.
+   * Used for configuring load_balancing_pool_enablement_alert
    */
-  content?: string;
+  enabled?: string[];
   /**
-   * Components of a SSHFP record.
+   * Used for configuring pages_event_alert
    */
-  data?: {
-    /**
-     * algorithm.
-     *
-     * @example 2
-     * @maximum 255
-     * @minimum 0
-     */
-    algorithm?: number;
-    /**
-     * fingerprint.
-     */
-    fingerprint?: string;
-    /**
-     * type.
-     *
-     * @example 1
-     * @maximum 255
-     * @minimum 0
-     */
-    type?: number;
-  };
-  name?: Name5Ag1twUN;
+  environment?: string[];
   /**
-   * Record type.
-   *
-   * @example SSHFP
+   * Used for configuring pages_event_alert
    */
-  type?: 'SSHFP';
-} & Base4XanMLN9;
-
-export type SVCBRecord = {
+  event?: string[];
   /**
-   * Formatted SVCB content. See 'data' to set SVCB properties.
+   * Used for configuring load_balancing_health_alert
    */
-  content?: string;
+  event_source?: string[];
   /**
-   * Components of a SVCB record.
+   * Usage depends on specific alert type
    */
-  data?: {
-    /**
-     * priority.
-     *
-     * @example 1
-     * @maximum 65535
-     * @minimum 0
-     */
-    priority?: number;
-    /**
-     * target.
-     *
-     * @example .
-     */
-    target?: string;
-    /**
-     * value.
-     *
-     * @example alpn="h3,h2" ipv4hint="127.0.0.1" ipv6hint="::1"
-     */
-    value?: string;
-  };
-  name?: Name5Ag1twUN;
+  event_type?: string[];
   /**
-   * Record type.
-   *
-   * @example SVCB
+   * Usage depends on specific alert type
    */
-  type?: 'SVCB';
-} & Base4XanMLN9;
-
-export type TLSARecord = {
+  group_by?: string[];
   /**
-   * Formatted TLSA content. See 'data' to set TLSA properties.
+   * Used for configuring health_check_status_notification
    */
-  content?: string;
+  health_check_id?: string[];
   /**
-   * Components of a TLSA record.
+   * Used for configuring incident_alert
    */
-  data?: {
-    /**
-     * certificate.
-     */
-    certificate?: string;
-    /**
-     * Matching Type.
-     *
-     * @example 1
-     * @maximum 255
-     * @minimum 0
-     */
-    matching_type?: number;
-    /**
-     * Selector.
-     *
-     * @example 0
-     * @maximum 255
-     * @minimum 0
-     */
-    selector?: number;
-    /**
-     * Usage.
-     *
-     * @example 0
-     * @maximum 255
-     * @minimum 0
-     */
-    usage?: number;
-  };
-  name?: Name5Ag1twUN;
+  incident_impact?: (
+    | 'INCIDENT_IMPACT_NONE'
+    | 'INCIDENT_IMPACT_MINOR'
+    | 'INCIDENT_IMPACT_MAJOR'
+    | 'INCIDENT_IMPACT_CRITICAL'
+  )[];
   /**
-   * Record type.
-   *
-   * @example TLSA
+   * Used for configuring stream_live_notifications
    */
-  type?: 'TLSA';
-} & Base4XanMLN9;
-
-export type TXTRecord = {
+  input_id?: string[];
   /**
-   * Text content for the record.
-   *
-   * @example example text content
+   * Used for configuring billing_usage_alert
    */
-  content?: string;
-  name?: Name5Ag1twUN;
+  limit?: string[];
   /**
-   * Record type.
-   *
-   * @example TXT
+   * Used for configuring logo_match_alert
    */
-  type?: 'TXT';
-} & Base4XanMLN9;
-
-export type Tags = {
+  logo_tag?: string[];
   /**
-   * @example some-tag
-   * @example another-tag
+   * Used for configuring advanced_ddos_attack_l4_alert
    */
-  tags?: string[];
-};
-
-export type URIRecord = {
+  megabits_per_second?: string[];
   /**
-   * Formatted URI content. See 'data' to set URI properties.
+   * Used for configuring load_balancing_health_alert
    */
-  content?: string;
+  new_health?: string[];
   /**
-   * Components of a URI record.
+   * Used for configuring tunnel_health_event
    */
-  data?: {
-    /**
-     * The record content.
-     *
-     * @example http://example.com/example.html
-     */
-    content?: string;
-    /**
-     * The record weight.
-     *
-     * @example 20
-     * @maximum 65535
-     * @minimum 0
-     */
-    weight?: number;
-  };
-  name?: Name5Ag1twUN;
-  priority?: PriorityVEsVispp;
+  new_status?: string[];
   /**
-   * Record type.
-   *
-   * @example URI
+   * Used for configuring advanced_ddos_attack_l4_alert
    */
-  type?: 'URI';
-} & Base4XanMLN9;
-
-export type UrlAndHeaders = {
+  packets_per_second?: string[];
   /**
-     * @example {
-        "Origin": "https://www.cloudflare.com",
-        "CF-IPCountry": "US",
-        "CF-Device-Type": "desktop"
-    }
-     */
-  headers?: Record<string, any>;
+   * Usage depends on specific alert type
+   */
+  pool_id?: string[];
   /**
-   * @example http://www.example.com/cat_picture.jpg
+   * Usage depends on specific alert type
    */
-  url?: string;
-};
-
-export type AccessPolicy = PolicyWithPermissionGroups;
-
-export type AccessRequests = {
-  action?: Action;
-  allowed?: Allowed;
-  app_domain?: AppDomain;
-  app_uid?: AppUid;
-  connection?: ConnectionU5eyz9N8;
-  created_at?: Timestamp;
-  ip_address?: IpRSepkSnX;
-  ray_id?: RayId;
-  user_email?: Email;
-};
-
-export type AccessRequestsSVxTrMG4 = {
-  action?: AccessRequestsComponentsSchemasAction;
-  allowed?: SchemasAllowed;
-  app_domain?: AppDomain;
-  app_uid?: AppUid;
-  connection?: SchemasConnection;
-  created_at?: Timestamp;
-  ip_address?: SchemasIp;
-  ray_id?: RayId;
-  user_email?: SchemasEmailJb7fdlGM;
-};
-
-/**
- * The event that occurred, such as a login attempt.
- *
- * @example login
- */
-export type AccessRequestsComponentsSchemasAction = string;
-
-export type AccessRequestsComponentsSchemasResponseCollection = ApiResponseCollection & {
-  result?: AccessRequestsSVxTrMG4[];
-};
-
-/**
- * Defines rules for fine-grained control over content than signed URL tokens alone. Access rules primarily make tokens conditionally valid based on user information. Access Rules are specified on token payloads as the `accessRules` property containing an array of Rule objects.
- */
-export type AccessRules = {
+  pop_name?: string[];
   /**
-   * The action to take when a request matches a rule. If the action is `block`, the signed token blocks views for viewers matching the rule.
-   *
-   * @example allow
+   * Used for configuring billing_usage_alert
    */
-  action?: 'allow' | 'block';
+  product?: string[];
   /**
-   * An array of 2-letter country codes in ISO 3166-1 Alpha-2 format used to match requests.
+   * Used for configuring pages_event_alert
    */
-  country?: string[];
+  project_id?: string[];
   /**
-   * An array of IPv4 or IPV6 addresses or CIDRs used to match requests.
+   * Used for configuring advanced_ddos_attack_l4_alert
    */
-  ip?: string[];
+  protocol?: string[];
   /**
-   * Lists available rule types to match for requests. An `any` type matches all requests and can be used as a wildcard to apply default actions after other rules.
-   *
-   * @example ip.src
+   * Usage depends on specific alert type
    */
-  type?: 'any' | 'ip.src' | 'ip.geoip.country';
-};
-
-/**
- * Matches an Access group.
- */
-export type AccessGroupRule = {
-  group: {
-    /**
-     * The ID of a previously created Access group.
-     *
-     * @example aa0a4aab-672b-4bdb-bc33-a59f1130a11f
-     */
-    id: string;
-  };
-};
-
-/**
- * True if the seat is part of Access.
- *
- * @example false
- */
-export type AccessSeat = boolean;
-
-export type Account = {
+  query_tag?: string[];
   /**
-   * Timestamp for the creation of the account
-   *
-   * @example 2014-03-01T12:21:02.0000Z
-   * @format date-time
+   * Used for configuring advanced_ddos_attack_l7_alert
    */
-  created_on?: string;
-  id: CommonComponentsSchemasIdentifier;
+  requests_per_second?: string[];
   /**
-   * Account name
-   *
-   * @example Demo Account
-   * @maxLength 100
+   * Usage depends on specific alert type
    */
-  name: string;
+  selectors?: string[];
   /**
-   * Account settings
+   * Used for configuring clickhouse_alert_fw_ent_anomaly
    */
-  settings?: {
-    /**
-     * Indicates whether membership in this account requires that
-     * Two-Factor Authentication is enabled
-     *
-     * @default false
-     */
-    enforce_twofactor?: boolean;
-    /**
-     * Indicates whether new zones should use the account-level custom
-     * nameservers by default
-     *
-     * @default false
-     */
-    use_account_custom_ns_by_default?: boolean;
-  };
+  services?: string[];
+  /**
+   * Usage depends on specific alert type
+   */
+  slo?: string[];
+  /**
+   * Used for configuring health_check_status_notification
+   */
+  status?: string[];
+  /**
+   * Used for configuring advanced_ddos_attack_l7_alert
+   */
+  target_hostname?: string[];
+  /**
+   * Used for configuring advanced_ddos_attack_l4_alert
+   */
+  target_ip?: string[];
+  /**
+   * Used for configuring advanced_ddos_attack_l7_alert
+   */
+  target_zone_name?: string[];
+  /**
+   * Used for configuring traffic_anomalies_alert
+   */
+  traffic_exclusions?: 'security_events'[];
+  /**
+   * Used for configuring tunnel_health_event
+   */
+  tunnel_id?: string[];
+  /**
+   * Usage depends on specific alert type
+   */
+  tunnel_name?: string[];
+  /**
+   * Usage depends on specific alert type
+   */
+  where?: string[];
+  /**
+   * Usage depends on specific alert type
+   */
+  zones?: string[];
 };
 
-export type AccountSettingsResponse = {
-  errors: Messages;
-  messages: Messages;
-  result:
-    | {
-        default_usage_model?: void;
-        green_compute?: void;
-      }
-    | any[]
-    | string;
+export type AaaHistory = {
+  alert_body?: AaaAlertBody;
+  alert_type?: AaaSchemasAlertType;
+  description?: AaaComponentsSchemasDescription;
+  id?: AaaUuid;
+  mechanism?: AaaMechanism;
+  mechanism_type?: AaaMechanismType;
+  name?: AaaSchemasName;
+  policy_id?: AaaPolicyId;
+  sent?: AaaSent;
+};
+
+export type AaaHistoryComponentsSchemasResponseCollection = AaaApiResponseCollection & {
   /**
-   * Whether the API call was successful
-   *
-   * @example true
+   * @example {"alert_body":{"data":{"custom_csr_id":"","expires_on":null,"hosts":[],"id":"11111111111","issuer":"","method":"txt","serial_number":"","settings":null,"signature":"","status":"","type":"","uploaded_on":null,"validation_errors":[],"validation_records":[{"cname":"","cname_target":"","emails":[],"http_body":"","http_url":"","txt_name":"_acme-challenge.example.com","txt_value":"11111111111"}]},"metadata":{"account":null,"event":{"created_at":null,"id":"","type":"ssl.certificate.validation.failed"},"zone":{"id":"11111111111"}}},"alert_type":"universal_ssl_event_type","description":"Universal Certificate validation status, issuance, renewal, and expiration notices.","id":"f174e90a-fafe-4643-bbbc-4a0ed4fc8415","mechanism":"test@example.com","mechanism_type":"email","name":"SSL Notification Event Policy","policy_id":"35040955-3102-4710-938c-0f4eaf736e25","sent":"2021-10-08T17:52:17.571336Z"}
    */
-  success: true;
+  result?: AaaHistory[];
+  /**
+   * @example {"count":1,"page":1,"per_page":20}
+   */
+  result_info?: Record<string, any>;
 };
 
-export type AccountIdentifier = Identifier;
+export type AaaIdResponse = AaaApiResponseSingle & {
+  result?: {
+    id?: AaaUuid;
+  };
+};
 
 /**
- * @example 01a7362d577a6c3019a474fd6f485823
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type AccountIdentifier3wuxDA7A = void;
+export type AaaIdentifier = string;
 
 /**
- * The account identifier tag.
+ * The token integration key
  *
- * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @example 8c71e667571b4f61b94d9e4b12158038
  * @maxLength 32
  */
-export type AccountIdentifierVA4RU1GK = string;
+export type AaaIntegrationToken = string;
 
-export type AccountIdentifierYcYIB9xV = void;
-
-export type AccountSubscriptionResponseCollection = ApiResponseCollection & {
-  result?: Subscription[];
-};
+/**
+ * Timestamp of the last time an attempt to dispatch a notification to this webhook failed.
+ *
+ * @example 2020-10-26T18:25:04.532316Z
+ * @format date-time
+ */
+export type AaaLastFailure = string;
 
-export type AccountSubscriptionResponseSingle = ApiResponseSingleLarS7owG & {
-  result?: Record<string, any>;
-};
+/**
+ * Timestamp of the last time Cloudflare was able to successfully dispatch a notification using this webhook.
+ *
+ * @example 2020-10-26T18:25:04.532316Z
+ * @format date-time
+ */
+export type AaaLastSuccess = string;
 
-export type Acl = {
-  id: ComponentsSchemasIdentifierNz3bhUPI;
-  ip_range: IpRange;
-  name: AclComponentsSchemasName;
-};
+/**
+ * The mechanism to which the notification has been dispatched.
+ *
+ * @example test@example.com
+ */
+export type AaaMechanism = string;
 
 /**
- * The name of the acl.
+ * The type of mechanism to which the notification has been dispatched. This can be email/pagerduty/webhook based on the mechanism configured.
  *
- * @example my-acl-1
+ * @example email
  */
-export type AclComponentsSchemasName = string;
+export type AaaMechanismType = 'email' | 'pagerduty' | 'webhook';
 
-export type AcnsResponseCollection = ApiResponseCollection & {
-  result?: CustomNS[];
+/**
+ * List of IDs that will be used when dispatching a notification. IDs for email type will be the email address.
+ *
+ * @example {"email":[{"id":"test@example.com"}],"pagerduty":[{"id":"e8133a15-00a4-4d69-aec1-32f70c51f6e5"}],"webhooks":[{"id":"14cc1190-5d2b-4b98-a696-c424cb2ad05f"}]}
+ */
+export type AaaMechanisms = {
+  [key: string]: {
+    id?: AaaUuid | string;
+  }[];
 };
 
-export type AcnsResponseSingle = ApiResponseSingleQBZL5yxW & {
-  result?: CustomNS;
-};
+export type AaaMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
 
 /**
- * The event that occurred, such as a login attempt.
+ * The name of the pagerduty service.
  *
- * @example login
+ * @example My PagerDuty Service
  */
-export type Action = string;
+export type AaaName = string;
+
+export type AaaPagerduty = {
+  id?: AaaUuid;
+  name?: AaaName;
+};
 
 /**
- * The action to preform when the associated traffic, identity, and device posture expressions are either absent or evaluate to 'true'.
+ * Number of items per page.
  *
- * @example allow
+ * @default 25
+ * @maximum 1000
+ * @minimum 5
  */
-export type ActionCzIx4RfS =
-  | 'on'
-  | 'off'
-  | 'allow'
-  | 'block'
-  | 'scan'
-  | 'noscan'
-  | 'safesearch'
-  | 'ytrestricted'
-  | 'isolate'
-  | 'noisolate'
-  | 'override'
-  | 'l4_override'
-  | 'egress'
-  | 'audit_ssh';
+export type AaaPerPage = number;
+
+export type AaaPolicies = {
+  alert_interval?: AaaAlertInterval;
+  alert_type?: AaaAlertType;
+  created?: AaaTimestamp;
+  description?: AaaSchemasDescription;
+  enabled?: AaaEnabled;
+  filters?: AaaFilters;
+  id?: AaaPolicyId;
+  mechanisms?: AaaMechanisms;
+  modified?: AaaTimestamp;
+  name?: AaaSchemasName;
+};
+
+export type AaaPoliciesComponentsSchemasResponseCollection = AaaApiResponseCollection & {
+  result?: AaaPolicies[];
+};
 
 /**
- * The billing item action.
+ * The unique identifier of a notification policy
  *
- * @example subscription
- * @maxLength 30
+ * @example 0da2b59e-f118-439d-8097-bdfb215203c9
+ * @maxLength 36
  */
-export type ActionC1tW2hZo = string;
+export type AaaPolicyId = string;
 
 /**
- * The default action performed by the rules in the WAF package.
+ * Beta flag. Users can create a policy with a mechanism that is not ready, but we cannot guarantee successful delivery of notifications.
  *
- * @default challenge
+ * @example true
  */
-export type ActionMode = 'simulate' | 'block' | 'challenge';
+export type AaaReady = boolean;
+
+export type AaaResponseCollection = AaaApiResponseCollection & {
+  /**
+   * @example {"Origin Monitoring":[{"description":"High levels of 5xx HTTP errors at your origin.","display_name":"Origin Error Rate Alert","filter_options":[{"AvailableValues":null,"ComparisonOperator":"==","Key":"zones","Range":"1-n"},{"AvailableValues":[{"Description":"Service-Level Objective of 99.7","ID":"99.7"},{"Description":"Service-Level Objective of 99.8","ID":"99.8"}],"ComparisonOperator":">=","Key":"slo","Range":"0-1"}],"type":"http_alert_origin_error"}]}
+   */
+  result?: {
+    [key: string]: AaaAlertTypes[];
+  };
+};
 
 /**
- * The parameters configuring the rule action.
- *
- * @example {"id":"4814384a9e5d4991b9815dcfc25d2f1f"}
+ * Provides information about the result of the request, including count and cursor.
  */
-export type ActionParameters = Record<string, any>;
+export type AaaResultInfo = {
+  /**
+   * The number of records returned in the response.
+   *
+   * @example 1
+   */
+  count?: string;
+  /**
+   * The cursor token used for pagination.
+   *
+   * @example ASqdKd7dKgxh-aZ8bm0mZos1BtW4BdEqifCzNkEeGRzi_5SN_-362Y8sF-C1TRn60_6rd3z2dIajf9EAPyQ_NmIeAMkacmaJPXipqvP7PLU4t72wyqBeJfjmjdE=
+   */
+  cursor?: string;
+};
 
 /**
- * The configuration parameters for the redirect action.
+ * Type of notification that has been dispatched.
+ *
+ * @example universal_ssl_event_type
  */
-export type ActionParametersRedirect = {
+export type AaaSchemasAlertType = string;
+
+export type AaaSchemasApiResponseCommonFailure = {
   /**
-   * The parameters that control the redirect.
+   * A list of error messages.
    */
-  from_value?: {
+  errors: {
     /**
-     * Whether the query string for the request should be carried to the redirect's target url.
+     * A text description of this message.
      *
-     * @example true
-     */
-    preserve_query_string?: boolean;
-    /**
-     * The status code to use for the redirect.
+     * @example No route for the URI
      */
-    status_code?: number;
-    target_url?:
-      | {
-          /**
-           * An expression defining a dynamic value for the target url of the redirect.
-           *
-           * @example concat(http.request.full_uri, "/latest")
-           */
-          expression?: string;
-        }
-      | {
-          /**
-           * The value defining the target url of the redirect.
-           *
-           * @example https://example.com/blog/latest
-           */
-          value?: string;
-        };
-  };
+    message: string;
+  }[];
+  messages?: {
+    message?: string;
+  }[];
+  /**
+   * Indicates whether the API call was failed
+   *
+   * @example false
+   */
+  success: false;
 };
 
 /**
- * The configuration parameters for the rewrite action.
+ * Optional description for the Notification policy.
+ *
+ * @example Something describing the policy.
  */
-export type ActionParametersRewrite = {
-  /**
-   * The URI rewrite configuration to rewrite the URI path, the query string, or both.
-   */
-  uri?: {
-    /**
-     * The new URI path sent to the origin.
-     */
-    path?: void;
-    /**
-     * The new query string sent to the origin.
-     */
-    query?: void;
-  };
-};
+export type AaaSchemasDescription = string;
 
 /**
- * The configuration parameters for the route action.
+ * A unique identifier for the audit log entry.
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type ActionParametersRoute = {
-  /**
-   * The value of the Host header.
-   *
-   * @example foo.example.com
-   */
-  host_header?: string;
-  /**
-   * The parameters that control where the origin is.
-   */
-  origin?: {
-    /**
-     * The host to use for origin.
-     *
-     * @example foo.example.com
-     */
-    host?: string;
-    /**
-     * The port to use for origin.
-     */
-    port?: number;
-  };
+export type AaaSchemasIdentifier = string;
+
+export type AaaSchemasMessages = {
+  message: string;
+}[];
+
+/**
+ * Name of the policy.
+ *
+ * @example SSL Notification Event Policy
+ */
+export type AaaSchemasName = string;
+
+export type AaaSchemasResponseCollection = AaaApiResponseCollection & {
   /**
-   * The parameters that control the SNI.
+   * @example {"email":{"eligible":true,"ready":true,"type":"email"}}
    */
-  sni?: {
-    /**
-     * The SNI used to connect to the origin.
-     *
-     * @example foo.example.com
-     */
-    value?: string;
+  result?: {
+    [key: string]: AaaEligibility[];
   };
 };
 
-/**
- * The action parameters for the serve_error action.
- */
-export type ActionParametersServeError = {
+export type AaaSchemasResultInfo = {
   /**
-   * The new content for the response error.
+   * Total number of results for the requested service
    *
-   * @example some html error page
+   * @example 1
    */
-  content?: string;
+  count?: number;
+  /**
+   * Current page within paginated list of results
+   *
+   * @example 1
+   */
+  page?: number;
   /**
-   * The content-type of the response error.
+   * Number of results per page of results
    *
-   * @example text/html
+   * @example 20
    */
-  content_type?: string;
+  per_page?: number;
   /**
-   * The HTTP status code of the response error.
+   * Total results available without any search parameters
    *
-   * @example 530
+   * @example 2000
    */
-  status_code?: number;
+  total_count?: number;
+};
+
+export type AaaSchemasSingleResponse = AaaApiResponseSingle & {
+  result?: AaaWebhooks;
 };
 
 /**
- * The configuration parameters for the set_cache_settings action.
+ * Determines type of delivery mechanism.
+ *
+ * @example email
  */
-export type ActionParametersSetCacheSettings = {
-  /**
-   * Set the Browser TTL.
-   */
-  browser_ttl?: {
-    ['default']?: number;
-    /**
-     * @example override_origin
-     */
-    mode?: string;
-  };
-  /**
-   * Set the Cache TTL.
-   */
-  cache_key?: {
-    /**
-     * @example true
-     */
-    cache_deception_armor?: boolean;
-    custom_key?: {
-      cookie?: {
-        /**
-         * @example cookie_1
-         */
-        check_presence?: any[];
-        /**
-         * @example cookie1
-         */
-        include?: any[];
-      };
-      header?: {
-        /**
-         * @example header_1
-         */
-        check_presence?: any[];
-        /**
-         * @example header1
-         */
-        include?: any[];
-      };
-      host?: {
-        /**
-         * @example false
-         */
-        resolved?: boolean;
-      };
-      query_string?: {
-        /**
-         * @example *
-         */
-        include?: string;
-      };
-      user?: {
-        /**
-         * @example true
-         */
-        device_type?: boolean;
-        /**
-         * @example false
-         */
-        geo?: boolean;
-        /**
-         * @example false
-         */
-        lang?: boolean;
-      };
-    };
-    /**
-     * @example true
-     */
-    ignore_query_strings_order?: boolean;
-  };
-  /**
-   * Set the Cache TTL.
-   */
-  edge_ttl?: {
-    /**
-     * @example respect_origin
-     */
-    mode?: string;
-    status_code_ttl?: {
-      status_code?: number;
-      value?: number;
-    };
-  };
-  /**
-   * @example true
-   */
-  origin_error_page_passthru?: boolean;
-  /**
-   * @example true
-   */
-  respect_strong_etags?: boolean;
-  serve_stale?: {
-    /**
-     * @example true
-     */
-    disable_stale_while_updating?: boolean;
+export type AaaSchemasType = 'email' | 'pagerduty' | 'webhook';
+
+/**
+ * Optional secret that will be passed in the `cf-webhook-auth` header when dispatching generic webhook notifications or formatted for supported destinations. Secrets are not returned in any API response body.
+ */
+export type AaaSecret = string;
+
+export type AaaSensitiveIdResponse = AaaApiResponseSingle & {
+  result?: {
+    id?: AaaToken;
   };
 };
 
 /**
- * The configuration parameters for the set_config action.
+ * Timestamp of when the notification was dispatched in ISO 8601 format.
+ *
+ * @example 2021-10-08T17:52:17.571336Z
+ * @format date-time
  */
-export type ActionParametersSetConfig = {
-  /**
-   * Enable or disable Automatic HTTPS Rewrites for matching requests
-   *
-   * @example true
-   */
-  automatic_https_rewrites?: boolean;
-  /**
-   * Select which file extensions to minify automatically.
-   */
-  autominify?: {
-    /**
-     * @example true
-     */
-    css?: boolean;
-    /**
-     * @example true
-     */
-    html?: boolean;
-    /**
-     * @example true
-     */
-    js?: boolean;
-  };
-  /**
-   * Enable or disable Browser Integrity Check
-   *
-   * @example true
-   */
-  bic?: boolean;
-  /**
-   * Disable all active Cloudflare Apps
-   *
-   * @example true
-   */
-  disable_apps?: boolean;
-  /**
-   * Disable Cloudflare Railgun
-   *
-   * @example true
-   */
-  disable_railgun?: boolean;
-  /**
-   * Disable Cloudflare Railgun
-   *
-   * @example true
-   */
-  disable_zaraz?: boolean;
-  /**
-   * Enable or disable Email Obfuscation
-   *
-   * @example false
-   */
-  email_obfuscation?: boolean;
-  /**
-   * Enable or disable Hotlink Protection
-   *
-   * @example false
-   */
-  hotlink_protection?: boolean;
-  /**
-   * Enable or disable Mirage
-   *
-   * @example false
-   */
-  mirage?: boolean;
-  /**
-   * Enable or disableOpportunistic Encryption
-   *
-   * @example false
-   */
-  opportunistic_encryption?: boolean;
-  /**
-   * Set Polish compression options
-   *
-   * @example lossless
-   */
-  polish?: string;
-  /**
-   * Enable or disable Rocket Loader
-   *
-   * @example false
-   */
-  rocket_loader?: boolean;
-  /**
-   * Set the Security Level
-   *
-   * @example low
-   */
-  security_level?: string;
-  /**
-   * Enable or disable Server Side Excludes
-   *
-   * @example false
-   */
-  server_side_excludes?: boolean;
-  /**
-   * Select the SSL encryption mode
-   *
-   * @example flexible
-   */
-  ssl?: string;
-  /**
-   * Enable or disable Signed Exchangesn(SXG)
-   *
-   * @example false
-   */
-  sxg?: boolean;
+export type AaaSent = string;
+
+export type AaaSingleResponse = AaaApiResponseSingle & {
+  result?: AaaPolicies;
 };
 
 /**
- * The set of actions to perform if the targets of this rule match the request. Actions can redirect to another URL or override settings, but not both.
- *
- * @example {"id":"browser_check","value":"on"}
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
  */
-export type Actions = RouteVdCUMuBC[];
+export type AaaTimestamp = string;
 
 /**
- * When the Railgun was activated.
+ * token in form of UUID
  *
- * @example 2014-01-02T02:20:00Z
- * @format date-time
+ * @example a313ba7d-3e46-4c0e-a408-08fafbc3816a
+ * @maxLength 36
  */
-export type ActivatedOn = string;
-
-export type Activation = {
-  activated_on?: ActivatedOn;
-  key: ActivationKey;
-  version?: {
-    build?: Build;
-    number: ComponentsSchemasVersion;
-    revision?: Revision;
-  };
-};
+export type AaaToken = string;
 
 /**
- * @example e4edc00281cb56ebac22c81be9bac8f3
- * @maxLength 32
+ * Use this value when creating and updating a notification policy.
+ *
+ * @example http_alert_origin_error
  */
-export type ActivationKey = string;
+export type AaaType = string;
 
 /**
- * The number of active devices registered to the user.
+ * The POST endpoint to call when dispatching a notification.
  *
- * @example 2
+ * @example https://hooks.slack.com/services/Ds3fdBFbV/456464Gdd
  */
-export type ActiveDeviceCount = number;
+export type AaaUrl = string;
 
 /**
- * Activity log settings.
+ * UUID
+ *
+ * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
+ * @maxLength 36
+ * @x-auditable true
  */
-export type ActivityLogSettings = {
-  /**
-   * Enable activity logging.
-   *
-   * @example true
-   */
-  enabled?: boolean;
-};
+export type AaaUuid = string;
 
 /**
- * Controls features that modify the routing of requests to pools and origins in response to dynamic conditions, such as during the interval between active health monitoring requests. For example, zero-downtime failover occurs immediately when an origin becomes unavailable due to HTTP 521, 522, or 523 response codes. If there is another healthy origin in the same pool, the request is retried once against this alternate origin.
+ * The unique identifier of a webhook
+ *
+ * @example b115d5ec-15c6-41ee-8b76-92c449b5227b
+ * @maxLength 36
  */
-export type AdaptiveRouting = {
-  /**
-   * Extends zero-downtime failover of requests to healthy origins from alternate pools, when no healthy alternate exists in the same pool, according to the failover order defined by traffic and origin steering. When set false (the default) zero-downtime failover will only occur between origins within the same pool. See `session_affinity_attributes` for control over when sessions are broken or reassigned.
-   *
-   * @default false
-   * @example true
-   */
-  failover_across_pools?: boolean;
+export type AaaWebhookId = string;
+
+export type AaaWebhooks = {
+  created_at?: AaaCreatedAt;
+  id?: AaaWebhookId;
+  last_failure?: AaaLastFailure;
+  last_success?: AaaLastSuccess;
+  name?: AaaComponentsSchemasName;
+  secret?: AaaSecret;
+  type?: AaaComponentsSchemasType;
+  url?: AaaUrl;
 };
 
-/**
- * Additional information related to the host name.
- */
-export type AdditionalInformation = {
-  /**
-   * Suspected DGA malware family.
-   *
-   * @example
-   */
-  suspected_malware_family?: string;
+export type AaaWebhooksComponentsSchemasResponseCollection = AaaApiResponseCollection & {
+  result?: AaaWebhooks[];
 };
 
 /**
- * The hostname or IP address of the origin server to run health checks on.
- *
- * @example www.example.com
+ * Report has invalid type
  */
-export type Address = string;
+export type AbuseReportsBadActError = string;
 
 /**
- * The IP address (IPv4 or IPv6) of the origin, or its publicly addressable hostname. Hostnames entered here should resolve directly to the origin, and not be a hostname proxied by Cloudflare. To set an internal/reserved address, virtual_network_id must also be set.
- *
- * @example 0.0.0.0
+ * Provided value has invalid size
  */
-export type Address2vBDvjOD = string;
+export type AbuseReportsBadAddressError = string;
 
 /**
- * The IP address (IPv4 or IPv6) of the origin, or its publicly addressable hostname. Hostnames entered here should resolve directly to the origin, and not be a hostname proxied by Cloudflare. To set an internal/reserved address, virtual_network_id must also be set.
- *
- * @example 0.0.0.0
+ * Provided value has invalid size
  */
-export type AddressGVmFzzym = string;
-
-export type AddressMaps = {
-  can_delete?: CanDelete;
-  can_modify_ips?: CanModifyIps;
-  created_at?: Timestamp;
-  default_sni?: DefaultSni;
-  description?: SchemasDescription;
-  enabled?: EnabledMHW1g4wi;
-  id?: Identifier;
-  modified_at?: Timestamp;
-};
-
-export type AddressMapsTAVtBJaW = {
-  can_delete?: CanDelete;
-  can_modify_ips?: CanModifyIps;
-  created_at?: Timestamp;
-  default_sni?: DefaultSni;
-  description?: AddressMapsComponentsSchemasDescription;
-  enabled?: AddressMapsComponentsSchemasEnabled;
-  id?: CommonComponentsSchemasIdentifier;
-  modified_at?: Timestamp;
-};
-
-export type AddressMapsIp = {
-  created_at?: Timestamp;
-  ip?: Ip;
-};
-
-export type AddressMapsIpSOzzPbBz = {
-  created_at?: CreatedOn;
-  ip?: Ip;
-};
-
-export type AddressMapsMembership = {
-  can_delete?: SchemasCanDelete;
-  created_at?: Timestamp;
-  identifier?: Identifier;
-  kind?: Kind;
-};
-
-export type AddressMapsMembership5Sv6b19f = {
-  can_delete?: SchemasCanDelete;
-  created_at?: CreatedOn;
-  identifier?: CommonComponentsSchemasIdentifier;
-  kind?: ComponentsSchemasKind;
-};
+export type AbuseReportsBadAgentNameError = string;
 
 /**
- * An optional description field which may be used to describe the types of IPs or zones on the map.
- *
- * @example My Ecommerce zones
+ * Provided value has invalid size
  */
-export type AddressMapsComponentsSchemasDescription = string | null;
+export type AbuseReportsBadCityError = string;
 
 /**
- * Whether the Address Map is enabled or not. Cloudflare's DNS will not respond with IP addresses on an Address Map until the map is enabled.
- *
- * @default false
- * @example true
+ * Comment maximum length of 2000 characters exceeded
  */
-export type AddressMapsComponentsSchemasEnabled = boolean | null;
-
-export type AddressMapsComponentsSchemasResponseCollection = ApiResponseCollection & {
-  result?: AddressMapsTAVtBJaW[];
-};
-
-export type AddressMapsComponentsSchemasSingleResponse = ApiResponseSingleLarS7owG & {
-  result?: AddressMapsTAVtBJaW;
-};
+export type AbuseReportsBadCommentsError = string;
 
 /**
- * Optional address line for unit, floor, suite, etc.
- *
- * @example Suite 430
+ * Provided value has invalid size
  */
-export type Address2 = string;
+export type AbuseReportsBadCountryError = string;
 
-export type Addresses = DestinationAddressProperties;
+/**
+ * Provided email was invalid
+ */
+export type AbuseReportsBadEmailError = string;
 
-export type AdvancedCertificatePackResponseSingle = ApiResponseSingleZZHeSkIR & {
-  result?: {
-    certificate_authority?: SchemasCertificateAuthority;
-    cloudflare_branding?: CloudflareBranding;
-    hosts?: SchemasHosts;
-    id?: Identifier;
-    status?: CertificatePacksComponentsSchemasStatus;
-    type?: AdvancedType;
-    validation_method?: ValidationMethod;
-    validity_days?: ValidityDays;
-  };
-};
+/**
+ * Invalid IP passed to api
+ */
+export type AbuseReportsBadIPError = string;
 
-export type AdvancedCertificatePackResponseSingleJGLglSyc = ApiResponseSingleLarS7owG & {
-  result?: {
-    certificate_authority?: CertificateAuthorityFERjgp6A;
-    cloudflare_branding?: CloudflareBranding;
-    hosts?: SchemasHosts;
-    id?: CertificatePacksComponentsSchemasIdentifier;
-    status?: CertificatePacksComponentsSchemasStatus;
-    type?: AdvancedType;
-    validation_method?: ValidationMethod;
-    validity_days?: ValidityDays;
-  };
-};
+/**
+ * Please provide a more detailed description of the infringement between 1 and 5000 characters
+ */
+export type AbuseReportsBadJustError = string;
 
 /**
- * Advanced protection from Distributed Denial of Service (DDoS) attacks on your website. This is an uneditable value that is 'on' in the case of Business and Enterprise zones.
+ * Missing a required field
  */
-export type AdvancedDdos = {
-  /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
-   *
-   * @default true
-   */
-  editable?: true | false;
-  /**
-   * ID of the zone setting.
-   *
-   * @example advanced_ddos
-   */
-  id: 'advanced_ddos';
-  /**
-   * last time this setting was modified.
-   *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
-   */
-  modified_on?: string | null;
-  /**
-   * Current value of the zone setting.
-   *
-   * @example on
-   */
-  value: AdvancedDdosValue;
-};
+export type AbuseReportsBadNameError = string;
 
 /**
- * Value of the zone setting.
- * Notes: Defaults to on for Business+ plans
- *
- * @default off
+ * Invalid Port and Protocol passed to api
  */
-export type AdvancedDdosValue = 'on' | 'off';
+export type AbuseReportsBadPortsProtocolError = string;
 
 /**
- * Type of certificate pack.
- *
- * @example advanced
+ * Provided value has invalid size
  */
-export type AdvancedType = 'advanced';
+export type AbuseReportsBadStateError = string;
 
 /**
- * Prefix advertisement status to the Internet. This field is only not 'null' if on demand is enabled.
- *
- * @example true
+ * Invalid URL (http://example.com/) Invalid URL Scheme (http or https) Missing hostname in url Missing a required field Could not determine encoding of field
  */
-export type Advertised = boolean | null;
+export type AbuseReportsBadUrlsError = string;
 
-export type AdvertisedResponse = ApiResponseSingleZ04EBmfK & {
-  result?: {
-    advertised?: SchemasAdvertised;
-    advertised_modified_at?: ModifiedAtNullable;
-  };
-};
+/**
+ * Failed while reading from database Failed while writing to the database This service error will trigger an alert for Cloudflare engineers to investigate the cause resolve it.
+ */
+export type AbuseReportsDBError = string;
 
-export type AdvertisedResponse4CdBXORk = ApiResponseSingleLarS7owG & {
-  result?: {
-    advertised?: SchemasAdvertised;
-    advertised_modified_at?: ModifiedAtNullable;
-  };
-};
+/**
+ * You have already submitted this URL in the last 7 days
+ */
+export type AbuseReportsDedupeError = string;
 
-export type AlertTypes = {
-  description?: AlertTypesComponentsSchemasDescription;
-  display_name?: DisplayName;
-  filter_options?: SchemasFilterOptions;
-  type?: AlertTypesComponentsSchemasType;
-};
+/**
+ * Provided emails did not match
+ */
+export type AbuseReportsDiffEmailError = string;
 
 /**
- * Describes the alert type.
- *
- * @example High levels of 5xx HTTP errors at your origin
+ * Failed to send confirmation email
  */
-export type AlertTypesComponentsSchemasDescription = string;
+export type AbuseReportsEmailError = string;
 
-export type AlertTypesComponentsSchemasResponseCollection = ApiResponseCollection & {
-  /**
-   * @example {"Origin Monitoring":[{"description":"High levels of 5xx HTTP errors at your origin.","display_name":"Origin Error Rate Alert","filter_options":[{"ComparisonOperator":"==","Key":"zones","Optional":false},{"ComparisonOperator":">=","Key":"slo","Optional":true}],"type":"http_alert_origin_error"}]}
-   */
-  result?: {
-    [key: string]: AlertTypes[];
-  };
-};
+export type AbuseReportsErrorCode =
+  | AbuseReportsBadActError
+  | AbuseReportsBadAddressError
+  | AbuseReportsBadAgentNameError
+  | AbuseReportsBadCityError
+  | AbuseReportsBadCountryError
+  | AbuseReportsBadPortsProtocolError
+  | AbuseReportsBadStateError
+  | AbuseReportsMaxIPsError
+  | AbuseReportsPortsProtocolError
+  | AbuseReportsBadCommentsError
+  | AbuseReportsBadEmailError
+  | AbuseReportsBadIPError
+  | AbuseReportsBadJustError
+  | AbuseReportsBadNameError
+  | AbuseReportsBadUrlsError
+  | AbuseReportsDBError
+  | AbuseReportsDedupeError
+  | AbuseReportsDiffEmailError
+  | AbuseReportsEmailError
+  | AbuseReportsInternalError
+  | AbuseReportsInvalidNotifyError
+  | AbuseReportsMustNotifyError
+  | AbuseReportsNoAgreeError
+  | AbuseReportsNoOriginalWorkError
+  | AbuseReportsNoSigError
+  | AbuseReportsUnexpectedActError
+  | AbuseReportsUnknownError
+  | AbuseReportsUrlNotOrangeError
+  | AbuseReportsUrlNotvalidError;
 
 /**
- * Use this value when creating and updating a notification policy.
- *
- * @example http_alert_origin_error
+ * Failed to translate email
  */
-export type AlertTypesComponentsSchemasType = string;
+export type AbuseReportsInternalError = string;
 
 /**
- * Message body included in the notification sent.
- *
- * @example SSL certificate has expired
+ * Invalid value for notification preference
  */
-export type AlertBody = string;
+export type AbuseReportsInvalidNotifyError = string;
 
 /**
- * Refers to which event will trigger a Notification dispatch. You can use the endpoint to get available alert types which then will give you a list of possible values.
- *
- * @example universal_ssl_event_type
+ * Provided value has invalid size
  */
-export type AlertType = string;
+export type AbuseReportsMaxIPsError = string;
 
 /**
- * TSIG algorithm.
- *
- * @example hmac-sha512.
+ * Please pick one party to notify about this report
  */
-export type Algo = string;
+export type AbuseReportsMustNotifyError = string;
 
 /**
- * Algorithm key code.
- *
- * @example 13
+ * Must acknowledge that you are bound by 512(f), that you have a good faith belief about the material, and that you have the authority to act
  */
-export type Algorithm = string | null;
+export type AbuseReportsNoAgreeError = string;
 
 /**
- * Allows all HTTP request headers.
- *
- * @example true
+ * Original Work section must be between 1 and 2000 characters
  */
-export type AllowAllHeaders = boolean;
+export type AbuseReportsNoOriginalWorkError = string;
 
 /**
- * Allows all HTTP request methods.
+ * Signature must match your name
  */
-export type AllowAllMethods = boolean;
+export type AbuseReportsNoSigError = string;
 
 /**
- * Allows all origins.
+ * Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark reports cannot be anonymous.
  */
-export type AllowAllOrigins = boolean;
+export type AbuseReportsNotification = 'send' | 'send-anon' | 'none';
 
 /**
- * When set to `true`, includes credentials (cookies, authorization headers, or TLS client certificates) with requests.
+ * Provided value has invalid size
  */
-export type AllowCredentials = boolean;
+export type AbuseReportsPortsProtocolError = string;
 
 /**
- * Do not validate the certificate when monitor use HTTPS. This parameter is currently only valid for HTTP and HTTPS monitors.
+ * The abuse report type
  *
- * @default false
- * @example true
+ * @example abuse_general
+ */
+export type AbuseReportsReportType =
+  | 'abuse_dmca'
+  | 'abuse_trademark'
+  | 'abuse_general'
+  | 'abuse_phishing'
+  | 'abuse_children'
+  | 'abuse_threat'
+  | 'abuse_registrar_whois'
+  | 'abuse_ncsei';
+
+export type AbuseReportsSubmitErrorResponse = {
+  error_code: AbuseReportsErrorCode;
+  /**
+   * The error message for the error
+   */
+  msg: string;
+  request: {
+    act: AbuseReportsReportType;
+  };
+  /**
+   * The result should be 'error' for successful response
+   */
+  result: string;
+};
+
+export type AbuseReportsSubmitReportRequest = {
+  act: AbuseReportsReportType;
+  /**
+   * Text not exceeding 100 characters
+   *
+   * @maxLength 100
+   * @minLength 1
+   */
+  address1?: string;
+  /**
+   * The name of the copyright holder. Text not exceeding 60 characters.
+   *
+   * @maxLength 60
+   * @minLength 1
+   */
+  agent_name?: string;
+  /**
+   * Can be 0 or 1
+   */
+  agree?: 0 | 1;
+  /**
+   * Text not exceeding 255 characters
+   *
+   * @maxLength 255
+   * @minLength 1
+   */
+  city?: string;
+  /**
+   * Any additional comments about the infringement not exceeding 2000 characters
+   *
+   * @maxLength 2000
+   * @minLength 1
+   */
+  comments?: string;
+  /**
+   * Text not exceeding 100 characters
+   *
+   * @maxLength 100
+   * @minLength 1
+   */
+  company?: string;
+  /**
+   * Text not exceeding 255 characters
+   *
+   * @maxLength 255
+   * @minLength 1
+   */
+  country?: string;
+  /**
+   * A list of IP addresses separated by ‘
+   * ’ (new line character). The list of destination IPs should not exceed 30 IP addresses. Each one of the IP addresses ought to be unique
+   */
+  destination_ips?: string;
+  /**
+   * A valid email of the abuse reporter
+   */
+  email: string;
+  /**
+   * Should match the value provided in `email`
+   */
+  email2: string;
+  host_notification: AbuseReportsNotification;
+  /**
+   * A detailed description of the infringement, including any necessary access details and the exact steps needed to view the content, not exceeding 5000 characters
+   *
+   * @maxLength 5000
+   * @minLength 1
+   */
+  justification?: string;
+  /**
+   * Text not exceeding 255 characters
+   *
+   * @maxLength 255
+   * @minLength 1
+   */
+  name?: string;
+  ncmec_notification: AbuseReportsNotification;
+  /**
+   * If the submitter is the target of NCSEI in the URLs of the abuse report
+   */
+  ncsei_subject_representation?: boolean;
+  /**
+   * Text not exceeding 255 characters
+   *
+   * @maxLength 255
+   * @minLength 1
+   */
+  original_work?: string;
+  owner_notification: AbuseReportsNotification;
+  /**
+   * A comma separated list of ports and protocols e.g. 80/TCP, 22/UDP. The total size of the field should not exceed 2000 characters. Each individual port/protocol should not exceed 100 characters. The list should not have more than 30 unique ports and protocols.
+   */
+  ports_protocols?: string;
+  /**
+   * Required for DMCA reports, should be same as Name. An affirmation that all information in the report is true and accurate while agreeing to the policies of Cloudflare's abuse reports
+   */
+  signature?: string;
+  /**
+   * A list of IP addresses separated by ‘
+   * ’ (new line character). The list of source IPs should not exceed 30 IP addresses. Each one of the IP addresses ought to be unique
+   */
+  source_ips?: string;
+  /**
+   * Text not exceeding 255 characters
+   *
+   * @maxLength 255
+   * @minLength 1
+   */
+  state?: string;
+  /**
+   * Text not exceeding 20 characters
+   *
+   * @maxLength 20
+   * @minLength 1
+   */
+  tele?: string;
+  /**
+   * Text not exceeding 255 characters
+   *
+   * @maxLength 255
+   * @minLength 1
+   */
+  title?: string;
+  /**
+   * Text not exceeding 1000 characters
+   *
+   * @maxLength 1000
+   * @minLength 1
+   */
+  trademark_number?: string;
+  /**
+   * Text not exceeding 1000 characters
+   *
+   * @maxLength 1000
+   * @minLength 1
+   */
+  trademark_office?: string;
+  /**
+   * Text not exceeding 1000 characters
+   *
+   * @maxLength 1000
+   * @minLength 1
+   */
+  trademark_symbol?: string;
+  /**
+   * A list of valid URLs separated by ‘
+   * ’ (new line character). The list of the URLs should not exceed 250 URLs. All URLs should have the same hostname. Each URL should be unique
+   */
+  urls: string;
+};
+
+export type AbuseReportsSubmitReportResponse = {
+  /**
+   * The identifier for the submitted abuse report.
+   */
+  abuse_rand: string;
+  request: {
+    act: AbuseReportsReportType;
+  };
+  /**
+   * The result should be 'success' for successful response
+   */
+  result: string;
+};
+
+/**
+ * Report has the wrong type
  */
-export type AllowInsecure = boolean;
+export type AbuseReportsUnexpectedActError = string;
 
 /**
- * Whether to allow the user to switch WARP between modes.
- *
- * @example true
+ * An unexpected error occurred
  */
-export type AllowModeSwitch = boolean;
+export type AbuseReportsUnknownError = string;
 
 /**
- * When `true`, the tunnel can use a null-cipher (`ENCR_NULL`) in the ESP tunnel (Phase 2).
- *
- * @example true
+ * A URL contains a domain that is not active on Cloudflare
  */
-export type AllowNullCipher = boolean;
+export type AbuseReportsUrlNotOrangeError = string;
 
 /**
- * Whether to receive update notifications when a new version of the client is available.
+ * You have entered URLs that contain more than 1 unique hostname. A single report may only include 1 unique hostname (i.e, www.example.com). To report URLs related to another hostname (i.e. other.example.com) you'll need to file a separate report.
+ */
+export type AbuseReportsUrlNotvalidError = string;
+
+export type AccessAccessRequests = {
+  action?: AccessAction;
+  allowed?: AccessAllowed;
+  app_domain?: AccessAppDomain;
+  app_uid?: AccessAppUid;
+  connection?: AccessConnection;
+  created_at?: AccessTimestamp;
+  ip_address?: AccessIp;
+  ray_id?: AccessRayId;
+  user_email?: AccessSchemasEmail;
+};
+
+export type AccessAccessRequestsComponentsSchemasResponseCollection = AccessApiResponseCommon & {
+  result?: AccessAccessRequests[];
+};
+
+/**
+ * Matches an Access group.
+ */
+export type AccessAccessGroupRule = {
+  group: {
+    /**
+     * The ID of a previously created Access group.
+     *
+     * @example aa0a4aab-672b-4bdb-bc33-a59f1130a11f
+     */
+    id: string;
+  };
+};
+
+/**
+ * True if the seat is part of Access.
  *
- * @example true
+ * @example false
  */
-export type AllowUpdates = boolean;
+export type AccessAccessSeat = boolean;
 
 /**
- * The result of the authentication event.
+ * The event that occurred, such as a login attempt.
  *
- * @default false
+ * @example login
  */
-export type Allowed = boolean;
+export type AccessAction = string;
 
 /**
- * Cloudflare Images allowed usage.
+ * The number of active devices registered to the user.
  *
- * @example 100000
+ * @example 2
  */
-export type Allowed26ctRtQW = number;
+export type AccessActiveDeviceCount = number;
+
+export type AccessActiveSessionResponse = AccessApiResponseSingle & {
+  result?: AccessIdentity & {
+    /**
+     * @example true
+     */
+    isActive?: boolean;
+  };
+};
+
+export type AccessActiveSessionsResponse = AccessApiResponseCollection & {
+  result?: {
+    /**
+     * @example 1694813506
+     */
+    expiration?: number;
+    metadata?: {
+      apps?: {
+        [key: string]: {
+          /**
+           * @example test.example.com
+           */
+          hostname?: string;
+          /**
+           * @example app name
+           */
+          name?: string;
+          /**
+           * @example self_hosted
+           */
+          type?: string;
+          /**
+           * @example cc2a8145-0128-4429-87f3-872c4d380c4e
+           */
+          uid?: string;
+        };
+      };
+      /**
+       * @example 1694813506
+       */
+      expires?: number;
+      /**
+       * @example 1694791905
+       */
+      iat?: number;
+      /**
+       * @example X1aXj1lFVcqqyoXF
+       */
+      nonce?: string;
+      /**
+       * @example 21600
+       */
+      ttl?: number;
+    };
+    name?: string;
+  }[];
+};
 
 /**
- * Lists the origins allowed to display the video. Enter allowed origin domains in an array and use `*` for wildcard subdomains. Empty arrays allow the video to be viewed on any origin.
+ * Allows all HTTP request headers.
  *
- * @example example.com
+ * @example true
  */
-export type AllowedOrigins = string[];
+export type AccessAllowAllHeaders = boolean;
 
 /**
- * Allowed HTTP request headers.
+ * Allows all HTTP request methods.
  */
-export type AllowedHeaders = any[];
+export type AccessAllowAllMethods = boolean;
 
 /**
- * The identity providers your users can select when connecting to this application. Defaults to all IdPs configured in your account.
+ * Allows all origins.
  */
-export type AllowedIdps = string[];
+export type AccessAllowAllOrigins = boolean;
 
 /**
- * Related DLP policies will trigger when the match count exceeds the number set.
+ * When set to true, users can authenticate via WARP for any application in your organization. Application settings will take precedence over this value.
  *
- * @default 0
- * @example 5
- * @maximum 1000
- * @minimum 0
+ * @example false
  */
-export type AllowedMatchCount = number;
+export type AccessAllowAuthenticateViaWarp = boolean;
 
 /**
- * Allowed HTTP request methods.
- *
- * @example GET
+ * When set to `true`, includes credentials (cookies, authorization headers, or TLS client certificates) with requests.
  */
-export type AllowedMethods = ('GET' | 'POST' | 'HEAD' | 'PUT' | 'DELETE' | 'CONNECT' | 'OPTIONS' | 'TRACE' | 'PATCH')[];
+export type AccessAllowCredentials = boolean;
 
 /**
- * The available states for the rule group.
- *
- * @example on
- * @example off
+ * Enables using Identity Provider email alias as SSH username.
  */
-export type AllowedModes = ComponentsSchemasMode[];
+export type AccessAllowEmailAlias = boolean;
 
 /**
- * Defines the available modes for the current WAF rule.
+ * The result of the authentication event.
  *
- * @example on
- * @example off
+ * @default false
  */
-export type AllowedModesAllowTraditional = ModeAllowTraditional[];
+export type AccessAllowed = boolean;
 
 /**
- * Defines the available modes for the current WAF rule. Applies to anomaly detection WAF rules.
- *
- * @example on
- * @example off
+ * Allowed HTTP request headers.
  */
-export type AllowedModesAnomaly = ModeAnomaly[];
+export type AccessAllowedHeaders = string[];
 
 /**
- * The list of possible actions of the WAF rule when it is triggered.
- *
- * @example default
- * @example disable
- * @example simulate
- * @example block
- * @example challenge
+ * The identity providers your users can select when connecting to this application. Defaults to all IdPs configured in your account.
  */
-export type AllowedModesDenyTraditional = ModeDenyTraditional[];
+export type AccessAllowedIdps = string[];
 
 /**
- * Allowed origins.
+ * Allowed HTTP request methods.
  *
- * @example https://example.com
+ * @example GET
  */
-export type AllowedOrigins = any[];
+export type AccessAllowedMethods = (
+  | 'GET'
+  | 'POST'
+  | 'HEAD'
+  | 'PUT'
+  | 'DELETE'
+  | 'CONNECT'
+  | 'OPTIONS'
+  | 'TRACE'
+  | 'PATCH'
+)[];
 
 /**
- * Whether to allow devices to leave the organization.
+ * Allowed origins.
  *
- * @example true
+ * @example https://example.com
  */
-export type AllowedToLeave = boolean;
+export type AccessAllowedOrigins = string[];
 
 /**
- * When enabled, Cloudflare serves limited copies of web pages available from the [Internet Archive's Wayback Machine](https://archive.org/web/) if your server is offline. Refer to [Always Online](https://developers.cloudflare.com/cache/about/always-online) for more information.
+ * Matches any valid Access Service Token
  */
-export type AlwaysOnline = {
+export type AccessAnyValidServiceTokenRule = {
   /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   * An empty object which matches on all service tokens.
    *
-   * @default true
+   * @example {}
+   * @x-stainless-empty-object true
    */
-  editable?: true | false;
+  any_valid_service_token: Record<string, any>;
+};
+
+export type AccessApiResponseCollection = AccessApiResponseCommon & {
+  result_info?: AccessResultInfo;
+};
+
+export type AccessApiResponseCommon = {
+  errors: AccessMessages;
+  messages: AccessMessages;
   /**
-   * ID of the zone setting.
+   * Whether the API call was successful
    *
-   * @example always_online
+   * @example true
    */
-  id: 'always_online';
+  success: true;
+};
+
+export type AccessApiResponseCommonFailure = {
   /**
-   * last time this setting was modified.
-   *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
    */
-  modified_on?: string | null;
+  errors: AccessMessages;
+  messages: AccessMessages;
+  result: any | null;
   /**
-   * Current value of the zone setting.
+   * Whether the API call was successful
    *
-   * @example on
+   * @example false
    */
-  value: AlwaysOnlineValue;
+  success: false;
+};
+
+export type AccessApiResponseSingle = AccessApiResponseCommon;
+
+export type AccessAppPoliciesComponentsSchemasResponseCollection = AccessApiResponseCollection & {
+  result?: AccessAppPolicyResponse[];
+};
+
+export type AccessAppPoliciesComponentsSchemasSingleResponse = AccessApiResponseSingle & {
+  result?: AccessAppPolicyResponse;
 };
 
 /**
- * Value of the zone setting.
+ * Number of access applications currently using this policy.
  *
- * @default on
+ * @example 2
  */
-export type AlwaysOnlineValue = 'on' | 'off';
+export type AccessAppCount = number;
 
 /**
- * Reply to all requests for URLs that use "http" with a 301 redirect to the equivalent "https" URL. If you only want to redirect for a subset of requests, consider creating an "Always use HTTPS" page rule.
+ * The URL of the Access application.
  *
- * @default off
+ * @example test.example.com/admin
  */
-export type AlwaysUseHttps = {
-  /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
-   *
-   * @default true
-   */
-  editable?: true | false;
+export type AccessAppDomain = string;
+
+export type AccessAppId = AccessIdentifier | AccessUuid;
+
+/**
+ * The image URL of the logo shown in the App Launcher header.
+ *
+ * @example https://www.cloudflare.com/img/logo-web-badges/cf-logo-on-white-bg.svg
+ */
+export type AccessAppLauncherLogoUrl = string;
+
+export type AccessAppLauncherProps = {
+  allowed_idps?: AccessAllowedIdps;
+  app_launcher_logo_url?: AccessAppLauncherLogoUrl;
+  auto_redirect_to_identity?: AccessSchemasAutoRedirectToIdentity;
+  bg_color?: AccessBgColor;
   /**
-   * ID of the zone setting.
-   *
-   * @example always_use_https
+   * @example authdomain.cloudflareaccess.com
    */
-  id: 'always_use_https';
+  domain?: AccessDomain;
+  footer_links?: AccessFooterLinks;
+  header_bg_color?: AccessHeaderBgColor;
+  landing_page_design?: AccessLandingPageDesign;
   /**
-   * last time this setting was modified.
-   *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * @default App Launcher
+   * @example App Launcher
    */
-  modified_on?: string | null;
+  name?: AccessAppsComponentsSchemasName;
+  session_duration?: AccessSchemasSessionDuration;
+  skip_app_launcher_login_page?: AccessSkipAppLauncherLoginPage;
   /**
-   * Current value of the zone setting.
+   * The application type.
    *
-   * @example on
+   * @example app_launcher
    */
-  value: AlwaysUseHttpsValue;
+  type: AccessType;
 };
 
 /**
- * Value of the zone setting.
+ * Displays the application in the App Launcher.
  *
- * @default off
+ * @default true
+ * @example true
  */
-export type AlwaysUseHttpsValue = 'on' | 'off';
+export type AccessAppLauncherVisible = boolean;
 
 /**
- * The amount associated with this billing item.
- *
- * @example 20.99
+ * A JSON that links a reusable policy to an application.
  */
-export type Amount = number;
+export type AccessAppPolicyLink = {
+  id?: AccessSchemasUuid;
+  precedence?: AccessPrecedence;
+};
+
+export type AccessAppPolicyRequest = {
+  precedence?: AccessPrecedence;
+} & AccessPolicyReq;
+
+export type AccessAppPolicyResponse = AccessPolicyResp & {
+  precedence?: AccessPrecedence;
+};
 
-export type Analytics = {
+export type AccessAppReqEmbeddedPolicies = {
   /**
-   * @default 1
+   * The policies that Access applies to the application, in ascending order of precedence. Items can reference existing policies or create new policies exclusive to the application.
    */
-  id?: number;
+  policies?: (
+    | AccessAppPolicyLink
+    | (void & AccessSchemasUuid)
+    | (Record<string, any> & {
+        id?: AccessSchemasUuid;
+      } & AccessAppPolicyRequest)
+  )[];
+};
+
+export type AccessAppReqEmbeddedScimConfig = {
+  scim_config?: AccessScimConfig;
+};
+
+export type AccessAppRequest =
+  | (AccessSelfHostedProps & AccessAppReqEmbeddedPolicies & AccessAppReqEmbeddedScimConfig)
+  | (AccessSaasProps & AccessAppReqEmbeddedPolicies & AccessAppReqEmbeddedScimConfig)
+  | (AccessSshProps & AccessAppReqEmbeddedPolicies & AccessAppReqEmbeddedScimConfig)
+  | (AccessVncProps & AccessAppReqEmbeddedPolicies & AccessAppReqEmbeddedScimConfig)
+  | (AccessAppLauncherProps & AccessAppReqEmbeddedPolicies & AccessAppReqEmbeddedScimConfig)
+  | (AccessWarpProps & AccessAppReqEmbeddedPolicies & AccessAppReqEmbeddedScimConfig)
+  | (AccessBisoProps & AccessAppReqEmbeddedPolicies & AccessAppReqEmbeddedScimConfig)
+  | (AccessBookmarkProps & AccessAppReqEmbeddedScimConfig)
+  | (AccessInfraProps & AccessInfraAppReqEmbeddedPolicies);
+
+/**
+ * The policies that Access applies to the application.
+ */
+export type AccessAppRespEmbeddedPolicies = {
+  policies?: AccessAppPolicyResponse[];
+};
+
+/**
+ * Contains the targets secured by the application.
+ */
+export type AccessAppRespEmbeddedTargetCriteria = {
+  target_criteria?: AccessTargetCriteria[];
+};
+
+export type AccessAppResponse =
+  | (AccessBasicAppResponseProps & AccessSelfHostedProps & AccessAppRespEmbeddedPolicies)
+  | (AccessBasicAppResponseProps & AccessSaasProps & AccessAppRespEmbeddedPolicies)
+  | (AccessBasicAppResponseProps & AccessSshProps & AccessAppRespEmbeddedPolicies)
+  | (AccessBasicAppResponseProps & AccessVncProps & AccessAppRespEmbeddedPolicies)
+  | (AccessBasicAppResponseProps & AccessAppLauncherProps & AccessAppRespEmbeddedPolicies)
+  | (AccessBasicAppResponseProps & AccessWarpProps & AccessAppRespEmbeddedPolicies)
+  | (AccessBasicAppResponseProps & AccessBisoProps & AccessAppRespEmbeddedPolicies)
+  | (AccessBasicAppResponseProps & AccessBookmarkProps)
+  | (AccessBasicAppResponseProps & AccessInfraProps & AccessInfraAppRespEmbeddedPolicies);
+
+/**
+ * The unique identifier for the Access application.
+ *
+ * @example df7e2w5f-02b7-4d9d-af26-8d1988fca630
+ */
+export type AccessAppUid = string;
+
+/**
+ * A group of email addresses that can approve a temporary authentication request.
+ */
+export type AccessApprovalGroup = {
   /**
-   * @example {"address":"198.51.100.4","changed":true,"enabled":true,"failure_reason":"No failures","healthy":true,"ip":"198.51.100.4","name":"some-origin"}
+   * The number of approvals needed to obtain access.
+   *
+   * @example 1
+   * @minimum 0
    */
-  origins?: any[];
+  approvals_needed: number;
   /**
-   * @example {"changed":true,"healthy":true,"id":"74bc6a8b9b0dda3d651707a2928bad0c","minimum_origins":1,"name":"some-pool"}
+   * A list of emails that can approve the access request.
+   *
+   * @example test@cloudflare.com
+   * @example test2@cloudflare.com
    */
-  pool?: Record<string, any>;
+  email_addresses?: string[];
   /**
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * The UUID of an re-usable email list.
    */
-  timestamp?: string;
+  email_list_uuid?: string;
 };
 
-export type AnalyticsAggregateComponentsSchemasResponseCollection = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | any[] | string;
-  /**
-   * Whether the API call was successful
-   *
-   * @example true
-   */
-  success: true;
-};
+/**
+ * Administrators who can approve a temporary authentication request.
+ *
+ * @example {"approvals_needed":1,"email_addresses":["test1@cloudflare.com","test2@cloudflare.com"]}
+ * @example {"approvals_needed":3,"email_list_uuid":"597147a1-976b-4ef2-9af0-81d5d007fc34"}
+ */
+export type AccessApprovalGroups = AccessApprovalGroup[];
 
 /**
- * @example 17b5962d775c646f3f9725cbc7a53df4
+ * Requires the user to request access from an administrator at the start of each session.
+ *
+ * @default false
+ * @example true
  */
-export type AnalyticsComponentsSchemasIdentifier = void;
+export type AccessApprovalRequired = boolean;
 
-export type AnalyticsComponentsSchemasResponseCollection = ApiResponseCollection & {
-  result?: Analytics[];
-};
+export type AccessApps =
+  | (AccessSchemasBasicAppResponseProps & AccessSchemasSelfHostedProps)
+  | (AccessSchemasBasicAppResponseProps & AccessSchemasSaasProps)
+  | (AccessSchemasBasicAppResponseProps & AccessSchemasSshProps)
+  | (AccessSchemasBasicAppResponseProps & AccessSchemasVncProps)
+  | (AccessSchemasBasicAppResponseProps & AccessSchemasAppLauncherProps)
+  | (AccessSchemasBasicAppResponseProps & AccessSchemasWarpProps)
+  | (AccessSchemasBasicAppResponseProps & AccessSchemasBisoProps)
+  | (AccessSchemasBasicAppResponseProps & AccessSchemasBookmarkProps);
 
 /**
- * A summary of the purpose/function of the WAF package.
+ * The name of the application.
  *
- * @example Covers OWASP Top 10 vulnerabilities and more.
+ * @example Admin Site
  */
-export type AnomalyDescription = string;
+export type AccessAppsComponentsSchemasName = string;
+
+export type AccessAppsComponentsSchemasResponseCollection = AccessApiResponseCollection & {
+  result?: AccessAppResponse[];
+};
+
+export type AccessAppsComponentsSchemasResponseCollection2 = AccessApiResponseCollection & {
+  result?: AccessApps[];
+};
+
+export type AccessAppsComponentsSchemasSingleResponse = AccessApiResponseSingle & {
+  result?: AccessAppResponse;
+};
+
+export type AccessAppsComponentsSchemasSingleResponse2 = AccessApiResponseSingle & {
+  result?: AccessApps;
+};
 
 /**
- * When a WAF package uses anomaly detection, each rule is given a score when triggered. If the total score of all triggered rules exceeds the sensitivity defined on the WAF package, the action defined on the package will be taken.
- *
- * @example anomaly
+ * The hostnames of the applications that will use this certificate.
  */
-export type AnomalyDetectionMode = string;
+export type AccessAssociatedHostnames = string[];
 
 /**
- * The name of the WAF package.
+ * The Application Audience (AUD) tag. Identifies the application associated with the CA.
  *
- * @example OWASP ModSecurity Core Rule Set
+ * @example 737646a56ab1df6ec9bddc7e5ca84eaf3b0768850f3ffb5d74f1534911fe3893
+ * @maxLength 64
  */
-export type AnomalyName = string;
+export type AccessAud = string;
 
-export type AnomalyPackage = {
-  description: AnomalyDescription;
-  detection_mode: AnomalyDetectionMode;
-  id: PackageComponentsSchemasIdentifier;
-  name: AnomalyName;
-  status?: PackageComponentsSchemasStatus;
-  zone_id: CommonComponentsSchemasIdentifier;
-  action_mode?: ActionMode;
-  sensitivity?: Sensitivity;
+/**
+ * Matches an Azure Authentication Context.
+ * Requires an Azure identity provider.
+ */
+export type AccessAuthContextRule = {
+  auth_context: {
+    /**
+     * The ACID of an Authentication context.
+     *
+     * @example ea85612a-29c8-46c2-bacb-669d65136971
+     */
+    ac_id: string;
+    /**
+     * The ID of an Authentication context.
+     *
+     * @example aa0a4aab-672b-4bdb-bc33-a59f1130a11f
+     */
+    id: string;
+    /**
+     * The ID of your Azure identity provider.
+     *
+     * @example ea85612a-29c8-46c2-bacb-669d65136971
+     */
+    identity_provider_id: string;
+  };
 };
 
 /**
- * When triggered, anomaly detection WAF rules contribute to an overall threat score that will determine if a request is considered malicious. You can configure the total scoring threshold through the 'sensitivity' property of the WAF package.
+ * The unique subdomain assigned to your Zero Trust organization.
+ *
+ * @example test.cloudflareaccess.com
  */
-export type AnomalyRule = RuleComponentsSchemasBase2 & {
-  allowed_modes?: AllowedModesAnomaly;
-  mode?: ModeAnomaly;
-};
+export type AccessAuthDomain = string;
 
 /**
- * Anti virus settings.
+ * Enforce different MFA options
  */
-export type AntiVirusSettings = {
-  enabled_download_phase?: EnabledDownloadPhase;
-  enabled_upload_phase?: EnabledUploadPhase;
-  fail_closed?: FailClosed;
+export type AccessAuthenticationMethodRule = {
+  auth_method: {
+    /**
+     * The type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
+     *
+     * @example mfa
+     */
+    auth_method: string;
+  };
 };
 
-export type ApiResponseCollection = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | any[] | string | null;
+/**
+ * When set to `true`, users skip the identity provider selection step during login.
+ *
+ * @default false
+ */
+export type AccessAutoRedirectToIdentity = boolean;
+
+export type AccessAzureAD = {
   /**
-   * Whether the API call was successful
-   *
-   * @example true
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
    */
-  success: true;
-  result_info?: ResultInfo;
-};
-
-export type ApiResponseCollectionCommon = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | any[] | string | null;
+  config: AccessGenericOauthConfig &
+    AccessCustomClaimsSupport & {
+      /**
+       * Should Cloudflare try to load authentication contexts from your account
+       */
+      conditional_access_enabled?: boolean;
+      /**
+       * Your Azure directory uuid
+       *
+       * @example <your azure directory uuid>
+       */
+      directory_id?: string;
+      /**
+       * Indicates the type of user interaction that is required. prompt=login forces the user to enter their credentials on that request, negating single-sign on. prompt=none is the opposite. It ensures that the user isn't presented with any interactive prompt. If the request can't be completed silently by using single-sign on, the Microsoft identity platform returns an interaction_required error. prompt=select_account interrupts single sign-on providing account selection experience listing all the accounts either in session or any remembered account or an option to choose to use a different account altogether.
+       */
+      prompt?: 'login' | 'select_account' | 'none';
+      /**
+       * Should Cloudflare try to load groups from your account
+       */
+      support_groups?: boolean;
+    };
+  id?: AccessUuid;
+  name: AccessComponentsSchemasName;
   /**
-   * Whether the API call was successful
-   *
-   * @example true
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
    */
-  success: true;
-};
-
-export type ApiResponseCommon = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | any[] | string;
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * Indicates how a SCIM event updates a user identity used for policy evaluation. Use "automatic" to automatically update a user's identity and augment it with fields from the SCIM user resource. Use "reauth" to force re-authentication on group membership updates, user identity update will only occur after successful re-authentication. With "reauth" identities will not contain fields from the SCIM user resource. With "no_action" identities will not be changed by SCIM updates in any way and users will not be prompted to reauthenticate.
+     */
+    identity_update_behavior?: 'automatic' | 'reauth' | 'no_action';
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
   /**
-   * Whether the API call was successful
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
    *
-   * @example true
+   * @example onetimepin
    */
-  success: true;
+  type:
+    | 'onetimepin'
+    | 'azureAD'
+    | 'saml'
+    | 'centrify'
+    | 'facebook'
+    | 'github'
+    | 'google-apps'
+    | 'google'
+    | 'linkedin'
+    | 'oidc'
+    | 'okta'
+    | 'onelogin'
+    | 'pingone'
+    | 'yandex';
 };
 
-export type ApiResponseCommonFailure = {
-  /**
-   * @example {"code":7003,"message":"No route for the URI"}
-   * @minLength 1
-   */
-  errors: Messages;
-  messages: Messages;
-  result: any | null;
-  /**
-   * Whether the API call was successful
-   *
-   * @example false
-   */
-  success: false;
+/**
+ * Matches an Azure group.
+ * Requires an Azure identity provider.
+ */
+export type AccessAzureGroupRule = {
+  azureAD: {
+    /**
+     * The ID of an Azure group.
+     *
+     * @example aa0a4aab-672b-4bdb-bc33-a59f1130a11f
+     */
+    id: string;
+    /**
+     * The ID of your Azure identity provider.
+     *
+     * @example ea85612a-29c8-46c2-bacb-669d65136971
+     */
+    identity_provider_id: string;
+  };
 };
 
-export type ApiResponseCommonFailureCy4i8dJG = {
-  /**
-   * @example {"code":7003,"message":"No route for the URI."}
-   * @minLength 1
-   */
-  errors: Messages;
-  messages: Messages;
-  result: any | null;
-  /**
-   * Whether the API call was successful.
-   *
-   * @example false
-   */
-  success: false;
+export type AccessBasePolicyReq = {
+  decision: AccessDecision;
+  exclude?: AccessSchemasExclude;
+  include: AccessInclude;
+  name: AccessPolicyComponentsSchemasName;
+  require?: AccessSchemasRequire;
 };
 
-export type ApiResponseCommonFailureNghLYr3o = {
-  /**
-   * @example {"code":7003,"message":"No route for the URI"}
-   * @minLength 1
-   */
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | null;
-  /**
-   * Whether the API call was successful
-   *
-   * @example false
-   */
-  success: boolean;
+export type AccessBasePolicyResp = {
+  created_at?: AccessTimestamp;
+  decision?: AccessDecision;
+  exclude?: AccessSchemasExclude;
+  id?: AccessSchemasUuid;
+  include?: AccessInclude;
+  name?: AccessPolicyComponentsSchemasName;
+  require?: AccessSchemasRequire;
+  updated_at?: AccessTimestamp;
 };
 
-export type ApiResponseCommonU3C2lXGw = {
-  errors: Messages;
-  messages: Messages;
-  /**
-   * Whether the API call was successful
-   *
-   * @example true
-   */
-  success: boolean;
+export type AccessBasicAppResponseProps = {
+  aud?: AccessSchemasAud;
+  created_at?: AccessTimestamp;
+  id?: AccessUuid;
+  scim_config?: AccessScimConfig;
+  updated_at?: AccessTimestamp;
 };
 
-export type ApiResponseSingle = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | any[] | string;
-  /**
-   * Whether the API call was successful
-   *
-   * @example true
-   */
-  success: true;
-};
+/**
+ * The background color of the App Launcher page.
+ *
+ * @example #ff0000
+ */
+export type AccessBgColor = string;
 
-export type ApiResponseSingle66BR6r1o = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | string | string;
+export type AccessBisoProps = {
+  allowed_idps?: AccessAllowedIdps;
+  app_launcher_logo_url?: AccessAppLauncherLogoUrl;
+  auto_redirect_to_identity?: AccessSchemasAutoRedirectToIdentity;
+  bg_color?: AccessBgColor;
   /**
-   * Whether the API call was successful
-   *
-   * @example true
+   * @example authdomain.cloudflareaccess.com/browser
    */
-  success: true;
-};
-
-export type ApiResponseSingle8TQHeyma = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | string | string;
+  domain?: AccessDomain;
+  footer_links?: AccessFooterLinks;
+  header_bg_color?: AccessHeaderBgColor;
+  landing_page_design?: AccessLandingPageDesign;
   /**
-   * Whether the API call was successful
-   *
-   * @example true
+   * @default Clientless Web Isolation
+   * @example Clientless Web Isolation
    */
-  success: true;
-};
-
-export type ApiResponseSingle9gEyfxyF = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | string | string;
+  name?: AccessAppsComponentsSchemasName;
+  session_duration?: AccessSchemasSessionDuration;
+  skip_app_launcher_login_page?: AccessSkipAppLauncherLoginPage;
   /**
-   * Whether the API call was successful
+   * The application type.
    *
-   * @example true
+   * @example biso
    */
-  success: true;
+  type: AccessType;
 };
 
-export type ApiResponseSingleCIiIMb72 = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | string | string;
+export type AccessBookmarkProps = {
+  app_launcher_visible?: AccessAppLauncherVisible;
   /**
-   * Whether the API call was successful
+   * The URL or domain of the bookmark.
    *
-   * @example true
+   * @example https://mybookmark.com
    */
-  success: true;
-};
-
-export type ApiResponseSingleI8cJ1fX8 = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | string | string | null;
+  domain?: string;
+  logo_url?: AccessLogoUrl;
+  name?: AccessAppsComponentsSchemasName;
+  tags?: AccessTags;
   /**
-   * Whether the API call was successful
+   * The application type.
    *
-   * @example true
+   * @example bookmark
    */
-  success: true;
+  type?: string;
 };
 
-export type ApiResponseSingleJE9eFdPt = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | string | string;
+export type AccessBookmarks = {
+  app_launcher_visible?: AccessSchemasAppLauncherVisible;
+  created_at?: AccessTimestamp;
+  domain?: AccessSchemasDomain;
   /**
-   * Whether the API call was successful
-   *
-   * @example true
+   * The unique identifier for the Bookmark application.
    */
-  success: true;
+  id?: string;
+  logo_url?: AccessLogoUrl;
+  name?: AccessBookmarksComponentsSchemasName;
+  updated_at?: AccessTimestamp;
 };
 
-export type ApiResponseSingleLarS7owG = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | string | string | null;
-  /**
-   * Whether the API call was successful
-   *
-   * @example true
-   */
-  success: true;
-};
+/**
+ * The name of the Bookmark application.
+ *
+ * @example My Website
+ */
+export type AccessBookmarksComponentsSchemasName = string;
 
-export type ApiResponseSingleRxxEmdsv = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | string | string | null;
-  /**
-   * Whether the API call was successful
-   *
-   * @example true
-   */
-  success: true;
+export type AccessBookmarksComponentsSchemasResponseCollection = AccessApiResponseCollection & {
+  result?: AccessBookmarks[];
 };
 
-export type ApiResponseSingleSJaluEU5 = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | string | string | null;
-  /**
-   * Whether the API call was successful
-   *
-   * @example true
-   */
-  success: true;
+export type AccessBookmarksComponentsSchemasSingleResponse = AccessApiResponseSingle & {
+  result?: AccessBookmarks;
 };
 
-export type ApiResponseSingleTJ4lmlRr = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | string | string;
-  /**
-   * Whether the API call was successful
-   *
-   * @example true
-   */
-  success: true;
+/**
+ * The background color of the log in button on the landing page.
+ *
+ * @example #ff0000
+ */
+export type AccessButtonColor = string;
+
+/**
+ * The color of the text in the log in button on the landing page.
+ *
+ * @example #ff0000
+ */
+export type AccessButtonTextColor = string;
+
+export type AccessCa = {
+  aud?: AccessAud;
+  id?: AccessId;
+  public_key?: AccessPublicKey;
 };
 
-export type ApiResponseSingleUl1k90Mw = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | string | string | null;
-  /**
-   * Whether the API call was successful
-   *
-   * @example true
-   */
-  success: true;
+export type AccessCaComponentsSchemasResponseCollection = AccessApiResponseCollection & {
+  result?: AccessCa[];
 };
 
-export type ApiResponseSingleWkFwqHKI = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | string | string | null;
-  /**
-   * Whether the API call was successful
-   *
-   * @example true
-   */
-  success: true;
+export type AccessCaComponentsSchemasSingleResponse = AccessApiResponseSingle & {
+  result?: AccessCa;
 };
 
-export type ApiResponseSingleXfmc4hwK = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | string | string;
+export type AccessCentrify = {
   /**
-   * Whether the API call was successful
-   *
-   * @example true
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
    */
-  success: true;
-};
-
-export type ApiResponseSingleEkzmTA7q = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | string | string;
+  config: AccessGenericOauthConfig &
+    AccessCustomClaimsSupport & {
+      /**
+       * Your centrify account url
+       *
+       * @example https://abc123.my.centrify.com/
+       */
+      centrify_account?: string;
+      /**
+       * Your centrify app id
+       *
+       * @example exampleapp
+       */
+      centrify_app_id?: string;
+    };
+  id?: AccessUuid;
+  name: AccessComponentsSchemasName;
   /**
-   * Whether the API call was successful
-   *
-   * @example true
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
    */
-  success: true;
-};
-
-export type ApiResponseSingleIRWHLn6I = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | string | string | null;
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * Indicates how a SCIM event updates a user identity used for policy evaluation. Use "automatic" to automatically update a user's identity and augment it with fields from the SCIM user resource. Use "reauth" to force re-authentication on group membership updates, user identity update will only occur after successful re-authentication. With "reauth" identities will not contain fields from the SCIM user resource. With "no_action" identities will not be changed by SCIM updates in any way and users will not be prompted to reauthenticate.
+     */
+    identity_update_behavior?: 'automatic' | 'reauth' | 'no_action';
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
   /**
-   * Whether the API call was successful
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
    *
-   * @example true
+   * @example onetimepin
    */
-  success: true;
+  type:
+    | 'onetimepin'
+    | 'azureAD'
+    | 'saml'
+    | 'centrify'
+    | 'facebook'
+    | 'github'
+    | 'google-apps'
+    | 'google'
+    | 'linkedin'
+    | 'oidc'
+    | 'okta'
+    | 'onelogin'
+    | 'pingone'
+    | 'yandex';
 };
 
-export type ApiResponseSingleId = {
-  errors: Messages;
-  messages: Messages;
-  result:
-    | {
-        id: SchemasIdentifier;
-      }
-    | any[]
-    | string
-    | null;
+/**
+ * Matches any valid client certificate.
+ *
+ * @example {"certificate":{}}
+ */
+export type AccessCertificateRule = {
   /**
-   * Whether the API call was successful
-   *
-   * @example true
+   * @example {}
+   * @x-stainless-empty-object true
    */
-  success: true;
+  certificate: Record<string, any>;
 };
 
-export type ApiResponseSingleIdM0atCWzd = {
-  errors: Messages;
-  messages: Messages;
-  result:
-    | {
-        id: CommonComponentsSchemasIdentifier;
-      }
-    | any[]
-    | string
-    | null;
+export type AccessCertificates = {
+  associated_hostnames?: AccessAssociatedHostnames;
+  created_at?: AccessTimestamp;
+  expires_on?: AccessTimestamp;
+  fingerprint?: AccessFingerprint;
   /**
-   * Whether the API call was successful
-   *
-   * @example true
+   * The ID of the application that will use this certificate.
    */
-  success: true;
+  id?: string;
+  name?: AccessCertificatesComponentsSchemasName;
+  updated_at?: AccessTimestamp;
 };
 
-export type ApiResponseSingleIdBQJfiSOf = ApiResponseCommonU3C2lXGw & {
-  result?: {
-    id: IdentifierY35LcWMV;
-  } | null;
-};
+/**
+ * The name of the certificate.
+ *
+ * @example Allow devs
+ */
+export type AccessCertificatesComponentsSchemasName = string;
 
-export type ApiResponseSingleKLIlNaxV = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | string | string;
-  /**
-   * Whether the API call was successful
-   *
-   * @example true
-   */
-  success: true;
+export type AccessCertificatesComponentsSchemasResponseCollection = AccessApiResponseCollection & {
+  result?: AccessCertificates[];
 };
 
-export type ApiResponseSingleO4T7cMiV = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | string | string | null;
-  /**
-   * Whether the API call was successful
-   *
-   * @example true
-   */
-  success: true;
+export type AccessCertificatesComponentsSchemasResponseCollection2 = AccessApiResponseCollection & {
+  result?: AccessComponentsSchemasCertificates[];
 };
 
-export type ApiResponseSinglePOKosyfu = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | string | string | null;
-  /**
-   * Whether the API call was successful
-   *
-   * @example true
-   */
-  success: true;
+export type AccessCertificatesComponentsSchemasSingleResponse = AccessApiResponseSingle & {
+  result?: AccessCertificates;
 };
 
-export type ApiResponseSinglePn9rJJNX = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | string | string;
-  /**
-   * Whether the API call was successful
-   *
-   * @example true
-   */
-  success: true;
+export type AccessCertificatesComponentsSchemasSingleResponse2 = AccessApiResponseSingle & {
+  result?: AccessComponentsSchemasCertificates;
 };
 
-export type ApiResponseSingleQBZL5yxW = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | string | string | null;
-  /**
-   * Whether the API call was successful
-   *
-   * @example true
-   */
-  success: true;
-};
-
-export type ApiResponseSingleSiIqFfOd = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | string | string;
-  /**
-   * Whether the API call was successful
-   *
-   * @example true
-   */
-  success: true;
-};
+/**
+ * The Client ID for the service token. Access will check for this value in the `CF-Access-Client-ID` request header.
+ *
+ * @example 88bf3b6d86161464f6509f7219099e57.access.example.com
+ */
+export type AccessClientId = string;
 
-export type ApiResponseSingleUypB4bgI = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | string | string | null;
-  /**
-   * Whether the API call was successful
-   *
-   * @example true
-   */
-  success: true;
-};
+/**
+ * The Client Secret for the service token. Access will check for this value in the `CF-Access-Client-Secret` request header.
+ *
+ * @example bdd31cbc4dec990953e39163fbbb194c93313ca9f0a6e420346af9d326b1d2a5
+ */
+export type AccessClientSecret = string;
 
-export type ApiResponseSingleVxjnpV7r = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | string | string;
-  /**
-   * Whether the API call was successful
-   *
-   * @example true
-   */
-  success: true;
+/**
+ * Matches a specific common name.
+ */
+export type AccessCommonNameRule = {
+  common_name: {
+    /**
+     * The common name to match.
+     *
+     * @example james@example.com
+     */
+    common_name: string;
+  };
 };
 
-export type ApiResponseSingleYdRGfgTy = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | string | string;
+export type AccessComponentsSchemasCertificates = {
+  associated_hostnames?: AccessAssociatedHostnames;
+  created_at?: AccessTimestamp;
+  expires_on?: AccessTimestamp;
+  fingerprint?: AccessFingerprint;
   /**
-   * Whether the API call was successful
-   *
-   * @example true
+   * The ID of the application that will use this certificate.
    */
-  success: true;
+  id?: void;
+  name?: AccessCertificatesComponentsSchemasName;
+  updated_at?: AccessTimestamp;
 };
 
-export type ApiResponseSingleZ04EBmfK = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | string | string;
-  /**
-   * Whether the API call was successful
-   *
-   * @example true
-   */
-  success: true;
-};
+/**
+ * The domain and path that Access will secure.
+ *
+ * @example test.example.com/admin
+ */
+export type AccessComponentsSchemasDomain = string;
 
-export type ApiResponseSingleZZHeSkIR = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | string | string | null;
-  /**
-   * Whether the API call was successful
-   *
-   * @example true
-   */
-  success: true;
+export type AccessComponentsSchemasIdResponse = AccessApiResponseCommon & {
+  result?: {
+    id?: AccessUuid;
+  };
 };
 
-export type ApiShield = Operation;
+/**
+ * @example 699d98642c564d2e855e9661899b7252
+ */
+export type AccessComponentsSchemasIdentifier = string;
 
 /**
- * Enterprise only. Indicates whether or not API access is enabled specifically for this user on a given account.
+ * The name of the identity provider, shown to users on the login page.
  *
- * @example true
+ * @example Widget Corps IDP
  */
-export type ApiAccessEnabled = boolean | null;
+export type AccessComponentsSchemasName = string;
 
-export type AppTypes = Application | ApplicationType;
+export type AccessComponentsSchemasResponseCollection = AccessApiResponseCollection & {
+  result?: AccessServiceTokens[];
+};
 
 /**
- * The name of the application or application type.
+ * The amount of time that tokens issued for the application will be valid. Must be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s, m, h.
  *
- * @example Facebook
+ * @default 24h
+ * @example 24h
  */
-export type AppTypesComponentsSchemasName = string;
+export type AccessComponentsSchemasSessionDuration = string;
 
-export type AppTypesComponentsSchemasResponseCollection = ApiResponseCollection & {
-  result?: AppTypes[];
+export type AccessComponentsSchemasSingleResponse = AccessApiResponseSingle & {
+  result?: AccessIdentityProviders;
 };
 
 /**
- * The URL of the Access application.
+ * The application type.
  *
- * @example test.example.com/admin
+ * @example self_hosted
  */
-export type AppDomain = string;
+export type AccessComponentsSchemasType =
+  | 'self_hosted'
+  | 'saas'
+  | 'ssh'
+  | 'vnc'
+  | 'app_launcher'
+  | 'warp'
+  | 'biso'
+  | 'bookmark'
+  | 'dash_sso';
 
 /**
- * @example 699d98642c564d2e855e9661899b7252
+ * The IdP used to authenticate.
+ *
+ * @example saml
  */
-export type AppId = void;
+export type AccessConnection = string;
 
 /**
- * Application identifier.
- *
- * @example ea95132c15732412d22c1476fa83f27a
- * @maxLength 32
+ * The rules that define how users may connect to the targets secured by your application.
  */
-export type AppIdK0AoyPAB = string;
+export type AccessConnectionRules = {
+  ssh?: AccessConnectionRulesSsh;
+};
 
 /**
- * The identifier for this application. There is only one application per id.
+ * The SSH-specific rules that define how users may connect to the targets secured by your application.
  */
-export type AppIdNb4TtdL5 = number;
+export type AccessConnectionRulesSsh = {
+  allow_email_alias?: AccessAllowEmailAlias;
+  usernames: AccessUsernames;
+};
+
+export type AccessCorsHeaders = {
+  allow_all_headers?: AccessAllowAllHeaders;
+  allow_all_methods?: AccessAllowAllMethods;
+  allow_all_origins?: AccessAllowAllOrigins;
+  allow_credentials?: AccessAllowCredentials;
+  allowed_headers?: AccessAllowedHeaders;
+  allowed_methods?: AccessAllowedMethods;
+  allowed_origins?: AccessAllowedOrigins;
+  max_age?: AccessMaxAge;
+};
 
 /**
- * Comma-delimited list of Spectrum Application Id(s). If provided, the response will be limited to Spectrum Application Id(s) that match.
- *
- * @example ea95132c15732412d22c1476fa83f27a,d122c5f4bb71e25cc9e86ab43b142e2f
+ * Matches a specific country
  */
-export type AppIdParam = string;
+export type AccessCountryRule = {
+  geo: {
+    /**
+     * The country code that should be matched.
+     *
+     * @example US
+     */
+    country_code: string;
+  };
+};
 
-export type AppLauncherProps = {
-  allowed_idps?: AllowedIdps;
-  auto_redirect_to_identity?: AutoRedirectToIdentityB0IhfGBw;
-  /**
-   * @example authdomain.cloudflareaccess.com
-   */
-  domain?: SchemasDomainA7q0ZzCX;
+export type AccessCreateResponse = AccessApiResponseSingle & {
+  result?: {
+    client_id?: AccessClientId;
+    client_secret?: AccessClientSecret;
+    created_at?: AccessTimestamp;
+    duration?: AccessDuration;
+    /**
+     * The ID of the service token.
+     */
+    id?: string;
+    name?: AccessSchemasName;
+    updated_at?: AccessTimestamp;
+  };
+};
+
+export type AccessCustomClaimsSupport = {
   /**
-   * @default App Launcher
-   * @example App Launcher
+   * Custom claims
+   *
+   * @example email_verified
+   * @example preferred_username
+   * @example custom_claim_name
    */
-  name?: AppsComponentsSchemasName;
-  session_duration?: SessionDuration;
+  claims?: string[];
   /**
-   * The application type.
+   * The claim name for email in the id_token response.
    *
-   * @example app_launcher
+   * @example custom_claim_name
    */
-  type?: AppsComponentsSchemasType;
+  email_claim_name?: string;
 };
 
 /**
- * Displays the application in the App Launcher.
- *
- * @default true
- * @example true
+ * Custom page name.
  */
-export type AppLauncherVisible = boolean;
+export type AccessCustomPagesComponentsSchemasName = string;
+
+export type AccessCustomPagesComponentsSchemasResponseCollection = AccessApiResponseCollection & {
+  result?: AccessCustomPageWithoutHtml[];
+};
+
+export type AccessCustomPagesComponentsSchemasSingleResponse = AccessApiResponseSingle & {
+  result?: AccessCustomPage;
+};
 
 /**
- * The identifier for the type of this application. There can be many applications with the same type. This refers to the `id` of an Application Type that has been returned.
+ * The custom error message shown to a user when they are denied access to the application.
  */
-export type AppTypeId = number;
+export type AccessCustomDenyMessage = string;
 
 /**
- * The unique identifier for the Access application.
- *
- * @example df7e2w5f-02b7-4d9d-af26-8d1988fca630
+ * The custom URL a user is redirected to when they are denied access to the application when failing identity-based rules.
  */
-export type AppUid = void;
-
-export type Application = {
-  application_type_id?: AppTypeId;
-  created_at?: Timestamp;
-  id?: AppIdNb4TtdL5;
-  name?: AppTypesComponentsSchemasName;
-};
+export type AccessCustomDenyUrl = string;
 
 /**
- * Application that the hostname belongs to.
+ * The custom URL a user is redirected to when they are denied access to the application when failing non-identity rules.
  */
-export type ApplicationIDJD2oSO = {
-  id?: number;
-  /**
-   * @example CLOUDFLARE
-   */
-  name?: string;
-};
+export type AccessCustomNonIdentityDenyUrl = string;
 
-export type ApplicationType = {
-  created_at?: Timestamp;
+export type AccessCustomPage = {
+  app_count?: AccessSchemasAppCount;
+  created_at?: AccessTimestamp;
   /**
-   * A short summary of applications with this type.
+   * Custom page HTML.
    *
-   * @example Applications used to communicate or collaborate in a business setting.
+   * @example <html><body><h1>Access Denied</h1></body></html>
    */
-  description?: string;
-  id?: AppTypeId;
-  name?: AppTypesComponentsSchemasName;
+  custom_html: string;
+  name: AccessCustomPagesComponentsSchemasName;
+  type: AccessSchemasType;
+  uid?: AccessUuid;
+  updated_at?: AccessTimestamp;
 };
 
-/**
- * A group of email addresses that can approve a temporary authentication request.
- */
-export type ApprovalGroup = {
+export type AccessCustomPageWithoutHtml = {
+  app_count?: AccessSchemasAppCount;
+  created_at?: AccessTimestamp;
+  name: AccessCustomPagesComponentsSchemasName;
+  type: AccessSchemasType;
+  uid?: AccessUuid;
+  updated_at?: AccessTimestamp;
+};
+
+export type AccessCustomPages = {
   /**
-   * The number of approvals needed to obtain access.
+   * The uid of the custom page to use when a user is denied access after failing a non-identity rule.
    *
-   * @example 1
-   * @minimum 0
+   * @example 699d98642c564d2e855e9661899b7252
    */
-  approvals_needed: number;
+  forbidden?: string;
   /**
-   * A list of emails that can approve the access request.
+   * The uid of the custom page to use when a user is denied access.
    *
-   * @example test@cloudflare.com
-   * @example test2@cloudflare.com
-   */
-  email_addresses?: any[];
-  /**
-   * The UUID of an re-usable email list.
+   * @example 699d98642c564d2e855e9661899b7252
    */
-  email_list_uuid?: string;
+  identity_denied?: string;
 };
 
 /**
- * Administrators who can approve a temporary authentication request.
+ * The number of days until the next key rotation.
  *
- * @example {"approvals_needed":1,"email_addresses":["test1@cloudflare.com","test2@cloudflare.com"]}
- * @example {"approvals_needed":3,"email_list_uuid":"597147a1-976b-4ef2-9af0-81d5d007fc34"}
+ * @example 1
  */
-export type ApprovalGroups = ApprovalGroup[];
+export type AccessDaysUntilNextRotation = number;
 
 /**
- * Requires the user to request access from an administrator at the start of each session.
+ * The action Access will take if a user matches this policy. Infrastructure application policies can only use the Allow action.
  *
- * @default false
- * @example true
+ * @example allow
  */
-export type ApprovalRequired = boolean;
+export type AccessDecision = 'allow' | 'deny' | 'non_identity' | 'bypass';
 
 /**
- * Approval state of the prefix (P = pending, V = active).
+ * List of destinations secured by Access. This supersedes `self_hosted_domains` to allow for more flexibility in defining different types of domains. If `destinations` are provided, then `self_hosted_domains` will be ignored.
  *
- * @example P
+ * @example {"type":"public","uri":"test.example.com/admin"}
+ * @example {"type":"public","uri":"test.anotherexample.com/staff"}
+ * @example {"type":"private","uri":"10.5.0.2"}
+ * @example {"type":"private","uri":"10.5.0.3/32:1234-4321"}
+ * @example {"type":"private","uri":"private-sni.example.com"}
  */
-export type Approved = string;
-
-export type Apps =
-  | (BasicAppResponseProps & SelfHostedPropsUAlJDzGr)
-  | (BasicAppResponseProps & SaasProps5uhJMdOI)
-  | (BasicAppResponseProps & SshProps)
-  | (BasicAppResponseProps & VncProps)
-  | (BasicAppResponseProps & AppLauncherProps)
-  | (BasicAppResponseProps & WarpProps)
-  | (BasicAppResponseProps & BisoProps)
-  | (BasicAppResponseProps & BookmarkProps);
+export type AccessDestinations = {
+  type?: 'public' | 'private';
+  /**
+   * The URI of the destination. Public destinations can include a domain and path with [wildcards](https://developers.cloudflare.com/cloudflare-one/policies/access/app-paths/). Private destinations are an early access feature and gated behind a feature flag. Private destinations support private IPv4, IPv6, and Server Name Indications (SNI) with optional port ranges.
+   */
+  uri?: string;
+}[];
 
-export type AppsComponentsSchemasIdResponse = ApiResponseSingleLarS7owG & {
-  result?: {
-    id?: Uuid;
-  };
+export type AccessDevicePostureCheck = {
+  exists?: boolean;
+  path?: string;
 };
 
 /**
- * The name of the application.
- *
- * @example Admin Site
+ * Enforces a device posture rule has run successfully
  */
-export type AppsComponentsSchemasName = string;
-
-export type AppsComponentsSchemasResponseCollection = ApiResponseCollection & {
-  result?: Apps[];
-};
-
-export type AppsComponentsSchemasResponseCollection2 = ApiResponseCollection & {
-  result?: SchemasAppsJxIYBSY3[];
-};
-
-export type AppsComponentsSchemasSingleResponse = ApiResponseSingleKLIlNaxV & {
-  result?: Apps;
-};
-
-export type AppsComponentsSchemasSingleResponse2 = ApiResponseSingleKLIlNaxV & {
-  result?: SchemasApps;
-};
-
-export type AppsComponentsSchemasSingleResponse26yX8JIIZ = ApiResponseSingleLarS7owG & {
-  result?: SchemasAppsJxIYBSY3;
+export type AccessDevicePostureRule = {
+  device_posture: {
+    /**
+     * The ID of a device posture integration.
+     *
+     * @example aa0a4aab-672b-4bdb-bc33-a59f1130a11f
+     */
+    integration_uid: string;
+  };
 };
 
-export type AppsComponentsSchemasSingleResponseEXvT9Hip = ApiResponseSingleLarS7owG & {
-  result?: Apps;
+/**
+ * @example {"last_authenticated":1638832687}
+ */
+export type AccessDeviceSession = {
+  last_authenticated?: number;
 };
 
 /**
- * The application type.
+ * The duration the DoH JWT is valid for. Must be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s, m, h.  Note that the maximum duration for this setting is the same as the key rotation period on the account. Default expiration is 24h
  *
- * @example self_hosted
+ * @example 800h
  */
-export type AppsComponentsSchemasType =
-  | 'self_hosted'
-  | 'saas'
-  | 'ssh'
-  | 'vnc'
-  | 'app_launcher'
-  | 'warp'
-  | 'biso'
-  | 'bookmark'
-  | 'dash_sso';
+export type AccessDohJwtDuration = string;
 
 /**
- * The cloudflared OS architecture used to establish this connection.
+ * The primary hostname and path secured by Access. This domain will be displayed if the app is visible in the App Launcher.
  *
- * @example linux_amd64
+ * @example test.example.com/admin
  */
-export type Arch = string;
+export type AccessDomain = string;
 
-export type ArgoTunnel = {
-  /**
-   * The tunnel connections between your origin and Cloudflare's edge.
-   */
-  connections: ComponentsSchemasConnection[];
-  created_at: CloudflareTunnelComponentsSchemasCreatedAt;
-  deleted_at?: DeletedAtYdpycuPv;
-  id: TunnelId;
-  name: TunnelName;
+/**
+ * Match an entire email domain.
+ */
+export type AccessDomainRule = {
+  email_domain: {
+    /**
+     * The email domain to match.
+     *
+     * @example example.com
+     */
+    domain: string;
+  };
 };
 
 /**
- * Enables Argo Smart Routing for this application.
- * Notes: Only available for TCP applications with traffic_type set to "direct".
+ * The duration for how long the service token will be valid. Must be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s, m, h. The default is 1 year in hours (8760h).
  *
- * @default false
- * @example true
+ * @default 8760h
+ * @example 60m
  */
-export type ArgoSmartRouting = boolean;
+export type AccessDuration = string;
 
 /**
- * Autonomous System Number (ASN) the prefix will be advertised under.
+ * The email of the user.
  *
- * @example 209242
+ * @example jdoe@example.com
+ * @format email
  */
-export type Asn = number | null;
+export type AccessEmail = string;
 
 /**
- * Autonomous System Number (ASN) the prefix will be advertised under.
+ * Matches an email address from a list.
  */
-export type AsnT2U9T8kj = number | null;
-
-export type AsnComponentsSchemasAsn = {
-  asn?: ComponentsSchemasAsn;
-  country?: AsnCountry;
-  description?: AsnDescription;
-  domain_count?: number;
-  /**
-   * @example example.com
-   */
-  top_domains?: string[];
-  type?: AsnType;
+export type AccessEmailListRule = {
+  email_list: {
+    /**
+     * The ID of a previously created email list.
+     *
+     * @example aa0a4aab-672b-4bdb-bc33-a59f1130a11f
+     */
+    id: string;
+  };
 };
 
-export type AsnComponentsSchemasResponse = ApiResponseSingleLarS7owG & {
-  result?: AsnComponentsSchemasAsn;
+/**
+ * Matches a specific email.
+ */
+export type AccessEmailRule = {
+  email: {
+    /**
+     * The email of the user.
+     *
+     * @example test@example.com
+     * @format email
+     */
+    email: string;
+  };
 };
 
-export type AsnConfiguration = {
+export type AccessEmptyResponse = {
   /**
-   * The configuration target. You must set the target to `asn` when specifying an Autonomous System Number (ASN) in the rule.
-   *
-   * @example asn
+   * @example true
    */
-  target?: 'asn';
+  result?: true | false;
   /**
-   * The AS number to match.
-   *
-   * @example AS12345
+   * @example true
    */
-  value?: string;
+  success?: true | false;
 };
 
 /**
- * @example US
- */
-export type AsnCountry = string;
-
-/**
- * @example CLOUDFLARENET
- */
-export type AsnDescription = string;
-
-/**
- * Infrastructure type of this ASN.
+ * Enables the binding cookie, which increases security against compromised authorization tokens and CSRF attacks.
  *
- * @example hosting_provider
- */
-export type AsnType = 'hosting_provider' | 'isp' | 'organization';
-
-/**
- * The hostnames of the applications that will use this certificate.
+ * @default false
  */
-export type AssociatedHostnames = string[];
-
-export type AssociationObject = {
-  service?: Service;
-  status?: MtlsManagementComponentsSchemasStatus;
-};
-
-export type AssociationResponseCollection = ApiResponseCollection & {
-  result?: AssociationObject[];
-};
+export type AccessEnableBindingCookie = boolean;
 
 /**
- * Attack mitigation settings.
+ * Matches everyone.
  */
-export type AttackMitigation = {
-  /**
-   * When enabled, random-prefix attacks are automatically mitigated and the upstream DNS servers protected.
-   *
-   * @example true
-   */
-  enabled?: boolean;
+export type AccessEveryoneRule = {
   /**
-   * Deprecated alias for "only_when_upstream_unhealthy".
-   *
-   * @deprecated true
-   */
-  only_when_origin_unhealthy?: void;
-  /**
-   * Only mitigate attacks when upstream servers seem unhealthy.
+   * An empty object which matches on all users.
    *
-   * @default true
-   * @example false
+   * @example {}
+   * @x-stainless-empty-object true
    */
-  only_when_upstream_unhealthy?: boolean;
-} | null;
+  everyone: Record<string, any>;
+};
 
 /**
- * The Application Audience (AUD) tag. Identifies the application associated with the CA.
- *
- * @example 737646a56ab1df6ec9bddc7e5ca84eaf3b0768850f3ffb5d74f1534911fe3893
- * @maxLength 64
+ * Rules evaluated with a NOT logical operator. To match a policy, a user cannot meet any of the Exclude rules.
  */
-export type Aud = string;
+export type AccessExclude = AccessRule[];
 
-export type AuditLogs = {
-  action?: {
+/**
+ * Create Allow or Block policies which evaluate the user based on custom criteria.
+ */
+export type AccessExternalEvaluationRule = {
+  external_evaluation: {
     /**
-     * A boolean that indicates if the action attempted was successful.
+     * The API endpoint containing your business logic.
      *
-     * @example true
+     * @example https://eval.example.com
      */
-    result?: boolean;
+    evaluate_url: string;
     /**
-     * A short string that describes the action that was performed.
+     * The API endpoint containing the key that Access uses to verify that the response came from your API.
      *
-     * @example change_setting
+     * @example https://eval.example.com/keys
      */
-    type?: string;
+    keys_url: string;
   };
-  actor?: {
-    /**
-     * The email of the user that performed the action.
-     *
-     * @example michelle@example.com
-     * @format email
-     */
-    email?: string;
+};
+
+export type AccessFacebook = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: AccessGenericOauthConfig;
+  id?: AccessUuid;
+  name: AccessComponentsSchemasName;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
     /**
-     * The ID of the actor that performed the action. If a user performed the action, this will be their User ID.
-     *
-     * @example f6b5de0326bb5182b8a4840ee01ec774
+     * A flag to enable or disable SCIM for the identity provider.
      */
-    id?: string;
+    enabled?: boolean;
     /**
-     * The IP address of the request that performed the action.
-     *
-     * @example 198.41.129.166
+     * Indicates how a SCIM event updates a user identity used for policy evaluation. Use "automatic" to automatically update a user's identity and augment it with fields from the SCIM user resource. Use "reauth" to force re-authentication on group membership updates, user identity update will only occur after successful re-authentication. With "reauth" identities will not contain fields from the SCIM user resource. With "no_action" identities will not be changed by SCIM updates in any way and users will not be prompted to reauthenticate.
      */
-    ip?: string;
+    identity_update_behavior?: 'automatic' | 'reauth' | 'no_action';
     /**
-     * The type of actor, whether a User, Cloudflare Admin, or an Automated System.
-     *
-     * @example user
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
      */
-    type?: 'user' | 'admin' | 'Cloudflare';
-  };
-  /**
-   * A string that uniquely identifies the audit log.
-   *
-   * @example d5b0f326-1232-4452-8858-1089bd7168ef
-   */
-  id?: string;
-  /**
-   * The source of the event.
-   *
-   * @example API
-   */
-  interface?: string;
-  /**
-   * An object which can lend more context to the action being logged. This is a flexible value and varies between different actions.
-   *
-   * @example {"name":"security_level","type":"firewall","value":"high","zone_name":"example.com"}
-   */
-  metadata?: Record<string, any>;
-  /**
-   * The new value of the resource that was modified.
-   *
-   * @example low
-   */
-  newValue?: string;
-  /**
-   * The value of the resource before it was modified.
-   *
-   * @example high
-   */
-  oldValue?: string;
-  owner?: {
-    id?: CommonComponentsSchemasIdentifier;
-  };
-  resource?: {
+    seat_deprovision?: boolean;
     /**
-     * An identifier for the resource that was affected by the action.
-     *
-     * @example 023e105f4ecef8ad9ca31a8372d0c353
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
      */
-    id?: string;
+    secret?: string;
     /**
-     * A short string that describes the resource that was affected by the action.
-     *
-     * @example zone
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
      */
-    type?: string;
+    user_deprovision?: boolean;
   };
   /**
-   * A UTC RFC3339 timestamp that specifies when the action being logged occured.
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
    *
-   * @example 2017-04-26T17:31:07Z
-   * @format date-time
+   * @example onetimepin
    */
-  when?: string;
+  type:
+    | 'onetimepin'
+    | 'azureAD'
+    | 'saml'
+    | 'centrify'
+    | 'facebook'
+    | 'github'
+    | 'google-apps'
+    | 'google'
+    | 'linkedin'
+    | 'oidc'
+    | 'okta'
+    | 'onelogin'
+    | 'pingone'
+    | 'yandex';
+};
+
+export type AccessFailedLoginResponse = AccessApiResponseCollection & {
+  result?: {
+    expiration?: number;
+    /**
+     * @example {"app_name":"Test App","aud":"39691c1480a2352a18ece567debc2b32552686cbd38eec0887aa18d5d3f00c04","datetime":"2022-02-02T21:54:34.914Z","ray_id":"6d76a8a42ead4133","user_email":"test@cloudflare.com","user_uuid":"57171132-e453-4ee8-b2a5-8cbaad333207"}
+     */
+    metadata?: Record<string, any>;
+  }[];
 };
 
-export type AuditLogsResponseCollection =
-  | {
-      errors?: void | null;
-      messages?: any[];
-      result?: AuditLogs[];
-      /**
-       * @example true
-       */
-      success?: boolean;
-    }
-  | ApiResponseCommon;
-
-/**
- * The unique subdomain assigned to your Zero Trust organization.
- *
- * @example test.cloudflareaccess.com
- */
-export type AuthDomain = string;
-
-/**
- * The total number of auth-ids seen across this calculation.
- */
-export type AuthIdTokens = number;
+export type AccessFeatureAppProps = {
+  allowed_idps?: AccessAllowedIdps;
+  app_launcher_logo_url?: AccessAppLauncherLogoUrl;
+  auto_redirect_to_identity?: AccessSchemasAutoRedirectToIdentity;
+  bg_color?: AccessBgColor;
+  domain?: AccessDomain;
+  footer_links?: AccessFooterLinks;
+  header_bg_color?: AccessHeaderBgColor;
+  landing_page_design?: AccessLandingPageDesign;
+  name?: AccessAppsComponentsSchemasName;
+  session_duration?: AccessSchemasSessionDuration;
+  skip_app_launcher_login_page?: AccessSkipAppLauncherLoginPage;
+  type: AccessType;
+};
 
 /**
- * The amount of time in minutes to reconnect after having been disabled.
+ * The MD5 fingerprint of the certificate.
  *
- * @example 0
+ * @example MD5 Fingerprint=1E:80:0F:7A:FD:31:55:96:DE:D5:CB:E2:F0:91:F6:91
  */
-export type AutoConnect = number;
+export type AccessFingerprint = string;
 
 /**
- * When set to `true`, users skip the identity provider selection step during login.
+ * The links in the App Launcher footer.
  *
- * @default false
+ * @example {"name":"Cloudflare's Privacy Policy","url":"https://www.cloudflare.com/privacypolicy/"}
  */
-export type AutoRedirectToIdentity = boolean;
+export type AccessFooterLinks = {
+  /**
+   * The hypertext in the footer link.
+   *
+   * @example Cloudflare's Privacy Policy
+   */
+  name: string;
+  /**
+   * the hyperlink in the footer link.
+   *
+   * @example https://www.cloudflare.com/privacypolicy/
+   */
+  url: string;
+}[];
 
-/**
- * When set to `true`, users skip the identity provider selection step during login. You must specify only one identity provider in allowed_idps.
- *
- * @default false
- */
-export type AutoRedirectToIdentityB0IhfGBw = boolean;
+export type AccessGatewayCaComponentsSchemasResponseCollection = AccessApiResponseCollection & {
+  result?: AccessSchemasCertificates[];
+};
 
-/**
- * How often should a secondary zone auto refresh regardless of DNS NOTIFY.
- * Not applicable for primary zones.
- *
- * @example 86400
- */
-export type AutoRefreshSeconds = number;
+export type AccessGatewayCaComponentsSchemasSingleResponse = AccessApiResponseSingle & {
+  result?: AccessSchemasCertificates;
+};
 
 /**
- * Auto-renew controls whether subscription is automatically renewed upon domain expiration.
+ * True if the seat is part of Gateway.
  *
- * @example true
+ * @example false
  */
-export type AutoRenew = boolean;
+export type AccessGatewaySeat = boolean;
 
-/**
- * Enable the Automatic HTTPS Rewrites feature for this zone.
- *
- * @default off
- */
-export type AutomaticHttpsRewrites = {
-  /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
-   *
-   * @default true
-   */
-  editable?: true | false;
-  /**
-   * ID of the zone setting.
-   *
-   * @example automatic_https_rewrites
-   */
-  id: 'automatic_https_rewrites';
+export type AccessGenericOauthConfig = {
   /**
-   * last time this setting was modified.
+   * Your OAuth Client ID
    *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * @example <your client id>
    */
-  modified_on?: string | null;
+  client_id?: string;
   /**
-   * Current value of the zone setting.
+   * Your OAuth Client Secret
    *
-   * @example on
+   * @example <your client secret>
    */
-  value: AutomaticHttpsRewritesValue;
+  client_secret?: string;
 };
 
 /**
- * Value of the zone setting.
- * Notes: Default value depends on the zone's plan level.
- *
- * @default on
+ * @example {"country":"US"}
  */
-export type AutomaticHttpsRewritesValue = 'on' | 'off';
-
-export type AutomaticPlatformOptimization = {
-  /**
-   * Indicates whether or not [cache by device type](https://developers.cloudflare.com/automatic-platform-optimization/reference/cache-device-type/) is enabled.
-   *
-   * @example false
-   */
-  cache_by_device_type: boolean;
-  /**
-   * Indicates whether or not Cloudflare proxy is enabled.
-   *
-   * @default false
-   * @example true
-   */
-  cf: boolean;
-  /**
-   * Indicates whether or not Automatic Platform Optimization is enabled.
-   *
-   * @default false
-   * @example true
-   */
-  enabled: boolean;
-  /**
-   * An array of hostnames where Automatic Platform Optimization for WordPress is activated.
-   *
-   * @example www.example.com
-   * @example example.com
-   * @example shop.example.com
-   */
-  hostnames: string[];
-  /**
-   * Indicates whether or not site is powered by WordPress.
-   *
-   * @default false
-   * @example true
-   */
-  wordpress: boolean;
-  /**
-   * Indicates whether or not [Cloudflare for WordPress plugin](https://wordpress.org/plugins/cloudflare/) is installed.
-   *
-   * @default false
-   * @example true
-   */
-  wp_plugin: boolean;
-};
-
-export type AvailabilityResponse = ApiResponseCollection & {
-  result?: string[];
-};
-
-/**
- * When true, the Managed Transform is available in the current Cloudflare plan.
- *
- * @example true
- */
-export type Available = boolean;
-
-export type AvailableRatePlan = {
-  can_subscribe?: CanSubscribe;
-  currency?: Currency;
-  externally_managed?: ExternallyManaged;
-  frequency?: SchemasFrequency;
-  id?: CommonComponentsSchemasIdentifier;
-  is_subscribed?: IsSubscribed;
-  legacy_discount?: LegacyDiscount;
-  legacy_id?: LegacyId;
-  name?: RatePlanComponentsSchemasName;
-  price?: SchemasPrice;
+export type AccessGeo = {
+  country?: string;
 };
 
-export type AzureAD = {
+export type AccessGithub = {
   /**
    * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
    */
-  config: GenericOauthConfig & {
-    /**
-     * Your Azure directory uuid
-     *
-     * @example <your azure directory uuid>
-     */
-    directory_id?: string;
-    /**
-     * Should Cloudflare try to load groups from your account
-     */
-    support_groups?: boolean;
-  };
-  id?: Uuid;
-  name: SchemasNameIXVfNmuB;
+  config: AccessGenericOauthConfig;
+  id?: AccessUuid;
+  name: AccessComponentsSchemasName;
   /**
    * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
    */
@@ -3224,9 +2891,9 @@ export type AzureAD = {
      */
     enabled?: boolean;
     /**
-     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
+     * Indicates how a SCIM event updates a user identity used for policy evaluation. Use "automatic" to automatically update a user's identity and augment it with fields from the SCIM user resource. Use "reauth" to force re-authentication on group membership updates, user identity update will only occur after successful re-authentication. With "reauth" identities will not contain fields from the SCIM user resource. With "no_action" identities will not be changed by SCIM updates in any way and users will not be prompted to reauthenticate.
      */
-    group_member_deprovision?: boolean;
+    identity_update_behavior?: 'automatic' | 'reauth' | 'no_action';
     /**
      * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
      */
@@ -3245,1090 +2912,1642 @@ export type AzureAD = {
    *
    * @example onetimepin
    */
-  type: string;
+  type:
+    | 'onetimepin'
+    | 'azureAD'
+    | 'saml'
+    | 'centrify'
+    | 'facebook'
+    | 'github'
+    | 'google-apps'
+    | 'google'
+    | 'linkedin'
+    | 'oidc'
+    | 'okta'
+    | 'onelogin'
+    | 'pingone'
+    | 'yandex';
 };
 
 /**
- * Matches an Azure group.
- * Requires an Azure identity provider.
+ * Matches a Github organization.
+ * Requires a Github identity provider.
  */
-export type AzureGroupRule = {
-  azureAD: {
+export type AccessGithubOrganizationRule = {
+  ['github-organization']: {
     /**
-     * The ID of your Azure identity provider.
+     * The ID of your Github identity provider.
      *
      * @example ea85612a-29c8-46c2-bacb-669d65136971
      */
-    connection_id: string;
+    identity_provider_id: string;
     /**
-     * The ID of an Azure group.
+     * The name of the organization.
      *
-     * @example aa0a4aab-672b-4bdb-bc33-a59f1130a11f
+     * @example cloudflare
      */
-    id: string;
+    name: string;
+    /**
+     * The name of the team
+     *
+     * @example api-team
+     */
+    team?: string;
   };
 };
 
-/**
- * Breakdown of totals for bandwidth in the form of bytes.
- */
-export type Bandwidth = {
+export type AccessGoogle = {
   /**
-   * The total number of bytes served within the time frame.
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
    */
-  all?: number;
+  config: AccessGenericOauthConfig & AccessCustomClaimsSupport;
+  id?: AccessUuid;
+  name: AccessComponentsSchemasName;
   /**
-   * The number of bytes that were cached (and served) by Cloudflare.
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
    */
-  cached?: number;
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * Indicates how a SCIM event updates a user identity used for policy evaluation. Use "automatic" to automatically update a user's identity and augment it with fields from the SCIM user resource. Use "reauth" to force re-authentication on group membership updates, user identity update will only occur after successful re-authentication. With "reauth" identities will not contain fields from the SCIM user resource. With "no_action" identities will not be changed by SCIM updates in any way and users will not be prompted to reauthenticate.
+     */
+    identity_update_behavior?: 'automatic' | 'reauth' | 'no_action';
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
   /**
-   * A variable list of key/value pairs where the key represents the type of content served, and the value is the number in bytes served.
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
    *
-   * @example {"css":237421,"gif":1234242,"html":1231290,"javascript":123245,"jpeg":784278}
+   * @example onetimepin
    */
-  content_type?: Record<string, any>;
+  type:
+    | 'onetimepin'
+    | 'azureAD'
+    | 'saml'
+    | 'centrify'
+    | 'facebook'
+    | 'github'
+    | 'google-apps'
+    | 'google'
+    | 'linkedin'
+    | 'oidc'
+    | 'okta'
+    | 'onelogin'
+    | 'pingone'
+    | 'yandex';
+};
+
+export type AccessGoogleApps = {
   /**
-   * A variable list of key/value pairs where the key is a two-digit country code and the value is the number of bytes served to that country.
-   *
-   * @example {"AG":2342483,"GI":984753,"US":123145433}
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
    */
-  country?: Record<string, any>;
+  config: AccessGenericOauthConfig &
+    AccessCustomClaimsSupport & {
+      /**
+       * Your companies TLD
+       *
+       * @example mycompany.com
+       */
+      apps_domain?: string;
+    };
+  id?: AccessUuid;
+  name: AccessComponentsSchemasName;
   /**
-   * A break down of bytes served over HTTPS.
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
    */
-  ssl?: {
+  scim_config?: {
     /**
-     * The number of bytes served over HTTPS.
+     * A flag to enable or disable SCIM for the identity provider.
      */
-    encrypted?: number;
+    enabled?: boolean;
     /**
-     * The number of bytes served over HTTP.
+     * Indicates how a SCIM event updates a user identity used for policy evaluation. Use "automatic" to automatically update a user's identity and augment it with fields from the SCIM user resource. Use "reauth" to force re-authentication on group membership updates, user identity update will only occur after successful re-authentication. With "reauth" identities will not contain fields from the SCIM user resource. With "no_action" identities will not be changed by SCIM updates in any way and users will not be prompted to reauthenticate.
      */
-    unencrypted?: number;
-  };
-  /**
-   * A breakdown of requests by their SSL protocol.
-   */
-  ssl_protocols?: {
+    identity_update_behavior?: 'automatic' | 'reauth' | 'no_action';
     /**
-     * The number of requests served over TLS v1.0.
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
      */
-    TLSv1?: number;
+    seat_deprovision?: boolean;
     /**
-     * The number of requests served over TLS v1.1.
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
      */
-    ['TLSv1.1']?: number;
+    secret?: string;
     /**
-     * The number of requests served over TLS v1.2.
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
      */
-    ['TLSv1.2']?: number;
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type:
+    | 'onetimepin'
+    | 'azureAD'
+    | 'saml'
+    | 'centrify'
+    | 'facebook'
+    | 'github'
+    | 'google-apps'
+    | 'google'
+    | 'linkedin'
+    | 'oidc'
+    | 'okta'
+    | 'onelogin'
+    | 'pingone'
+    | 'yandex';
+};
+
+export type AccessGroups = {
+  created_at?: AccessTimestamp;
+  exclude?: AccessExclude;
+  id?: AccessUuid;
+  include?: AccessInclude;
+  is_default?: AccessRequire;
+  name?: AccessGroupsComponentsSchemasName;
+  require?: AccessRequire;
+  updated_at?: AccessTimestamp;
+};
+
+/**
+ * The name of the Access group.
+ *
+ * @example Allow devs
+ */
+export type AccessGroupsComponentsSchemasName = string;
+
+export type AccessGroupsComponentsSchemasResponseCollection = AccessApiResponseCollection & {
+  result?: AccessSchemasGroups[];
+};
+
+export type AccessGroupsComponentsSchemasSingleResponse = AccessApiResponseSingle & {
+  result?: AccessGroups;
+};
+
+export type AccessGroupsComponentsSchemasSingleResponse2 = AccessApiResponseSingle & {
+  result?: AccessSchemasGroups;
+};
+
+/**
+ * Matches a group in Google Workspace.
+ * Requires a Google Workspace identity provider.
+ */
+export type AccessGsuiteGroupRule = {
+  gsuite: {
     /**
-     * The number of requests served over TLS v1.3.
+     * The email of the Google Workspace group.
+     *
+     * @example devs@cloudflare.com
      */
-    ['TLSv1.3']?: number;
+    email: string;
     /**
-     * The number of requests served over HTTP.
+     * The ID of your Google Workspace identity provider.
+     *
+     * @example ea85612a-29c8-46c2-bacb-669d65136971
      */
-    none?: number;
+    identity_provider_id: string;
   };
-  /**
-   * The number of bytes that were fetched and served from the origin server.
-   */
-  uncached?: number;
 };
 
 /**
- * Breakdown of totals for bandwidth in the form of bytes.
+ * The background color of the App Launcher header.
+ *
+ * @example #ff0000
+ */
+export type AccessHeaderBgColor = string;
+
+/**
+ * Enables the HttpOnly cookie attribute, which increases security against XSS attacks.
+ *
+ * @default true
+ * @example true
+ */
+export type AccessHttpOnlyCookieAttribute = boolean;
+
+/**
+ * The ID of the CA.
+ *
+ * @example 7eddae4619b50ab1361ba8ae9bd72269a432fea041529ed9
+ * @maxLength 48
  */
-export type BandwidthByColo = {
+export type AccessId = string;
+
+export type AccessIdResponse = AccessApiResponseSingle & {
+  result?: {
+    id?: AccessUuid;
+  };
+};
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type AccessIdentifier = string;
+
+export type AccessIdentity = {
   /**
-   * The total number of bytes served within the time frame.
+   * @example 1234567890
    */
-  all?: number;
+  account_id?: string;
   /**
-   * The number of bytes that were cached (and served) by Cloudflare.
+   * @example NONE
    */
-  cached?: number;
+  auth_status?: string;
   /**
-   * The number of bytes that were fetched and served from the origin server.
+   * @example
    */
-  uncached?: number;
-};
-
-export type Base = {
+  common_name?: string;
+  devicePosture?: {
+    [key: string]: AccessSchemasDevicePostureRule;
+  };
   /**
-   * When the Keyless SSL was created.
-   *
-   * @example 2014-01-01T05:20:00Z
-   * @format date-time
+   * @example
    */
-  created_on: string;
-  enabled: EnabledJNPAumTy;
-  host: Host;
-  id: SchemasIdentifierEWv7yjg2;
+  device_id?: string;
+  device_sessions?: AccessStringKeyMapDeviceSession;
   /**
-   * When the Keyless SSL was last modified.
-   *
-   * @example 2014-01-01T05:20:00Z
-   * @format date-time
+   * @example test@cloudflare.com
    */
-  modified_on: string;
-  name: NameOdTv91XZ;
+  email?: string;
+  geo?: AccessGeo;
   /**
-   * Available permissions for the Keyless SSL for the current user requesting the item.
-   *
-   * @example #ssl:read
-   * @example #ssl:edit
+   * @example 1694791905
    */
-  permissions: any[];
-  port: Port;
-  status: SchemasStatus;
-  tunnel?: KeylessTunnel;
-};
-
-export type Base4XanMLN9 = {
-  comment?: Comment;
+  iat?: number;
+  idp?: {
+    id?: string;
+    type?: string;
+  };
   /**
-   * When the record was created.
-   *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * @example 127.0.0.0
    */
-  created_on?: string;
-  id?: Identifier;
+  ip?: string;
   /**
-   * Whether this record can be modified/deleted (true means it's managed by Cloudflare).
-   *
    * @example false
    */
-  locked?: boolean;
+  is_gateway?: boolean;
   /**
-   * Extra Cloudflare-specific information about the record.
+   * @example false
    */
-  meta?: {
-    /**
-     * Will exist if Cloudflare automatically added this DNS record during initial setup.
-     *
-     * @example true
-     */
-    auto_added?: boolean;
-    /**
-     * Where the record originated from.
-     *
-     * @example primary
-     */
-    source?: string;
+  is_warp?: boolean;
+  mtls_auth?: {
+    auth_status?: string;
+    cert_issuer_dn?: string;
+    cert_issuer_ski?: string;
+    cert_presented?: boolean;
+    cert_serial?: string;
   };
   /**
-   * When the record was last modified.
-   *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
-   */
-  modified_on?: string;
-  /**
-   * Whether the record can be proxied by Cloudflare or not.
-   *
-   * @example true
+   * @example
    */
-  proxiable?: boolean;
-  tags?: Tags;
-  ttl?: TtlSfCV2rs6;
-  zone_id?: Identifier;
+  service_token_id?: string;
   /**
-   * The domain of the record.
-   *
-   * @example example.com
-   * @format hostname
+   * @example false
    */
-  zone_name?: string;
-};
-
-export type Base65sD65cn = {
+  service_token_status?: boolean;
   /**
-   * Identifier of the zone setting.
-   *
-   * @example development_mode
+   * @example 57cf8cf2-f55a-4588-9ac9-f5e41e9f09b4
    */
-  id: string;
+  user_uuid?: string;
   /**
-   * last time this setting was modified.
-   *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * @example 2
    */
-  modified_on: string | null;
+  version?: number;
 };
 
-export type BaseKGSh70Wn = {
-  /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
-   *
-   * @default true
-   */
-  editable?: true | false;
+export type AccessIdentityProvider = {
   /**
-   * Identifier of the zone setting.
-   *
-   * @example development_mode
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
    */
-  id: string;
+  config: Record<string, any>;
+  id?: AccessUuid;
+  name: AccessComponentsSchemasName;
   /**
-   * last time this setting was modified.
-   *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
    */
-  modified_on?: string | null;
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * Indicates how a SCIM event updates a user identity used for policy evaluation. Use "automatic" to automatically update a user's identity and augment it with fields from the SCIM user resource. Use "reauth" to force re-authentication on group membership updates, user identity update will only occur after successful re-authentication. With "reauth" identities will not contain fields from the SCIM user resource. With "no_action" identities will not be changed by SCIM updates in any way and users will not be prompted to reauthenticate.
+     */
+    identity_update_behavior?: 'automatic' | 'reauth' | 'no_action';
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
   /**
-   * Current value of the zone setting.
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
    *
-   * @example on
+   * @example onetimepin
    */
-  value: void;
+  type:
+    | 'onetimepin'
+    | 'azureAD'
+    | 'saml'
+    | 'centrify'
+    | 'facebook'
+    | 'github'
+    | 'google-apps'
+    | 'google'
+    | 'linkedin'
+    | 'oidc'
+    | 'okta'
+    | 'onelogin'
+    | 'pingone'
+    | 'yandex';
+};
+
+export type AccessIdentityProviders =
+  | AccessAzureAD
+  | AccessCentrify
+  | AccessFacebook
+  | AccessGithub
+  | AccessGoogle
+  | AccessGoogleApps
+  | AccessLinkedin
+  | AccessOidc
+  | AccessOkta
+  | AccessOnelogin
+  | AccessPingone
+  | AccessSaml
+  | AccessYandex
+  | AccessOnetimepin;
+
+export type AccessIdentityProvidersComponentsSchemasResponseCollection = AccessApiResponseCollection & {
+  result?: (
+    | AccessSchemasAzureAD
+    | AccessSchemasCentrify
+    | AccessSchemasFacebook
+    | AccessSchemasGithub
+    | AccessSchemasGoogle
+    | AccessSchemasGoogleApps
+    | AccessSchemasLinkedin
+    | AccessSchemasOidc
+    | AccessSchemasOkta
+    | AccessSchemasOnelogin
+    | AccessSchemasPingone
+    | AccessSchemasSaml
+    | AccessSchemasYandex
+    | AccessSchemasOnetimepin
+  )[];
 };
 
-export type BaseMktMcgEk = {
-  expires_on?: SchemasExpiresOnL7MyoHWU;
-  id?: InviteComponentsSchemasIdentifier;
-  invited_by?: InvitedBy;
-  invited_member_email?: InvitedMemberEmail;
-  /**
-   * ID of the user to add to the organization.
-   *
-   * @example 5a7805061c76ada191ed06f989cc3dac
-   * @maxLength 32
-   */
-  invited_member_id: string | null;
-  invited_on?: InvitedOn;
+export type AccessIdentityProvidersComponentsSchemasSingleResponse = AccessApiResponseSingle & {
+  result?: AccessSchemasIdentityProviders;
+};
+
+/**
+ * The URL of the image shown on the landing page.
+ *
+ * @example https://www.cloudflare.com/img/logo-web-badges/cf-logo-on-white-bg.svg
+ */
+export type AccessImageUrl = string;
+
+/**
+ * Rules evaluated with an OR logical operator. A user needs to meet only one of the Include rules.
+ */
+export type AccessInclude = AccessRule[];
+
+export type AccessInfraAppReqEmbeddedPolicies = {
   /**
-   * ID of the organization the user will be added to.
-   *
-   * @example 5a7805061c76ada191ed06f989cc3dac
-   * @maxLength 32
+   * The policies that Access applies to the application.
    */
-  organization_id: string;
+  policies?: AccessInfraPolicyReq[];
+};
+
+/**
+ * The policies that Access applies to the application.
+ */
+export type AccessInfraAppRespEmbeddedPolicies = {
+  policies?: AccessInfraPolicyResp[];
+};
+
+export type AccessInfraPolicyReq = AccessBasePolicyReq & {
+  connection_rules?: AccessConnectionRules;
+};
+
+export type AccessInfraPolicyResp = AccessBasePolicyResp & {
+  connection_rules?: AccessConnectionRules;
+};
+
+/**
+ * Contains the targets secured by the application.
+ */
+export type AccessInfraProps = {
+  name?: AccessAppsComponentsSchemasName;
   /**
-   * Organization name.
+   * The application type.
    *
-   * @example Cloudflare, Inc.
-   * @maxLength 100
-   */
-  organization_name?: string;
-  /**
-   * Roles to be assigned to this user.
+   * @example infrastructure
    */
-  roles?: SchemasRole[];
+  type?: AccessType & void;
+} & AccessAppRespEmbeddedTargetCriteria;
+
+/**
+ * The IP address of the authenticating user.
+ *
+ * @example 198.41.129.166
+ */
+export type AccessIp = string;
+
+/**
+ * Matches an IP address from a list.
+ */
+export type AccessIpListRule = {
+  ip_list: {
+    /**
+     * The ID of a previously created IP list.
+     *
+     * @example aa0a4aab-672b-4bdb-bc33-a59f1130a11f
+     */
+    id: string;
+  };
 };
 
-export type BasicAppResponseProps = {
-  aud?: SchemasAud;
-  created_at?: Timestamp;
-  id?: Uuid;
-  updated_at?: Timestamp;
+/**
+ * Matches an IP address block.
+ */
+export type AccessIpRule = {
+  ip: {
+    /**
+     * An IPv4 or IPv6 CIDR block.
+     *
+     * @example 2400:cb00:21:10a::/64
+     */
+    ip: string;
+  };
 };
 
 /**
- * @example 10
+ * Whether this is the default group
  */
-export type BatchSize = number;
+export type AccessIsDefault = boolean;
 
 /**
- * Limit the returned results to history records older than the specified date. This must be a timestamp that conforms to RFC3339.
+ * Lock all settings as Read-Only in the Dashboard, regardless of user permission. Updates may only be made via the API or Terraform for this account when enabled.
  *
- * @example 2022-05-20T20:29:58.679897Z
- * @format date-time
+ * @example false
  */
-export type Before = string;
+export type AccessIsUiReadOnly = boolean;
 
 /**
- * Whether the category is in beta and subject to change.
+ * Require this application to be served in an isolated browser for users matching this policy. 'Client Web Isolation' must be on for the account in order to use this feature.
  *
+ * @default false
  * @example false
  */
-export type Beta = boolean;
+export type AccessIsolationRequired = boolean;
 
-export type BillingHistory = {
-  action: ActionC1tW2hZo;
-  amount: Amount;
-  currency: Currency;
-  description: SchemasDescriptionAeOWNvGr;
-  id: BillingHistoryComponentsSchemasIdentifier;
-  occurred_at: OccurredAt;
-  type: TypeJfoU8Rqn;
-  zone: SchemasZone;
+export type AccessKeyConfig = {
+  days_until_next_rotation?: AccessDaysUntilNextRotation;
+  key_rotation_interval_days?: AccessKeyRotationIntervalDays;
+  last_key_rotation_at?: AccessLastKeyRotationAt;
 };
 
 /**
- * Billing item identifier tag.
+ * The number of days between key rotations.
  *
- * @example b69a9f3492637782896352daae219e7d
- * @maxLength 32
+ * @example 30
+ * @maximum 365
+ * @minimum 21
  */
-export type BillingHistoryComponentsSchemasIdentifier = string;
+export type AccessKeyRotationIntervalDays = number;
 
-export type BillingHistoryCollection = ApiResponseCollection & {
-  result?: BillingHistory[];
+export type AccessKeysComponentsSchemasSingleResponse = AccessApiResponseSingle & {
+  result?: AccessKeyConfig;
 };
 
-export type BillingResponseSingle = ApiResponseSingleLarS7owG & {
-  result?: Record<string, any>;
+/**
+ * The design of the App Launcher landing page shown to users when they log in.
+ */
+export type AccessLandingPageDesign = {
+  button_color?: AccessButtonColor;
+  button_text_color?: AccessButtonTextColor;
+  image_url?: AccessImageUrl;
+  message?: AccessMessage;
+  title?: AccessTitle;
 };
 
-export type Binding = KvNamespaceBinding | WasmModuleBinding;
+/**
+ * The timestamp of the previous key rotation.
+ *
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
+ */
+export type AccessLastKeyRotationAt = string;
+
+export type AccessLastSeenIdentityResponse = AccessApiResponseSingle & {
+  result?: AccessIdentity;
+};
 
 /**
- * A JavaScript variable name for the binding.
+ * The time at which the user last successfully logged in.
  *
- * @example myBinding
+ * @example 2020-07-01T05:20:00Z
+ * @format date-time
  */
-export type BindingName = string;
+export type AccessLastSuccessfulLogin = string;
 
-export type BisoProps = {
-  allowed_idps?: AllowedIdps;
-  auto_redirect_to_identity?: AutoRedirectToIdentityB0IhfGBw;
+export type AccessLinkedin = {
   /**
-   * @example authdomain.cloudflareaccess.com/browser
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
    */
-  domain?: SchemasDomainA7q0ZzCX;
+  config: AccessGenericOauthConfig;
+  id?: AccessUuid;
+  name: AccessComponentsSchemasName;
   /**
-   * @default Clientless Web Isolation
-   * @example Clientless Web Isolation
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
    */
-  name?: AppsComponentsSchemasName;
-  session_duration?: SessionDuration;
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * Indicates how a SCIM event updates a user identity used for policy evaluation. Use "automatic" to automatically update a user's identity and augment it with fields from the SCIM user resource. Use "reauth" to force re-authentication on group membership updates, user identity update will only occur after successful re-authentication. With "reauth" identities will not contain fields from the SCIM user resource. With "no_action" identities will not be changed by SCIM updates in any way and users will not be prompted to reauthenticate.
+     */
+    identity_update_behavior?: 'automatic' | 'reauth' | 'no_action';
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
   /**
-   * The application type.
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
    *
-   * @example biso
-   */
-  type?: AppsComponentsSchemasType;
-};
-
-/**
- * Block page layout settings.
- */
-export type BlockPageSettings = {
-  /**
-   * Block page background color in #rrggbb format.
+   * @example onetimepin
    */
-  background_color?: string;
+  type:
+    | 'onetimepin'
+    | 'azureAD'
+    | 'saml'
+    | 'centrify'
+    | 'facebook'
+    | 'github'
+    | 'google-apps'
+    | 'google'
+    | 'linkedin'
+    | 'oidc'
+    | 'okta'
+    | 'onelogin'
+    | 'pingone'
+    | 'yandex';
+};
+
+export type AccessLoginDesign = {
   /**
-   * Enable only cipher suites and TLS versions compliant with FIPS 140-2.
+   * The background color on your login page.
    *
-   * @example true
+   * @example #c5ed1b
    */
-  enabled?: boolean;
+  background_color?: string;
   /**
-   * Block page footer text.
+   * The text at the bottom of your login page.
    *
-   * @example --footer--
+   * @example This is an example description.
    */
   footer_text?: string;
   /**
-   * Block page header text.
+   * The text at the top of your login page.
    *
-   * @example --header--
+   * @example This is an example description.
    */
   header_text?: string;
   /**
-   * Full URL to the logo file.
+   * The URL of the logo on your login page.
    *
-   * @example https://logos.com/a.png
+   * @example https://example.com/logo.png
    */
   logo_path?: string;
   /**
-   * Admin email for users to contact.
-   *
-   * @example admin@example.com
-   */
-  mailto_address?: string;
-  /**
-   * Subject line for emails created from block page.
+   * The text color on your login page.
    *
-   * @example Blocked User Inquiry
+   * @example #c5ed1b
    */
-  mailto_subject?: string;
-  /**
-   * Block page title.
-   *
-   * @example Cloudflare
-   */
-  name?: string;
-  /**
-   * Suppress detailed info at the bottom of the block page.
-   *
-   * @example false
-   */
-  suppress_footer?: boolean;
+  text_color?: string;
 };
 
 /**
- * The response body to return. The value must conform to the configured content type.
+ * The image URL for the logo shown in the App Launcher dashboard.
  *
- * @example <error>This request has been rate-limited.</error>
- * @maxLength 10240
+ * @example https://www.cloudflare.com/img/logo-web-badges/cf-logo-on-white-bg.svg
  */
-export type Body = string;
+export type AccessLogoUrl = string;
 
 /**
- * DLP body scanning setting
+ * The maximum number of seconds the results of a preflight request can be cached.
+ *
+ * @example -1
+ * @maximum 86400
+ * @minimum -1
  */
-export type BodyScanningSettings = {
-  /**
-   * Inspection mode. One of deep or shallow
-   *
-   * @example deep
-   */
-  inspection_mode?: string;
-};
-
-export type BookmarkProps = {
-  /**
-   * @default true
-   */
-  app_launcher_visible?: void;
-  /**
-   * The URL or domain of the bookmark.
-   *
-   * @example https://mybookmark.com
-   */
-  domain?: void;
-  logo_url?: LogoUrl;
-  name?: AppsComponentsSchemasName;
-  /**
-   * The application type.
-   *
-   * @example bookmark
-   */
-  type?: string;
-};
+export type AccessMaxAge = number;
 
-export type Bookmarks = {
-  app_launcher_visible?: SchemasAppLauncherVisible;
-  created_at?: Timestamp;
-  domain?: SchemasDomain;
-  /**
-   * The unique identifier for the Bookmark application.
-   */
-  id?: void;
-  logo_url?: LogoUrl;
-  name?: BookmarksComponentsSchemasName;
-  updated_at?: Timestamp;
-};
+/**
+ * The message shown on the landing page.
+ *
+ * @example Log in below to reach your applications behind Access.
+ */
+export type AccessMessage = string;
 
-export type Bookmarks8hR8t2wb = {
-  app_launcher_visible?: SchemasAppLauncherVisible;
-  created_at?: Timestamp;
-  domain?: ComponentsSchemasDomain;
+export type AccessMessages = {
   /**
-   * The unique identifier for the Bookmark application.
+   * @minimum 1000
    */
-  id?: void;
-  logo_url?: LogoUrl;
-  name?: BookmarksComponentsSchemasName;
-  updated_at?: Timestamp;
-};
-
-export type BookmarksComponentsSchemasIdResponse = ApiResponseSingleLarS7owG & {
-  result?: {
-    id?: Uuid;
-  };
-};
+  code: number;
+  message: string;
+}[];
 
 /**
- * The name of the Bookmark application.
+ * The name of your Zero Trust organization.
  *
- * @example My Website
+ * @example Widget Corps Internal Applications
  */
-export type BookmarksComponentsSchemasName = string;
-
-export type BookmarksComponentsSchemasResponseCollection = ApiResponseCollection & {
-  result?: Bookmarks8hR8t2wb[];
-};
-
-export type BookmarksComponentsSchemasSingleResponse = ApiResponseSingleKLIlNaxV & {
-  result?: Bookmarks;
-};
+export type AccessName = string;
 
-export type BookmarksComponentsSchemasSingleResponseGMepA5Af = ApiResponseSingleLarS7owG & {
-  result?: Bookmarks8hR8t2wb;
+export type AccessNameResponse = AccessApiResponseSingle & {
+  result?: {
+    name?: AccessTagsComponentsSchemasName;
+  };
 };
 
 /**
- * Certificate Authority is manually reviewing the order.
- *
- * @example false
+ * @example X1aXj1lFVcqqyoXF
  */
-export type BrandCheck = boolean;
+export type AccessNonce = string;
 
-/**
- * When the client requesting an asset supports the Brotli compression algorithm, Cloudflare will serve a Brotli compressed version of the asset.
- */
-export type Brotli = {
+export type AccessOidc = {
   /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
-   *
-   * @default true
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
    */
-  editable?: true | false;
+  config: AccessGenericOauthConfig &
+    AccessCustomClaimsSupport & {
+      /**
+       * The authorization_endpoint URL of your IdP
+       *
+       * @example https://accounts.google.com/o/oauth2/auth
+       */
+      auth_url?: string;
+      /**
+       * The jwks_uri endpoint of your IdP to allow the IdP keys to sign the tokens
+       *
+       * @example https://www.googleapis.com/oauth2/v3/certs
+       */
+      certs_url?: string;
+      /**
+       * Enable Proof Key for Code Exchange (PKCE)
+       */
+      pkce_enabled?: boolean;
+      /**
+       * OAuth scopes
+       *
+       * @example openid
+       * @example email
+       * @example profile
+       */
+      scopes?: string[];
+      /**
+       * The token_endpoint URL of your IdP
+       *
+       * @example https://accounts.google.com/o/oauth2/token
+       */
+      token_url?: string;
+    };
+  id?: AccessUuid;
+  name: AccessComponentsSchemasName;
   /**
-   * ID of the zone setting.
-   *
-   * @example brotli
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
    */
-  id: 'brotli';
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * Indicates how a SCIM event updates a user identity used for policy evaluation. Use "automatic" to automatically update a user's identity and augment it with fields from the SCIM user resource. Use "reauth" to force re-authentication on group membership updates, user identity update will only occur after successful re-authentication. With "reauth" identities will not contain fields from the SCIM user resource. With "no_action" identities will not be changed by SCIM updates in any way and users will not be prompted to reauthenticate.
+     */
+    identity_update_behavior?: 'automatic' | 'reauth' | 'no_action';
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
   /**
-   * last time this setting was modified.
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
    *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * @example onetimepin
    */
-  modified_on?: string | null;
+  type:
+    | 'onetimepin'
+    | 'azureAD'
+    | 'saml'
+    | 'centrify'
+    | 'facebook'
+    | 'github'
+    | 'google-apps'
+    | 'google'
+    | 'linkedin'
+    | 'oidc'
+    | 'okta'
+    | 'onelogin'
+    | 'pingone'
+    | 'yandex';
+};
+
+export type AccessOidcSaasApp = {
   /**
-   * Current value of the zone setting.
+   * The lifetime of the OIDC Access Token after creation. Valid units are m,h. Must be greater than or equal to 1m and less than or equal to 24h.
    *
-   * @example on
+   * @example 5m
    */
-  value: BrotliValue;
-};
-
-/**
- * Value of the zone setting.
- *
- * @default off
- */
-export type BrotliValue = 'off' | 'on';
-
-/**
- * Browser isolation settings.
- */
-export type BrowserIsolationSettings = {
+  access_token_lifetime?: string;
   /**
-   * Enable Browser Isolation.
+   * If client secret should be required on the token endpoint when authorization_code_with_pkce grant is used.
    *
    * @example true
    */
-  url_browser_isolation_enabled?: boolean;
-};
-
-/**
- * Browser Cache TTL (in seconds) specifies how long Cloudflare-cached resources will remain on your visitors' computers. Cloudflare will honor any larger times specified by your server. (https://support.cloudflare.com/hc/en-us/articles/200168276).
- */
-export type BrowserCacheTtl = {
+  allow_pkce_without_client_secret?: boolean;
   /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   * The URL where this applications tile redirects users
    *
-   * @default true
+   * @example https://example.com/login
    */
-  editable?: true | false;
+  app_launcher_url?: string;
   /**
-   * ID of the zone setting.
+   * Identifier of the authentication protocol used for the saas app. Required for OIDC.
    *
-   * @example browser_cache_ttl
+   * @example oidc
    */
-  id: 'browser_cache_ttl';
+  auth_type?: 'saml' | 'oidc';
   /**
-   * last time this setting was modified.
+   * The application client id
    *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * @example oidc client id
    */
-  modified_on?: string | null;
+  client_id?: string;
   /**
-   * Current value of the zone setting.
+   * The application client secret, only returned on POST request.
    *
-   * @example on
+   * @example oidc client secret
    */
-  value: BrowserCacheTtlValue;
-};
-
-/**
- * Value of the zone setting.
- * Notes: Setting a TTL of 0 is equivalent to selecting `Respect Existing Headers`
- *
- * @default 14400
- */
-export type BrowserCacheTtlValue =
-  | 0
-  | 30
-  | 60
-  | 120
-  | 300
-  | 1200
-  | 1800
-  | 3600
-  | 7200
-  | 10800
-  | 14400
-  | 18000
-  | 28800
-  | 43200
-  | 57600
-  | 72000
-  | 86400
-  | 172800
-  | 259200
-  | 345600
-  | 432000
-  | 691200
-  | 1382400
-  | 2073600
-  | 2678400
-  | 5356800
-  | 16070400
-  | 31536000;
-
-/**
- * Browser Integrity Check is similar to Bad Behavior and looks for common HTTP headers abused most commonly by spammers and denies access to your page.  It will also challenge visitors that do not have a user agent or a non standard user agent (also commonly used by abuse bots, crawlers or visitors). (https://support.cloudflare.com/hc/en-us/articles/200170086).
- */
-export type BrowserCheck = {
+  client_secret?: string;
+  created_at?: AccessTimestamp;
+  custom_claims?: {
+    /**
+     * The name of the claim.
+     *
+     * @example family_name
+     */
+    name?: string;
+    /**
+     * If the claim is required when building an OIDC token.
+     *
+     * @example true
+     */
+    required?: boolean;
+    /**
+     * The scope of the claim.
+     *
+     * @example profile
+     */
+    scope?: 'groups' | 'profile' | 'email' | 'openid';
+    source?: {
+      /**
+       * The name of the IdP claim.
+       *
+       * @example last_name
+       */
+      name?: string;
+      /**
+       * A mapping from IdP ID to claim name.
+       *
+       * @example {"exampleIdPID1":"ClaimName1","exampleIdPID2":"ClaimName2"}
+       */
+      name_by_idp?: {
+        [key: string]: string;
+      };
+    };
+  }[];
   /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   * The OIDC flows supported by this application
    *
-   * @default true
+   * @example authorization_code
    */
-  editable?: true | false;
+  grant_types?: ('authorization_code' | 'authorization_code_with_pkce' | 'refresh_tokens' | 'hybrid' | 'implicit')[];
   /**
-   * ID of the zone setting.
+   * A regex to filter Cloudflare groups returned in ID token and userinfo endpoint
    *
-   * @example browser_check
+   * @example ^GROUP_FILTER-*$
    */
-  id: 'browser_check';
+  group_filter_regex?: string;
+  hybrid_and_implicit_options?: {
+    /**
+     * If an Access Token should be returned from the OIDC Authorization endpoint
+     */
+    return_access_token_from_authorization_endpoint?: boolean;
+    /**
+     * If an ID Token should be returned from the OIDC Authorization endpoint
+     */
+    return_id_token_from_authorization_endpoint?: boolean;
+  };
   /**
-   * last time this setting was modified.
+   * The Access public certificate that will be used to verify your identity.
    *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * @example example unique name
    */
-  modified_on?: string | null;
+  public_key?: string;
   /**
-   * Current value of the zone setting.
+   * The permitted URL's for Cloudflare to return Authorization codes and Access/ID tokens
    *
-   * @example on
+   * @example https://example.com
+   */
+  redirect_uris?: string[];
+  refresh_token_options?: {
+    /**
+     * How long a refresh token will be valid for after creation. Valid units are m,h,d. Must be longer than 1m.
+     *
+     * @example 30d
+     */
+    lifetime?: string;
+  };
+  /**
+   * Define the user information shared with access, "offline_access" scope will be automatically enabled if refresh tokens are enabled
+   *
+   * @example openid
+   * @example groups
+   * @example email
+   * @example profile
    */
-  value: BrowserCheckValue;
+  scopes?: ('openid' | 'groups' | 'email' | 'profile')[];
+  updated_at?: AccessTimestamp;
 };
 
-/**
- * Value of the zone setting.
- *
- * @default on
- */
-export type BrowserCheckValue = 'on' | 'off';
-
-/**
- * Name of the bucket. The name must be greater than 2 and less than 64 characters.
- *
- * @example example-bucket
- * @pattern ^[a-z0-9][a-z0-9-]*[a-z0-9]
- */
-export type BucketName = string;
-
-/**
- * The build identifier for the Railgun receiver.
- *
- * @example b1234
- */
-export type Build = string;
-
-/**
- * Configs for the project build process.
- */
-export type BuildConfig = {
-  /**
-   * Command used to build project.
-   *
-   * @example npm run build
-   */
-  build_command?: string | null;
-  /**
-   * Output directory of the build.
-   *
-   * @example build
-   */
-  destination_dir?: string | null;
+export type AccessOkta = {
   /**
-   * Directory to run the command.
-   *
-   * @example /
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
    */
-  root_dir?: string | null;
+  config: AccessGenericOauthConfig &
+    AccessCustomClaimsSupport & {
+      /**
+       * Your okta authorization server id
+       *
+       * @example aus9o8wzkhckw9TLa0h7z
+       */
+      authorization_server_id?: string;
+      /**
+       * Your okta account url
+       *
+       * @example https://dev-abc123.oktapreview.com
+       */
+      okta_account?: string;
+    };
+  id?: AccessUuid;
+  name: AccessComponentsSchemasName;
   /**
-   * The classifying tag for analytics.
-   *
-   * @example cee1c73f6e4743d0b5e6bb1a0bcaabcc
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
    */
-  web_analytics_tag?: string | null;
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * Indicates how a SCIM event updates a user identity used for policy evaluation. Use "automatic" to automatically update a user's identity and augment it with fields from the SCIM user resource. Use "reauth" to force re-authentication on group membership updates, user identity update will only occur after successful re-authentication. With "reauth" identities will not contain fields from the SCIM user resource. With "no_action" identities will not be changed by SCIM updates in any way and users will not be prompted to reauthenticate.
+     */
+    identity_update_behavior?: 'automatic' | 'reauth' | 'no_action';
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
   /**
-   * The auth token for analytics.
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
    *
-   * @example 021e1057c18547eca7b79f2516f06o7x
+   * @example onetimepin
    */
-  web_analytics_token?: string | null;
+  type:
+    | 'onetimepin'
+    | 'azureAD'
+    | 'saml'
+    | 'centrify'
+    | 'facebook'
+    | 'github'
+    | 'google-apps'
+    | 'google'
+    | 'linkedin'
+    | 'oidc'
+    | 'okta'
+    | 'onelogin'
+    | 'pingone'
+    | 'yandex';
 };
 
-export type BulkOperationResponseCollection = ApiResponseCollection & {
-  result?: SchemasOperation;
+/**
+ * Matches an Okta group.
+ * Requires an Okta identity provider.
+ */
+export type AccessOktaGroupRule = {
+  okta: {
+    /**
+     * The ID of your Okta identity provider.
+     *
+     * @example ea85612a-29c8-46c2-bacb-669d65136971
+     */
+    identity_provider_id: string;
+    /**
+     * The name of the Okta group.
+     *
+     * @example devs
+     */
+    name: string;
+  };
 };
 
-export type BulkDelete = KeyNameBulk[];
-
-export type BulkWrite = {
+export type AccessOnelogin = {
   /**
-   * Whether or not the server should base64 decode the value before storing it. Useful for writing values that wouldn't otherwise be valid JSON strings, such as images.
-   *
-   * @default false
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
    */
-  base64?: boolean;
-  expiration?: Expiration4507z3vp;
-  expiration_ttl?: ExpirationTtl;
-  key?: KeyNameBulk;
-  metadata?: ListMetadata;
+  config: AccessGenericOauthConfig &
+    AccessCustomClaimsSupport & {
+      /**
+       * Your OneLogin account url
+       *
+       * @example https://mycompany.onelogin.com
+       */
+      onelogin_account?: string;
+    };
+  id?: AccessUuid;
+  name: AccessComponentsSchemasName;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * Indicates how a SCIM event updates a user identity used for policy evaluation. Use "automatic" to automatically update a user's identity and augment it with fields from the SCIM user resource. Use "reauth" to force re-authentication on group membership updates, user identity update will only occur after successful re-authentication. With "reauth" identities will not contain fields from the SCIM user resource. With "no_action" identities will not be changed by SCIM updates in any way and users will not be prompted to reauthenticate.
+     */
+    identity_update_behavior?: 'automatic' | 'reauth' | 'no_action';
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
   /**
-   * A UTF-8 encoded string to be stored, up to 10 MB in length.
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
    *
-   * @example Some string
-   * @maxLength 10485760
+   * @example onetimepin
    */
-  value?: string;
-}[];
-
-/**
- * A ubiquitous bundle has the highest probability of being verified everywhere, even by clients using outdated or unusual trust stores. An optimal bundle uses the shortest chain and newest intermediates. And the force bundle verifies the chain, but does not otherwise modify it.
- *
- * @default ubiquitous
- * @example ubiquitous
- */
-export type BundleMethod = 'ubiquitous' | 'optimal' | 'force';
-
-/**
- * Criteria specifying when the current rate limit should be bypassed. You can specify that the rate limit should not apply to one or more URLs.
- */
-export type Bypass = {
+  type:
+    | 'onetimepin'
+    | 'azureAD'
+    | 'saml'
+    | 'centrify'
+    | 'facebook'
+    | 'github'
+    | 'google-apps'
+    | 'google'
+    | 'linkedin'
+    | 'oidc'
+    | 'okta'
+    | 'onelogin'
+    | 'pingone'
+    | 'yandex';
+};
+
+export type AccessOnetimepin = {
   /**
-   * @example url
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
    */
-  name?: 'url';
+  config: {
+    redirect_url?: string;
+  };
+  id?: AccessUuid;
+  name: AccessComponentsSchemasName;
   /**
-   * The URL to bypass.
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * Indicates how a SCIM event updates a user identity used for policy evaluation. Use "automatic" to automatically update a user's identity and augment it with fields from the SCIM user resource. Use "reauth" to force re-authentication on group membership updates, user identity update will only occur after successful re-authentication. With "reauth" identities will not contain fields from the SCIM user resource. With "no_action" identities will not be changed by SCIM updates in any way and users will not be prompted to reauthenticate.
+     */
+    identity_update_behavior?: 'automatic' | 'reauth' | 'no_action';
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
    *
-   * @example api.example.com/*
+   * @example onetimepin
    */
-  value?: string;
-}[];
+  type:
+    | 'onetimepin'
+    | 'azureAD'
+    | 'saml'
+    | 'centrify'
+    | 'facebook'
+    | 'github'
+    | 'google-apps'
+    | 'google'
+    | 'linkedin'
+    | 'oidc'
+    | 'okta'
+    | 'onelogin'
+    | 'pingone'
+    | 'yandex';
+};
 
 /**
- * Indicates whether the certificate is a CA or leaf certificate.
+ * Allows options preflight requests to bypass Access authentication and go directly to the origin. Cannot turn on if cors_headers is set.
  *
  * @example true
  */
-export type Ca = boolean;
+export type AccessOptionsPreflightBypass = boolean;
 
-export type CaCQxHTRof = {
-  aud?: Aud;
-  id?: Id4G7SFJfZ;
-  public_key?: PublicKey;
+export type AccessOrganizations = {
+  allow_authenticate_via_warp?: AccessAllowAuthenticateViaWarp;
+  auth_domain?: AccessAuthDomain;
+  auto_redirect_to_identity?: AccessAutoRedirectToIdentity;
+  created_at?: AccessTimestamp;
+  custom_pages?: AccessCustomPages;
+  is_ui_read_only?: AccessIsUiReadOnly;
+  login_design?: AccessLoginDesign;
+  name?: AccessName;
+  session_duration?: AccessSessionDuration;
+  ui_read_only_toggle_reason?: AccessUiReadOnlyToggleReason;
+  updated_at?: AccessTimestamp;
+  user_seat_expiration_inactive_time?: AccessUserSeatExpirationInactiveTime;
+  warp_auth_session_duration?: AccessWarpAuthSessionDuration;
 };
 
 /**
- * The ID of the CA.
- *
- * @example 7eddae4619b50ab1361ba8ae9bd72269a432fea041529ed9
- * @maxLength 48
+ * @example 699d98642c564d2e855e9661899b7252
  */
-export type CaComponentsSchemasId = string;
+export type AccessOrganizationsComponentsSchemasIdentifier = void;
 
-export type CaComponentsSchemasIdResponse = ApiResponseSingleLarS7owG & {
-  result?: {
-    id?: CaComponentsSchemasId;
-  };
+export type AccessOrganizationsComponentsSchemasSingleResponse = AccessApiResponseSingle & {
+  result?: AccessSchemasOrganizations;
 };
 
-export type CaComponentsSchemasResponseCollection = ApiResponseCollection & {
-  result?: CaCQxHTRof[];
-};
+/**
+ * The number of pages of (processed) users.
+ *
+ * @example 2
+ */
+export type AccessPagesProcessed = number;
 
-export type CaComponentsSchemasResponseCollectionZvceXl7i = ApiResponseCollection & {
-  result?: SchemasCa[];
-};
+/**
+ * Enables cookie paths to scope an application's JWT to the application path. If disabled, the JWT will scope to the hostname by default
+ *
+ * @default false
+ * @example true
+ */
+export type AccessPathCookieAttribute = boolean;
 
-export type CaComponentsSchemasSingleResponse = ApiResponseSingleKLIlNaxV & {
-  result?: Record<string, any>;
-};
+/**
+ * The percentage of (processed) users approved based on policy evaluation results.
+ *
+ * @example 25
+ */
+export type AccessPercentApproved = number;
 
-export type CaComponentsSchemasSingleResponseSWdmxSty = ApiResponseSingleLarS7owG & {
-  result?: Record<string, any>;
-};
+/**
+ * The percentage of (processed) users blocked based on policy evaluation results.
+ *
+ * @example 25
+ */
+export type AccessPercentBlocked = number;
 
 /**
- * The parameters configuring the action.
+ * The percentage of users processed so far (of the entire user base).
+ *
+ * @example 50
  */
-export type CacheRulesComponentsSchemasActionParameters = ActionParametersSetCacheSettings;
+export type AccessPercentUsersProcessed = number;
 
-export type CacheRulesComponentsSchemasRule = {
-  /**
-   * @example set_cache_settings
-   */
-  action?: void;
-  action_parameters?: CacheRulesComponentsSchemasActionParameters;
-  /**
-   * @example use the cache settings
-   */
-  description?: void;
+export type AccessPingone = {
   /**
-   * @example http.cookie contains "something"
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
    */
-  expression?: void;
+  config: AccessGenericOauthConfig &
+    AccessCustomClaimsSupport & {
+      /**
+       * Your PingOne environment identifier
+       *
+       * @example 342b5660-0c32-4936-a5a4-ce21fae57b0a
+       */
+      ping_env_id?: string;
+    };
+  id?: AccessUuid;
+  name: AccessComponentsSchemasName;
   /**
-   * @example 3a03d665bac047339bb530ecb439a90d
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
    */
-  id?: void;
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * Indicates how a SCIM event updates a user identity used for policy evaluation. Use "automatic" to automatically update a user's identity and augment it with fields from the SCIM user resource. Use "reauth" to force re-authentication on group membership updates, user identity update will only occur after successful re-authentication. With "reauth" identities will not contain fields from the SCIM user resource. With "no_action" identities will not be changed by SCIM updates in any way and users will not be prompted to reauthenticate.
+     */
+    identity_update_behavior?: 'automatic' | 'reauth' | 'no_action';
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
   /**
-   * @example 1
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
    */
-  version?: void;
-};
-
-export type CacheRulesComponentsSchemasRuleset = {
-  /**
-   * @example
-   */
-  description?: void;
-  /**
-   * @example 2f2feab2026849078ba485f918791bdc
-   */
-  id?: void;
-  /**
-   * @example zone
-   */
-  kind?: void;
-  /**
-   * @example default
-   */
-  name?: void;
-  /**
-   * @example http_request_cache_settings
-   */
-  phase?: void;
-  /**
-   * The rules in the ruleset.
-   */
-  rules?: CacheRulesComponentsSchemasRule[];
+  type:
+    | 'onetimepin'
+    | 'azureAD'
+    | 'saml'
+    | 'centrify'
+    | 'facebook'
+    | 'github'
+    | 'google-apps'
+    | 'google'
+    | 'linkedin'
+    | 'oidc'
+    | 'okta'
+    | 'onelogin'
+    | 'pingone'
+    | 'yandex';
+};
+
+export type AccessPolicies = {
+  approval_groups?: AccessSchemasApprovalGroups;
+  approval_required?: AccessApprovalRequired;
+  created_at?: AccessTimestamp;
+  decision?: AccessSchemasDecision;
+  exclude?: AccessSchemasExclude;
+  id?: AccessUuid;
+  include?: AccessInclude;
+  isolation_required?: AccessSchemasIsolationRequired;
+  name?: AccessPoliciesComponentsSchemasName;
+  precedence?: AccessSchemasPrecedence;
+  purpose_justification_prompt?: AccessPurposeJustificationPrompt;
+  purpose_justification_required?: AccessPurposeJustificationRequired;
+  require?: AccessSchemasRequire;
+  updated_at?: AccessTimestamp;
 };
 
 /**
- * Cache Level functions based off the setting level. The basic setting will cache most static resources (i.e., css, images, and JavaScript). The simplified setting will ignore the query string when delivering a cached resource. The aggressive setting will cache all static resources, including ones with a query string. (https://support.cloudflare.com/hc/en-us/articles/200168256).
+ * The name of the Access policy.
+ *
+ * @example Allow devs
  */
-export type CacheLevel = {
-  /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
-   *
-   * @default true
-   */
-  editable?: true | false;
-  /**
-   * ID of the zone setting.
-   *
-   * @example cache_level
-   */
-  id: 'cache_level';
-  /**
-   * last time this setting was modified.
-   *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
-   */
-  modified_on?: string | null;
-  /**
-   * Current value of the zone setting.
-   *
-   * @example on
-   */
-  value: CacheLevelValue;
+export type AccessPoliciesComponentsSchemasName = string;
+
+export type AccessPoliciesComponentsSchemasResponseCollection = AccessApiResponseCollection & {
+  result?: AccessPolicies[];
+};
+
+export type AccessPoliciesComponentsSchemasSingleResponse = AccessApiResponseSingle & {
+  result?: AccessPolicies;
+};
+
+export type AccessPolicyCheckResponse = AccessApiResponseSingle & {
+  result?: {
+    app_state?: {
+      app_uid?: AccessUuid;
+      /**
+       * @example 737646a56ab1df6ec9bddc7e5ca84eaf3b0768850f3ffb5d74f1534911fe389
+       */
+      aud?: string;
+      /**
+       * @example test.com
+       */
+      hostname?: string;
+      /**
+       * @example Test App
+       */
+      name?: string;
+      /**
+       * @example {"decision":"allow","exclude":[],"include":[{"_type":"email","email":"testuser@gmail.com"}],"precedence":0,"require":[],"status":"Success"}
+       */
+      policies?: Record<string, any>[];
+      /**
+       * @example Success
+       */
+      status?: string;
+    };
+    user_identity?: {
+      /**
+       * @example 41ecfbb341f033e52b46742756aabb8b
+       */
+      account_id?: string;
+      /**
+       * @example {}
+       */
+      device_sessions?: Record<string, any>;
+      /**
+       * @example testuser@gmail.com
+       */
+      email?: string;
+      geo?: {
+        /**
+         * @example US
+         */
+        country?: string;
+      };
+      iat?: number;
+      /**
+       * @example 1164449231815010287495
+       */
+      id?: string;
+      /**
+       * @example false
+       */
+      is_gateway?: boolean;
+      /**
+       * @example false
+       */
+      is_warp?: boolean;
+      /**
+       * @example Test User
+       */
+      name?: string;
+      user_uuid?: AccessUuid;
+      version?: number;
+    };
+  };
 };
 
 /**
- * Value of the zone setting.
+ * The name of the Access policy.
  *
- * @default aggressive
+ * @example Allow devs
  */
-export type CacheLevelValue = 'aggressive' | 'basic' | 'simplified';
+export type AccessPolicyComponentsSchemasName = string;
 
-/**
- * Increase cache lifetimes by automatically storing all cacheable files into Cloudflare's persistent object storage buckets. Requires Cache Reserve subscription. Note: using Tiered Cache with Cache Reserve is highly recommended to reduce Reserve operations costs. See the [developer docs](https://developers.cloudflare.com/cache/about/cache-reserve) for more information.
- */
-export type CacheReserve = {
-  /**
-   * ID of the zone setting.
-   *
-   * @example cache_reserve
-   */
-  id: 'cache_reserve';
-  /**
-   * last time this setting was modified.
-   *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
-   */
-  modified_on: string | null;
+export type AccessPolicyInitResp = {
+  id?: AccessPolicyTestId;
+  status?: AccessStatus;
+};
+
+export type AccessPolicyReq = AccessBasePolicyReq & {
+  approval_groups?: AccessApprovalGroups;
+  approval_required?: AccessApprovalRequired;
+  isolation_required?: AccessIsolationRequired;
+  purpose_justification_prompt?: AccessPurposeJustificationPrompt;
+  purpose_justification_required?: AccessPurposeJustificationRequired;
+  session_duration?: AccessComponentsSchemasSessionDuration;
+};
+
+export type AccessPolicyResp = AccessBasePolicyResp & {
+  approval_groups?: AccessApprovalGroups;
+  approval_required?: AccessApprovalRequired;
+  isolation_required?: AccessIsolationRequired;
+  purpose_justification_prompt?: AccessPurposeJustificationPrompt;
+  purpose_justification_required?: AccessPurposeJustificationRequired;
+  session_duration?: AccessComponentsSchemasSessionDuration;
 };
 
 /**
- * Increase cache lifetimes by automatically storing all cacheable files into Cloudflare's persistent object storage buckets. Requires Cache Reserve subscription. Note: using Tiered Cache with Cache Reserve is highly recommended to reduce Reserve operations costs. See the [developer docs](https://developers.cloudflare.com/cache/about/cache-reserve) for more information.
+ * The UUID of the policy test.
+ *
+ * @example f1a8b3c9d4e5f6789a0b1c2d3e4f5678a9b0c1d2e3f4a5b67890c1d2e3f4b5a6
+ * @maxLength 64
  */
-export type CacheReserveTRvGfFtN = {
-  /**
-   * ID of the zone setting.
-   *
-   * @example cache_reserve
-   */
-  id: 'cache_reserve';
-  /**
-   * last time this setting was modified.
-   *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
-   */
-  modified_on: string | null;
+export type AccessPolicyTestId = string;
+
+export type AccessPolicyUpdateResp = {
+  id?: AccessPolicyTestId;
+  pages_processed?: AccessPagesProcessed;
+  percent_approved?: AccessPercentApproved;
+  percent_blocked?: AccessPercentBlocked;
+  percent_users_processed?: AccessPercentUsersProcessed;
+  status?: AccessUpdateStatus;
+  total_users?: AccessTotalUsers;
+  users_approved?: AccessUsersApproved;
+  users_blocked?: AccessUsersBlocked;
 };
 
-export type CacheReserveResponseValue = {
-  /**
-   * Increase cache lifetimes by automatically storing all cacheable files into Cloudflare's persistent object storage buckets. Requires Cache Reserve subscription. Note: using Tiered Cache with Cache Reserve is highly recommended to reduce Reserve operations costs. See the [developer docs](https://developers.cloudflare.com/cache/about/cache-reserve) for more information.
-   */
-  result?: CacheReserveTRvGfFtN & {
-    value: CacheReserveValue;
-  };
+export type AccessPolicyUsers = {
+  email?: AccessEmail;
+  id?: AccessUuid;
+  name?: AccessUsersComponentsSchemasName;
+  status?: AccessUserResult;
 };
 
 /**
- * Value of the Cache Reserve zone setting.
+ * Page of processed users.
+ */
+export type AccessPolicyUsersResp = AccessPolicyUsers[];
+
+/**
+ * The port that the targets use for the chosen communication protocol. A port cannot be assigned to multiple protocols.
  *
- * @default off
+ * @example 22
  */
-export type CacheReserveValue = 'on' | 'off';
+export type AccessPort = number;
 
 /**
- * If set to false, then the Address Map cannot be deleted via API. This is true for Cloudflare-managed maps.
+ * The order of execution for this policy. Must be unique for each policy within an app.
+ */
+export type AccessPrecedence = number;
+
+/**
+ * The communication protocol your application secures.
  *
- * @example true
+ * @example ssh
  */
-export type CanDelete = boolean;
+export type AccessProtocol = 'ssh';
 
 /**
- * If set to false, then the IPs on the Address Map cannot be modified via the API. This is true for Cloudflare-managed maps.
+ * The public key to add to your SSH server configuration.
  *
- * @example true
+ * @example ecdsa-sha2-nistp256 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= open-ssh-ca@cloudflareaccess.org
  */
-export type CanModifyIps = boolean;
+export type AccessPublicKey = string;
 
 /**
- * Indicates if the domain can be registered as a new domain.
+ * A custom message that will appear on the purpose justification screen.
  *
- * @example false
+ * @example Please enter a justification for entering this protected domain.
  */
-export type CanRegister = boolean;
+export type AccessPurposeJustificationPrompt = string;
 
 /**
- * Indicates whether you can subscribe to this plan.
+ * Require users to enter a justification when they log in to the application.
  *
  * @default false
  * @example true
  */
-export type CanSubscribe = boolean;
-
-export type CaptionBasicUpload = {
-  /**
-   * The WebVTT file containing the caption or subtitle content.
-   *
-   * @example @/Users/kyle/Desktop/tr.vtt
-   */
-  file: string;
-};
-
-export type Captions = {
-  label?: Label;
-  language?: Language;
-};
+export type AccessPurposeJustificationRequired = boolean;
 
 /**
- * Turn on the captive portal after the specified amount of time.
+ * The unique identifier for the request to Cloudflare.
  *
- * @example 180
+ * @example 187d944c61940c77
+ * @maxLength 16
  */
-export type CaptivePortal = number;
+export type AccessRayId = string;
 
-export type CatchAllRule = {
-  actions?: RuleCatchallActions;
-  enabled?: RuleEnabledXvrbaudJ;
-  matchers?: RuleCatchallMatchers;
-  name?: RuleName;
-  tag?: RuleIdentifier2K5KLBLf;
+/**
+ * Rules evaluated with an AND logical operator. To match a policy, a user must meet all of the Require rules.
+ */
+export type AccessRequire = AccessRule[];
+
+export type AccessResponseCollection = AccessApiResponseCollection & {
+  result?: (
+    | AccessAzureAD
+    | AccessCentrify
+    | AccessFacebook
+    | AccessGithub
+    | AccessGoogle
+    | AccessGoogleApps
+    | AccessLinkedin
+    | AccessOidc
+    | AccessOkta
+    | AccessOnelogin
+    | AccessPingone
+    | AccessSaml
+    | AccessYandex
+  )[];
 };
 
-export type CatchAllRuleResponseSingle = ApiResponseSingleSiIqFfOd & {
-  result?: CatchAllRule;
+export type AccessResponseCollectionHostnames = AccessApiResponseCollection & {
+  result?: AccessSettings[];
 };
 
-export type Categories = {
-  beta?: Beta;
-  ['class']?: Class;
-  description?: ComponentsSchemasDescriptionDHTB25HG;
-  id?: IdWr4kBzDa;
-  name?: CategoriesComponentsSchemasName;
+export type AccessResultInfo = {
   /**
-   * All subcategories for this category.
+   * Total number of results for the requested service
+   *
+   * @example 1
+   */
+  count?: number;
+  /**
+   * Current page within paginated list of results
+   *
+   * @example 1
    */
-  subcategories?: Subcategory[];
+  page?: number;
+  /**
+   * Number of results per page of results
+   *
+   * @example 20
+   */
+  per_page?: number;
+  /**
+   * Total results available without any search parameters
+   *
+   * @example 2000
+   */
+  total_count?: number;
 };
 
-/**
- * The categories of the rule.
- *
- * @example directory-traversal
- * @example header
- */
-export type CategoriesGr0NL98E = Category[];
-
-/**
- * The name of the category.
- *
- * @example Education
- */
-export type CategoriesComponentsSchemasName = string;
+export type AccessReusablePoliciesComponentsSchemasIdResponse = AccessApiResponseSingle & {
+  result?: {
+    id?: AccessSchemasUuid;
+  };
+};
 
-export type CategoriesComponentsSchemasResponseCollection = ApiResponseCollection & {
-  result?: Categories[];
+export type AccessReusablePoliciesComponentsSchemasResponseCollection = AccessApiResponseCollection & {
+  result?: AccessReusablePolicyResp[];
+};
+
+export type AccessReusablePoliciesComponentsSchemasSingleResponse = AccessApiResponseSingle & {
+  result?: AccessReusablePolicyResp;
+};
+
+export type AccessReusablePolicyResp = AccessPolicyResp & {
+  app_count?: AccessAppCount;
+  reusable?: true;
+};
+
+export type AccessRule =
+  | AccessAccessGroupRule
+  | AccessAnyValidServiceTokenRule
+  | AccessAuthContextRule
+  | AccessAuthenticationMethodRule
+  | AccessAzureGroupRule
+  | AccessCertificateRule
+  | AccessCommonNameRule
+  | AccessCountryRule
+  | AccessDevicePostureRule
+  | AccessDomainRule
+  | AccessEmailListRule
+  | AccessEmailRule
+  | AccessEveryoneRule
+  | AccessExternalEvaluationRule
+  | AccessGithubOrganizationRule
+  | AccessGsuiteGroupRule
+  | AccessIpListRule
+  | AccessIpRule
+  | AccessOktaGroupRule
+  | AccessSamlGroupRule
+  | AccessServiceTokenRule;
+
+export type AccessSaasProps = {
+  allowed_idps?: AccessAllowedIdps;
+  app_launcher_visible?: AccessAppLauncherVisible;
+  auto_redirect_to_identity?: AccessSchemasAutoRedirectToIdentity;
+  custom_pages?: AccessSchemasCustomPages;
+  logo_url?: AccessLogoUrl;
+  name?: AccessAppsComponentsSchemasName;
+  saas_app?: AccessSamlSaasApp | AccessOidcSaasApp;
+  tags?: AccessTags;
+  /**
+   * The application type.
+   *
+   * @example saas
+   */
+  type?: string;
 };
 
 /**
- * A category of the rule.
+ * Sets the SameSite cookie setting, which provides increased security against CSRF attacks.
  *
- * @example directory-traversal
+ * @example strict
  */
-export type Category = string;
+export type AccessSameSiteCookieAttribute = string;
 
-export type Centrify = {
+export type AccessSaml = {
   /**
    * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
    */
-  config: GenericOauthConfig & {
+  config: {
     /**
-     * Your centrify account url
+     * A list of SAML attribute names that will be added to your signed JWT token and can be used in SAML policy rules.
      *
-     * @example https://abc123.my.centrify.com/
+     * @example group
+     * @example department_code
+     * @example divison
      */
-    centrify_account?: string;
+    attributes?: string[];
     /**
-     * Your centrify app id
+     * The attribute name for email in the SAML response.
      *
-     * @example exampleapp
+     * @example Email
      */
-    centrify_app_id?: string;
+    email_attribute_name?: string;
+    /**
+     * Add a list of attribute names that will be returned in the response header from the Access callback.
+     */
+    header_attributes?: {
+      /**
+       * attribute name from the IDP
+       */
+      attribute_name?: string;
+      /**
+       * header that will be added on the request to the origin
+       */
+      header_name?: string;
+    }[];
+    /**
+     * X509 certificate to verify the signature in the SAML authentication response
+     */
+    idp_public_certs?: string[];
+    /**
+     * IdP Entity ID or Issuer URL
+     *
+     * @example https://whoami.com
+     */
+    issuer_url?: string;
+    /**
+     * Sign the SAML authentication request with Access credentials. To verify the signature, use the public key from the Access certs endpoints.
+     */
+    sign_request?: boolean;
+    /**
+     * URL to send the SAML authentication requests to
+     *
+     * @example https://edgeaccess.org/idp/saml/login
+     */
+    sso_target_url?: string;
   };
-  id?: Uuid;
-  name: SchemasNameIXVfNmuB;
+  id?: AccessUuid;
+  name: AccessComponentsSchemasName;
   /**
    * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
    */
@@ -4338,9 +4557,9 @@ export type Centrify = {
      */
     enabled?: boolean;
     /**
-     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
+     * Indicates how a SCIM event updates a user identity used for policy evaluation. Use "automatic" to automatically update a user's identity and augment it with fields from the SCIM user resource. Use "reauth" to force re-authentication on group membership updates, user identity update will only occur after successful re-authentication. With "reauth" identities will not contain fields from the SCIM user resource. With "no_action" identities will not be changed by SCIM updates in any way and users will not be prompted to reauthenticate.
      */
-    group_member_deprovision?: boolean;
+    identity_update_behavior?: 'automatic' | 'reauth' | 'no_action';
     /**
      * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
      */
@@ -4359,1344 +4578,19636 @@ export type Centrify = {
    *
    * @example onetimepin
    */
-  type: string;
+  type:
+    | 'onetimepin'
+    | 'azureAD'
+    | 'saml'
+    | 'centrify'
+    | 'facebook'
+    | 'github'
+    | 'google-apps'
+    | 'google'
+    | 'linkedin'
+    | 'oidc'
+    | 'okta'
+    | 'onelogin'
+    | 'pingone'
+    | 'yandex';
 };
 
 /**
- * Certificate identifier tag.
+ * Matches a SAML group.
+ * Requires a SAML identity provider.
+ */
+export type AccessSamlGroupRule = {
+  saml: {
+    /**
+     * The name of the SAML attribute.
+     *
+     * @example group
+     */
+    attribute_name: string;
+    /**
+     * The SAML attribute value to look for.
+     *
+     * @example devs@cloudflare.com
+     */
+    attribute_value: string;
+    /**
+     * The ID of your SAML identity provider.
+     *
+     * @example ea85612a-29c8-46c2-bacb-669d65136971
+     */
+    identity_provider_id: string;
+  };
+};
+
+export type AccessSamlSaasApp = {
+  /**
+   * Optional identifier indicating the authentication protocol used for the saas app. Required for OIDC. Default if unset is "saml"
+   *
+   * @example saml
+   */
+  auth_type?: 'saml' | 'oidc';
+  /**
+   * The service provider's endpoint that is responsible for receiving and parsing a SAML assertion.
+   *
+   * @example https://example.com
+   */
+  consumer_service_url?: string;
+  created_at?: AccessTimestamp;
+  custom_attributes?: {
+    /**
+     * The SAML FriendlyName of the attribute.
+     *
+     * @example Last Name
+     */
+    friendly_name?: string;
+    /**
+     * The name of the attribute.
+     *
+     * @example family_name
+     */
+    name?: string;
+    /**
+     * A globally unique name for an identity or service provider.
+     *
+     * @example urn:oasis:names:tc:SAML:2.0:attrname-format:basic
+     */
+    name_format?:
+      | 'urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified'
+      | 'urn:oasis:names:tc:SAML:2.0:attrname-format:basic'
+      | 'urn:oasis:names:tc:SAML:2.0:attrname-format:uri';
+    /**
+     * If the attribute is required when building a SAML assertion.
+     *
+     * @example true
+     */
+    required?: boolean;
+    source?: {
+      /**
+       * The name of the IdP attribute.
+       *
+       * @example last_name
+       */
+      name?: string;
+      /**
+       * A mapping from IdP ID to attribute name.
+       *
+       * @example {"exampleIdPID1":"AttributeName1","exampleIdPID2":"AttributeName2"}
+       */
+      name_by_idp?: {
+        [key: string]: string;
+      };
+    };
+  }[];
+  /**
+   * The URL that the user will be redirected to after a successful login for IDP initiated logins.
+   *
+   * @example https://example.com
+   */
+  default_relay_state?: string;
+  /**
+   * The unique identifier for your SaaS application.
+   *
+   * @example https://example.cloudflareaccess.com
+   * @x-stainless-configurability computed_optional
+   */
+  idp_entity_id?: string;
+  /**
+   * The format of the name identifier sent to the SaaS application.
+   *
+   * @example id
+   */
+  name_id_format?: 'id' | 'email';
+  /**
+   * A [JSONata](https://jsonata.org/) expression that transforms an application's user identities into a NameID value for its SAML assertion. This expression should evaluate to a singular string. The output of this expression can override the `name_id_format` setting.
+   *
+   * @example $substringBefore(email, '@') & '+sandbox@' & $substringAfter(email, '@')
+   */
+  name_id_transform_jsonata?: string;
+  /**
+   * The Access public certificate that will be used to verify your identity.
+   *
+   * @example example unique name
+   * @x-stainless-configurability computed_optional
+   */
+  public_key?: string;
+  /**
+   * A [JSONata] (https://jsonata.org/) expression that transforms an application's user identities into attribute assertions in the SAML response. The expression can transform id, email, name, and groups values. It can also transform fields listed in the saml_attributes or oidc_fields of the identity provider used to authenticate. The output of this expression must be a JSON object.
+   *
+   * @example $ ~>| groups | {'group_name': name} |
+   */
+  saml_attribute_transform_jsonata?: string;
+  /**
+   * A globally unique name for an identity or service provider.
+   *
+   * @example example unique name
+   */
+  sp_entity_id?: string;
+  /**
+   * The endpoint where your SaaS application will send login requests.
+   *
+   * @example https://example.cloudflareaccess.com/cdn-cgi/access/sso/saml/b3f58a2b414e0b51d45c8c2af26fccca0e27c63763c426fa52f98dcf0b3b3bfd
+   * @x-stainless-configurability computed_optional
+   */
+  sso_endpoint?: string;
+  updated_at?: AccessTimestamp;
+};
+
+/**
+ * True if the user has authenticated with Cloudflare Access.
  *
- * @example 2458ce5a-0c35-4c7f-82c7-8e9487d3ff60
- * @maxLength 36
+ * @example false
  */
-export type CertId = string;
+export type AccessSchemasAccessSeat = boolean;
 
 /**
- * Certificate Pack UUID.
+ * When set to true, users can authenticate to this application using their WARP session.  When set to false this application will always require direct IdP authentication. This setting always overrides the organization setting for WARP authentication.
  *
- * @example a77f8bd7-3b47-46b4-a6f1-75cf98109948
+ * @example true
  */
-export type CertPackUuid = string;
+export type AccessSchemasAllowAuthenticateViaWarp = boolean;
 
 /**
- * The zone's SSL certificate or certificate and the intermediate(s).
- * 
- * @example -----BEGIN CERTIFICATE-----
-MIIDtTCCAp2gAwIBAgIJAMHAwfXZ5/PWMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV
-BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX
-aWRnaXRzIFB0eSBMdGQwHhcNMTYwODI0MTY0MzAxWhcNMTYxMTIyMTY0MzAxWjBF
-MQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50
-ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
-CgKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmGdtcGbg/1
-CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKnabIRuGvB
-KwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpidtnKX/a+5
-0GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+pyFxIXjbEI
-dZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pEewooaeO2
-izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABo4GnMIGkMB0GA1UdDgQWBBT/LbE4
-9rWf288N6sJA5BRb6FJIGDB1BgNVHSMEbjBsgBT/LbE49rWf288N6sJA5BRb6FJI
-GKFJpEcwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNV
-BAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZIIJAMHAwfXZ5/PWMAwGA1UdEwQF
-MAMBAf8wDQYJKoZIhvcNAQELBQADggEBAHHFwl0tH0quUYZYO0dZYt4R7SJ0pCm2
-2satiyzHl4OnXcHDpekAo7/a09c6Lz6AU83cKy/+x3/djYHXWba7HpEu0dR3ugQP
-Mlr4zrhd9xKZ0KZKiYmtJH+ak4OM4L3FbT0owUZPyjLSlhMtJVcoRp5CJsjAMBUG
-SvD8RX+T01wzox/Qb+lnnNnOlaWpqu8eoOenybxKp1a9ULzIVvN/LAcc+14vioFq
-2swRWtmocBAs8QR9n4uvbpiYvS8eYueDCWMM4fvFfBhaDZ3N9IbtySh3SpFdQDhw
-YbjM2rxXiyLGxB4Bol7QTv4zHif7Zt89FReT/NBy4rzaskDJY5L6xmY=
------END CERTIFICATE-----
+ * Allowed HTTP request headers.
  */
-export type Certificate = string;
+export type AccessSchemasAllowedHeaders = any[];
 
 /**
- * The unique identifier for a certificate_pack.
+ * Allowed origins.
  *
- * @example 3822ff90-ea29-44df-9e55-21300bb9419b
+ * @example https://example.com
  */
-export type CertificatePacksComponentsSchemasIdentifier = string;
+export type AccessSchemasAllowedOrigins = any[];
 
 /**
- * Status of certificate pack.
- *
- * @example initializing
+ * Number of apps the custom page is assigned to.
  */
-export type CertificatePacksComponentsSchemasStatus =
-  | 'initializing'
-  | 'pending_validation'
-  | 'deleted'
-  | 'pending_issuance'
-  | 'pending_deployment'
-  | 'pending_deletion'
-  | 'pending_expiration'
-  | 'expired'
-  | 'active'
-  | 'initializing_timed_out'
-  | 'validation_timed_out'
-  | 'issuance_timed_out'
-  | 'deployment_timed_out'
-  | 'deletion_timed_out'
-  | 'pending_cleanup'
-  | 'staging_deployment'
-  | 'staging_active'
-  | 'deactivating'
-  | 'inactive'
-  | 'backup_issued'
-  | 'holding_deployment';
+export type AccessSchemasAppCount = number;
 
-export type CertificateObject = {
-  certificate?: ZoneAuthenticatedOriginPullComponentsSchemasCertificate;
-  expires_on?: ComponentsSchemasExpiresOn;
-  id?: Identifier;
-  issuer?: Issuer;
-  signature?: Signature;
-  status?: ZoneAuthenticatedOriginPullComponentsSchemasStatus;
-  uploaded_on?: SchemasUploadedOn;
-};
-
-export type CertificateObject25TqpbxA = {
-  certificate?: ZoneAuthenticatedOriginPullComponentsSchemasCertificate;
-  expires_on?: ZoneAuthenticatedOriginPullComponentsSchemasExpiresOn;
-  id?: ZoneAuthenticatedOriginPullComponentsSchemasIdentifier;
-  issuer?: Issuer;
-  signature?: Signature;
-  status?: ZoneAuthenticatedOriginPullComponentsSchemasStatus;
-  uploaded_on?: SchemasUploadedOn;
-};
-
-export type CertificateObjectPost = {
-  ca?: Ca;
-  certificates?: SchemasCertificates;
-  expires_on?: MtlsManagementComponentsSchemasExpiresOn;
-  id?: Identifier;
-  issuer?: SchemasIssuer;
-  name?: SchemasNameUG4dW73x;
-  serial_number?: SchemasSerialNumber;
-  signature?: Signature;
-  updated_at?: SchemasUpdatedAt;
-  uploaded_on?: MtlsManagementComponentsSchemasUploadedOn;
-};
-
-export type CertificateObjectPostBzIcru7v = {
-  ca?: Ca;
-  certificates?: SchemasCertificates;
-  expires_on?: MtlsManagementComponentsSchemasExpiresOn;
-  id?: MtlsManagementComponentsSchemasIdentifier;
-  issuer?: SchemasIssuer;
-  name?: MtlsManagementComponentsSchemasName;
-  serial_number?: SchemasSerialNumber;
-  signature?: Signature;
-  updated_at?: SchemasUpdatedAt;
-  uploaded_on?: MtlsManagementComponentsSchemasUploadedOn;
-};
-
-export type CertificateAnalyzeResponse = ApiResponseSingleZZHeSkIR & {
-  result?: Record<string, any>;
+export type AccessSchemasAppLauncherProps = {
+  allowed_idps?: AccessAllowedIdps;
+  auto_redirect_to_identity?: AccessSchemasAutoRedirectToIdentity;
+  /**
+   * @example authdomain.cloudflareaccess.com
+   */
+  domain?: AccessComponentsSchemasDomain;
+  /**
+   * @default App Launcher
+   * @example App Launcher
+   */
+  name?: AccessAppsComponentsSchemasName;
+  session_duration?: AccessSchemasSessionDuration;
+  /**
+   * The application type.
+   *
+   * @example app_launcher
+   */
+  type: AccessComponentsSchemasType;
 };
 
-export type CertificateAnalyzeResponse5wg3arho = ApiResponseSingleLarS7owG & {
-  result?: Record<string, any>;
+/**
+ * Displays the application in the App Launcher.
+ *
+ * @example true
+ */
+export type AccessSchemasAppLauncherVisible = boolean;
+
+/**
+ * A group of email addresses that can approve a temporary authentication request.
+ */
+export type AccessSchemasApprovalGroup = {
+  /**
+   * The number of approvals needed to obtain access.
+   *
+   * @example 1
+   * @minimum 0
+   */
+  approvals_needed: number;
+  /**
+   * A list of emails that can approve the access request.
+   *
+   * @example test@cloudflare.com
+   * @example test2@cloudflare.com
+   */
+  email_addresses?: any[];
+  /**
+   * The UUID of an re-usable email list.
+   */
+  email_list_uuid?: string;
 };
 
 /**
- * The Certificate Authority that will issue the certificate
+ * Administrators who can approve a temporary authentication request.
  *
- * @example google
+ * @example {"approvals_needed":1,"email_addresses":["test1@cloudflare.com","test2@cloudflare.com"]}
+ * @example {"approvals_needed":3,"email_list_uuid":"597147a1-976b-4ef2-9af0-81d5d007fc34"}
  */
-export type CertificateAuthority = 'digicert' | 'google' | 'lets_encrypt';
+export type AccessSchemasApprovalGroups = AccessSchemasApprovalGroup[];
 
 /**
- * Certificate Authority selected for the order.  Selecting Let's Encrypt will reduce customization of other fields: validation_method must be 'txt', validity_days must be 90, cloudflare_branding must be omitted, and hosts must contain only 2 entries, one for the zone name and one for the subdomain wildcard of the zone name (e.g. example.com, *.example.com).
+ * Audience tag.
  *
- * @example digicert
+ * @example 737646a56ab1df6ec9bddc7e5ca84eaf3b0768850f3ffb5d74f1534911fe3893
+ * @maxLength 64
  */
-export type CertificateAuthorityFERjgp6A = 'digicert' | 'google' | 'lets_encrypt';
+export type AccessSchemasAud = string;
 
-export type CertificatePackQuotaResponse = ApiResponseSingleZZHeSkIR & {
-  result?: {
-    advanced?: Quota;
-  };
-};
-
-export type CertificatePackQuotaResponseVji3HC3Y = ApiResponseSingleLarS7owG & {
-  result?: {
-    advanced?: Quota;
-  };
-};
-
-export type CertificatePackResponseCollection = ApiResponseCollection & {
-  result?: Record<string, any>[];
-};
-
-export type CertificatePackResponseSingle = ApiResponseSingleZZHeSkIR & {
-  result?: Record<string, any>;
-};
-
-export type CertificatePackResponseSingleM1XodH89 = ApiResponseSingleLarS7owG & {
-  result?: Record<string, any>;
-};
-
-export type CertificateResponseCollection = ApiResponseCollection & {
-  result?: CustomCertificateRKdQQr58[];
-};
+/**
+ * When set to `true`, users skip the identity provider selection step during login. You must specify only one identity provider in allowed_idps.
+ *
+ * @default false
+ */
+export type AccessSchemasAutoRedirectToIdentity = boolean;
 
-export type CertificateResponseIdOnly = ApiResponseSingleZZHeSkIR & {
-  result?: {
-    id?: Identifier;
+export type AccessSchemasAzureAD = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: AccessGenericOauthConfig & {
+    /**
+     * Should Cloudflare try to load authentication contexts from your account
+     */
+    conditional_access_enabled?: boolean;
+    /**
+     * Your Azure directory uuid
+     *
+     * @example <your azure directory uuid>
+     */
+    directory_id?: string;
+    /**
+     * Indicates the type of user interaction that is required. prompt=login forces the user to enter their credentials on that request, negating single-sign on. prompt=none is the opposite. It ensures that the user isn't presented with any interactive prompt. If the request can't be completed silently by using single-sign on, the Microsoft identity platform returns an interaction_required error. prompt=select_account interrupts single sign-on providing account selection experience listing all the accounts either in session or any remembered account or an option to choose to use a different account altogether.
+     */
+    prompt?: 'login' | 'select_account' | 'none';
+    /**
+     * Should Cloudflare try to load groups from your account
+     */
+    support_groups?: boolean;
   };
-};
-
-export type CertificateResponseIdOnlyRNZdKjgM = ApiResponseSingleLarS7owG & {
-  result?: {
-    id?: CustomCertificateComponentsSchemasIdentifier;
+  id?: AccessUuid;
+  name: AccessComponentsSchemasName;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * Indicates how a SCIM event updates a user identity used for policy evaluation. Use "automatic" to automatically update a user's identity and augment it with fields from the SCIM user resource. Use "reauth" to force re-authentication on group membership updates, user identity update will only occur after successful re-authentication. With "reauth" identities will not contain fields from the SCIM user resource. With "no_action" identities will not be changed by SCIM updates in any way and users will not be prompted to reauthenticate.
+     */
+    identity_update_behavior?: 'automatic' | 'reauth' | 'no_action';
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
   };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type:
+    | 'onetimepin'
+    | 'azureAD'
+    | 'saml'
+    | 'centrify'
+    | 'facebook'
+    | 'github'
+    | 'google-apps'
+    | 'google'
+    | 'linkedin'
+    | 'oidc'
+    | 'okta'
+    | 'onelogin'
+    | 'pingone'
+    | 'yandex';
+};
+
+export type AccessSchemasBasicAppResponseProps = {
+  aud?: AccessSchemasAud;
+  created_at?: AccessTimestamp;
+  id?: AccessUuid;
+  scim_config?: AccessSchemasScimConfig;
+  updated_at?: AccessTimestamp;
+};
+
+export type AccessSchemasBisoProps = {
+  allowed_idps?: AccessAllowedIdps;
+  auto_redirect_to_identity?: AccessSchemasAutoRedirectToIdentity;
+  /**
+   * @example authdomain.cloudflareaccess.com/browser
+   */
+  domain?: AccessComponentsSchemasDomain;
+  /**
+   * @default Clientless Web Isolation
+   * @example Clientless Web Isolation
+   */
+  name?: AccessAppsComponentsSchemasName;
+  session_duration?: AccessSchemasSessionDuration;
+  /**
+   * The application type.
+   *
+   * @example biso
+   */
+  type: AccessComponentsSchemasType;
 };
 
-export type CertificateResponseSingle = ApiResponseSingleZZHeSkIR & {
-  result?: Record<string, any>;
-};
-
-export type CertificateResponseSingleFFh8Q9dH = ApiResponseSingleLarS7owG & {
-  result?: Record<string, any>;
+export type AccessSchemasBookmarkProps = {
+  /**
+   * @default true
+   */
+  app_launcher_visible?: void;
+  /**
+   * The URL or domain of the bookmark.
+   *
+   * @example https://mybookmark.com
+   */
+  domain: void;
+  logo_url?: AccessLogoUrl;
+  name?: AccessAppsComponentsSchemasName;
+  /**
+   * The application type.
+   *
+   * @example bookmark
+   */
+  type: string;
 };
 
-export type CertificateResponseSingleId = SchemasCertificateResponseSingle & {
-  result?: {
-    id?: Identifier;
+export type AccessSchemasCentrify = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: AccessGenericOauthConfig & {
+    /**
+     * Your centrify account url
+     *
+     * @example https://abc123.my.centrify.com/
+     */
+    centrify_account?: string;
+    /**
+     * Your centrify app id
+     *
+     * @example exampleapp
+     */
+    centrify_app_id?: string;
   };
-};
-
-export type CertificateResponseSingleIdEaxlwmc6 = SchemasCertificateResponseSingleI8qAM9fN & {
-  result?: {
-    id?: CertificatesComponentsSchemasIdentifier;
+  id?: AccessUuid;
+  name: AccessComponentsSchemasName;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * Indicates how a SCIM event updates a user identity used for policy evaluation. Use "automatic" to automatically update a user's identity and augment it with fields from the SCIM user resource. Use "reauth" to force re-authentication on group membership updates, user identity update will only occur after successful re-authentication. With "reauth" identities will not contain fields from the SCIM user resource. With "no_action" identities will not be changed by SCIM updates in any way and users will not be prompted to reauthenticate.
+     */
+    identity_update_behavior?: 'automatic' | 'reauth' | 'no_action';
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
   };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type:
+    | 'onetimepin'
+    | 'azureAD'
+    | 'saml'
+    | 'centrify'
+    | 'facebook'
+    | 'github'
+    | 'google-apps'
+    | 'google'
+    | 'linkedin'
+    | 'oidc'
+    | 'okta'
+    | 'onelogin'
+    | 'pingone'
+    | 'yandex';
 };
 
-export type CertificateResponseSinglePost = ApiResponseSingleZZHeSkIR & {
-  result?: CertificateObjectPost;
+export type AccessSchemasCertificates = {
+  /**
+   * The key ID of this certificate.
+   */
+  id?: string;
+  /**
+   * The public key of this certificate.
+   */
+  public_key?: string;
 };
 
-export type CertificateResponseSinglePostOZ0lEuuJ = ApiResponseSingleLarS7owG & {
-  result?: CertificateObjectPostBzIcru7v;
+export type AccessSchemasCorsHeaders = {
+  allow_all_headers?: AccessAllowAllHeaders;
+  allow_all_methods?: AccessAllowAllMethods;
+  allow_all_origins?: AccessAllowAllOrigins;
+  allow_credentials?: AccessAllowCredentials;
+  allowed_headers?: AccessSchemasAllowedHeaders;
+  allowed_methods?: AccessAllowedMethods;
+  allowed_origins?: AccessSchemasAllowedOrigins;
+  max_age?: AccessMaxAge;
 };
 
 /**
- * Matches any valid client certificate.
- *
- * @example {"certificate":{}}
+ * The custom URL a user is redirected to when they are denied access to the application.
  */
-export type CertificateRule = {
-  /**
-   * @example {}
-   */
-  certificate: Record<string, any>;
-};
+export type AccessSchemasCustomDenyUrl = string;
 
 /**
- * Current status of certificate.
- *
- * @example active
+ * The custom pages that will be displayed when applicable for this application
  */
-export type CertificateStatus =
-  | 'initializing'
-  | 'authorizing'
-  | 'active'
-  | 'expired'
-  | 'issuing'
-  | 'timing_out'
-  | 'pending_deployment';
-
-export type Certificates = {
-  certificate?: ComponentsSchemasCertificate;
-  csr: Csr;
-  expires_on?: SchemasExpiresOn;
-  hostnames: Hostnames;
-  id?: Identifier;
-  request_type: RequestType;
-  requested_validity: RequestedValidity;
-};
-
-export type CertificatesJ6E1yuF3 = {
-  certificate?: ComponentsSchemasCertificate;
-  csr: Csr;
-  expires_on?: CertificatesComponentsSchemasExpiresOn;
-  hostnames: Hostnames;
-  id?: CertificatesComponentsSchemasIdentifier;
-  request_type: RequestType;
-  requested_validity: RequestedValidity;
-};
-
-export type CertificatesSRlxxCwp = {
-  associated_hostnames?: AssociatedHostnames;
-  created_at?: Timestamp;
-  expires_on?: Timestamp;
-  fingerprint?: Fingerprint;
-  /**
-   * The ID of the application that will use this certificate.
-   */
-  id?: void;
-  name?: CertificatesComponentsSchemasName;
-  updated_at?: Timestamp;
-};
+export type AccessSchemasCustomPages = string[];
 
 /**
- * When the certificate will expire.
+ * The action Access will take if a user matches this policy.
  *
- * @example 2014-01-01T05:20:00.12345Z
- * @format date-time
+ * @example allow
  */
-export type CertificatesComponentsSchemasExpiresOn = string;
+export type AccessSchemasDecision = 'allow' | 'deny' | 'non_identity' | 'bypass';
 
-export type CertificatesComponentsSchemasIdResponse = ApiResponseSingleLarS7owG & {
-  result?: {
-    id?: Uuid;
-  };
+export type AccessSchemasDevicePostureRule = {
+  check?: AccessDevicePostureCheck;
+  data?: Record<string, any>;
+  description?: string;
+  error?: string;
+  id?: string;
+  rule_name?: string;
+  success?: boolean;
+  timestamp?: string;
+  type?: string;
 };
 
 /**
- * The x509 serial number of the Origin CA certificate.
+ * The domain of the Bookmark application.
  *
- * @example 328578533902268680212849205732770752308931942346
+ * @example example.com
  */
-export type CertificatesComponentsSchemasIdentifier = string;
+export type AccessSchemasDomain = string;
 
 /**
- * The name of the certificate.
+ * The email address of the authenticating user.
  *
- * @example Allow devs
+ * @example user@example.com
+ * @format email
  */
-export type CertificatesComponentsSchemasName = string;
-
-export type CertificatesComponentsSchemasResponseCollection = ApiResponseCollection & {
-  result?: CertificatesSRlxxCwp[];
-};
-
-export type CertificatesComponentsSchemasResponseCollectionJkSglPKo = ApiResponseCollection & {
-  result?: ComponentsSchemasCertificates[];
-};
-
-export type CertificatesComponentsSchemasSingleResponse = ApiResponseSingleKLIlNaxV & {
-  result?: CertificatesSRlxxCwp;
-};
+export type AccessSchemasEmail = string;
 
-export type CertificatesComponentsSchemasSingleResponseXU1AJCdT = ApiResponseSingleLarS7owG & {
-  result?: ComponentsSchemasCertificates;
+export type AccessSchemasEmptyResponse = {
+  result?: Record<string, any> | null;
+  /**
+   * @example true
+   */
+  success?: true | false;
 };
 
 /**
- * Cloudflare account ID
- *
- * @example 699d98642c564d2e855e9661899b7252
- * @maxLength 32
+ * Rules evaluated with a NOT logical operator. To match the policy, a user cannot meet any of the Exclude rules.
  */
-export type CfAccountId = string;
+export type AccessSchemasExclude = AccessRule[];
 
-/**
- * Specify how long a visitor is allowed access to your site after successfully completing a challenge (such as a CAPTCHA). After the TTL has expired the visitor will have to complete a new challenge. We recommend a 15 - 45 minute setting and will attempt to honor any setting above 45 minutes. (https://support.cloudflare.com/hc/en-us/articles/200170136).
- */
-export type ChallengeTtl = {
+export type AccessSchemasFacebook = {
   /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
-   *
-   * @default true
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
    */
-  editable?: true | false;
+  config: AccessGenericOauthConfig;
+  id?: AccessUuid;
+  name: AccessComponentsSchemasName;
   /**
-   * ID of the zone setting.
-   *
-   * @example challenge_ttl
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
    */
-  id: 'challenge_ttl';
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * Indicates how a SCIM event updates a user identity used for policy evaluation. Use "automatic" to automatically update a user's identity and augment it with fields from the SCIM user resource. Use "reauth" to force re-authentication on group membership updates, user identity update will only occur after successful re-authentication. With "reauth" identities will not contain fields from the SCIM user resource. With "no_action" identities will not be changed by SCIM updates in any way and users will not be prompted to reauthenticate.
+     */
+    identity_update_behavior?: 'automatic' | 'reauth' | 'no_action';
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
   /**
-   * last time this setting was modified.
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
    *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
-   */
-  modified_on?: string | null;
-  /**
-   * Current value of the zone setting.
-   *
-   * @example on
+   * @example onetimepin
    */
-  value: ChallengeTtlValue;
+  type:
+    | 'onetimepin'
+    | 'azureAD'
+    | 'saml'
+    | 'centrify'
+    | 'facebook'
+    | 'github'
+    | 'google-apps'
+    | 'google'
+    | 'linkedin'
+    | 'oidc'
+    | 'okta'
+    | 'onelogin'
+    | 'pingone'
+    | 'yandex';
+};
+
+export type AccessSchemasFeatureAppProps = {
+  allowed_idps?: AccessAllowedIdps;
+  auto_redirect_to_identity?: AccessSchemasAutoRedirectToIdentity;
+  domain?: AccessComponentsSchemasDomain;
+  name?: AccessAppsComponentsSchemasName;
+  session_duration?: AccessSchemasSessionDuration;
+  type: AccessComponentsSchemasType;
 };
 
 /**
- * Value of the zone setting.
- *
- * @default 1800
- */
-export type ChallengeTtlValue =
-  | 300
-  | 900
-  | 1800
-  | 2700
-  | 3600
-  | 7200
-  | 10800
-  | 14400
-  | 28800
-  | 57600
-  | 86400
-  | 604800
-  | 2592000
-  | 31536000;
-
-/**
- * @maxItems 10
- * @uniqueItems true
- */
-export type Characteristics = {
-  name: CharacteristicsComponentsSchemasName;
-  type: SchemasType73ZGJLlz;
-}[];
-
-/**
- * The name of the characteristic field, i.e., the header or cookie name.
- *
- * @example authorization
- * @maxLength 128
- */
-export type CharacteristicsComponentsSchemasName = string;
-
-/**
- * List of volume names to be checked for encryption.
- *
- * @example C
- * @example D
- * @example G
- */
-export type CheckDisks = string[];
-
-/**
- * A list of regions from which to run health checks. Null means Cloudflare will pick a default region.
- *
- * @example WEU
- * @example ENAM
- */
-export type CheckRegions =
-  | (
-      | 'WNAM'
-      | 'ENAM'
-      | 'WEU'
-      | 'EEU'
-      | 'NSAM'
-      | 'SSAM'
-      | 'OC'
-      | 'ME'
-      | 'NAF'
-      | 'SAF'
-      | 'IN'
-      | 'SEAS'
-      | 'NEAS'
-      | 'ALL_REGIONS'
-    )[]
-  | null;
-
-/**
- * A list of regions from which to run health checks. Null means every Cloudflare data center.
- *
- * @example WEU
- * @example ENAM
- */
-export type CheckRegionsM0UYyZsj =
-  | (
-      | 'WNAM'
-      | 'ENAM'
-      | 'WEU'
-      | 'EEU'
-      | 'NSAM'
-      | 'SSAM'
-      | 'OC'
-      | 'ME'
-      | 'NAF'
-      | 'SAF'
-      | 'SAS'
-      | 'SEAS'
-      | 'NEAS'
-      | 'ALL_REGIONS'
-    )[]
-  | null;
-
-/**
- * A list of regions from which to run health checks. Null means every Cloudflare data center.
- *
- * @example WEU
- * @example ENAM
- */
-export type CheckRegionsPQxNXzsr =
-  | (
-      | 'WNAM'
-      | 'ENAM'
-      | 'WEU'
-      | 'EEU'
-      | 'NSAM'
-      | 'SSAM'
-      | 'OC'
-      | 'ME'
-      | 'NAF'
-      | 'SAF'
-      | 'SAS'
-      | 'SEAS'
-      | 'NEAS'
-      | 'ALL_REGIONS'
-    )[]
-  | null;
-
-/**
- * IP Prefix in Classless Inter-Domain Routing format.
+ * True if the user has logged into the WARP client.
  *
- * @example 192.0.2.0/24
+ * @example false
  */
-export type Cidr = string;
+export type AccessSchemasGatewaySeat = boolean;
 
-export type CidrConfiguration = {
+export type AccessSchemasGithub = {
   /**
-   * The configuration target. You must set the target to `ip_range` when specifying an IP address range in the rule.
-   *
-   * @example ip_range
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
    */
-  target?: 'ip_range';
+  config: AccessGenericOauthConfig;
+  id?: AccessUuid;
+  name: AccessComponentsSchemasName;
   /**
-   * The IP address range to match. You can only use prefix lengths `/16` and `/24` for IPv4 ranges, and prefix lengths `/32`, `/48`, and `/64` for IPv6 ranges.
-   *
-   * @example 198.51.100.4/16
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
    */
-  value?: string;
-};
-
-/**
- * List of IPv4/IPv6 CIDR addresses.
- *
- * @example 199.27.128.0/21
- * @example 2400:cb00::/32
- */
-export type CidrList = string[];
-
-/**
- * An allowlist of ciphers for TLS termination. These ciphers must be in the BoringSSL format.
- */
-export type Ciphers = {
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * Indicates how a SCIM event updates a user identity used for policy evaluation. Use "automatic" to automatically update a user's identity and augment it with fields from the SCIM user resource. Use "reauth" to force re-authentication on group membership updates, user identity update will only occur after successful re-authentication. With "reauth" identities will not contain fields from the SCIM user resource. With "no_action" identities will not be changed by SCIM updates in any way and users will not be prompted to reauthenticate.
+     */
+    identity_update_behavior?: 'automatic' | 'reauth' | 'no_action';
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
   /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
    *
-   * @default true
+   * @example onetimepin
    */
-  editable?: true | false;
+  type:
+    | 'onetimepin'
+    | 'azureAD'
+    | 'saml'
+    | 'centrify'
+    | 'facebook'
+    | 'github'
+    | 'google-apps'
+    | 'google'
+    | 'linkedin'
+    | 'oidc'
+    | 'okta'
+    | 'onelogin'
+    | 'pingone'
+    | 'yandex';
+};
+
+export type AccessSchemasGoogle = {
   /**
-   * ID of the zone setting.
-   *
-   * @example ciphers
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
    */
-  id: 'ciphers';
+  config: AccessGenericOauthConfig;
+  id?: AccessUuid;
+  name: AccessComponentsSchemasName;
   /**
-   * last time this setting was modified.
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * Indicates how a SCIM event updates a user identity used for policy evaluation. Use "automatic" to automatically update a user's identity and augment it with fields from the SCIM user resource. Use "reauth" to force re-authentication on group membership updates, user identity update will only occur after successful re-authentication. With "reauth" identities will not contain fields from the SCIM user resource. With "no_action" identities will not be changed by SCIM updates in any way and users will not be prompted to reauthenticate.
+     */
+    identity_update_behavior?: 'automatic' | 'reauth' | 'no_action';
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
    *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * @example onetimepin
    */
-  modified_on?: string | null;
+  type:
+    | 'onetimepin'
+    | 'azureAD'
+    | 'saml'
+    | 'centrify'
+    | 'facebook'
+    | 'github'
+    | 'google-apps'
+    | 'google'
+    | 'linkedin'
+    | 'oidc'
+    | 'okta'
+    | 'onelogin'
+    | 'pingone'
+    | 'yandex';
+};
+
+export type AccessSchemasGoogleApps = {
   /**
-   * Current value of the zone setting.
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: AccessGenericOauthConfig & {
+    /**
+     * Your companies TLD
+     *
+     * @example mycompany.com
+     */
+    apps_domain?: string;
+  };
+  id?: AccessUuid;
+  name: AccessComponentsSchemasName;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * Indicates how a SCIM event updates a user identity used for policy evaluation. Use "automatic" to automatically update a user's identity and augment it with fields from the SCIM user resource. Use "reauth" to force re-authentication on group membership updates, user identity update will only occur after successful re-authentication. With "reauth" identities will not contain fields from the SCIM user resource. With "no_action" identities will not be changed by SCIM updates in any way and users will not be prompted to reauthenticate.
+     */
+    identity_update_behavior?: 'automatic' | 'reauth' | 'no_action';
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
    *
-   * @example on
+   * @example onetimepin
    */
-  value: CiphersValue;
+  type:
+    | 'onetimepin'
+    | 'azureAD'
+    | 'saml'
+    | 'centrify'
+    | 'facebook'
+    | 'github'
+    | 'google-apps'
+    | 'google'
+    | 'linkedin'
+    | 'oidc'
+    | 'okta'
+    | 'onelogin'
+    | 'pingone'
+    | 'yandex';
+};
+
+export type AccessSchemasGroups = {
+  created_at?: AccessTimestamp;
+  exclude?: AccessExclude;
+  id?: AccessUuid;
+  include?: AccessInclude;
+  name?: AccessGroupsComponentsSchemasName;
+  require?: AccessRequire;
+  updated_at?: AccessTimestamp;
+};
+
+export type AccessSchemasIdResponse = AccessApiResponseSingle & {
+  result?: {
+    id?: AccessId;
+  };
 };
 
 /**
- * Value of the zone setting.
- *
- * @example ECDHE-RSA-AES128-GCM-SHA256
- * @example AES128-SHA
- * @uniqueItems true
- */
-export type CiphersValue = string[];
-
-/**
- * City.
+ * Identifier
  *
- * @example Austin
+ * @example 699d98642c564d2e855e9661899b7252
+ * @maxLength 32
  */
-export type City = string;
+export type AccessSchemasIdentifier = AccessIdentifier & void;
 
-/**
- * Which account types are allowed to create policies based on this categories. `blocked` categories are blocked unconditionally for all accounts. `removalPending` categories can be removed from policies but not added. `noBlock` categories cannot be blocked.
- *
- * @example premium
- */
-export type Class = 'free' | 'premium' | 'blocked' | 'removalPending' | 'noBlock';
-
-/**
- * The Client Certificate PEM
- *
- * @example -----BEGIN CERTIFICATE-----\nMIIDmDCCAoC...dhDDE\n-----END CERTIFICATE-----
- */
-export type ClientCertificatesComponentsSchemasCertificate = string;
-
-/**
- * Certificate Authority used to issue the Client Certificate
- */
-export type ClientCertificatesComponentsSchemasCertificateAuthority = {
+export type AccessSchemasIdentityProvider = {
   /**
-   * @example 568b6b74-7b0c-4755-8840-4e3b8c24adeb
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
    */
-  id?: string;
+  config: Record<string, any>;
+  id?: AccessUuid;
+  name: AccessComponentsSchemasName;
   /**
-   * @example Cloudflare Managed CA for account
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
    */
-  name?: string;
-};
-
-/**
- * Client Certificates may be active or revoked, and the pending_reactivation or pending_revocation represent in-progress asynchronous transitions
- *
- * @example active
- */
-export type ClientCertificatesComponentsSchemasStatus =
-  | 'active'
-  | 'pending_reactivation'
-  | 'pending_revocation'
-  | 'revoked';
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * Indicates how a SCIM event updates a user identity used for policy evaluation. Use "automatic" to automatically update a user's identity and augment it with fields from the SCIM user resource. Use "reauth" to force re-authentication on group membership updates, user identity update will only occur after successful re-authentication. With "reauth" identities will not contain fields from the SCIM user resource. With "no_action" identities will not be changed by SCIM updates in any way and users will not be prompted to reauthenticate.
+     */
+    identity_update_behavior?: 'automatic' | 'reauth' | 'no_action';
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type:
+    | 'onetimepin'
+    | 'azureAD'
+    | 'saml'
+    | 'centrify'
+    | 'facebook'
+    | 'github'
+    | 'google-apps'
+    | 'google'
+    | 'linkedin'
+    | 'oidc'
+    | 'okta'
+    | 'onelogin'
+    | 'pingone'
+    | 'yandex';
+};
+
+export type AccessSchemasIdentityProviders =
+  | AccessSchemasAzureAD
+  | AccessSchemasCentrify
+  | AccessSchemasFacebook
+  | AccessSchemasGithub
+  | AccessSchemasGoogle
+  | AccessSchemasGoogleApps
+  | AccessSchemasLinkedin
+  | AccessSchemasOidc
+  | AccessSchemasOkta
+  | AccessSchemasOnelogin
+  | AccessSchemasPingone
+  | AccessSchemasSaml
+  | AccessSchemasYandex;
 
 /**
- * Set if the location is the default one.
+ * Require this application to be served in an isolated browser for users matching this policy.
  *
+ * @default false
  * @example false
  */
-export type ClientDefault = boolean;
-
-export type ClientCertificate = {
-  certificate?: ClientCertificatesComponentsSchemasCertificate;
-  certificate_authority?: ClientCertificatesComponentsSchemasCertificateAuthority;
-  common_name?: CommonName;
-  country?: Country;
-  csr?: SchemasCsr;
-  expires_on?: ExpiredOn;
-  fingerprint_sha256?: FingerprintSha256;
-  id?: Identifier;
-  issued_on?: IssuedOn;
-  location?: Location;
-  organization?: Organization;
-  organizational_unit?: OrganizationalUnit;
-  serial_number?: ComponentsSchemasSerialNumber;
-  signature?: ComponentsSchemasSignature;
-  ski?: Ski;
-  state?: State;
-  status?: ClientCertificatesComponentsSchemasStatus;
-  validity_days?: ComponentsSchemasValidityDays;
-};
-
-export type ClientCertificateResponseCollection = ApiResponseCollection & {
-  result?: ClientCertificate[];
-};
-
-export type ClientCertificateResponseSingle = ApiResponseSingleZZHeSkIR & {
-  result?: ClientCertificate;
-};
-
-/**
- * The Client ID for the service token. Access will check for this value in the `CF-Access-Client-ID` request header.
- *
- * @example 88bf3b6d86161464f6509f7219099e57.access.example.com
- */
-export type ClientId = string;
-
-/**
- * The Client Secret for the service token. Access will check for this value in the `CF-Access-Client-Secret` request header.
- *
- * @example bdd31cbc4dec990953e39163fbbb194c93313ca9f0a6e420346af9d326b1d2a5
- */
-export type ClientSecret = string;
-
-export type ClipResponseSingle = ApiResponseCollection & {
-  result?: Clipping;
-};
-
-/**
- * The unique video identifier (UID).
- *
- * @example 023e105f4ecef8ad9ca31a8372d0c353
- * @maxLength 32
- */
-export type ClippedFromVideoUid = string;
-
-export type Clipping = {
-  allowedOrigins?: AllowedOrigins;
-  clippedFromVideoUID?: ClippedFromVideoUid;
-  created?: ClippingCreated;
-  creator?: Creator;
-  endTimeSeconds?: EndTimeSeconds;
-  maxDurationSeconds?: MaxDurationSeconds;
-  meta?: MediaMetadata;
-  modified?: LiveInputModified;
-  playback?: Playback;
-  preview?: Preview;
-  requireSignedURLs?: RequireSignedURLs;
-  startTimeSeconds?: StartTimeSeconds;
-  status?: MediaState;
-  thumbnailTimestampPct?: ThumbnailTimestampPct;
-  watermark?: WatermarkAtUpload;
-};
-
-/**
- * The date and time the clip was created.
- *
- * @example 2014-01-02T02:20:00Z
- * @format date-time
- */
-export type ClippingCreated = string;
+export type AccessSchemasIsolationRequired = boolean;
 
-export type CloudflareTunnelComponentsSchemasConnection = {
+export type AccessSchemasLinkedin = {
   /**
-   * UUID of the cloudflared instance.
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
    */
-  client_id?: void;
-  client_version?: CloudflareTunnelComponentsSchemasVersion;
-  colo_name?: SchemasColoName;
-  id?: ConnectionId;
-  is_pending_reconnect?: IsPendingReconnect;
+  config: AccessGenericOauthConfig;
+  id?: AccessUuid;
+  name: AccessComponentsSchemasName;
   /**
-   * Timestamp of when the connection was established.
-   *
-   * @example 2021-01-25T18:22:34.317854Z
-   * @format date-time
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
    */
-  opened_at?: string;
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * Indicates how a SCIM event updates a user identity used for policy evaluation. Use "automatic" to automatically update a user's identity and augment it with fields from the SCIM user resource. Use "reauth" to force re-authentication on group membership updates, user identity update will only occur after successful re-authentication. With "reauth" identities will not contain fields from the SCIM user resource. With "no_action" identities will not be changed by SCIM updates in any way and users will not be prompted to reauthenticate.
+     */
+    identity_update_behavior?: 'automatic' | 'reauth' | 'no_action';
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
   /**
-   * The public IP address of the host running cloudflared.
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
    *
-   * @example 85.12.78.6
+   * @example onetimepin
    */
-  origin_ip?: string;
-  uuid?: ConnectionId;
+  type:
+    | 'onetimepin'
+    | 'azureAD'
+    | 'saml'
+    | 'centrify'
+    | 'facebook'
+    | 'github'
+    | 'google-apps'
+    | 'google'
+    | 'linkedin'
+    | 'oidc'
+    | 'okta'
+    | 'onelogin'
+    | 'pingone'
+    | 'yandex';
 };
 
 /**
- * Timestamp of when the tunnel was created.
- *
- * @example 2021-01-25T18:22:34.317854Z
- * @format date-time
- */
-export type CloudflareTunnelComponentsSchemasCreatedAt = string;
-
-/**
- * Metadata associated with the tunnel.
- *
- * @example {}
- */
-export type CloudflareTunnelComponentsSchemasMetadata = Record<string, any>;
-
-/**
- * The status of the tunnel. Valid values are `inactive` (tunnel has never been run), `degraded` (tunnel is active and able to serve traffic but in an unhealthy state), `healthy` (tunnel is active and able to serve traffic), or `down` (tunnel can not serve traffic as it has no connections to the Cloudflare Edge).
- *
- * @example healthy
- */
-export type CloudflareTunnelComponentsSchemasStatus = string;
-
-/**
- * The cloudflared version used to establish this connection.
- *
- * @example 2022.7.1
- */
-export type CloudflareTunnelComponentsSchemasVersion = string;
-
-/**
- * Whether or not to add Cloudflare Branding for the order.  This will add sni.cloudflaressl.com as the Common Name if set true.
- *
- * @example false
- */
-export type CloudflareBranding = boolean;
-
-/**
- * The IP address assigned to the Cloudflare side of the GRE tunnel.
- *
- * @example 203.0.113.1
- */
-export type CloudflareGreEndpoint = string;
-
-/**
- * The IP address assigned to the Cloudflare side of the IPsec tunnel.
+ * The name of the service token.
  *
- * @example 203.0.113.1
+ * @example CI/CD token
  */
-export type CloudflareIpsecEndpoint = string;
-
-export type CmbConfig = {
-  regions?: Regions;
-} | null;
+export type AccessSchemasName = string;
 
-export type CmbConfigResponseSingle = ApiResponseSingleEkzmTA7q & {
-  result?: CmbConfig;
+export type AccessSchemasOidc = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: AccessGenericOauthConfig & {
+    /**
+     * The authorization_endpoint URL of your IdP
+     *
+     * @example https://accounts.google.com/o/oauth2/auth
+     */
+    auth_url?: string;
+    /**
+     * The jwks_uri endpoint of your IdP to allow the IdP keys to sign the tokens
+     *
+     * @example https://www.googleapis.com/oauth2/v3/certs
+     */
+    certs_url?: string;
+    /**
+     * List of custom claims that will be pulled from your id_token and added to your signed Access JWT token.
+     *
+     * @example given_name
+     * @example locale
+     */
+    claims?: string[];
+    /**
+     * OAuth scopes
+     *
+     * @example openid
+     * @example email
+     * @example profile
+     */
+    scopes?: string[];
+    /**
+     * The token_endpoint URL of your IdP
+     *
+     * @example https://accounts.google.com/o/oauth2/token
+     */
+    token_url?: string;
+  };
+  id?: AccessUuid;
+  name: AccessComponentsSchemasName;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * Indicates how a SCIM event updates a user identity used for policy evaluation. Use "automatic" to automatically update a user's identity and augment it with fields from the SCIM user resource. Use "reauth" to force re-authentication on group membership updates, user identity update will only occur after successful re-authentication. With "reauth" identities will not contain fields from the SCIM user resource. With "no_action" identities will not be changed by SCIM updates in any way and users will not be prompted to reauthenticate.
+     */
+    identity_update_behavior?: 'automatic' | 'reauth' | 'no_action';
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type:
+    | 'onetimepin'
+    | 'azureAD'
+    | 'saml'
+    | 'centrify'
+    | 'facebook'
+    | 'github'
+    | 'google-apps'
+    | 'google'
+    | 'linkedin'
+    | 'oidc'
+    | 'okta'
+    | 'onelogin'
+    | 'pingone'
+    | 'yandex';
 };
 
-/**
- * Whether or not cname flattening is on.
- */
-export type CnameFlattening = {
+export type AccessSchemasOidcSaasApp = {
   /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   * The lifetime of the OIDC Access Token after creation. Valid units are m,h. Must be greater than or equal to 1m and less than or equal to 24h.
    *
-   * @default true
+   * @example 5m
    */
-  editable?: true | false;
+  access_token_lifetime?: string;
   /**
-   * How to flatten the cname destination.
+   * If client secret should be required on the token endpoint when authorization_code_with_pkce grant is used.
    *
-   * @example flatten_at_root
+   * @example true
    */
-  id: 'cname_flattening';
+  allow_pkce_without_client_secret?: boolean;
   /**
-   * last time this setting was modified.
+   * The URL where this applications tile redirects users
    *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * @example https://example.com/login
    */
-  modified_on?: string | null;
+  app_launcher_url?: string;
   /**
-   * Current value of the zone setting.
+   * Identifier of the authentication protocol used for the saas app. Required for OIDC.
    *
-   * @example on
+   * @example oidc
    */
-  value: CnameFlatteningValue;
-};
-
-/**
- * Value of the cname flattening setting.
- *
- * @default flatten_at_root
- */
-export type CnameFlatteningValue = 'flatten_at_root' | 'flatten_all';
-
-/**
- * The unique activation code for the account membership.
- *
- * @example 05dd05cce12bbed97c0d87cd78e89bc2fd41a6cee72f27f6fc84af2e45c0fac0
- * @maxLength 64
- */
-export type Code = string;
-
-export type CollectionInviteResponse = ApiResponseCollection & {
-  result?: Invite[];
-};
-
-export type CollectionMemberResponse = ApiResponseCollection & {
-  result?: ComponentsSchemasMember[];
-};
-
-export type CollectionMembershipResponse = ApiResponseCollection & {
-  result?: Membership[];
-};
-
-export type CollectionOrganizationResponse = ApiResponseCollection & {
-  result?: Organization4zEoGtIG[];
-};
-
-export type CollectionResponse = ApiResponseCollection & {
-  result?: (ApiShield & {
-    features?: void;
-  })[];
-};
-
-export type CollectionResponsePaginated =
-  | (CollectionResponse & {
-      result_info?: {
-        /**
-         * Total results returned based on your search parameters.
-         *
-         * @example 1
-         */
-        count?: number;
-        /**
-         * Current page within paginated list of results.
-         *
-         * @example 1
-         */
-        page?: number;
-        /**
-         * Number of results per page of results.
-         *
-         * @example 20
-         */
-        per_page?: number;
-        /**
-         * Total results available without any search parameters.
-         *
-         * @example 500
-         */
-        total_count?: number;
-      };
-    } & {
-      result?: ApiShield[];
-    })
-  | CollectionResponse;
-
-export type CollectionRoleResponse = ApiResponseCollection & {
-  result?: SchemasRole[];
-};
-
-export type Colo = {
-  city?: ColoCity;
-  name?: ColoNameVarDrACz;
-};
-
-/**
- * Source colo city.
- *
- * @example Denver, CO, US
- */
-export type ColoCity = string;
-
-/**
- * Scope colo name.
- *
- * @example den01
- */
-export type ColoName = string;
-
-/**
- * Source colo name.
- *
- * @example den01
- */
-export type ColoNameVarDrACz = string;
-
-/**
- * List of colo names for the ECMP scope.
- */
-export type ColoNames = ColoName[];
-
-/**
- * Scope colo region.
- *
- * @example APAC
- */
-export type ColoRegion = string;
-
-/**
- * List of colo regions for the ECMP scope.
- */
-export type ColoRegions = ColoRegion[];
-
-export type ColoResponse = ApiResponseSingleLarS7owG & {
-  query?: QueryResponse;
-  result?: Datacenters;
-};
-
-export type ColoResult = {
-  colo?: Colo;
-  error?: Error;
-  hops?: HopResult[];
-  target_summary?: TargetSummary;
-  traceroute_time_ms?: TracerouteTimeMs;
-};
-
-/**
- * If no source colo names specified, all colos will be used. China colos are unavailable for traceroutes.
- *
- * @example den
- * @example sin
- */
-export type Colos = string[];
-
-/**
- * Comments or notes about the DNS record. This field has no effect on DNS responses.
- *
- * @example Domain verification record
- */
-export type Comment = string;
-
-/**
- * Optional remark describing the route.
- *
- * @example Example comment for this route.
- */
-export type CommentCrz1ciLB = string;
-
-/**
- * Identifier
- *
- * @example 023e105f4ecef8ad9ca31a8372d0c353
- * @maxLength 32
- */
-export type CommonComponentsSchemasIdentifier = string;
-
-export type CommonComponentsSchemasIp = Ipv4 | Ipv6Dw2g7BEM;
-
-/**
- * Common Name of the Client Certificate
- *
- * @example Cloudflare
- */
-export type CommonName = string;
-
-export type ComponentValue = {
-  ['default']?: DefaultVg5XL96o;
-  name?: ComponentValueComponentsSchemasName;
-  unit_price?: UnitPrice;
-};
-
-/**
- * The unique component.
- *
- * @example page_rules
- */
-export type ComponentValueComponentsSchemasName =
-  | 'zones'
-  | 'page_rules'
-  | 'dedicated_certificates'
-  | 'dedicated_certificates_custom';
-
-/**
- * A component value for a subscription.
- */
-export type ComponentValue = {
+  auth_type?: 'saml' | 'oidc';
   /**
-   * The default amount assigned.
+   * The application client id
    *
-   * @example 5
+   * @example oidc client id
    */
-  ['default']?: number;
+  client_id?: string;
   /**
-   * The name of the component value.
+   * The application client secret, only returned on POST request.
    *
-   * @example page_rules
+   * @example oidc client secret
    */
-  name?: string;
+  client_secret?: string;
+  created_at?: AccessTimestamp;
+  custom_claims?: {
+    /**
+     * The name of the claim.
+     *
+     * @example family_name
+     */
+    name?: string;
+    /**
+     * If the claim is required when building an OIDC token.
+     *
+     * @example true
+     */
+    required?: boolean;
+    /**
+     * The scope of the claim.
+     *
+     * @example profile
+     */
+    scope?: 'groups' | 'profile' | 'email' | 'openid';
+    source?: {
+      /**
+       * The name of the IdP claim.
+       *
+       * @example last_name
+       */
+      name?: string;
+      /**
+       * A mapping from IdP ID to claim name.
+       *
+       * @example {"exampleIdPID1":"ClaimName1","exampleIdPID2":"ClaimName2"}
+       */
+      name_by_idp?: {
+        [key: string]: string;
+      };
+    };
+  }[];
   /**
-   * The unit price for the component value.
+   * The OIDC flows supported by this application
    *
-   * @example 5
+   * @example authorization_code
    */
-  price?: number;
+  grant_types?: ('authorization_code' | 'authorization_code_with_pkce' | 'refresh_tokens' | 'hybrid' | 'implicit')[];
   /**
-   * The amount of the component value assigned.
+   * A regex to filter Cloudflare groups returned in ID token and userinfo endpoint.
    *
-   * @example 20
+   * @example ^GROUP_FILTER-*$
    */
-  value?: number;
-};
-
-/**
- * The list of add-ons subscribed to.
- */
-export type ComponentValues = ComponentValue[];
-
-export type ComponentsSchemasAccount = Account;
-
-/**
- * @example 9a7806061c88ada191ed06f989cc3dac
- */
-export type ComponentsSchemasAccountIdentifier = void;
-
-/**
- * The action to apply to a matched request. The `log` action is only available on an Enterprise plan.
- *
- * @example block
- */
-export type ComponentsSchemasAction =
-  | 'block'
-  | 'challenge'
-  | 'js_challenge'
-  | 'managed_challenge'
-  | 'allow'
-  | 'log'
-  | 'bypass';
-
-/**
- * The parameters configuring the action.
- */
-export type ComponentsSchemasActionParameters = ActionParametersRedirect;
-
-export type ComponentsSchemasAsn = number;
-
-export type ComponentsSchemasBase = {
+  group_filter_regex?: string;
+  hybrid_and_implicit_options?: {
+    /**
+     * If an Access Token should be returned from the OIDC Authorization endpoint
+     */
+    return_access_token_from_authorization_endpoint?: boolean;
+    /**
+     * If an ID Token should be returned from the OIDC Authorization endpoint
+     */
+    return_id_token_from_authorization_endpoint?: boolean;
+  };
   /**
-   * When the Keyless SSL was created.
+   * The Access public certificate that will be used to verify your identity.
    *
-   * @example 2014-01-01T05:20:00Z
-   * @format date-time
+   * @example example unique name
    */
-  created_on: string;
-  enabled: Enabled3YyasMQY;
-  host: SchemasHost;
-  id: KeylessCertificateComponentsSchemasIdentifier;
+  public_key?: string;
   /**
-   * When the Keyless SSL was last modified.
+   * The permitted URL's for Cloudflare to return Authorization codes and Access/ID tokens
    *
-   * @example 2014-01-01T05:20:00Z
-   * @format date-time
+   * @example https://example.com
    */
-  modified_on: string;
-  name: KeylessCertificateComponentsSchemasName;
+  redirect_uris?: string[];
+  refresh_token_options?: {
+    /**
+     * How long a refresh token will be valid for after creation. Valid units are m,h,d. Must be longer than 1m.
+     *
+     * @example 30d
+     */
+    lifetime?: string;
+  };
   /**
-   * Available permissions for the Keyless SSL for the current user requesting the item.
+   * Define the user information shared with access, "offline_access" scope will be automatically enabled if refresh tokens are enabled
    *
-   * @example #ssl:read
-   * @example #ssl:edit
+   * @example openid
+   * @example groups
+   * @example email
+   * @example profile
    */
-  permissions: any[];
-  port: PortImSN1BQg;
-  status: KeylessCertificateComponentsSchemasStatus;
-};
-
-/**
- * The Origin CA certificate. Will be newline-encoded.
- * 
- * @example -----BEGIN CERTIFICATE-----
-MIICvDCCAaQCAQAwdzELMAkGA1UEBhMCVVMxDTALBgNVBAgMBFV0YWgxDzANBgNV
-BAcMBkxpbmRvbjEWMBQGA1UECgwNRGlnaUNlcnQgSW5jLjERMA8GA1UECwwIRGln
-aUNlcnQxHTAbBgNVBAMMFGV4YW1wbGUuZGlnaWNlcnQuY29tMIIBIjANBgkqhkiG
-9w0BAQEFAAOCAQ8AMIIBCgKCAQEA8+To7d+2kPWeBv/orU3LVbJwDrSQbeKamCmo
-wp5bqDxIwV20zqRb7APUOKYoVEFFOEQs6T6gImnIolhbiH6m4zgZ/CPvWBOkZc+c
-1Po2EmvBz+AD5sBdT5kzGQA6NbWyZGldxRthNLOs1efOhdnWFuhI162qmcflgpiI
-WDuwq4C9f+YkeJhNn9dF5+owm8cOQmDrV8NNdiTqin8q3qYAHHJRW28glJUCZkTZ
-wIaSR6crBQ8TbYNE0dc+Caa3DOIkz1EOsHWzTx+n0zKfqcbgXi4DJx+C1bjptYPR
-BPZL8DAeWuA8ebudVT44yEp82G96/Ggcf7F33xMxe0yc+Xa6owIDAQABoAAwDQYJ
-KoZIhvcNAQEFBQADggEBAB0kcrFccSmFDmxox0Ne01UIqSsDqHgL+XmHTXJwre6D
-hJSZwbvEtOK0G3+dr4Fs11WuUNt5qcLsx5a8uk4G6AKHMzuhLsJ7XZjgmQXGECpY
-Q4mC3yT3ZoCGpIXbw+iP3lmEEXgaQL0Tx5LFl/okKbKYwIqNiyKWOMj7ZR/wxWg/
-ZDGRs55xuoeLDJ/ZRFf9bI+IaCUd1YrfYcHIl3G87Av+r49YVwqRDT0VDV7uLgqn
-29XI1PpVUNCPQGn9p/eX6Qo7vpDaPybRtA2R7XLKjQaF9oXWeCUqy1hvJac9QFO2
-97Ob1alpHPoZ7mWiEuJwjBPii6a9M9G30nUo39lBi1w=
------END CERTIFICATE-----
- */
-export type ComponentsSchemasCertificate = string;
-
-export type ComponentsSchemasCertificateObject = {
-  ca?: Ca;
-  certificates?: SchemasCertificates;
-  expires_on?: MtlsManagementComponentsSchemasExpiresOn;
-  id?: Identifier;
-  issuer?: SchemasIssuer;
-  name?: SchemasNameUG4dW73x;
-  serial_number?: SchemasSerialNumber;
-  signature?: Signature;
-  uploaded_on?: MtlsManagementComponentsSchemasUploadedOn;
-};
-
-export type ComponentsSchemasCertificateObject6kagZg5y = {
-  ca?: Ca;
-  certificates?: SchemasCertificates;
-  expires_on?: MtlsManagementComponentsSchemasExpiresOn;
-  id?: MtlsManagementComponentsSchemasIdentifier;
-  issuer?: SchemasIssuer;
-  name?: MtlsManagementComponentsSchemasName;
-  serial_number?: SchemasSerialNumber;
-  signature?: Signature;
-  uploaded_on?: MtlsManagementComponentsSchemasUploadedOn;
-};
-
-/**
- * The Certificate Authority that Total TLS certificates will be issued through.
- *
- * @example google
- */
-export type ComponentsSchemasCertificateAuthority = 'google' | 'lets_encrypt';
-
-export type ComponentsSchemasCertificateResponseCollection = ApiResponseCollection & {
-  result?: ZoneAuthenticatedOriginPullHgUvk0U1[];
-};
-
-export type ComponentsSchemasCertificateResponseSingle = ApiResponseSingleZZHeSkIR & {
-  result?: SchemasCertificateObject;
-};
-
-export type ComponentsSchemasCertificateResponseSingleSttrXbFI = ApiResponseSingleLarS7owG & {
-  result?: SchemasCertificateObjectAlDI2xY5;
+  scopes?: ('openid' | 'groups' | 'email' | 'profile')[];
+  updated_at?: AccessTimestamp;
 };
 
-export type ComponentsSchemasCertificates = {
-  associated_hostnames?: AssociatedHostnames;
-  created_at?: Timestamp;
-  expires_on?: Timestamp;
-  fingerprint?: Fingerprint;
+export type AccessSchemasOkta = {
   /**
-   * The ID of the application that will use this certificate.
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
    */
-  id?: void;
-  name?: CertificatesComponentsSchemasName;
-  updated_at?: Timestamp;
-};
-
-export type ComponentsSchemasCollectionResponse = ApiResponseCollection & {
-  result?: Web3Hostname[];
-};
-
-/**
- * The tunnel configuration and ingress rules in JSON format. For syntax and parameters, refer to the [configuration file documentation](https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/tunnel-guide/local/local-management/configuration-file/#file-structure).
+  config: AccessGenericOauthConfig & {
+    /**
+     * Your okta account url
+     *
+     * @example https://dev-abc123.oktapreview.com
+     */
+    okta_account?: string;
+  };
+  id?: AccessUuid;
+  name: AccessComponentsSchemasName;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * Indicates how a SCIM event updates a user identity used for policy evaluation. Use "automatic" to automatically update a user's identity and augment it with fields from the SCIM user resource. Use "reauth" to force re-authentication on group membership updates, user identity update will only occur after successful re-authentication. With "reauth" identities will not contain fields from the SCIM user resource. With "no_action" identities will not be changed by SCIM updates in any way and users will not be prompted to reauthenticate.
+     */
+    identity_update_behavior?: 'automatic' | 'reauth' | 'no_action';
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type:
+    | 'onetimepin'
+    | 'azureAD'
+    | 'saml'
+    | 'centrify'
+    | 'facebook'
+    | 'github'
+    | 'google-apps'
+    | 'google'
+    | 'linkedin'
+    | 'oidc'
+    | 'okta'
+    | 'onelogin'
+    | 'pingone'
+    | 'yandex';
+};
+
+export type AccessSchemasOnelogin = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: AccessGenericOauthConfig & {
+    /**
+     * Your OneLogin account url
+     *
+     * @example https://mycompany.onelogin.com
+     */
+    onelogin_account?: string;
+  };
+  id?: AccessUuid;
+  name: AccessComponentsSchemasName;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * Indicates how a SCIM event updates a user identity used for policy evaluation. Use "automatic" to automatically update a user's identity and augment it with fields from the SCIM user resource. Use "reauth" to force re-authentication on group membership updates, user identity update will only occur after successful re-authentication. With "reauth" identities will not contain fields from the SCIM user resource. With "no_action" identities will not be changed by SCIM updates in any way and users will not be prompted to reauthenticate.
+     */
+    identity_update_behavior?: 'automatic' | 'reauth' | 'no_action';
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type:
+    | 'onetimepin'
+    | 'azureAD'
+    | 'saml'
+    | 'centrify'
+    | 'facebook'
+    | 'github'
+    | 'google-apps'
+    | 'google'
+    | 'linkedin'
+    | 'oidc'
+    | 'okta'
+    | 'onelogin'
+    | 'pingone'
+    | 'yandex';
+};
+
+export type AccessSchemasOnetimepin = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: {
+    redirect_url?: string;
+  };
+  id?: AccessUuid;
+  name: AccessComponentsSchemasName;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * Indicates how a SCIM event updates a user identity used for policy evaluation. Use "automatic" to automatically update a user's identity and augment it with fields from the SCIM user resource. Use "reauth" to force re-authentication on group membership updates, user identity update will only occur after successful re-authentication. With "reauth" identities will not contain fields from the SCIM user resource. With "no_action" identities will not be changed by SCIM updates in any way and users will not be prompted to reauthenticate.
+     */
+    identity_update_behavior?: 'automatic' | 'reauth' | 'no_action';
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type:
+    | 'onetimepin'
+    | 'azureAD'
+    | 'saml'
+    | 'centrify'
+    | 'facebook'
+    | 'github'
+    | 'google-apps'
+    | 'google'
+    | 'linkedin'
+    | 'oidc'
+    | 'okta'
+    | 'onelogin'
+    | 'pingone'
+    | 'yandex';
+};
+
+export type AccessSchemasOrganizations = {
+  auth_domain?: AccessAuthDomain;
+  created_at?: AccessTimestamp;
+  is_ui_read_only?: AccessIsUiReadOnly;
+  login_design?: AccessLoginDesign;
+  name?: AccessName;
+  ui_read_only_toggle_reason?: AccessUiReadOnlyToggleReason;
+  updated_at?: AccessTimestamp;
+  user_seat_expiration_inactive_time?: AccessSchemasUserSeatExpirationInactiveTime;
+};
+
+export type AccessSchemasPingone = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: AccessGenericOauthConfig & {
+    /**
+     * Your PingOne environment identifier
+     *
+     * @example 342b5660-0c32-4936-a5a4-ce21fae57b0a
+     */
+    ping_env_id?: string;
+  };
+  id?: AccessUuid;
+  name: AccessComponentsSchemasName;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * Indicates how a SCIM event updates a user identity used for policy evaluation. Use "automatic" to automatically update a user's identity and augment it with fields from the SCIM user resource. Use "reauth" to force re-authentication on group membership updates, user identity update will only occur after successful re-authentication. With "reauth" identities will not contain fields from the SCIM user resource. With "no_action" identities will not be changed by SCIM updates in any way and users will not be prompted to reauthenticate.
+     */
+    identity_update_behavior?: 'automatic' | 'reauth' | 'no_action';
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type:
+    | 'onetimepin'
+    | 'azureAD'
+    | 'saml'
+    | 'centrify'
+    | 'facebook'
+    | 'github'
+    | 'google-apps'
+    | 'google'
+    | 'linkedin'
+    | 'oidc'
+    | 'okta'
+    | 'onelogin'
+    | 'pingone'
+    | 'yandex';
+};
+
+export type AccessSchemasPolicyCheckResponse = AccessApiResponseSingle & {
+  result?: {
+    app_state?: {
+      app_uid?: AccessUuid;
+      /**
+       * @example 737646a56ab1df6ec9bddc7e5ca84eaf3b0768850f3ffb5d74f1534911fe389
+       */
+      aud?: string;
+      /**
+       * @example test.com
+       */
+      hostname?: string;
+      /**
+       * @example Test App
+       */
+      name?: string;
+      /**
+       * @example {"decision":"allow","exclude":[],"include":[{"_type":"email","email":"testuser@gmail.com"}],"precedence":0,"require":[],"status":"Success"}
+       */
+      policies?: any[];
+      /**
+       * @example Success
+       */
+      status?: string;
+    };
+    user_identity?: {
+      /**
+       * @example 41ecfbb341f033e52b46742756aabb8b
+       */
+      account_id?: string;
+      /**
+       * @example {}
+       */
+      device_sessions?: Record<string, any>;
+      /**
+       * @example testuser@gmail.com
+       */
+      email?: string;
+      geo?: {
+        /**
+         * @example US
+         */
+        country?: string;
+      };
+      iat?: number;
+      /**
+       * @example 1164449231815010287495
+       */
+      id?: string;
+      /**
+       * @example false
+       */
+      is_gateway?: boolean;
+      /**
+       * @example false
+       */
+      is_warp?: boolean;
+      /**
+       * @example Test User
+       */
+      name?: string;
+      user_uuid?: AccessUuid;
+      version?: number;
+    };
+  };
+};
+
+/**
+ * The order of execution for this policy. Must be unique for each policy.
+ */
+export type AccessSchemasPrecedence = number;
+
+/**
+ * Rules evaluated with an AND logical operator. To match the policy, a user must meet all of the Require rules.
+ */
+export type AccessSchemasRequire = AccessRule[];
+
+export type AccessSchemasResponseCollection = AccessApiResponseCollection & {
+  result?: AccessGroups[];
+};
+
+export type AccessSchemasSaasProps = {
+  allowed_idps?: AccessAllowedIdps;
+  app_launcher_visible?: AccessAppLauncherVisible;
+  auto_redirect_to_identity?: AccessSchemasAutoRedirectToIdentity;
+  logo_url?: AccessLogoUrl;
+  name?: AccessAppsComponentsSchemasName;
+  saas_app?: AccessSchemasSamlSaasApp | AccessSchemasOidcSaasApp;
+  /**
+   * The application type.
+   *
+   * @example saas
+   */
+  type?: string;
+};
+
+export type AccessSchemasSaml = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: {
+    /**
+     * A list of SAML attribute names that will be added to your signed JWT token and can be used in SAML policy rules.
+     *
+     * @example group
+     * @example department_code
+     * @example divison
+     */
+    attributes?: string[];
+    /**
+     * The attribute name for email in the SAML response.
+     *
+     * @example Email
+     */
+    email_attribute_name?: string;
+    /**
+     * Add a list of attribute names that will be returned in the response header from the Access callback.
+     */
+    header_attributes?: {
+      /**
+       * attribute name from the IDP
+       */
+      attribute_name?: string;
+      /**
+       * header that will be added on the request to the origin
+       */
+      header_name?: string;
+    }[];
+    /**
+     * X509 certificate to verify the signature in the SAML authentication response
+     */
+    idp_public_certs?: string[];
+    /**
+     * IdP Entity ID or Issuer URL
+     *
+     * @example https://whoami.com
+     */
+    issuer_url?: string;
+    /**
+     * Sign the SAML authentication request with Access credentials. To verify the signature, use the public key from the Access certs endpoints.
+     */
+    sign_request?: boolean;
+    /**
+     * URL to send the SAML authentication requests to
+     *
+     * @example https://edgeaccess.org/idp/saml/login
+     */
+    sso_target_url?: string;
+  };
+  id?: AccessUuid;
+  name: AccessComponentsSchemasName;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * Indicates how a SCIM event updates a user identity used for policy evaluation. Use "automatic" to automatically update a user's identity and augment it with fields from the SCIM user resource. Use "reauth" to force re-authentication on group membership updates, user identity update will only occur after successful re-authentication. With "reauth" identities will not contain fields from the SCIM user resource. With "no_action" identities will not be changed by SCIM updates in any way and users will not be prompted to reauthenticate.
+     */
+    identity_update_behavior?: 'automatic' | 'reauth' | 'no_action';
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type:
+    | 'onetimepin'
+    | 'azureAD'
+    | 'saml'
+    | 'centrify'
+    | 'facebook'
+    | 'github'
+    | 'google-apps'
+    | 'google'
+    | 'linkedin'
+    | 'oidc'
+    | 'okta'
+    | 'onelogin'
+    | 'pingone'
+    | 'yandex';
+};
+
+export type AccessSchemasSamlSaasApp = {
+  /**
+   * Optional identifier indicating the authentication protocol used for the saas app. Required for OIDC. Default if unset is "saml"
+   *
+   * @example saml
+   */
+  auth_type?: 'saml' | 'oidc';
+  /**
+   * The service provider's endpoint that is responsible for receiving and parsing a SAML assertion.
+   *
+   * @example https://example.com
+   */
+  consumer_service_url?: string;
+  created_at?: AccessTimestamp;
+  custom_attributes?: {
+    /**
+     * The SAML FriendlyName of the attribute.
+     *
+     * @example Last Name
+     */
+    friendly_name?: string;
+    /**
+     * The name of the attribute.
+     *
+     * @example family_name
+     */
+    name?: string;
+    /**
+     * A globally unique name for an identity or service provider.
+     *
+     * @example urn:oasis:names:tc:SAML:2.0:attrname-format:basic
+     */
+    name_format?:
+      | 'urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified'
+      | 'urn:oasis:names:tc:SAML:2.0:attrname-format:basic'
+      | 'urn:oasis:names:tc:SAML:2.0:attrname-format:uri';
+    /**
+     * If the attribute is required when building a SAML assertion.
+     *
+     * @example true
+     */
+    required?: boolean;
+    source?: {
+      /**
+       * The name of the IdP attribute.
+       *
+       * @example last_name
+       */
+      name?: string;
+      /**
+       * A mapping from IdP ID to attribute name.
+       *
+       * @example {"exampleIdPID1":"AttributeName1","exampleIdPID2":"AttributeName2"}
+       */
+      name_by_idp?: {
+        [key: string]: string;
+      };
+    };
+  }[];
+  /**
+   * The unique identifier for your SaaS application.
+   *
+   * @example https://example.cloudflareaccess.com
+   * @x-stainless-configurability computed_optional
+   */
+  idp_entity_id?: string;
+  /**
+   * The format of the name identifier sent to the SaaS application.
+   *
+   * @example id
+   */
+  name_id_format?: 'id' | 'email';
+  /**
+   * A [JSONata](https://jsonata.org/) expression that transforms an application's user identities into a NameID value for its SAML assertion. This expression should evaluate to a singular string. The output of this expression can override the `name_id_format` setting.
+   *
+   * @example $substringBefore(email, '@') & '+sandbox@' & $substringAfter(email, '@')
+   */
+  name_id_transform_jsonata?: string;
+  /**
+   * The Access public certificate that will be used to verify your identity.
+   *
+   * @example example unique name
+   * @x-stainless-configurability computed_optional
+   */
+  public_key?: string;
+  /**
+   * A globally unique name for an identity or service provider.
+   *
+   * @example example unique name
+   */
+  sp_entity_id?: string;
+  /**
+   * The endpoint where your SaaS application will send login requests.
+   *
+   * @example https://example.cloudflareaccess.com/cdn-cgi/access/sso/saml/b3f58a2b414e0b51d45c8c2af26fccca0e27c63763c426fa52f98dcf0b3b3bfd
+   * @x-stainless-configurability computed_optional
+   */
+  sso_endpoint?: string;
+  updated_at?: AccessTimestamp;
+};
+
+/**
+ * Configuration for provisioning to this application via SCIM. This is currently in closed beta.
+ */
+export type AccessSchemasScimConfig = {
+  authentication?: AccessScimConfigSingleAuthentication | AccessScimConfigMultiAuthentication;
+  /**
+   * If false, we propagate DELETE requests to the target application for SCIM resources. If true, we only set `active` to false on the SCIM resource. This is useful because some targets do not support DELETE operations.
+   */
+  deactivate_on_delete?: boolean;
+  /**
+   * Whether SCIM provisioning is turned on for this application.
+   */
+  enabled?: boolean;
+  /**
+   * The UID of the IdP to use as the source for SCIM resources to provision to this application.
+   */
+  idp_uid: string;
+  /**
+   * A list of mappings to apply to SCIM resources before provisioning them in this application. These can transform or filter the resources to be provisioned.
+   */
+  mappings?: AccessScimConfigMapping[];
+  /**
+   * The base URI for the application's SCIM-compatible API.
+   */
+  remote_uri: string;
+};
+
+/**
+ * The unique API identifier for the Zero Trust seat.
+ */
+export type AccessSchemasSeatUid = string;
+
+export type AccessSchemasSelfHostedProps = {
+  allowed_idps?: AccessAllowedIdps;
+  app_launcher_visible?: AccessAppLauncherVisible;
+  auto_redirect_to_identity?: AccessSchemasAutoRedirectToIdentity;
+  cors_headers?: AccessSchemasCorsHeaders;
+  custom_deny_message?: AccessCustomDenyMessage;
+  custom_deny_url?: AccessSchemasCustomDenyUrl;
+  domain: AccessComponentsSchemasDomain;
+  enable_binding_cookie?: AccessEnableBindingCookie;
+  http_only_cookie_attribute?: AccessHttpOnlyCookieAttribute;
+  logo_url?: AccessLogoUrl;
+  name?: AccessAppsComponentsSchemasName;
+  options_preflight_bypass?: AccessOptionsPreflightBypass;
+  same_site_cookie_attribute?: AccessSameSiteCookieAttribute;
+  service_auth_401_redirect?: AccessServiceAuth401Redirect;
+  session_duration?: AccessSchemasSessionDuration;
+  skip_interstitial?: AccessSkipInterstitial;
+  /**
+   * The application type.
+   *
+   * @example self_hosted
+   */
+  type: string;
+};
+
+/**
+ * The amount of time that tokens issued for this application will be valid. Must be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s, m, h.
+ *
+ * @default 24h
+ * @example 24h
+ */
+export type AccessSchemasSessionDuration = string;
+
+export type AccessSchemasSingleResponse = AccessApiResponseSingle & {
+  result?: AccessServiceTokens;
+};
+
+export type AccessSchemasSshProps = {
+  allowed_idps?: AccessAllowedIdps;
+  app_launcher_visible?: AccessAppLauncherVisible;
+  auto_redirect_to_identity?: AccessSchemasAutoRedirectToIdentity;
+  cors_headers?: AccessSchemasCorsHeaders;
+  custom_deny_message?: AccessCustomDenyMessage;
+  custom_deny_url?: AccessSchemasCustomDenyUrl;
+  domain: AccessComponentsSchemasDomain;
+  enable_binding_cookie?: AccessEnableBindingCookie;
+  http_only_cookie_attribute?: AccessHttpOnlyCookieAttribute;
+  logo_url?: AccessLogoUrl;
+  name?: AccessAppsComponentsSchemasName;
+  options_preflight_bypass?: AccessOptionsPreflightBypass;
+  same_site_cookie_attribute?: AccessSameSiteCookieAttribute;
+  service_auth_401_redirect?: AccessServiceAuth401Redirect;
+  session_duration?: AccessSchemasSessionDuration;
+  skip_interstitial?: AccessSkipInterstitial;
+  /**
+   * The application type.
+   *
+   * @example ssh
+   */
+  type: string;
+};
+
+/**
+ * Custom page type.
+ */
+export type AccessSchemasType = 'identity_denied' | 'forbidden';
+
+/**
+ * The amount of time a user seat is inactive before it expires. When the user seat exceeds the set time of inactivity, the user is removed as an active seat and no longer counts against your Teams seat count. Must be in the format `300ms` or `2h45m`. Valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`.
+ *
+ * @example 720h
+ */
+export type AccessSchemasUserSeatExpirationInactiveTime = string;
+
+/**
+ * The UUID of the policy
+ *
+ * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
+ * @maxLength 36
+ */
+export type AccessSchemasUuid = string;
+
+export type AccessSchemasVncProps = {
+  allowed_idps?: AccessAllowedIdps;
+  app_launcher_visible?: AccessAppLauncherVisible;
+  auto_redirect_to_identity?: AccessSchemasAutoRedirectToIdentity;
+  cors_headers?: AccessSchemasCorsHeaders;
+  custom_deny_message?: AccessCustomDenyMessage;
+  custom_deny_url?: AccessSchemasCustomDenyUrl;
+  domain: AccessComponentsSchemasDomain;
+  enable_binding_cookie?: AccessEnableBindingCookie;
+  http_only_cookie_attribute?: AccessHttpOnlyCookieAttribute;
+  logo_url?: AccessLogoUrl;
+  name?: AccessAppsComponentsSchemasName;
+  options_preflight_bypass?: AccessOptionsPreflightBypass;
+  same_site_cookie_attribute?: AccessSameSiteCookieAttribute;
+  service_auth_401_redirect?: AccessServiceAuth401Redirect;
+  session_duration?: AccessSchemasSessionDuration;
+  skip_interstitial?: AccessSkipInterstitial;
+  /**
+   * The application type.
+   *
+   * @example vnc
+   */
+  type: string;
+};
+
+export type AccessSchemasWarpProps = {
+  allowed_idps?: AccessAllowedIdps;
+  auto_redirect_to_identity?: AccessSchemasAutoRedirectToIdentity;
+  /**
+   * @example authdomain.cloudflareaccess.com/warp
+   */
+  domain?: AccessComponentsSchemasDomain;
+  /**
+   * @default Warp Login App
+   * @example Warp Login App
+   */
+  name?: AccessAppsComponentsSchemasName;
+  session_duration?: AccessSchemasSessionDuration;
+  /**
+   * The application type.
+   *
+   * @example warp
+   */
+  type: AccessComponentsSchemasType;
+};
+
+export type AccessSchemasYandex = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: AccessGenericOauthConfig;
+  id?: AccessUuid;
+  name: AccessComponentsSchemasName;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * Indicates how a SCIM event updates a user identity used for policy evaluation. Use "automatic" to automatically update a user's identity and augment it with fields from the SCIM user resource. Use "reauth" to force re-authentication on group membership updates, user identity update will only occur after successful re-authentication. With "reauth" identities will not contain fields from the SCIM user resource. With "no_action" identities will not be changed by SCIM updates in any way and users will not be prompted to reauthenticate.
+     */
+    identity_update_behavior?: 'automatic' | 'reauth' | 'no_action';
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type:
+    | 'onetimepin'
+    | 'azureAD'
+    | 'saml'
+    | 'centrify'
+    | 'facebook'
+    | 'github'
+    | 'google-apps'
+    | 'google'
+    | 'linkedin'
+    | 'oidc'
+    | 'okta'
+    | 'onelogin'
+    | 'pingone'
+    | 'yandex';
+};
+
+/**
+ * Configuration for provisioning to this application via SCIM. This is currently in closed beta.
+ */
+export type AccessScimConfig = {
+  authentication?: AccessScimConfigSingleAuthentication | AccessScimConfigMultiAuthentication;
+  /**
+   * If false, propagates DELETE requests to the target application for SCIM resources. If true, sets 'active' to false on the SCIM resource. Note: Some targets do not support DELETE operations.
+   */
+  deactivate_on_delete?: boolean;
+  /**
+   * Whether SCIM provisioning is turned on for this application.
+   */
+  enabled?: boolean;
+  /**
+   * The UID of the IdP to use as the source for SCIM resources to provision to this application.
+   */
+  idp_uid: string;
+  /**
+   * A list of mappings to apply to SCIM resources before provisioning them in this application. These can transform or filter the resources to be provisioned.
+   */
+  mappings?: AccessScimConfigMapping[];
+  /**
+   * The base URI for the application's SCIM-compatible API.
+   */
+  remote_uri: string;
+};
+
+/**
+ * Attributes for configuring Access Service Token authentication scheme for SCIM provisioning to an application.
+ */
+export type AccessScimConfigAuthenticationAccessServiceToken = {
+  /**
+   * Client ID of the Access service token used to authenticate with the remote service.
+   */
+  client_id: string;
+  /**
+   * Client secret of the Access service token used to authenticate with the remote service.
+   */
+  client_secret: string;
+  /**
+   * The authentication scheme to use when making SCIM requests to this application.
+   */
+  scheme: 'access_service_token';
+};
+
+/**
+ * Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.
+ */
+export type AccessScimConfigAuthenticationHttpBasic = {
+  /**
+   * Password used to authenticate with the remote SCIM service.
+   */
+  password: string;
+  /**
+   * The authentication scheme to use when making SCIM requests to this application.
+   */
+  scheme: 'httpbasic';
+  /**
+   * User name used to authenticate with the remote SCIM service.
+   */
+  user: string;
+};
+
+/**
+ * Attributes for configuring OAuth 2 authentication scheme for SCIM provisioning to an application.
+ */
+export type AccessScimConfigAuthenticationOauth2 = {
+  /**
+   * URL used to generate the auth code used during token generation.
+   */
+  authorization_url: string;
+  /**
+   * Client ID used to authenticate when generating a token for authenticating with the remote SCIM service.
+   */
+  client_id: string;
+  /**
+   * Secret used to authenticate when generating a token for authenticating with the remove SCIM service.
+   */
+  client_secret: string;
+  /**
+   * The authentication scheme to use when making SCIM requests to this application.
+   */
+  scheme: 'oauth2';
+  /**
+   * The authorization scopes to request when generating the token used to authenticate with the remove SCIM service.
+   */
+  scopes?: string[];
+  /**
+   * URL used to generate the token used to authenticate with the remote SCIM service.
+   */
+  token_url: string;
+};
+
+/**
+ * Attributes for configuring OAuth Bearer Token authentication scheme for SCIM provisioning to an application.
+ */
+export type AccessScimConfigAuthenticationOauthBearerToken = {
+  /**
+   * The authentication scheme to use when making SCIM requests to this application.
+   */
+  scheme: 'oauthbearertoken';
+  /**
+   * Token used to authenticate with the remote SCIM service.
+   */
+  token: string;
+};
+
+/**
+ * Transformations and filters applied to resources before they are provisioned in the remote SCIM service.
+ */
+export type AccessScimConfigMapping = {
+  /**
+   * Whether or not this mapping is enabled.
+   */
+  enabled?: boolean;
+  /**
+   * A [SCIM filter expression](https://datatracker.ietf.org/doc/html/rfc7644#section-3.4.2.2) that matches resources that should be provisioned to this application.
+   *
+   * @example title pr or userType eq "Intern"
+   */
+  filter?: string;
+  /**
+   * Whether or not this mapping applies to creates, updates, or deletes.
+   */
+  operations?: {
+    /**
+     * Whether or not this mapping applies to create (POST) operations.
+     */
+    create?: boolean;
+    /**
+     * Whether or not this mapping applies to DELETE operations.
+     */
+    ['delete']?: boolean;
+    /**
+     * Whether or not this mapping applies to update (PATCH/PUT) operations.
+     */
+    update?: boolean;
+  };
+  /**
+   * Which SCIM resource type this mapping applies to.
+   *
+   * @example urn:ietf:params:scim:schemas:core:2.0:User
+   */
+  schema: string;
+  /**
+   * The level of adherence to outbound resource schemas when provisioning to this mapping. ‘Strict’ removes unknown values, while ‘passthrough’ passes unknown values to the target.
+   */
+  strictness?: 'strict' | 'passthrough';
+  /**
+   * A [JSONata](https://jsonata.org/) expression that transforms the resource before provisioning it in the application.
+   *
+   * @example $merge([$, {'userName': $substringBefore($.userName, '@') & '+test@' & $substringAfter($.userName, '@')}])
+   */
+  transform_jsonata?: string;
+};
+
+/**
+ * Multiple authentication schemes
+ */
+export type AccessScimConfigMultiAuthentication = AccessScimConfigSingleAuthentication[];
+
+export type AccessScimConfigSingleAuthentication =
+  | AccessScimConfigAuthenticationHttpBasic
+  | AccessScimConfigAuthenticationOauthBearerToken
+  | AccessScimConfigAuthenticationOauth2
+  | AccessScimConfigAuthenticationAccessServiceToken;
+
+export type AccessSeat = {
+  access_seat: AccessAccessSeat;
+  gateway_seat: AccessGatewaySeat;
+  seat_uid: AccessSeatUid;
+};
+
+/**
+ * The unique API identifier for the Zero Trust seat.
+ *
+ * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
+ * @maxLength 36
+ */
+export type AccessSeatUid = string;
+
+export type AccessSeats = {
+  access_seat?: AccessAccessSeat;
+  created_at?: AccessTimestamp;
+  gateway_seat?: AccessGatewaySeat;
+  seat_uid?: AccessSeatUid;
+  updated_at?: AccessTimestamp;
+};
+
+export type AccessSeatsComponentsSchemasResponseCollection = AccessApiResponseCollection & {
+  result?: AccessSeats[];
+};
+
+export type AccessSeatsDefinition = AccessSeat[];
+
+/**
+ * List of public domains that Access will secure. This field is deprecated in favor of `destinations` and will be supported until **November 21, 2025.** If `destinations` are provided, then `self_hosted_domains` will be ignored.
+ *
+ * @deprecated true
+ * @example test.example.com/admin
+ * @example test.anotherexample.com/staff
+ */
+export type AccessSelfHostedDomains = string[];
+
+export type AccessSelfHostedProps = {
+  allow_authenticate_via_warp?: AccessSchemasAllowAuthenticateViaWarp;
+  allowed_idps?: AccessAllowedIdps;
+  app_launcher_visible?: AccessAppLauncherVisible;
+  auto_redirect_to_identity?: AccessSchemasAutoRedirectToIdentity;
+  cors_headers?: AccessCorsHeaders;
+  custom_deny_message?: AccessCustomDenyMessage;
+  custom_deny_url?: AccessCustomDenyUrl;
+  custom_non_identity_deny_url?: AccessCustomNonIdentityDenyUrl;
+  custom_pages?: AccessSchemasCustomPages;
+  destinations?: AccessDestinations;
+  domain: AccessDomain;
+  enable_binding_cookie?: AccessEnableBindingCookie;
+  http_only_cookie_attribute?: AccessHttpOnlyCookieAttribute;
+  logo_url?: AccessLogoUrl;
+  name?: AccessAppsComponentsSchemasName;
+  options_preflight_bypass?: AccessOptionsPreflightBypass;
+  path_cookie_attribute?: AccessPathCookieAttribute;
+  same_site_cookie_attribute?: AccessSameSiteCookieAttribute;
+  self_hosted_domains?: AccessSelfHostedDomains;
+  service_auth_401_redirect?: AccessServiceAuth401Redirect;
+  session_duration?: AccessSchemasSessionDuration;
+  skip_interstitial?: AccessSkipInterstitial;
+  tags?: AccessTags;
+  /**
+   * The application type.
+   *
+   * @example self_hosted
+   */
+  type: string;
+};
+
+export type AccessServiceTokens = {
+  client_id?: AccessClientId;
+  created_at?: AccessTimestamp;
+  duration?: AccessDuration;
+  expires_at?: AccessTimestamp;
+  /**
+   * UUID
+   *
+   * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
+   * @maxLength 36
+   */
+  id?: void & AccessUuid;
+  name?: AccessSchemasName;
+  updated_at?: AccessTimestamp;
+};
+
+/**
+ * Returns a 401 status code when the request is blocked by a Service Auth policy.
+ *
+ * @example true
+ */
+export type AccessServiceAuth401Redirect = boolean;
+
+/**
+ * Matches a specific Access Service Token
+ */
+export type AccessServiceTokenRule = {
+  service_token: {
+    /**
+     * The ID of a Service Token.
+     *
+     * @example aa0a4aab-672b-4bdb-bc33-a59f1130a11f
+     */
+    token_id: string;
+  };
+};
+
+/**
+ * The amount of time that tokens issued for applications will be valid. Must be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s, m, h.
+ *
+ * @example 24h
+ */
+export type AccessSessionDuration = string;
+
+export type AccessSettings = {
+  /**
+   * Request client certificates for this hostname in China. Can only be set to true if this zone is china network enabled.
+   *
+   * @example false
+   */
+  china_network: boolean;
+  /**
+   * Client Certificate Forwarding is a feature that takes the client cert provided by the eyeball to the edge, and forwards it to the origin as a HTTP header to allow logging on the origin.
+   *
+   * @example true
+   */
+  client_certificate_forwarding: boolean;
+  /**
+   * The hostname that these settings apply to.
+   *
+   * @example admin.example.com
+   */
+  hostname: string;
+};
+
+export type AccessSingleResponse = AccessApiResponseSingle & {
+  result?: AccessOrganizations;
+};
+
+export type AccessSingleResponseWithoutHtml = AccessApiResponseSingle & {
+  result?: AccessCustomPageWithoutHtml;
+};
+
+/**
+ * Determines when to skip the App Launcher landing page.
+ *
+ * @default false
+ * @example true
+ */
+export type AccessSkipAppLauncherLoginPage = boolean;
+
+/**
+ * Enables automatic authentication through cloudflared.
+ *
+ * @example true
+ */
+export type AccessSkipInterstitial = boolean;
+
+export type AccessSshProps = {
+  allow_authenticate_via_warp?: AccessSchemasAllowAuthenticateViaWarp;
+  allowed_idps?: AccessAllowedIdps;
+  app_launcher_visible?: AccessAppLauncherVisible;
+  auto_redirect_to_identity?: AccessSchemasAutoRedirectToIdentity;
+  cors_headers?: AccessCorsHeaders;
+  custom_deny_message?: AccessCustomDenyMessage;
+  custom_deny_url?: AccessCustomDenyUrl;
+  custom_non_identity_deny_url?: AccessCustomNonIdentityDenyUrl;
+  custom_pages?: AccessSchemasCustomPages;
+  destinations?: AccessDestinations;
+  domain: AccessDomain;
+  enable_binding_cookie?: AccessEnableBindingCookie;
+  http_only_cookie_attribute?: AccessHttpOnlyCookieAttribute;
+  logo_url?: AccessLogoUrl;
+  name?: AccessAppsComponentsSchemasName;
+  options_preflight_bypass?: AccessOptionsPreflightBypass;
+  path_cookie_attribute?: AccessPathCookieAttribute;
+  same_site_cookie_attribute?: AccessSameSiteCookieAttribute;
+  self_hosted_domains?: AccessSelfHostedDomains;
+  service_auth_401_redirect?: AccessServiceAuth401Redirect;
+  session_duration?: AccessSchemasSessionDuration;
+  skip_interstitial?: AccessSkipInterstitial;
+  tags?: AccessTags;
+  /**
+   * The application type.
+   *
+   * @example ssh
+   */
+  type: string;
+};
+
+/**
+ * The status of the policy test request.
+ *
+ * @example success
+ */
+export type AccessStatus = 'success';
+
+export type AccessStringKeyMapDeviceSession = {
+  [key: string]: AccessDeviceSession;
+};
+
+/**
+ * A tag
+ */
+export type AccessTag = {
+  /**
+   * The number of applications that have this tag
+   *
+   * @example 1
+   */
+  app_count?: number;
+  created_at?: AccessTimestamp;
+  name: AccessTagsComponentsSchemasName;
+  updated_at?: AccessTimestamp;
+};
+
+/**
+ * A tag
+ */
+export type AccessTagWithoutAppCount = {
+  created_at?: AccessTimestamp;
+  name: AccessTagsComponentsSchemasName;
+  updated_at?: AccessTimestamp;
+};
+
+/**
+ * The tags you want assigned to an application. Tags are used to filter applications in the App Launcher dashboard.
+ */
+export type AccessTags = string[];
+
+/**
+ * The name of the tag
+ *
+ * @example engineers
+ */
+export type AccessTagsComponentsSchemasName = string;
+
+export type AccessTagsComponentsSchemasResponseCollection = AccessApiResponseCollection & {
+  result?: AccessTag[];
+};
+
+export type AccessTagsComponentsSchemasSingleResponse = AccessApiResponseSingle & {
+  result?: AccessTag;
+};
+
+/**
+ * Contains a map of target attribute keys to target attribute values.
+ *
+ * @example {"hostname":["test-server","production-server"]}
+ */
+export type AccessTargetAttributes = {
+  [key: string]: string[];
+};
+
+export type AccessTargetCriteria = {
+  port: AccessPort;
+  protocol: AccessProtocol;
+  target_attributes: AccessTargetAttributes;
+};
+
+/**
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
+ */
+export type AccessTimestamp = string;
+
+/**
+ * The title shown on the landing page.
+ *
+ * @default Welcome!
+ * @example Welcome back!
+ */
+export type AccessTitle = string;
+
+/**
+ * The total number of users in the user base.
+ *
+ * @example 20
+ */
+export type AccessTotalUsers = number;
+
+/**
+ * The application type.
+ *
+ * @example self_hosted
+ */
+export type AccessType =
+  | 'self_hosted'
+  | 'saas'
+  | 'ssh'
+  | 'vnc'
+  | 'app_launcher'
+  | 'warp'
+  | 'biso'
+  | 'bookmark'
+  | 'dash_sso'
+  | 'infrastructure';
+
+/**
+ * A description of the reason why the UI read only field is being toggled.
+ *
+ * @example Temporarily turn off the UI read only lock to make a change via the UI
+ */
+export type AccessUiReadOnlyToggleReason = string;
+
+/**
+ * The unique API identifier for the user.
+ */
+export type AccessUid = string;
+
+/**
+ * The status of the policy test.
+ *
+ * @example complete
+ */
+export type AccessUpdateStatus = 'blocked' | 'processing' | 'complete';
+
+/**
+ * Policy evaluation result for an individual user.
+ *
+ * @example approved
+ */
+export type AccessUserResult = 'approved' | 'blocked';
+
+/**
+ * The amount of time a user seat is inactive before it expires. When the user seat exceeds the set time of inactivity, the user is removed as an active seat and no longer counts against your Teams seat count.  Minimum value for this setting is 1 month (730h). Must be in the format `300ms` or `2h45m`. Valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`.
+ *
+ * @example 730h
+ */
+export type AccessUserSeatExpirationInactiveTime = string;
+
+/**
+ * Contains the Unix usernames that may be used when connecting over SSH.
+ *
+ * @example root
+ * @example ubuntu
+ */
+export type AccessUsernames = string[];
+
+export type AccessUsers = {
+  access_seat?: AccessSchemasAccessSeat;
+  active_device_count?: AccessActiveDeviceCount;
+  created_at?: AccessTimestamp;
+  email?: AccessEmail;
+  gateway_seat?: AccessSchemasGatewaySeat;
+  id?: AccessUuid;
+  last_successful_login?: AccessLastSuccessfulLogin;
+  name?: AccessUsersComponentsSchemasName;
+  seat_uid?: AccessSchemasSeatUid;
+  uid?: AccessUid;
+  updated_at?: AccessTimestamp;
+};
+
+/**
+ * The number of (processed) users approved based on policy evaluation results.
+ *
+ * @example 5
+ */
+export type AccessUsersApproved = number;
+
+/**
+ * The number of (processed) users blocked based on policy evaluation results.
+ *
+ * @example 5
+ */
+export type AccessUsersBlocked = number;
+
+/**
+ * The name of the user.
+ *
+ * @example Jane Doe
+ */
+export type AccessUsersComponentsSchemasName = string;
+
+export type AccessUsersComponentsSchemasResponseCollection = AccessApiResponseCollection & {
+  result_info?: {
+    /**
+     * @example 1
+     */
+    count?: void;
+    /**
+     * @example 1
+     */
+    page?: void;
+    /**
+     * @example 100
+     */
+    per_page?: void;
+    /**
+     * @example 1
+     */
+    total_count?: void;
+  };
+} & {
+  result?: AccessUsers[];
+};
+
+/**
+ * UUID
+ *
+ * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
+ * @maxLength 36
+ */
+export type AccessUuid = string;
+
+export type AccessVncProps = {
+  allow_authenticate_via_warp?: AccessSchemasAllowAuthenticateViaWarp;
+  allowed_idps?: AccessAllowedIdps;
+  app_launcher_visible?: AccessAppLauncherVisible;
+  auto_redirect_to_identity?: AccessSchemasAutoRedirectToIdentity;
+  cors_headers?: AccessCorsHeaders;
+  custom_deny_message?: AccessCustomDenyMessage;
+  custom_deny_url?: AccessCustomDenyUrl;
+  custom_non_identity_deny_url?: AccessCustomNonIdentityDenyUrl;
+  custom_pages?: AccessSchemasCustomPages;
+  destinations?: AccessDestinations;
+  domain: AccessDomain;
+  enable_binding_cookie?: AccessEnableBindingCookie;
+  http_only_cookie_attribute?: AccessHttpOnlyCookieAttribute;
+  logo_url?: AccessLogoUrl;
+  name?: AccessAppsComponentsSchemasName;
+  options_preflight_bypass?: AccessOptionsPreflightBypass;
+  path_cookie_attribute?: AccessPathCookieAttribute;
+  same_site_cookie_attribute?: AccessSameSiteCookieAttribute;
+  self_hosted_domains?: AccessSelfHostedDomains;
+  service_auth_401_redirect?: AccessServiceAuth401Redirect;
+  session_duration?: AccessSchemasSessionDuration;
+  skip_interstitial?: AccessSkipInterstitial;
+  tags?: AccessTags;
+  /**
+   * The application type.
+   *
+   * @example vnc
+   */
+  type: string;
+};
+
+/**
+ * The amount of time that tokens issued for applications will be valid. Must be in the format `30m` or `2h45m`. Valid time units are: m, h.
+ *
+ * @example 24h
+ */
+export type AccessWarpAuthSessionDuration = string;
+
+export type AccessWarpProps = {
+  allowed_idps?: AccessAllowedIdps;
+  app_launcher_logo_url?: AccessAppLauncherLogoUrl;
+  auto_redirect_to_identity?: AccessSchemasAutoRedirectToIdentity;
+  bg_color?: AccessBgColor;
+  /**
+   * @example authdomain.cloudflareaccess.com/warp
+   */
+  domain?: AccessDomain;
+  footer_links?: AccessFooterLinks;
+  header_bg_color?: AccessHeaderBgColor;
+  landing_page_design?: AccessLandingPageDesign;
+  /**
+   * @default Warp Login App
+   * @example Warp Login App
+   */
+  name?: AccessAppsComponentsSchemasName;
+  session_duration?: AccessSchemasSessionDuration;
+  skip_app_launcher_login_page?: AccessSkipAppLauncherLoginPage;
+  /**
+   * The application type.
+   *
+   * @example warp
+   */
+  type: AccessType;
+};
+
+export type AccessYandex = {
+  /**
+   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   */
+  config: AccessGenericOauthConfig;
+  id?: AccessUuid;
+  name: AccessComponentsSchemasName;
+  /**
+   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   */
+  scim_config?: {
+    /**
+     * A flag to enable or disable SCIM for the identity provider.
+     */
+    enabled?: boolean;
+    /**
+     * Indicates how a SCIM event updates a user identity used for policy evaluation. Use "automatic" to automatically update a user's identity and augment it with fields from the SCIM user resource. Use "reauth" to force re-authentication on group membership updates, user identity update will only occur after successful re-authentication. With "reauth" identities will not contain fields from the SCIM user resource. With "no_action" identities will not be changed by SCIM updates in any way and users will not be prompted to reauthenticate.
+     */
+    identity_update_behavior?: 'automatic' | 'reauth' | 'no_action';
+    /**
+     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     */
+    seat_deprovision?: boolean;
+    /**
+     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     */
+    secret?: string;
+    /**
+     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     */
+    user_deprovision?: boolean;
+  };
+  /**
+   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   *
+   * @example onetimepin
+   */
+  type:
+    | 'onetimepin'
+    | 'azureAD'
+    | 'saml'
+    | 'centrify'
+    | 'facebook'
+    | 'github'
+    | 'google-apps'
+    | 'google'
+    | 'linkedin'
+    | 'oidc'
+    | 'okta'
+    | 'onelogin'
+    | 'pingone'
+    | 'yandex';
+};
+
+export type AddressingAddressMaps = {
+  can_delete?: AddressingCanDelete;
+  can_modify_ips?: AddressingCanModifyIps;
+  created_at?: AddressingTimestamp;
+  default_sni?: AddressingDefaultSni;
+  description?: AddressingSchemasDescription;
+  enabled?: AddressingEnabled;
+  id?: AddressingIdentifier;
+  modified_at?: AddressingTimestamp;
+};
+
+export type AddressingAddressMapsIp = {
+  created_at?: AddressingTimestamp;
+  ip?: AddressingIp;
+};
+
+export type AddressingAddressMapsMembership = {
+  can_delete?: AddressingSchemasCanDelete;
+  created_at?: AddressingTimestamp;
+  identifier?: AddressingSchemasIdentifier;
+  kind?: AddressingKind;
+};
+
+/**
+ * Prefix advertisement status to the Internet. This field is only not 'null' if on demand is enabled.
+ *
+ * @example true
+ */
+export type AddressingAdvertised = boolean | null;
+
+export type AddressingAdvertisedResponse = AddressingApiResponseSingle & {
+  result?: {
+    advertised?: AddressingSchemasAdvertised;
+    advertised_modified_at?: AddressingModifiedAtNullable;
+  };
+};
+
+export type AddressingApiResponseCollection = AddressingApiResponseCommon & {
+  result_info?: AddressingResultInfo;
+};
+
+export type AddressingApiResponseCommon = {
+  errors: AddressingMessages;
+  messages: AddressingMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type AddressingApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: AddressingMessages;
+  messages: AddressingMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type AddressingApiResponseSingle = AddressingApiResponseCommon;
+
+/**
+ * Approval state of the prefix (P = pending, V = active).
+ *
+ * @example P
+ */
+export type AddressingApproved = string;
+
+/**
+ * Autonomous System Number (ASN) the prefix will be advertised under.
+ *
+ * @example 209242
+ */
+export type AddressingAsn = number | null;
+
+export type AddressingBgpOnDemand = {
+  advertised?: AddressingAdvertised;
+  advertised_modified_at?: AddressingModifiedAtNullable;
+  on_demand_enabled?: AddressingOnDemandEnabled;
+  on_demand_locked?: AddressingOnDemandLocked;
+};
+
+export type AddressingBgpPrefixCreate = {
+  cidr?: AddressingCidr;
+};
+
+export type AddressingBgpPrefixUpdateAdvertisement = {
+  on_demand?: {
+    advertised?: boolean;
+  };
+};
+
+export type AddressingBgpSignalOpts = {
+  enabled?: AddressingBgpSignalingEnabled;
+  modified_at?: AddressingBgpSignalingModifiedAt;
+};
+
+/**
+ * Whether control of advertisement of the prefix to the Internet is enabled to be performed via BGP signal
+ *
+ * @example false
+ */
+export type AddressingBgpSignalingEnabled = boolean;
+
+/**
+ * Last time BGP signaling control was toggled. This field is null if BGP signaling has never been enabled.
+ *
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
+ */
+export type AddressingBgpSignalingModifiedAt = string | null;
+
+/**
+ * If set to false, then the Address Map cannot be deleted via API. This is true for Cloudflare-managed maps.
+ *
+ * @example true
+ */
+export type AddressingCanDelete = boolean;
+
+/**
+ * If set to false, then the IPs on the Address Map cannot be modified via the API. This is true for Cloudflare-managed maps.
+ *
+ * @example true
+ */
+export type AddressingCanModifyIps = boolean;
+
+/**
+ * IP Prefix in Classless Inter-Domain Routing format.
+ *
+ * @example 192.0.2.0/24
+ */
+export type AddressingCidr = string;
+
+export type AddressingComponentsSchemasResponseCollection = AddressingApiResponseCollection & {
+  result?: AddressingAddressMaps[];
+};
+
+export type AddressingComponentsSchemasSingleResponse = AddressingApiResponseSingle & {
+  result?: AddressingAddressMaps;
+};
+
+export type AddressingCreateBindingRequest = {
+  cidr?: AddressingCidr;
+  service_id?: AddressingServiceIdentifier;
+};
+
+/**
+ * If you have legacy TLS clients which do not send the TLS server name indicator, then you can specify one default SNI on the map. If Cloudflare receives a TLS handshake from a client without an SNI, it will respond with the default SNI on those IPs. The default SNI can be any valid zone or subdomain owned by the account.
+ *
+ * @example *.example.com
+ */
+export type AddressingDefaultSni = string | null;
+
+/**
+ * Account identifier for the account to which prefix is being delegated.
+ *
+ * @example b1946ac92492d2347c6235b4d2611184
+ * @maxLength 32
+ */
+export type AddressingDelegatedAccountIdentifier = string;
+
+/**
+ * Delegation identifier tag.
+ *
+ * @example d933b1530bc56c9953cf8ce166da8004
+ * @maxLength 32
+ */
+export type AddressingDelegationIdentifier = string;
+
+/**
+ * Description of the prefix.
+ *
+ * @example Internal test prefix
+ * @maxLength 1000
+ */
+export type AddressingDescription = string;
+
+/**
+ * Whether the Address Map is enabled or not. Cloudflare's DNS will not respond with IP addresses on an Address Map until the map is enabled.
+ *
+ * @default false
+ * @example true
+ */
+export type AddressingEnabled = boolean | null;
+
+/**
+ * A digest of the IP data. Useful for determining if the data has changed.
+ *
+ * @example a8e453d9d129a3769407127936edfdb0
+ */
+export type AddressingEtag = string;
+
+/**
+ * Name of LOA document. Max file size 10MB, and supported filetype is pdf.
+ *
+ * @example site_loa_doc.pdf
+ */
+export type AddressingFilename = string;
+
+export type AddressingFullResponse = AddressingApiResponseSingle & {
+  result?: AddressingAddressMaps & {
+    ips?: AddressingSchemasIps;
+    memberships?: AddressingMemberships;
+  };
+};
+
+export type AddressingIdResponse = AddressingApiResponseSingle & {
+  result?: {
+    id?: AddressingDelegationIdentifier;
+  };
+};
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type AddressingIdentifier = string;
+
+/**
+ * An IPv4 or IPv6 address.
+ *
+ * @example 192.0.2.1
+ */
+export type AddressingIp = string;
+
+/**
+ * An IPv4 or IPv6 address.
+ *
+ * @example 192.0.2.1
+ */
+export type AddressingIpAddress = string;
+
+export type AddressingIpamBgpPrefixes = {
+  asn?: AddressingAsn;
+  bgp_signal_opts?: AddressingBgpSignalOpts;
+  cidr?: AddressingCidr;
+  created_at?: AddressingTimestamp;
+  id?: AddressingIdentifier;
+  modified_at?: AddressingTimestamp;
+  on_demand?: AddressingBgpOnDemand;
+};
+
+export type AddressingIpamDelegations = {
+  cidr?: AddressingCidr;
+  created_at?: AddressingTimestamp;
+  delegated_account_id?: AddressingDelegatedAccountIdentifier;
+  id?: AddressingDelegationIdentifier;
+  modified_at?: AddressingTimestamp;
+  parent_prefix_id?: AddressingIdentifier;
+};
+
+export type AddressingIpamPrefixes = {
+  account_id?: AddressingIdentifier;
+  advertised?: AddressingAdvertised;
+  advertised_modified_at?: AddressingModifiedAtNullable;
+  approved?: AddressingApproved;
+  asn?: AddressingAsn;
+  cidr?: AddressingCidr;
+  created_at?: AddressingTimestamp;
+  description?: AddressingDescription;
+  id?: AddressingIdentifier;
+  loa_document_id?: AddressingLoaDocumentIdentifier;
+  modified_at?: AddressingTimestamp;
+  on_demand_enabled?: AddressingOnDemandEnabled;
+  on_demand_locked?: AddressingOnDemandLocked;
+};
+
+export type AddressingIps = {
+  etag?: AddressingEtag;
+  ipv4_cidrs?: AddressingIpv4Cidrs;
+  ipv6_cidrs?: AddressingIpv6Cidrs;
+};
+
+export type AddressingIpsJdcloud = {
+  etag?: AddressingEtag;
+  ipv4_cidrs?: AddressingIpv4Cidrs;
+  ipv6_cidrs?: AddressingIpv6Cidrs;
+  jdcloud_cidrs?: AddressingJdcloudCidrs;
+};
+
+/**
+ * List of Cloudflare IPv4 CIDR addresses.
+ */
+export type AddressingIpv4Cidrs = string[];
+
+/**
+ * List of Cloudflare IPv6 CIDR addresses.
+ */
+export type AddressingIpv6Cidrs = string[];
+
+/**
+ * List IPv4 and IPv6 CIDRs, only populated if `?networks=jdcloud` is used.
+ */
+export type AddressingJdcloudCidrs = string[];
+
+/**
+ * The type of the membership.
+ *
+ * @example zone
+ */
+export type AddressingKind = 'zone' | 'account';
+
+/**
+ * Identifier for the uploaded LOA document.
+ *
+ * @example d933b1530bc56c9953cf8ce166da8004
+ * @maxLength 32
+ */
+export type AddressingLoaDocumentIdentifier = string | null;
+
+export type AddressingLoaUploadResponse = AddressingApiResponseSingle & {
+  result?: {
+    account_id?: AddressingIdentifier;
+    created?: AddressingTimestamp;
+    filename?: AddressingFilename;
+    id?: AddressingLoaDocumentIdentifier;
+    size_bytes?: AddressingSizeBytes;
+    verified?: AddressingVerified;
+    verified_at?: AddressingVerifiedAt;
+  };
+};
+
+/**
+ * Zones and Accounts which will be assigned IPs on this Address Map. A zone membership will take priority over an account membership.
+ */
+export type AddressingMemberships = AddressingAddressMapsMembership[];
+
+export type AddressingMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+/**
+ * Last time the advertisement status was changed. This field is only not 'null' if on demand is enabled.
+ *
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
+ */
+export type AddressingModifiedAtNullable = string | null;
+
+/**
+ * Whether advertisement of the prefix to the Internet may be dynamically enabled or disabled.
+ *
+ * @example true
+ */
+export type AddressingOnDemandEnabled = boolean;
+
+/**
+ * Whether advertisement status of the prefix is locked, meaning it cannot be changed.
+ *
+ * @example false
+ */
+export type AddressingOnDemandLocked = boolean;
+
+/**
+ * Status of a Service Binding's deployment to the Cloudflare network
+ */
+export type AddressingProvisioning = {
+  /**
+   * When a binding has been deployed to a majority of Cloudflare datacenters, the binding will become active and can be used with its associated service.
+   *
+   * @example provisioning
+   */
+  state?: 'provisioning' | 'active';
+};
+
+export type AddressingResponseCollection = AddressingApiResponseCollection & {
+  result?: AddressingIpamPrefixes[];
+};
+
+export type AddressingResponseCollectionBgp = AddressingApiResponseCollection & {
+  result?: AddressingIpamBgpPrefixes[];
+};
+
+export type AddressingResultInfo = {
+  /**
+   * Total number of results for the requested service
+   *
+   * @example 1
+   */
+  count?: number;
+  /**
+   * Current page within paginated list of results
+   *
+   * @example 1
+   */
+  page?: number;
+  /**
+   * Number of results per page of results
+   *
+   * @example 20
+   */
+  per_page?: number;
+  /**
+   * Total results available without any search parameters
+   *
+   * @example 2000
+   */
+  total_count?: number;
+};
+
+/**
+ * Enablement of prefix advertisement to the Internet.
+ *
+ * @example true
+ */
+export type AddressingSchemasAdvertised = boolean;
+
+/**
+ * Controls whether the membership can be deleted via the API or not.
+ *
+ * @example true
+ */
+export type AddressingSchemasCanDelete = boolean;
+
+/**
+ * An optional description field which may be used to describe the types of IPs or zones on the map.
+ *
+ * @example My Ecommerce zones
+ */
+export type AddressingSchemasDescription = string | null;
+
+/**
+ * The identifier for the membership (eg. a zone or account tag).
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type AddressingSchemasIdentifier = string;
+
+/**
+ * The set of IPs on the Address Map.
+ */
+export type AddressingSchemasIps = AddressingAddressMapsIp[];
+
+export type AddressingSchemasResponseCollection = AddressingApiResponseCollection & {
+  result?: AddressingIpamDelegations[];
+};
+
+export type AddressingSchemasSingleResponse = AddressingApiResponseSingle & {
+  result?: AddressingIpamDelegations;
+};
+
+export type AddressingServiceBinding = {
+  cidr?: AddressingCidr;
+  id?: AddressingIdentifier;
+  provisioning?: AddressingProvisioning;
+  service_id?: AddressingServiceIdentifier;
+  service_name?: AddressingServiceName;
+};
+
+/**
+ * Identifier
+ *
+ * @example 2db684ee7ca04e159946fd05b99e1bcd
+ * @maxLength 32
+ */
+export type AddressingServiceIdentifier = string;
+
+/**
+ * Name of a service running on the Cloudflare network
+ *
+ * @example Magic Transit
+ */
+export type AddressingServiceName = string;
+
+export type AddressingSingleResponse = AddressingApiResponseSingle & {
+  result?: AddressingIpamPrefixes;
+};
+
+export type AddressingSingleResponseBgp = AddressingApiResponseSingle & {
+  result?: AddressingIpamBgpPrefixes;
+};
+
+/**
+ * File size of the uploaded LOA document.
+ *
+ * @example 444
+ */
+export type AddressingSizeBytes = number;
+
+/**
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
+ */
+export type AddressingTimestamp = string;
+
+/**
+ * Whether the LOA has been verified by Cloudflare staff.
+ *
+ * @example true
+ */
+export type AddressingVerified = boolean;
+
+/**
+ * Timestamp of the moment the LOA was marked as validated.
+ *
+ * @format date-time
+ */
+export type AddressingVerifiedAt = string | null;
+
+export type ApiShieldApiResponseCollection = ApiShieldApiResponseCommon & {
+  result_info?: ApiShieldResultInfo;
+};
+
+export type ApiShieldApiResponseCommon = {
+  errors: ApiShieldMessages;
+  messages: ApiShieldMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ApiShieldApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: ApiShieldMessages;
+  messages: ApiShieldMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type ApiShieldApiResponseSingle = ApiShieldApiResponseCommon;
+
+/**
+ * * `ML` - Discovered operation was sourced using ML API Discovery * `SessionIdentifier` - Discovered operation was sourced using Session Identifier API Discovery
+ */
+export type ApiShieldApiDiscoveryOrigin = 'ML' | 'SessionIdentifier';
+
+/**
+ * @example {"3818d821-5901-4147-a474-f5f5aec1d54e":{"state":"ignored"},"b17c8043-99a0-4202-b7d9-8f7cdbee02cd":{"state":"review"}}
+ */
+export type ApiShieldApiDiscoveryPatchMultipleRequest = {
+  [key: string]: ApiShieldApiDiscoveryPatchMultipleRequestEntry;
+};
+
+/**
+ * Mappings of discovered operations (keys) to objects describing their state
+ */
+export type ApiShieldApiDiscoveryPatchMultipleRequestEntry = {
+  state?: ApiShieldApiDiscoveryStatePatch;
+};
+
+/**
+ * State of operation in API Discovery
+ *   * `review` - Operation is not saved into API Shield Endpoint Management
+ *   * `saved` - Operation is saved into API Shield Endpoint Management
+ *   * `ignored` - Operation is marked as ignored
+ */
+export type ApiShieldApiDiscoveryState = 'review' | 'saved' | 'ignored';
+
+/**
+ * Mark state of operation in API Discovery
+ *   * `review` - Mark operation as for review
+ *   * `ignored` - Mark operation as ignored
+ */
+export type ApiShieldApiDiscoveryStatePatch = 'review' | 'ignored';
+
+/**
+ * Auth ID Characteristic
+ */
+export type ApiShieldAuthIdCharacteristic = {
+  /**
+   * The name of the characteristic field, i.e., the header or cookie name.
+   *
+   * @example authorization
+   * @maxLength 128
+   */
+  name: string;
+  /**
+   * The type of characteristic.
+   *
+   * @example header
+   */
+  type: 'header' | 'cookie';
+};
+
+/**
+ * Auth ID Characteristic extracted from JWT Token Claims
+ */
+export type ApiShieldAuthIdCharacteristicJwtClaim = {
+  /**
+   * Claim location expressed as `$(token_config_id):$(json_path)`, where `token_config_id`
+   * is the ID of the token configuration used in validating the JWT, and `json_path` is a RFC 9535
+   * JSONPath (https://goessner.net/articles/JsonPath/, https://www.rfc-editor.org/rfc/rfc9535.html).
+   * The JSONPath expression may be in dot or bracket notation, may only specify literal keys
+   * or array indexes, and must return a singleton value, which will be interpreted as a string.
+   *
+   * @example e0de1a3a-8c2c-4f90-98d8-cbdf0a3f2cb5:$.foo.bar[0].baz
+   * @maxLength 128
+   * @pattern ^(?<token_config_id>[a-z0-9\-]{32,36}):\$(?<json_path>.*?)$
+   */
+  name: string;
+  /**
+   * The type of characteristic.
+   *
+   * @example jwt
+   */
+  type: 'jwt';
+};
+
+/**
+ * @maxItems 10
+ * @uniqueItems true
+ */
+export type ApiShieldAuthIdCharacteristics = (ApiShieldAuthIdCharacteristic | ApiShieldAuthIdCharacteristicJwtClaim)[];
+
+/**
+ * The total number of auth-ids seen across this calculation.
+ */
+export type ApiShieldAuthIdTokens = number;
+
+export type ApiShieldBasicOperation = {
+  endpoint: ApiShieldEndpoint;
+  host: ApiShieldHost;
+  method: ApiShieldMethod;
+};
+
+/**
+ * Upper and lower bound for percentile estimate
+ */
+export type ApiShieldConfidenceIntervalsBounds = {
+  /**
+   * Lower bound for percentile estimate
+   *
+   * @example 20.5
+   */
+  lower?: number;
+  /**
+   * Upper bound for percentile estimate
+   *
+   * @example 30.4
+   */
+  upper?: number;
+};
+
+export type ApiShieldConfiguration = {
+  auth_id_characteristics: ApiShieldAuthIdCharacteristics;
+};
+
+export type ApiShieldConfigurationSingleResponse = ApiShieldApiResponseCommon & {
+  result: ApiShieldConfiguration;
+};
+
+/**
+ * The number of data points used for the threshold suggestion calculation.
+ */
+export type ApiShieldDataPoints = number;
+
+export type ApiShieldDiscoveryOperation = {
+  features?: ApiShieldTrafficStats;
+  id: ApiShieldSchemasUuid;
+  last_updated: ApiShieldSchemasTimestamp;
+  /**
+   * API discovery engine(s) that discovered this operation
+   */
+  origin: ApiShieldApiDiscoveryOrigin[];
+  state: ApiShieldApiDiscoveryState;
+} & ApiShieldBasicOperation;
+
+/**
+ * The endpoint which can contain path parameter templates in curly braces, each will be replaced from left to right with {varN}, starting with {var1}, during insertion. This will further be Cloudflare-normalized upon insertion. See: https://developers.cloudflare.com/rules/normalization/how-it-works/.
+ *
+ * @example /api/v1/users/{var1}
+ * @format uri-template
+ * @maxLength 4096
+ * @pattern ^/.*$
+ */
+export type ApiShieldEndpoint = string;
+
+/**
+ * RFC3986-compliant host.
+ *
+ * @example www.example.com
+ * @format hostname
+ * @maxLength 255
+ */
+export type ApiShieldHost = string;
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type ApiShieldIdentifier = string;
+
+/**
+ * Kind of schema
+ *
+ * @example openapi_v3
+ */
+export type ApiShieldKind = 'openapi_v3';
+
+export type ApiShieldMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+/**
+ * The HTTP method used to access the endpoint.
+ *
+ * @example GET
+ */
+export type ApiShieldMethod = 'GET' | 'POST' | 'HEAD' | 'OPTIONS' | 'PUT' | 'DELETE' | 'CONNECT' | 'PATCH' | 'TRACE';
+
+export type ApiShieldMultipleOperationResponse = ApiShieldApiResponseCommon & {
+  result: ApiShieldOperation[];
+};
+
+export type ApiShieldMultipleOperationResponsePaginated = ApiShieldApiResponseCollection & {
+  result: (ApiShieldOperation & {
+    features?: void;
+  })[];
+};
+
+export type ApiShieldObjectWithOperationId = {
+  /**
+   * The ID of the operation
+   */
+  operation_id: string & ApiShieldSchemasUuid;
+};
+
+/**
+ * A OpenAPI 3.0.0 compliant schema.
+ *
+ * @example {"info":{"title":"OpenAPI JSON schema for www.example.com","version":"1.0"},"openapi":"3.0.0","paths":{"... Further paths ...":{},"/api/v1/users/{var1}":{"get":{"parameters":[{"in":"path","name":"var1","required":true,"schema":{"type":"string"}}]}}},"servers":[{"url":"www.example.com"}]}
+ */
+export type ApiShieldOpenapi = Record<string, any>;
+
+/**
+ * A OpenAPI 3.0.0 compliant schema.
+ *
+ * @example {"info":{"title":"OpenAPI JSON schema for www.example.com","version":"1.0"},"openapi":"3.0.0","paths":{"... Further paths ...":{},"/api/v1/users/{var1}":{"get":{"parameters":[{"in":"path","name":"var1","required":true,"schema":{"type":"string"}}]}}},"servers":[{"url":"www.example.com"}]}
+ */
+export type ApiShieldOpenapiWithThresholds = Record<string, any>;
+
+export type ApiShieldOperation = ApiShieldStandardOperation & {
+  features?: ApiShieldOperationFeatures;
+};
+
+/**
+ * @example {"api_routing":{"last_updated":"2014-01-01T05:20:00.12345Z","route":"https://api.example.com/api/service"}}
+ */
+export type ApiShieldOperationFeatureApiRouting = {
+  /**
+   * API Routing settings on endpoint.
+   */
+  api_routing?: {
+    last_updated?: ApiShieldTimestamp;
+    /**
+     * Target route.
+     *
+     * @example https://api.example.com/api/service
+     */
+    route?: string;
+  };
+};
+
+/**
+ * @example {"confidence_intervals":{"last_updated":"2014-01-01T05:20:00.12345Z","suggested_threshold":{"confidence_intervals":{"p90":{"lower":23.1,"upper":23.9},"p95":{"lower":22,"upper":24.1},"p99":{"lower":20.2,"upper":30}},"mean":23.5}}}
+ */
+export type ApiShieldOperationFeatureConfidenceIntervals = {
+  confidence_intervals?: {
+    last_updated?: ApiShieldTimestamp;
+    suggested_threshold?: {
+      confidence_intervals?: {
+        p90?: ApiShieldConfidenceIntervalsBounds;
+        p95?: ApiShieldConfidenceIntervalsBounds;
+        p99?: ApiShieldConfidenceIntervalsBounds;
+      };
+      /**
+       * Suggested threshold.
+       *
+       * @example 25.5
+       */
+      mean?: number;
+    };
+  };
+};
+
+export type ApiShieldOperationFeatureParameterSchemas = {
+  parameter_schemas: {
+    last_updated?: ApiShieldTimestamp;
+    parameter_schemas?: ApiShieldParameterSchemasDefinition;
+  };
+};
+
+export type ApiShieldOperationFeatureSchemaInfo = {
+  schema_info?: {
+    /**
+     * Schema active on endpoint.
+     */
+    active_schema?: {
+      created_at?: ApiShieldTimestamp;
+      id?: ApiShieldSchemasUuid;
+      /**
+       * True if schema is Cloudflare-provided.
+       *
+       * @example true
+       */
+      is_learned?: boolean;
+      /**
+       * Schema file name.
+       *
+       * @example api-endpoints-8694824bf5c04d019edcbf399c03c103-api-discovery.example.com-thresholds.json
+       */
+      name?: string;
+    };
+    /**
+     * True if a Cloudflare-provided learned schema is available for this endpoint.
+     *
+     * @example true
+     */
+    learned_available?: boolean;
+    /**
+     * Action taken on requests failing validation.
+     *
+     * @example block
+     */
+    mitigation_action?: 'none' | 'log' | 'block' | null;
+  };
+};
+
+export type ApiShieldOperationFeatureThresholds = {
+  thresholds?: {
+    auth_id_tokens?: ApiShieldAuthIdTokens;
+    data_points?: ApiShieldDataPoints;
+    last_updated?: ApiShieldTimestamp;
+    p50?: ApiShieldP50;
+    p90?: ApiShieldP90;
+    p99?: ApiShieldP99;
+    period_seconds?: ApiShieldPeriodSeconds;
+    requests?: ApiShieldRequests;
+    suggested_threshold?: ApiShieldSuggestedThreshold;
+  };
+};
+
+export type ApiShieldOperationFeatures =
+  | ApiShieldOperationFeatureThresholds
+  | ApiShieldOperationFeatureParameterSchemas
+  | ApiShieldOperationFeatureApiRouting
+  | ApiShieldOperationFeatureConfidenceIntervals
+  | ApiShieldOperationFeatureSchemaInfo;
+
+/**
+ * When set, this applies a mitigation action to this operation
+ *
+ *   - `log` log request when request does not conform to schema for this operation
+ *   - `block` deny access to the site when request does not conform to schema for this operation
+ *   - `none` will skip mitigation for this operation
+ *   - `null` indicates that no operation level mitigation is in place, see Zone Level Schema Validation Settings for mitigation action that will be applied
+ *
+ * @example block
+ */
+export type ApiShieldOperationMitigationAction = 'log' | 'block' | 'none' | any | null;
+
+export type ApiShieldOperationSchemaValidationSettings = {
+  mitigation_action?: ApiShieldOperationMitigationAction;
+};
+
+/**
+ * @example {"3818d821-5901-4147-a474-f5f5aec1d54e":{"mitigation_action":"log"},"b17c8043-99a0-4202-b7d9-8f7cdbee02cd":{"mitigation_action":"block"}}
+ */
+export type ApiShieldOperationSchemaValidationSettingsMultipleRequest = {
+  [key: string]: ApiShieldOperationSchemaValidationSettingsMultipleRequestEntry;
+};
+
+/**
+ * Operation ID to mitigation action mappings
+ */
+export type ApiShieldOperationSchemaValidationSettingsMultipleRequestEntry = {
+  mitigation_action?: ApiShieldOperationMitigationAction;
+};
+
+/**
+ * The p50 quantile of requests (in period_seconds).
+ */
+export type ApiShieldP50 = number;
+
+/**
+ * The p90 quantile of requests (in period_seconds).
+ */
+export type ApiShieldP90 = number;
+
+/**
+ * The p99 quantile of requests (in period_seconds).
+ */
+export type ApiShieldP99 = number;
+
+/**
+ * An operation schema object containing a response.
+ *
+ * @example {"parameters":[{"description":"Sufficient requests have been observed for this parameter to provide high confidence in this parameter schema.","in":"path","name":"var1","required":true,"schema":{"maximum":10,"minimum":1,"type":"integer"}}],"responses":null}
+ */
+export type ApiShieldParameterSchemasDefinition = {
+  /**
+   * An array containing the learned parameter schemas.
+   *
+   * @example {"description":"Sufficient requests have been observed for this parameter to provide high confidence in this parameter schema.","in":"path","name":"var1","required":true,"schema":{"maximum":10,"minimum":1,"type":"integer"}}
+   */
+  parameters?: Record<string, any>[];
+  /**
+   * An empty response object. This field is required to yield a valid operation schema.
+   */
+  responses?: Record<string, any> | null;
+};
+
+export type ApiShieldPatchDiscoveriesResponse = ApiShieldApiResponseCommon & {
+  result: ApiShieldApiDiscoveryPatchMultipleRequest;
+};
+
+export type ApiShieldPatchDiscoveryResponse = ApiShieldApiResponseCommon & {
+  result: {
+    state?: ApiShieldApiDiscoveryState;
+  };
+};
+
+/**
+ * The period over which this threshold is suggested.
+ */
+export type ApiShieldPeriodSeconds = number;
+
+/**
+ * Requests information about certain properties.
+ *
+ * @example auth_id_characteristics
+ * @uniqueItems true
+ */
+export type ApiShieldProperties = 'auth_id_characteristics'[];
+
+export type ApiShieldPublicSchema = {
+  created_at: ApiShieldSchemasTimestamp;
+  kind: ApiShieldKind;
+  /**
+   * Name of the schema
+   *
+   * @example petstore schema
+   */
+  name: string;
+  schema_id: ApiShieldSchemasUuid;
+  /**
+   * Source of the schema
+   *
+   * @example <schema file bytes>
+   */
+  source?: string;
+  validation_enabled?: ApiShieldValidationEnabled;
+};
+
+export type ApiShieldRequestExpressionTemplatesFallthrough = {
+  /**
+   * List of hosts to be targeted in the expression
+   *
+   * @example {zone}.domain1.tld
+   * @example domain2.tld
+   */
+  hosts: string[];
+};
+
+/**
+ * The estimated number of requests covered by these calculations.
+ */
+export type ApiShieldRequests = number;
+
+export type ApiShieldResponseExpressionTemplatesFallthrough = {
+  /**
+   * WAF Expression for fallthrough
+   *
+   * @example (cf.api_gateway.fallthrough_detected)
+   */
+  expression: string;
+  /**
+   * Title for the expression
+   *
+   * @example Fallthrough Expression for [zone.domain.tld]
+   */
+  title: string;
+};
+
+export type ApiShieldResponseUserSchemasHosts = {
+  created_at: ApiShieldSchemasTimestamp;
+  /**
+   * Hosts serving the schema, e.g zone.host.com
+   */
+  hosts: string[];
+  /**
+   * Name of the schema
+   *
+   * @example petstore schema
+   */
+  name: string;
+  schema_id: ApiShieldSchemasUuid;
+};
+
+export type ApiShieldResultInfo = {
+  /**
+   * Total number of results for the requested service
+   *
+   * @example 1
+   */
+  count?: number;
+  /**
+   * Current page within paginated list of results
+   *
+   * @example 1
+   */
+  page?: number;
+  /**
+   * Number of results per page of results
+   *
+   * @example 20
+   */
+  per_page?: number;
+  /**
+   * Total results available without any search parameters
+   *
+   * @example 2000
+   */
+  total_count?: number;
+};
+
+export type ApiShieldSchemaResponseWithThresholds = ApiShieldApiResponseCommon & {
+  result: {
+    schemas?: ApiShieldOpenapiWithThresholds[];
+    timestamp?: string;
+  };
+};
+
+export type ApiShieldSchemaResponseDiscovery = ApiShieldApiResponseCommon & {
+  result: {
+    schemas: ApiShieldOpenapi[];
+    timestamp: ApiShieldSchemasTimestamp;
+  };
+};
+
+export type ApiShieldSchemaUploadDetailsErrorsCritical = {
+  /**
+   * Diagnostic critical error events that occurred during processing.
+   */
+  critical?: ApiShieldSchemaUploadLogEvent[];
+  /**
+   * Diagnostic error events that occurred during processing.
+   */
+  errors?: ApiShieldSchemaUploadLogEvent[];
+};
+
+export type ApiShieldSchemaUploadDetailsWarningsOnly = {
+  /**
+   * Diagnostic warning events that occurred during processing. These events are non-critical errors found within the schema.
+   */
+  warnings?: ApiShieldSchemaUploadLogEvent[];
+};
+
+export type ApiShieldSchemaUploadFailure = ApiShieldApiResponseCommonFailure & {
+  upload_details?: ApiShieldSchemaUploadDetailsErrorsCritical;
+};
+
+export type ApiShieldSchemaUploadLogEvent = {
+  /**
+   * Code that identifies the event that occurred.
+   *
+   * @example 28
+   */
+  code: number;
+  /**
+   * JSONPath location(s) in the schema where these events were encountered.  See [https://goessner.net/articles/JsonPath/](https://goessner.net/articles/JsonPath/) for JSONPath specification.
+   */
+  locations?: string[];
+  /**
+   * Diagnostic message that describes the event.
+   *
+   * @example unsupported media type: application/octet-stream
+   */
+  message?: string;
+};
+
+export type ApiShieldSchemaUploadResponse = {
+  schema: ApiShieldPublicSchema;
+  upload_details?: ApiShieldSchemaUploadDetailsWarningsOnly;
+};
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type ApiShieldSchemasIdentifier = ApiShieldIdentifier & string;
+
+/**
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
+ */
+export type ApiShieldSchemasTimestamp = ApiShieldTimestamp & string;
+
+/**
+ * UUID
+ *
+ * @minLength 36
+ * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
+ * @maxLength 36
+ */
+export type ApiShieldSchemasUuid = string & ApiShieldUuid;
+
+export type ApiShieldSingleOperationResponse = ApiShieldApiResponseCommon & {
+  result: ApiShieldOperation & {
+    features?: void;
+  };
+};
+
+export type ApiShieldStandardOperation = ApiShieldBasicOperation & {
+  last_updated: ApiShieldSchemasTimestamp;
+  operation_id: ApiShieldSchemasUuid;
+};
+
+/**
+ * The suggested threshold in requests done by the same auth_id or period_seconds.
+ */
+export type ApiShieldSuggestedThreshold = number;
+
+/**
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
+ */
+export type ApiShieldTimestamp = string;
+
+export type ApiShieldTrafficStats = {
+  traffic_stats?: {
+    last_updated: ApiShieldSchemasTimestamp;
+    /**
+     * The period in seconds these statistics were computed over
+     *
+     * @example 3600
+     */
+    period_seconds: number;
+    /**
+     * The average number of requests seen during this period
+     *
+     * @example 1987.06
+     * @format float
+     */
+    requests: number;
+  };
+};
+
+/**
+ * UUID
+ *
+ * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
+ * @maxLength 36
+ */
+export type ApiShieldUuid = string;
+
+/**
+ * The default mitigation action used when there is no mitigation action defined on the operation
+ *
+ * Mitigation actions are as follows:
+ *
+ *   * `log` - log request when request does not conform to schema
+ *   * `block` - deny access to the site when request does not conform to schema
+ *
+ * A special value of of `none` will skip running schema validation entirely for the request when there is no mitigation action defined on the operation
+ *
+ * @example block
+ */
+export type ApiShieldValidationDefaultMitigationAction = 'none' | 'log' | 'block';
+
+/**
+ * The default mitigation action used when there is no mitigation action defined on the operation
+ * Mitigation actions are as follows:
+ *
+ *   * `log` - log request when request does not conform to schema
+ *   * `block` - deny access to the site when request does not conform to schema
+ *
+ * A special value of of `none` will skip running schema validation entirely for the request when there is no mitigation action defined on the operation
+ *
+ * `null` will have no effect.
+ *
+ * @example block
+ */
+export type ApiShieldValidationDefaultMitigationActionPatch = 'none' | 'log' | 'block' | any | null;
+
+/**
+ * Flag whether schema is enabled for validation.
+ */
+export type ApiShieldValidationEnabled = boolean;
+
+/**
+ * When set, this overrides both zone level and operation level mitigation actions.
+ *
+ *   - `none` will skip running schema validation entirely for the request
+ *   - `null` indicates that no override is in place
+ *
+ * @example disable_override
+ */
+export type ApiShieldValidationOverrideMitigationAction = 'none' | any | null;
+
+/**
+ * When set, this overrides both zone level and operation level mitigation actions.
+ *
+ *   - `none` will skip running schema validation entirely for the request
+ *
+ * To clear any override, use the special value `disable_override`
+ *
+ * `null` will have no effect.
+ *
+ * @example none
+ */
+export type ApiShieldValidationOverrideMitigationActionPatch = 'none' | 'disable_override' | any | null;
+
+/**
+ * When set, this overrides both zone level and operation level mitigation actions.
+ *
+ *   - `none` will skip running schema validation entirely for the request
+ *   - `null` indicates that no override is in place
+ *
+ * To clear any override, use the special value `disable_override` or `null`
+ *
+ * @example none
+ */
+export type ApiShieldValidationOverrideMitigationActionWrite = 'none' | 'disable_override' | any | null;
+
+export type ApiShieldZoneSchemaValidationSettings = {
+  validation_default_mitigation_action?: ApiShieldValidationDefaultMitigationAction;
+  validation_override_mitigation_action?: ApiShieldValidationOverrideMitigationAction;
+};
+
+export type ApiShieldZoneSchemaValidationSettingsPatch = {
+  validation_default_mitigation_action?: ApiShieldValidationDefaultMitigationActionPatch;
+  validation_override_mitigation_action?: ApiShieldValidationOverrideMitigationActionPatch;
+};
+
+export type ApiShieldZoneSchemaValidationSettingsPut = {
+  validation_default_mitigation_action: ApiShieldValidationDefaultMitigationAction;
+  validation_override_mitigation_action?: ApiShieldValidationOverrideMitigationActionWrite;
+};
+
+export type ArgoAnalyticsApiResponseCommon = {
+  errors: ArgoAnalyticsMessages;
+  messages: ArgoAnalyticsMessages;
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ArgoAnalyticsApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: ArgoAnalyticsMessages;
+  messages: ArgoAnalyticsMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type ArgoAnalyticsApiResponseSingle = {
+  errors: ArgoAnalyticsMessages;
+  messages: ArgoAnalyticsMessages;
+  result: (Record<string, any> | null) | (string | null) | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type ArgoAnalyticsIdentifier = string;
+
+export type ArgoAnalyticsMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+export type ArgoAnalyticsResponseSingle = ArgoAnalyticsApiResponseSingle & {
+  result?: Record<string, any>;
+};
+
+export type ArgoConfigApiResponseCommon = {
+  errors: ArgoConfigMessages;
+  messages: ArgoConfigMessages;
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ArgoConfigApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: ArgoConfigMessages;
+  messages: ArgoConfigMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type ArgoConfigApiResponseSingle = {
+  errors: ArgoConfigMessages;
+  messages: ArgoConfigMessages;
+  result: (Record<string, any> | null) | (string | null) | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type ArgoConfigIdentifier = string;
+
+export type ArgoConfigMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+/**
+ * Update enablement of Argo Smart Routing
+ */
+export type ArgoConfigPatch = {
+  value: ArgoConfigValue;
+};
+
+export type ArgoConfigResponseSingle = ArgoConfigApiResponseSingle & {
+  result?: Record<string, any>;
+};
+
+/**
+ * Enables Argo Smart Routing.
+ *
+ * @example on
+ */
+export type ArgoConfigValue = 'on' | 'off';
+
+export type BillSubsApiAccountSubscriptionResponseCollection = BillSubsApiApiResponseCollection & {
+  result?: BillSubsApiSubscription[];
+};
+
+export type BillSubsApiAccountSubscriptionResponseSingle = BillSubsApiApiResponseSingle & {
+  result?: Record<string, any>;
+};
+
+/**
+ * The billing item action.
+ *
+ * @example subscription
+ * @maxLength 30
+ */
+export type BillSubsApiAction = string;
+
+/**
+ * The amount associated with this billing item.
+ *
+ * @example 20.99
+ */
+export type BillSubsApiAmount = number;
+
+export type BillSubsApiApiResponseCollection = {
+  errors: BillSubsApiMessages;
+  messages: BillSubsApiMessages;
+  result: Record<string, any> | any[] | string | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+  result_info?: BillSubsApiResultInfo;
+};
+
+export type BillSubsApiApiResponseCommon = {
+  errors: BillSubsApiMessages;
+  messages: BillSubsApiMessages;
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type BillSubsApiApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: BillSubsApiMessages;
+  messages: BillSubsApiMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type BillSubsApiApiResponseSingle = {
+  errors: BillSubsApiMessages;
+  messages: BillSubsApiMessages;
+  result: (Record<string, any> | null) | (string | null) | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type BillSubsApiAvailableRatePlan = {
+  can_subscribe?: BillSubsApiCanSubscribe;
+  currency?: BillSubsApiCurrency;
+  externally_managed?: BillSubsApiExternallyManaged;
+  frequency?: BillSubsApiSchemasFrequency;
+  id?: BillSubsApiIdentifier;
+  is_subscribed?: BillSubsApiIsSubscribed;
+  legacy_discount?: BillSubsApiLegacyDiscount;
+  legacy_id?: BillSubsApiLegacyId;
+  name?: BillSubsApiSchemasName;
+  price?: BillSubsApiSchemasPrice;
+};
+
+export type BillSubsApiBillingHistory = {
+  action: BillSubsApiAction;
+  amount: BillSubsApiAmount;
+  currency: BillSubsApiCurrency;
+  description: BillSubsApiDescription;
+  id: BillSubsApiComponentsSchemasIdentifier;
+  occurred_at: BillSubsApiOccurredAt;
+  type: BillSubsApiType;
+  zone: BillSubsApiSchemasZone;
+};
+
+export type BillSubsApiBillingHistoryCollection = BillSubsApiApiResponseCollection & {
+  result?: BillSubsApiBillingHistory[];
+};
+
+export type BillSubsApiBillingResponseSingle = BillSubsApiApiResponseSingle & {
+  result?: {
+    /**
+     * @example type
+     */
+    account_type?: string;
+    /**
+     * @example 123 Main Street
+     */
+    address?: string;
+    /**
+     * @example Apt 1
+     */
+    address2?: string;
+    /**
+     * @example 0
+     */
+    balance?: string;
+    /**
+     * @example 12
+     */
+    card_expiry_month?: number;
+    /**
+     * @example 2099
+     */
+    card_expiry_year?: number;
+    /**
+     * @example 4242424242424242
+     */
+    card_number?: string;
+    /**
+     * @example Anytown
+     */
+    city?: string;
+    /**
+     * @example Company
+     */
+    company?: string;
+    /**
+     * @example Anycountry
+     */
+    country?: string;
+    /**
+     * @example 2014-03-01T12:21:59.3456Z
+     * @format date-time
+     */
+    created_on?: string;
+    /**
+     * @example sample_data
+     */
+    device_data?: string;
+    /**
+     * @example 2014-03-01T12:21:59.3456Z
+     * @format date-time
+     */
+    edited_on?: string;
+    /**
+     * @example johndoe@gmail.com
+     */
+    enterprise_billing_email?: string;
+    /**
+     * @example johndoe@gmail.com
+     */
+    enterprise_primary_email?: string;
+    /**
+     * @example John
+     */
+    first_name?: string;
+    id?: BillSubsApiComponentsSchemasIdentifier;
+    /**
+     * @example false
+     */
+    is_partner?: boolean;
+    /**
+     * @example Doe
+     */
+    last_name?: string;
+    /**
+     * @example 2014-03-01T12:21:59.3456Z
+     * @format date-time
+     */
+    next_bill_date?: string;
+    /**
+     * @example 123 Main Street
+     */
+    payment_address?: string;
+    /**
+     * @example Apt 1
+     */
+    payment_address2?: string;
+    /**
+     * @example Anytown
+     */
+    payment_city?: string;
+    /**
+     * @example Anycountry
+     */
+    payment_country?: string;
+    /**
+     * @example johndoe@gmail.com
+     */
+    payment_email?: string;
+    /**
+     * @example John
+     */
+    payment_first_name?: string;
+    /**
+     * @example gateway
+     */
+    payment_gateway?: string;
+    /**
+     * @example Doe
+     */
+    payment_last_name?: string;
+    /**
+     * @example abc123
+     */
+    payment_nonce?: string;
+    /**
+     * @example state
+     */
+    payment_state?: string;
+    /**
+     * @example 12345
+     */
+    payment_zipcode?: string;
+    /**
+     * @example johndoe@gmail.com
+     */
+    primary_email?: string;
+    /**
+     * @example AnyState
+     */
+    state?: string;
+    /**
+     * @example type
+     */
+    tax_id_type?: string;
+    /**
+     * @example 1234567899
+     */
+    telephone?: string;
+    /**
+     * @example false
+     */
+    use_legacy?: boolean;
+    /**
+     * @example 1111
+     */
+    validation_code?: string;
+    /**
+     * @example GB123456789
+     */
+    vat?: string;
+    /**
+     * @example 12345
+     */
+    zipcode?: string;
+  };
+};
+
+/**
+ * Indicates whether you can subscribe to this plan.
+ *
+ * @default false
+ * @example true
+ */
+export type BillSubsApiCanSubscribe = boolean;
+
+export type BillSubsApiComponentValue = {
+  ['default']?: BillSubsApiDefault;
+  name?: BillSubsApiComponentsSchemasName;
+  unit_price?: BillSubsApiUnitPrice;
+};
+
+/**
+ * The list of add-ons subscribed to.
+ */
+export type BillSubsApiComponentValues = BillSubsApiComponentValue2[];
+
+/**
+ * Billing item identifier tag.
+ *
+ * @example b69a9f3492637782896352daae219e7d
+ * @maxLength 32
+ */
+export type BillSubsApiComponentsSchemasIdentifier = string;
+
+/**
+ * The unique component.
+ *
+ * @example page_rules
+ */
+export type BillSubsApiComponentsSchemasName =
+  | 'zones'
+  | 'page_rules'
+  | 'dedicated_certificates'
+  | 'dedicated_certificates_custom';
+
+/**
+ * The monetary unit in which pricing information is displayed.
+ *
+ * @example USD
+ */
+export type BillSubsApiCurrency = string;
+
+/**
+ * The end of the current period and also when the next billing is due.
+ *
+ * @example 2014-03-31T12:20:00Z
+ * @format date-time
+ */
+export type BillSubsApiCurrentPeriodEnd = string;
+
+/**
+ * When the current billing period started. May match initial_period_start if this is the first period.
+ *
+ * @example 2014-05-11T12:20:00Z
+ * @format date-time
+ */
+export type BillSubsApiCurrentPeriodStart = string;
+
+/**
+ * The default amount allocated.
+ *
+ * @example 5
+ */
+export type BillSubsApiDefault = number;
+
+/**
+ * The billing item description.
+ *
+ * @example The billing item description
+ * @maxLength 255
+ */
+export type BillSubsApiDescription = string;
+
+/**
+ * The duration of the plan subscription.
+ *
+ * @example 1
+ */
+export type BillSubsApiDuration = number;
+
+/**
+ * Indicates whether this plan is managed externally.
+ *
+ * @default false
+ * @example false
+ */
+export type BillSubsApiExternallyManaged = boolean;
+
+/**
+ * How often the subscription is renewed automatically.
+ *
+ * @example monthly
+ */
+export type BillSubsApiFrequency = 'weekly' | 'monthly' | 'quarterly' | 'yearly';
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type BillSubsApiIdentifier = string;
+
+/**
+ * app install id.
+ */
+export type BillSubsApiInstallId = string;
+
+/**
+ * Indicates whether you are currently subscribed to this plan.
+ *
+ * @default false
+ * @example false
+ */
+export type BillSubsApiIsSubscribed = boolean;
+
+/**
+ * Indicates whether this plan has a legacy discount applied.
+ *
+ * @default false
+ * @example false
+ */
+export type BillSubsApiLegacyDiscount = boolean;
+
+/**
+ * The legacy identifier for this rate plan, if any.
+ *
+ * @example free
+ */
+export type BillSubsApiLegacyId = string;
+
+export type BillSubsApiMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+/**
+ * The domain name
+ *
+ * @example example.com
+ * @maxLength 253
+ * @pattern ^([a-zA-Z0-9][\-a-zA-Z0-9]*\.)+[\-a-zA-Z0-9]{2,20}$
+ */
+export type BillSubsApiName = string;
+
+/**
+ * When the billing item was created.
+ *
+ * @example 2014-03-01T12:21:59.3456Z
+ * @format date-time
+ */
+export type BillSubsApiOccurredAt = string;
+
+export type BillSubsApiPlanResponseCollection = BillSubsApiApiResponseCollection & {
+  result?: BillSubsApiSchemasRatePlan[];
+};
+
+/**
+ * The price of the subscription that will be billed, in US dollars.
+ *
+ * @example 20
+ */
+export type BillSubsApiPrice = number;
+
+export type BillSubsApiRatePlan = {
+  components?: BillSubsApiSchemasComponentValues;
+  currency?: BillSubsApiCurrency;
+  duration?: BillSubsApiDuration;
+  frequency?: BillSubsApiSchemasFrequency;
+  id?: BillSubsApiRatePlanComponentsSchemasIdentifier;
+  name?: BillSubsApiSchemasName;
+};
+
+/**
+ * Plan identifier tag.
+ *
+ * @example free
+ */
+export type BillSubsApiRatePlanComponentsSchemasIdentifier = string;
+
+export type BillSubsApiResultInfo = {
+  /**
+   * Total number of results for the requested service
+   *
+   * @example 1
+   */
+  count?: number;
+  /**
+   * Current page within paginated list of results
+   *
+   * @example 1
+   */
+  page?: number;
+  /**
+   * Number of results per page of results
+   *
+   * @example 20
+   */
+  per_page?: number;
+  /**
+   * Total results available without any search parameters
+   *
+   * @example 2000
+   */
+  total_count?: number;
+};
+
+/**
+ * Array of available components values for the plan.
+ */
+export type BillSubsApiSchemasComponentValues = BillSubsApiComponentValue[];
+
+/**
+ * The frequency at which you will be billed for this plan.
+ *
+ * @example monthly
+ */
+export type BillSubsApiSchemasFrequency = 'weekly' | 'monthly' | 'quarterly' | 'yearly';
+
+/**
+ * Subscription identifier tag.
+ *
+ * @example 506e3185e9c882d175a2d0cb0093d9f2
+ * @maxLength 32
+ */
+export type BillSubsApiSchemasIdentifier = string;
+
+/**
+ * The plan name.
+ *
+ * @example Free Plan
+ * @maxLength 80
+ */
+export type BillSubsApiSchemasName = string;
+
+/**
+ * The amount you will be billed for this plan.
+ *
+ * @example 0
+ */
+export type BillSubsApiSchemasPrice = number;
+
+export type BillSubsApiSchemasRatePlan = BillSubsApiRatePlan;
+
+export type BillSubsApiSchemasZone = {
+  name?: string;
+};
+
+/**
+ * The state that the subscription is in.
+ *
+ * @example Paid
+ */
+export type BillSubsApiState =
+  | 'Trial'
+  | 'Provisioned'
+  | 'Paid'
+  | 'AwaitingPayment'
+  | 'Cancelled'
+  | 'Failed'
+  | 'Expired';
+
+export type BillSubsApiSubscription = BillSubsApiSubscriptionV2;
+
+export type BillSubsApiSubscriptionV2 = {
+  app?: {
+    install_id?: BillSubsApiInstallId;
+  };
+  component_values?: BillSubsApiComponentValues;
+  currency?: BillSubsApiCurrency;
+  current_period_end?: BillSubsApiCurrentPeriodEnd;
+  current_period_start?: BillSubsApiCurrentPeriodStart;
+  frequency?: BillSubsApiFrequency;
+  id?: BillSubsApiSchemasIdentifier;
+  price?: BillSubsApiPrice;
+  rate_plan?: BillSubsApiRatePlan2;
+  state?: BillSubsApiState;
+  zone?: BillSubsApiZone;
+};
+
+/**
+ * The billing item type.
+ *
+ * @example charge
+ * @maxLength 30
+ */
+export type BillSubsApiType = string;
+
+/**
+ * The unit price of the addon.
+ *
+ * @example 1
+ */
+export type BillSubsApiUnitPrice = number;
+
+export type BillSubsApiUserSubscriptionResponseCollection = BillSubsApiApiResponseCollection & {
+  result?: BillSubsApiSubscription[];
+};
+
+export type BillSubsApiUserSubscriptionResponseSingle = BillSubsApiApiResponseSingle & {
+  result?: Record<string, any>;
+};
+
+/**
+ * A simple zone object. May have null properties if not a zone subscription.
+ */
+export type BillSubsApiZone = {
+  id?: BillSubsApiIdentifier;
+  name?: BillSubsApiName;
+};
+
+export type BillSubsApiZoneSubscriptionResponseSingle = BillSubsApiApiResponseSingle & {
+  result?: Record<string, any>;
+};
+
+/**
+ * Enable rule to block AI Scrapers and Crawlers.
+ *
+ * @example block
+ */
+export type BotManagementAiBotsProtection = 'block' | 'disabled';
+
+export type BotManagementApiResponseCommon = {
+  errors: BotManagementMessages;
+  messages: BotManagementMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type BotManagementApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: BotManagementMessages;
+  messages: BotManagementMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type BotManagementApiResponseSingle = BotManagementApiResponseCommon;
+
+/**
+ * Automatically update to the newest bot detection models created by Cloudflare as they are released. [Learn more.](https://developers.cloudflare.com/bots/reference/machine-learning-models#model-versions-and-release-notes)
+ *
+ * @example true
+ */
+export type BotManagementAutoUpdateModel = boolean;
+
+export type BotManagementBaseConfig = {
+  ai_bots_protection?: BotManagementAiBotsProtection;
+  enable_js?: BotManagementEnableJs;
+  using_latest_model?: BotManagementUsingLatestModel;
+};
+
+export type BotManagementBmSubscriptionConfig = BotManagementBaseConfig & {
+  auto_update_model?: BotManagementAutoUpdateModel;
+  /**
+   * A read-only field that shows which unauthorized settings are currently active on the zone. These settings typically result from upgrades or downgrades.
+   */
+  stale_zone_configuration?: {
+    fight_mode?: BotManagementFightModeTurnedOn;
+    optimize_wordpress?: BotManagementOptimizeWordpressTurnedOn;
+    sbfm_definitely_automated?: BotManagementSbfmDefinitelyAutomatedTurnedOn;
+    sbfm_likely_automated?: BotManagementSbfmLikelyAutomatedTurnedOn;
+    sbfm_static_resource_protection?: BotManagementSbfmStaticResourceProtectionTurnedOn;
+    sbfm_verified_bots?: BotManagementSbfmVerifiedBotsTurnedOn;
+  };
+  suppress_session_score?: BotManagementSuppressSessionScore;
+};
+
+export type BotManagementBotFightModeConfig = BotManagementBaseConfig & {
+  fight_mode?: BotManagementFightMode;
+  /**
+   * A read-only field that shows which unauthorized settings are currently active on the zone. These settings typically result from upgrades or downgrades.
+   */
+  stale_zone_configuration?: {
+    optimize_wordpress?: BotManagementOptimizeWordpressTurnedOn;
+    sbfm_definitely_automated?: BotManagementSbfmDefinitelyAutomatedTurnedOn;
+    sbfm_likely_automated?: BotManagementSbfmLikelyAutomatedTurnedOn;
+    sbfm_static_resource_protection?: BotManagementSbfmStaticResourceProtectionTurnedOn;
+    sbfm_verified_bots?: BotManagementSbfmVerifiedBotsTurnedOn;
+    suppress_session_score?: BotManagementSuppressSessionScoreTurnedOff;
+  };
+};
+
+export type BotManagementBotManagementResponseBody = BotManagementApiResponseSingle & {
+  result?:
+    | BotManagementBotFightModeConfig
+    | BotManagementSbfmDefinitelyConfig
+    | BotManagementSbfmLikelyConfig
+    | BotManagementBmSubscriptionConfig;
+};
+
+export type BotManagementConfigSingle =
+  | BotManagementBotFightModeConfig
+  | BotManagementSbfmDefinitelyConfig
+  | BotManagementSbfmLikelyConfig
+  | BotManagementBmSubscriptionConfig;
+
+/**
+ * Use lightweight, invisible JavaScript detections to improve Bot Management. [Learn more about JavaScript Detections](https://developers.cloudflare.com/bots/reference/javascript-detections/).
+ *
+ * @example true
+ */
+export type BotManagementEnableJs = boolean;
+
+/**
+ * Whether to enable Bot Fight Mode.
+ *
+ * @example true
+ */
+export type BotManagementFightMode = boolean;
+
+/**
+ * Indicates that the zone's Bot Fight Mode is turned on.
+ */
+export type BotManagementFightModeTurnedOn = boolean;
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type BotManagementIdentifier = string;
+
+export type BotManagementMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+/**
+ * Whether to optimize Super Bot Fight Mode protections for Wordpress.
+ *
+ * @example true
+ */
+export type BotManagementOptimizeWordpress = boolean;
+
+/**
+ * Indicates that the zone's wordpress optimization for SBFM is turned on.
+ */
+export type BotManagementOptimizeWordpressTurnedOn = boolean;
+
+/**
+ * Super Bot Fight Mode (SBFM) action to take on definitely automated requests.
+ *
+ * @example allow
+ */
+export type BotManagementSbfmDefinitelyAutomated = 'allow' | 'block' | 'managed_challenge';
+
+/**
+ * Indicates that the zone's definitely automated requests are being blocked or challenged.
+ */
+export type BotManagementSbfmDefinitelyAutomatedTurnedOn = string;
+
+export type BotManagementSbfmDefinitelyConfig = BotManagementBaseConfig & {
+  optimize_wordpress?: BotManagementOptimizeWordpress;
+  sbfm_definitely_automated?: BotManagementSbfmDefinitelyAutomated;
+  sbfm_static_resource_protection?: BotManagementSbfmStaticResourceProtection;
+  sbfm_verified_bots?: BotManagementSbfmVerifiedBots;
+  /**
+   * A read-only field that shows which unauthorized settings are currently active on the zone. These settings typically result from upgrades or downgrades.
+   */
+  stale_zone_configuration?: {
+    fight_mode?: BotManagementFightModeTurnedOn;
+    sbfm_likely_automated?: BotManagementSbfmLikelyAutomatedTurnedOn;
+  };
+};
+
+/**
+ * Super Bot Fight Mode (SBFM) action to take on likely automated requests.
+ *
+ * @example allow
+ */
+export type BotManagementSbfmLikelyAutomated = 'allow' | 'block' | 'managed_challenge';
+
+/**
+ * Indicates that the zone's likely automated requests are being blocked or challenged.
+ */
+export type BotManagementSbfmLikelyAutomatedTurnedOn = string;
+
+export type BotManagementSbfmLikelyConfig = BotManagementBaseConfig & {
+  optimize_wordpress?: BotManagementOptimizeWordpress;
+  sbfm_definitely_automated?: BotManagementSbfmDefinitelyAutomated;
+  sbfm_likely_automated?: BotManagementSbfmLikelyAutomated;
+  sbfm_static_resource_protection?: BotManagementSbfmStaticResourceProtection;
+  sbfm_verified_bots?: BotManagementSbfmVerifiedBots;
+  /**
+   * A read-only field that shows which unauthorized settings are currently active on the zone. These settings typically result from upgrades or downgrades.
+   */
+  stale_zone_configuration?: {
+    fight_mode?: BotManagementFightModeTurnedOn;
+  };
+};
+
+/**
+ * Super Bot Fight Mode (SBFM) to enable static resource protection.
+ * Enable if static resources on your application need bot protection.
+ * Note: Static resource protection can also result in legitimate traffic being blocked.
+ *
+ * @example true
+ */
+export type BotManagementSbfmStaticResourceProtection = boolean;
+
+/**
+ * Indicates that the zone's static resource protection is turned on.
+ */
+export type BotManagementSbfmStaticResourceProtectionTurnedOn = string;
+
+/**
+ * Super Bot Fight Mode (SBFM) action to take on verified bots requests.
+ *
+ * @example allow
+ */
+export type BotManagementSbfmVerifiedBots = 'allow' | 'block';
+
+/**
+ * Indicates that the zone's verified bot requests are being blocked.
+ */
+export type BotManagementSbfmVerifiedBotsTurnedOn = string;
+
+/**
+ * Whether to disable tracking the highest bot score for a session in the Bot Management cookie.
+ *
+ * @default false
+ * @example false
+ */
+export type BotManagementSuppressSessionScore = boolean;
+
+/**
+ * Indicates that the zone's session score tracking is disabled.
+ */
+export type BotManagementSuppressSessionScoreTurnedOff = boolean;
+
+/**
+ * A read-only field that indicates whether the zone currently is running the latest ML model.
+ *
+ * @example true
+ */
+export type BotManagementUsingLatestModel = boolean;
+
+export type CachePurgeEverything = {
+  /**
+   * For more information, please refer to [purge everything documentation page](https://developers.cloudflare.com/cache/how-to/purge-cache/purge-everything/).
+   *
+   * @example true
+   */
+  purge_everything?: boolean;
+};
+
+export type CachePurgeFlexPurgeByHostnames = {
+  /**
+   * For more information purging by hostnames, please refer to [purge by hostname documentation page](https://developers.cloudflare.com/cache/how-to/purge-cache/purge-by-hostname/).
+   *
+   * @example www.example.com
+   * @example images.example.com
+   */
+  hosts?: string[];
+};
+
+export type CachePurgeFlexPurgeByPrefixes = {
+  /**
+   * For more information on purging by prefixes, please refer to [purge by prefix documentation page](https://developers.cloudflare.com/cache/how-to/purge-cache/purge_by_prefix/).
+   *
+   * @example www.example.com/foo
+   * @example images.example.com/bar/baz
+   */
+  prefixes?: string[];
+};
+
+export type CachePurgeFlexPurgeByTags = {
+  /**
+   * For more information on cache tags and purging by tags, please refer to [purge by cache-tags documentation page](https://developers.cloudflare.com/cache/how-to/purge-cache/purge-by-tags/#purge-cache-by-cache-tags-enterprise-only).
+   *
+   * @example a-cache-tag
+   * @example another-cache-tag
+   */
+  tags?: string[];
+};
+
+export type CachePurgeSingleFile = {
+  /**
+   * For more information on purging files, please refer to [purge by single-file documentation page](https://developers.cloudflare.com/cache/how-to/purge-cache/purge-by-single-file/).
+   *
+   * @example http://www.example.com/css/styles.css
+   * @example http://www.example.com/js/index.js
+   */
+  files?: string[];
+};
+
+export type CachePurgeSingleFileWithUrlAndHeaders = {
+  /**
+   * For more information on purging files with URL and headers, please refer to [purge by single-file documentation page](https://developers.cloudflare.com/cache/how-to/purge-cache/purge-by-single-file/).
+   *
+   * @example {"headers":{"Accept-Language":"zh-CN","CF-Device-Type":"desktop","CF-IPCountry":"US"},"url":"http://www.example.com/cat_picture.jpg"}
+   * @example {"headers":{"Accept-Language":"en-US","CF-Device-Type":"mobile","CF-IPCountry":"EU"},"url":"http://www.example.com/dog_picture.jpg"}
+   */
+  files?: {
+    /**
+     * @example <HTTP header object>
+     */
+    headers?: Record<string, any>;
+    /**
+     * @example http://www.example.com/cat_picture.jpg
+     */
+    url?: string;
+  }[];
+};
+
+export type CachePurgeApiResponseCommon = {
+  errors: CachePurgeMessages;
+  messages: CachePurgeMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type CachePurgeApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: CachePurgeMessages;
+  messages: CachePurgeMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type CachePurgeApiResponseSingleId = CachePurgeApiResponseCommon & {
+  result?: {
+    id: CachePurgeSchemasIdentifier;
+  } | null;
+};
+
+export type CachePurgeIdentifier = string;
+
+export type CachePurgeMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type CachePurgeSchemasIdentifier = string;
+
+export type CacheRulesApiResponseCommon = {
+  errors: CacheRulesMessages;
+  messages: CacheRulesMessages;
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type CacheRulesApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: CacheRulesMessages;
+  messages: CacheRulesMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type CacheRulesApiResponseSingle = {
+  errors: CacheRulesMessages;
+  messages: CacheRulesMessages;
+  result: (Record<string, any> | null) | (string | null) | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type CacheRulesBase = {
+  /**
+   * Identifier of the zone setting.
+   */
+  id: string;
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on: string | null;
+};
+
+/**
+ * Increase cache lifetimes by automatically storing all cacheable files into Cloudflare's persistent object storage buckets. Requires Cache Reserve subscription. Note: using Tiered Cache with Cache Reserve is highly recommended to reduce Reserve operations costs. See the [developer docs](https://developers.cloudflare.com/cache/about/cache-reserve) for more information.
+ */
+export type CacheRulesCacheReserve = {
+  /**
+   * ID of the zone setting.
+   *
+   * @example cache_reserve
+   */
+  id: 'cache_reserve';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on: string | null;
+};
+
+/**
+ * You can use Cache Reserve Clear to clear your Cache Reserve, but you must first disable Cache Reserve. In most cases, this will be accomplished within 24 hours. You cannot re-enable Cache Reserve while this process is ongoing. Keep in mind that you cannot undo or cancel this operation.
+ */
+export type CacheRulesCacheReserveClear = {
+  /**
+   * ID of the zone setting.
+   *
+   * @example cache_reserve_clear
+   */
+  id: 'cache_reserve_clear';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on: string | null;
+};
+
+/**
+ * The time that the latest Cache Reserve Clear operation completed.
+ *
+ * @example 2023-10-02T12:00:00.12345Z
+ * @format date-time
+ */
+export type CacheRulesCacheReserveClearEndTs = string;
+
+/**
+ * The POST request body does not carry any information.
+ *
+ * @example {}
+ */
+export type CacheRulesCacheReserveClearPostRequestBody = string;
+
+export type CacheRulesCacheReserveClearResponseValue = {
+  /**
+   * You can use Cache Reserve Clear to clear your Cache Reserve, but you must first disable Cache Reserve. In most cases, this will be accomplished within 24 hours. You cannot re-enable Cache Reserve while this process is ongoing. Keep in mind that you cannot undo or cancel this operation.
+   */
+  result?: CacheRulesCacheReserveClear & {
+    end_ts?: CacheRulesCacheReserveClearEndTs;
+    start_ts: CacheRulesCacheReserveClearStartTs;
+    state: CacheRulesCacheReserveClearState;
+  };
+};
+
+/**
+ * The time that the latest Cache Reserve Clear operation started.
+ *
+ * @example 2023-10-02T10:00:00.12345Z
+ * @format date-time
+ */
+export type CacheRulesCacheReserveClearStartTs = string;
+
+/**
+ * The current state of the Cache Reserve Clear operation.
+ *
+ * @example In-progress
+ */
+export type CacheRulesCacheReserveClearState = 'In-progress' | 'Completed';
+
+export type CacheRulesCacheReserveResponseValue = {
+  /**
+   * Increase cache lifetimes by automatically storing all cacheable files into Cloudflare's persistent object storage buckets. Requires Cache Reserve subscription. Note: using Tiered Cache with Cache Reserve is highly recommended to reduce Reserve operations costs. See the [developer docs](https://developers.cloudflare.com/cache/about/cache-reserve) for more information.
+   */
+  result?: CacheRulesCacheReserve & {
+    value: CacheRulesCacheReserveValue;
+  };
+};
+
+/**
+ * Value of the Cache Reserve zone setting.
+ *
+ * @default off
+ */
+export type CacheRulesCacheReserveValue = 'on' | 'off';
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type CacheRulesIdentifier = string;
+
+export type CacheRulesMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+/**
+ * Origin Max HTTP Setting Version sets the highest HTTP version Cloudflare will attempt to use with your origin. This setting allows Cloudflare to make HTTP/2 requests to your origin. (Refer to [Enable HTTP/2 to Origin](https://developers.cloudflare.com/cache/how-to/enable-http2-to-origin/), for more information.). The default value is "2" for all plan types except ENT where it is "1"
+ */
+export type CacheRulesOriginMaxHttpVersion = {
+  /**
+   * Value of the zone setting.
+   *
+   * @example origin_max_http_version
+   */
+  id: 'origin_max_http_version';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on: string | null;
+};
+
+export type CacheRulesOriginMaxHttpVersionResponseValue = {
+  /**
+   * Origin Max HTTP Setting Version sets the highest HTTP version Cloudflare will attempt to use with your origin. This setting allows Cloudflare to make HTTP/2 requests to your origin. (Refer to [Enable HTTP/2 to Origin](https://developers.cloudflare.com/cache/how-to/enable-http2-to-origin/), for more information.). The default value is "2" for all plan types except ENT where it is "1"
+   */
+  result?: CacheRulesOriginMaxHttpVersion & {
+    value: CacheRulesOriginMaxHttpVersionValue;
+  };
+};
+
+/**
+ * Value of the Origin Max HTTP Version Setting.
+ */
+export type CacheRulesOriginMaxHttpVersionValue = '2' | '1';
+
+/**
+ * Instructs Cloudflare to use Post-Quantum (PQ) key agreement algorithms when connecting to your origin. Preferred instructs Cloudflare to opportunistically send a Post-Quantum keyshare in the first message to the origin (for fastest connections when the origin supports and prefers PQ), supported means that PQ algorithms are advertised but only used when requested by the origin, and off means that PQ algorithms are not advertised
+ */
+export type CacheRulesOriginPostQuantumEncryption = {
+  /**
+   * Value of the zone setting.
+   *
+   * @example origin_pqe
+   */
+  id: 'origin_pqe';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on: string | null;
+};
+
+export type CacheRulesOriginPostQuantumEncryptionResponseValue = {
+  /**
+   * Instructs Cloudflare to use Post-Quantum (PQ) key agreement algorithms when connecting to your origin. Preferred instructs Cloudflare to opportunistically send a Post-Quantum keyshare in the first message to the origin (for fastest connections when the origin supports and prefers PQ), supported means that PQ algorithms are advertised but only used when requested by the origin, and off means that PQ algorithms are not advertised
+   */
+  result?: CacheRulesOriginPostQuantumEncryption & {
+    value: CacheRulesOriginPostQuantumEncryption;
+  };
+};
+
+/**
+ * Value of the Origin Post Quantum Encryption Setting.
+ *
+ * @default supported
+ */
+export type CacheRulesOriginPostQuantumEncryptionValue = 'preferred' | 'supported' | 'off';
+
+/**
+ * Update enablement of Tiered Caching
+ */
+export type CacheRulesPatch = {
+  value: CacheRulesValue;
+};
+
+/**
+ * Instructs Cloudflare to check a regional hub data center on the way to your upper tier. This can help improve performance for smart and custom tiered cache topologies.
+ */
+export type CacheRulesRegionalTieredCache = {
+  /**
+   * ID of the zone setting.
+   *
+   * @example tc_regional
+   */
+  id: 'tc_regional';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on: string | null;
+};
+
+export type CacheRulesRegionalTieredCacheResponseValue = {
+  /**
+   * Instructs Cloudflare to check a regional hub data center on the way to your upper tier. This can help improve performance for smart and custom tiered cache topologies.
+   */
+  result?: CacheRulesRegionalTieredCache & {
+    value: CacheRulesRegionalTieredCache;
+  };
+};
+
+/**
+ * Value of the Regional Tiered Cache zone setting.
+ *
+ * @default off
+ */
+export type CacheRulesRegionalTieredCacheValue = 'on' | 'off';
+
+export type CacheRulesResponseSingle = CacheRulesApiResponseSingle & {
+  result?: CacheRulesResultObject;
+};
+
+export type CacheRulesResultObject = {
+  /**
+   * Whether the setting is editable
+   */
+  editable: boolean;
+  /**
+   * The identifier of the caching setting
+   */
+  id: string;
+  /**
+   * The time when the setting was last modified
+   *
+   * @format date-time
+   */
+  modified_on: string;
+  /**
+   * The status of the feature being on / off
+   */
+  value: 'on' | 'off';
+};
+
+/**
+ * Update enablement of Smart Tiered Cache
+ */
+export type CacheRulesSmartTieredCachePatch = {
+  /**
+   * Enable or disable the Smart Tiered Cache
+   *
+   * @example on
+   */
+  value: 'on' | 'off';
+};
+
+/**
+ * Enables Tiered Caching.
+ *
+ * @example on
+ */
+export type CacheRulesValue = 'on' | 'off';
+
+/**
+ * Variant support enables caching variants of images with certain file extensions in addition to the original. This only applies when the origin server sends the 'Vary: Accept' response header. If the origin server sends 'Vary: Accept' but does not serve the variant requested, the response will not be cached. This will be indicated with BYPASS cache status in the response headers.
+ */
+export type CacheRulesVariants = {
+  /**
+   * ID of the zone setting.
+   *
+   * @example variants
+   */
+  id: 'variants';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on: string | null;
+};
+
+export type CacheRulesVariantsResponseValue = {
+  /**
+   * Variant support enables caching variants of images with certain file extensions in addition to the original. This only applies when the origin server sends the 'Vary: Accept' response header. If the origin server sends 'Vary: Accept' but does not serve the variant requested, the response will not be cached. This will be indicated with BYPASS cache status in the response headers.
+   */
+  result?: CacheRulesVariants & {
+    value: CacheRulesVariantsValue;
+  };
+};
+
+/**
+ * Value of the zone setting.
+ */
+export type CacheRulesVariantsValue = {
+  /**
+   * List of strings with the MIME types of all the variants that should be served for avif.
+   *
+   * @example image/webp
+   * @example image/jpeg
+   * @uniqueItems true
+   */
+  avif?: string[];
+  /**
+   * List of strings with the MIME types of all the variants that should be served for bmp.
+   *
+   * @example image/webp
+   * @example image/jpeg
+   * @uniqueItems true
+   */
+  bmp?: string[];
+  /**
+   * List of strings with the MIME types of all the variants that should be served for gif.
+   *
+   * @example image/webp
+   * @example image/jpeg
+   * @uniqueItems true
+   */
+  gif?: string[];
+  /**
+   * List of strings with the MIME types of all the variants that should be served for jp2.
+   *
+   * @example image/webp
+   * @example image/avif
+   * @uniqueItems true
+   */
+  jp2?: string[];
+  /**
+   * List of strings with the MIME types of all the variants that should be served for jpeg.
+   *
+   * @example image/webp
+   * @example image/avif
+   * @uniqueItems true
+   */
+  jpeg?: string[];
+  /**
+   * List of strings with the MIME types of all the variants that should be served for jpg.
+   *
+   * @example image/webp
+   * @example image/avif
+   * @uniqueItems true
+   */
+  jpg?: string[];
+  /**
+   * List of strings with the MIME types of all the variants that should be served for jpg2.
+   *
+   * @example image/webp
+   * @example image/avif
+   * @uniqueItems true
+   */
+  jpg2?: string[];
+  /**
+   * List of strings with the MIME types of all the variants that should be served for png.
+   *
+   * @example image/webp
+   * @example image/avif
+   * @uniqueItems true
+   */
+  png?: string[];
+  /**
+   * List of strings with the MIME types of all the variants that should be served for tif.
+   *
+   * @example image/webp
+   * @example image/avif
+   * @uniqueItems true
+   */
+  tif?: string[];
+  /**
+   * List of strings with the MIME types of all the variants that should be served for tiff.
+   *
+   * @example image/webp
+   * @example image/avif
+   * @uniqueItems true
+   */
+  tiff?: string[];
+  /**
+   * List of strings with the MIME types of all the variants that should be served for webp.
+   *
+   * @example image/jpeg
+   * @example image/avif
+   * @uniqueItems true
+   */
+  webp?: string[];
+};
+
+export type CacheRulesZoneCacheSettingsResponseSingle = CacheRulesApiResponseSingle & {
+  result?: Record<string, any>;
+};
+
+export type CacheApiResponseCommon = {
+  errors: CacheMessages;
+  messages: CacheMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type CacheApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: CacheMessages;
+  messages: CacheMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type CacheApiResponseSingle = CacheApiResponseCommon;
+
+export type CacheAutomaticUpgraderResponse = CacheApiResponseSingle & {
+  result?: CacheResponseBase;
+};
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type CacheIdentifier = string;
+
+export type CacheMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+export type CacheResponseBase = {
+  /**
+   * Whether this setting can be updated or not.
+   */
+  editable: boolean;
+  /**
+   * @example ssl_tls_configuration_mode
+   */
+  id: string;
+  /**
+   * Last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on: string;
+  /**
+   * next time this zone will be scanned by the Automatic SSL/TLS.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  next_scheduled_scan?: string | null;
+  /**
+   * Current setting of the automatic SSL/TLS.
+   *
+   * @example auto
+   */
+  value: 'auto' | 'custom';
+};
+
+/**
+ * Update enablement of Automatic SSL/TLS.
+ */
+export type CacheSchemasPatch = {
+  value: CacheSchemasValue;
+};
+
+/**
+ * Controls enablement of Automatic SSL/TLS.
+ *
+ * @example auto
+ */
+export type CacheSchemasValue = 'auto' | 'custom';
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type CacheZoneIdentifier = void & void & CacheIdentifier;
+
+/**
+ * The account identifier tag.
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type CallsAccountIdentifier = string;
+
+export type CallsApiResponseCommon = {
+  errors: CallsMessages;
+  messages: CallsMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type CallsApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: CallsMessages;
+  messages: CallsMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type CallsApiResponseSingle = CallsApiResponseCommon;
+
+export type CallsApp = {
+  created?: CallsCreated;
+  modified?: CallsModified;
+  name?: CallsName;
+  uid?: CallsIdentifier;
+};
+
+export type CallsAppEditableFields = {
+  name?: CallsName;
+};
+
+export type CallsAppResponseCollection = CallsApiResponseCommon & {
+  result?: CallsApp[];
+};
+
+export type CallsAppResponseSingle = CallsApiResponseSingle & {
+  result?: CallsApp;
+};
+
+export type CallsAppResponseSingleWithSecret = CallsApiResponseSingle & {
+  result?: CallsAppWithSecret;
+};
+
+export type CallsAppWithSecret = {
+  created?: CallsCreated;
+  modified?: CallsModified;
+  name?: CallsName;
+  secret?: CallsSecret;
+  uid?: CallsIdentifier;
+};
+
+/**
+ * The date and time the item was created.
+ *
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
+ */
+export type CallsCreated = string;
+
+/**
+ * A Cloudflare-generated unique identifier for a item.
+ *
+ * @example 2a95132c15732412d22c1476fa83f27a
+ * @maxLength 32
+ * @minLength 32
+ */
+export type CallsIdentifier = string;
+
+export type CallsMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+/**
+ * The date and time the item was last modified.
+ *
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
+ */
+export type CallsModified = string;
+
+/**
+ * A short description of Calls app, not shown to end users.
+ *
+ * @default
+ * @example production-realtime-app
+ */
+export type CallsName = string;
+
+/**
+ * Bearer token
+ *
+ * @example 66bcf64aa8907b9f9d90ac17746a77ce394c393b92b3916633dc02846e608ad4
+ * @maxLength 64
+ * @minLength 64
+ */
+export type CallsSecret = string;
+
+/**
+ * Bearer token
+ *
+ * @example 66bcf64aa8907b9f9d90ac17746a77ce394c393b92b3916633dc02846e608ad4
+ * @maxLength 64
+ * @minLength 64
+ */
+export type CallsTurnKey = string;
+
+export type CallsTurnKeyCollection = CallsApiResponseCommon & {
+  result?: CallsTurnKeyObject[];
+};
+
+export type CallsTurnKeyEditableFields = {
+  name?: CallsTurnKeyName;
+};
+
+/**
+ * A short description of a TURN key, not shown to end users.
+ *
+ * @default
+ * @example my-turn-key
+ */
+export type CallsTurnKeyName = string;
+
+export type CallsTurnKeyObject = {
+  created?: CallsCreated;
+  modified?: CallsModified;
+  name?: CallsName;
+  uid?: CallsIdentifier;
+};
+
+export type CallsTurnKeyResponseCollection = CallsApiResponseCommon & {
+  result?: CallsTurnKeyObject[];
+};
+
+export type CallsTurnKeyResponseSingle = CallsApiResponseSingle & {
+  result?: CallsTurnKeyObject;
+};
+
+export type CallsTurnKeySingleWithSecret = CallsApiResponseSingle & {
+  result?: CallsTurnKeyWithKey;
+};
+
+export type CallsTurnKeyWithKey = {
+  created?: CallsCreated;
+  key?: CallsTurnKey;
+  modified?: CallsModified;
+  name?: CallsTurnKeyName;
+  uid?: CallsIdentifier;
+};
+
+export type CloudConnectorApiResponseCommon = {
+  errors: CloudConnectorMessages;
+  messages: CloudConnectorMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type CloudConnectorApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: CloudConnectorMessages;
+  messages: CloudConnectorMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type CloudConnectorIdentifier = string;
+
+export type CloudConnectorMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+/**
+ * Cloud Provider type
+ *
+ * @example aws_s3
+ */
+export type CloudConnectorProvider = 'aws_s3' | 'r2' | 'gcp_storage' | 'azure_storage';
+
+/**
+ * List of Cloud Connector rules
+ */
+export type CloudConnectorRules = {
+  /**
+   * @example Rule description
+   */
+  description?: string;
+  /**
+   * @example true
+   */
+  enabled?: boolean;
+  /**
+   * @example http.cookie eq "a=b"
+   */
+  expression?: string;
+  /**
+   * @example 95c365e17e1b46599cd99e5b231fac4e
+   */
+  id?: string;
+  /**
+   * Parameters of Cloud Connector Rule
+   */
+  parameters?: {
+    /**
+     * Host to perform Cloud Connection to
+     *
+     * @example examplebucket.s3.eu-north-1.amazonaws.com
+     */
+    host?: string;
+  };
+  provider?: CloudConnectorProvider;
+}[];
+
+export type CloudConnectorZoneIdentifier = CloudConnectorIdentifier;
+
+export type CloudforceOneRequestsApiResponseCommon = {
+  errors: CloudforceOneRequestsMessages;
+  messages: CloudforceOneRequestsMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type CloudforceOneRequestsApiResponseCommonFailure = {
+  /**
+   * @example {"code":10433,"message":"request error"}
+   */
+  errors: CloudforceOneRequestsMessages;
+  messages: CloudforceOneRequestsMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: true;
+};
+
+/**
+ * Asset file to upload
+ *
+ * @example @/Users/me/example.docx
+ */
+export type CloudforceOneRequestsAssetContent = string;
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type CloudforceOneRequestsIdentifier = string;
+
+/**
+ * List of labels
+ *
+ * @example DoS
+ * @example CVE
+ */
+export type CloudforceOneRequestsLabels = string[];
+
+/**
+ * Content of message
+ *
+ * @example Can you elaborate on the type of DoS that occurred?
+ */
+export type CloudforceOneRequestsMessageContent = string;
+
+export type CloudforceOneRequestsMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+export type CloudforceOneRequestsPriority = 'routine' | 'high' | 'urgent';
+
+export type CloudforceOneRequestsPriorityEdit = {
+  labels: CloudforceOneRequestsLabels;
+  /**
+   * Priority
+   *
+   * @example 1
+   */
+  priority: number;
+  /**
+   * Requirement
+   *
+   * @example DoS attacks carried out by CVEs
+   */
+  requirement: string;
+  tlp: CloudforceOneRequestsTlp;
+};
+
+export type CloudforceOneRequestsPriorityItem = {
+  /**
+   * Priority creation time
+   *
+   * @example 2022-04-01T05:20:00Z
+   * @format date-time
+   */
+  created: CloudforceOneRequestsTime & void;
+  id: CloudforceOneRequestsUuid;
+  labels: CloudforceOneRequestsLabels;
+  /**
+   * Priority
+   *
+   * @example 1
+   */
+  priority: number;
+  /**
+   * Requirement
+   *
+   * @example DoS attacks carried out by CVEs
+   */
+  requirement: string;
+  tlp: CloudforceOneRequestsTlp;
+  /**
+   * Priority last updated time
+   *
+   * @example 2022-04-01T05:20:00Z
+   * @format date-time
+   */
+  updated: CloudforceOneRequestsTime & void;
+};
+
+export type CloudforceOneRequestsPriorityList = {
+  /**
+   * Page number of results
+   */
+  page: number;
+  /**
+   * Number of results per page
+   *
+   * @example 10
+   */
+  per_page: number;
+};
+
+export type CloudforceOneRequestsQuota = {
+  /**
+   * Anniversary date is when annual quota limit is refresh
+   *
+   * @example 2022-01-01T00:00:00Z
+   * @format date-time
+   */
+  anniversary_date?: CloudforceOneRequestsTime & void & void;
+  /**
+   * Quater anniversary date is when quota limit is refreshed each quarter
+   *
+   * @example 2022-04-01T00:00:00Z
+   * @format date-time
+   */
+  quarter_anniversary_date?: CloudforceOneRequestsTime & void & void;
+  /**
+   * Tokens for the quarter
+   *
+   * @example 120
+   */
+  quota?: number;
+  /**
+   * Tokens remaining for the quarter
+   *
+   * @example 64
+   */
+  remaining?: number;
+};
+
+export type CloudforceOneRequestsRequestAssetEdit = {
+  source?: CloudforceOneRequestsAssetContent;
+};
+
+export type CloudforceOneRequestsRequestAssetItem = {
+  /**
+   * Asset creation time
+   *
+   * @example 2022-01-01T00:00:00Z
+   * @format date-time
+   */
+  created?: CloudforceOneRequestsTime & void & void;
+  /**
+   * Asset description
+   *
+   * @example example description
+   */
+  description?: string;
+  /**
+   * Asset file type
+   *
+   * @example docx
+   */
+  file_type?: string;
+  /**
+   * Asset ID
+   */
+  id: number;
+  /**
+   * Asset name
+   *
+   * @example example.docx
+   */
+  name: string;
+};
+
+export type CloudforceOneRequestsRequestAssetList = {
+  /**
+   * Page number of results
+   */
+  page: number;
+  /**
+   * Number of results per page
+   *
+   * @example 10
+   */
+  per_page: number;
+};
+
+export type CloudforceOneRequestsRequestConstants = {
+  /**
+   * @example routine
+   * @example high
+   * @example urgent
+   */
+  priority?: CloudforceOneRequestsPriority[];
+  /**
+   * @example open
+   * @example accepted
+   * @example reported
+   * @example approved
+   * @example completed
+   * @example declined
+   */
+  status?: CloudforceOneRequestsRequestStatus[];
+  /**
+   * @example clear
+   * @example green
+   * @example amber
+   * @example amber-strict
+   * @example red
+   */
+  tlp?: CloudforceOneRequestsTlp[];
+};
+
+/**
+ * Request content
+ *
+ * @example What regions were most effected by the recent DoS?
+ */
+export type CloudforceOneRequestsRequestContent = string;
+
+export type CloudforceOneRequestsRequestEdit = {
+  content?: CloudforceOneRequestsRequestContent;
+  /**
+   * Priority for analyzing the request
+   *
+   * @example routine
+   */
+  priority?: string;
+  request_type?: CloudforceOneRequestsRequestType;
+  summary?: CloudforceOneRequestsRequestSummary;
+  tlp?: CloudforceOneRequestsTlp;
+};
+
+export type CloudforceOneRequestsRequestItem = {
+  completed?: CloudforceOneRequestsTime;
+  content: CloudforceOneRequestsRequestContent;
+  created: CloudforceOneRequestsTime;
+  id: CloudforceOneRequestsUuid;
+  /**
+   * Tokens for the request messages
+   *
+   * @example 1
+   */
+  message_tokens?: number;
+  priority: CloudforceOneRequestsTime;
+  readable_id?: CloudforceOneRequestsRequestReadableId;
+  request: CloudforceOneRequestsRequestType;
+  status?: CloudforceOneRequestsRequestStatus;
+  summary: CloudforceOneRequestsRequestSummary;
+  tlp: CloudforceOneRequestsTlp;
+  /**
+   * Tokens for the request
+   *
+   * @example 16
+   */
+  tokens?: number;
+  updated: CloudforceOneRequestsTime;
+};
+
+export type CloudforceOneRequestsRequestList = {
+  /**
+   * Retrieve requests completed after this time
+   *
+   * @example 2022-01-01T00:00:00Z
+   * @format date-time
+   */
+  completed_after?: CloudforceOneRequestsTime & void & void;
+  /**
+   * Retrieve requests completed before this time
+   *
+   * @example 2024-01-01T00:00:00Z
+   * @format date-time
+   */
+  completed_before?: CloudforceOneRequestsTime & void & void;
+  /**
+   * Retrieve requests created after this time
+   *
+   * @example 2022-01-01T00:00:00Z
+   * @format date-time
+   */
+  created_after?: CloudforceOneRequestsTime & void & void;
+  /**
+   * Retrieve requests created before this time
+   *
+   * @example 2024-01-01T00:00:00Z
+   * @format date-time
+   */
+  created_before?: CloudforceOneRequestsTime & void & void;
+  /**
+   * Page number of results
+   */
+  page: number;
+  /**
+   * Number of results per page
+   *
+   * @example 10
+   */
+  per_page: number;
+  request_type?: CloudforceOneRequestsRequestType;
+  /**
+   * Field to sort results by
+   *
+   * @example created
+   */
+  sort_by?: string;
+  /**
+   * Sort order (asc or desc)
+   */
+  sort_order?: 'asc' | 'desc';
+  status?: CloudforceOneRequestsRequestStatus;
+};
+
+export type CloudforceOneRequestsRequestListItem = {
+  /**
+   * Request completion time
+   *
+   * @example 2024-01-01T00:00:00Z
+   * @format date-time
+   */
+  completed?: CloudforceOneRequestsTime & void & void;
+  /**
+   * Request creation time
+   *
+   * @example 2022-04-01T00:00:00Z
+   * @format date-time
+   */
+  created: CloudforceOneRequestsTime & void & void;
+  id: CloudforceOneRequestsUuid;
+  /**
+   * Tokens for the request messages
+   *
+   * @example 16
+   */
+  message_tokens?: number;
+  priority: CloudforceOneRequestsPriority;
+  readable_id?: CloudforceOneRequestsRequestReadableId;
+  request: CloudforceOneRequestsRequestType;
+  status?: CloudforceOneRequestsRequestStatus;
+  summary: CloudforceOneRequestsRequestSummary;
+  tlp: CloudforceOneRequestsTlp;
+  /**
+   * Tokens for the request
+   */
+  tokens?: number;
+  /**
+   * Request last updated time
+   *
+   * @example 2022-04-01T00:00:00Z
+   * @format date-time
+   */
+  updated: CloudforceOneRequestsTime & void & void;
+};
+
+export type CloudforceOneRequestsRequestMessageEdit = {
+  content?: CloudforceOneRequestsMessageContent;
+};
+
+export type CloudforceOneRequestsRequestMessageItem = {
+  /**
+   * Author of message
+   *
+   * @example user@domain.com
+   */
+  author: string;
+  content: CloudforceOneRequestsMessageContent;
+  /**
+   * Message creation time
+   *
+   * @example 2022-01-01T00:00:00Z
+   * @format date-time
+   */
+  created?: CloudforceOneRequestsTime & void & void;
+  /**
+   * Message ID
+   */
+  id: number;
+  /**
+   * Whether the message is a follow-on request
+   */
+  is_follow_on_request: boolean;
+  /**
+   * Message last updated time
+   *
+   * @example 2022-01-01T00:00:00Z
+   * @format date-time
+   */
+  updated: CloudforceOneRequestsTime & void & void;
+};
+
+export type CloudforceOneRequestsRequestMessageList = {
+  /**
+   * Retrieve messages created after this time
+   *
+   * @example 2022-01-01T00:00:00Z
+   * @format date-time
+   */
+  after?: CloudforceOneRequestsTime & void & void;
+  /**
+   * Retrieve messages created before this time
+   *
+   * @example 2024-01-01T00:00:00Z
+   * @format date-time
+   */
+  before?: CloudforceOneRequestsTime & void & void;
+  /**
+   * Page number of results
+   */
+  page: number;
+  /**
+   * Number of results per page
+   *
+   * @example 10
+   */
+  per_page: number;
+  /**
+   * Field to sort results by
+   *
+   * @example created
+   */
+  sort_by?: string;
+  /**
+   * Sort order (asc or desc)
+   */
+  sort_order?: 'asc' | 'desc';
+};
+
+/**
+ * Readable Request ID
+ *
+ * @example RFI-2022-000001
+ */
+export type CloudforceOneRequestsRequestReadableId = string;
+
+/**
+ * Request Status
+ */
+export type CloudforceOneRequestsRequestStatus =
+  | 'open'
+  | 'accepted'
+  | 'reported'
+  | 'approved'
+  | 'completed'
+  | 'declined';
+
+/**
+ * Brief description of the request
+ *
+ * @example DoS attack
+ */
+export type CloudforceOneRequestsRequestSummary = string;
+
+/**
+ * Requested information from request
+ *
+ * @example Victomology
+ */
+export type CloudforceOneRequestsRequestType = string;
+
+/**
+ * @example Indicators of Compromise
+ * @example Victomology
+ */
+export type CloudforceOneRequestsRequestTypes = string[];
+
+/**
+ * @example 2022-04-01T05:20:00Z
+ * @format date-time
+ */
+export type CloudforceOneRequestsTime = string;
+
+/**
+ * The CISA defined Traffic Light Protocol (TLP)
+ */
+export type CloudforceOneRequestsTlp = 'clear' | 'amber' | 'amber-strict' | 'green' | 'red';
+
+/**
+ * UUID
+ *
+ * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
+ * @maxLength 36
+ */
+export type CloudforceOneRequestsUuid = string;
+
+export type CloudforceOneWhoisApiResponseCommon = {
+  errors: CloudforceOneWhoisMessages;
+  messages: CloudforceOneWhoisMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type CloudforceOneWhoisApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: CloudforceOneWhoisMessages;
+  messages: CloudforceOneWhoisMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type CloudforceOneWhoisApiResponseSingle = CloudforceOneWhoisApiResponseCommon;
+
+/**
+ * @example cloudflare.com
+ */
+export type CloudforceOneWhoisDomainName = string;
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type CloudforceOneWhoisIdentifier = string;
+
+export type CloudforceOneWhoisMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+export type CloudforceOneWhoisSchemasSingleResponse = CloudforceOneWhoisApiResponseSingle & {
+  result?: CloudforceOneWhoisWhois;
+};
+
+export type CloudforceOneWhoisWhois = {
+  administrative_city?: string;
+  administrative_country?: string;
+  administrative_email?: string;
+  administrative_fax?: string;
+  administrative_fax_ext?: string;
+  administrative_id?: string;
+  administrative_name?: string;
+  administrative_org?: string;
+  administrative_phone?: string;
+  administrative_phone_ext?: string;
+  administrative_postal_code?: string;
+  administrative_province?: string;
+  administrative_referral_url?: string;
+  administrative_street?: string;
+  billing_city?: string;
+  billing_country?: string;
+  billing_email?: string;
+  billing_fax?: string;
+  billing_fax_ext?: string;
+  billing_id?: string;
+  billing_name?: string;
+  billing_org?: string;
+  billing_phone?: string;
+  billing_phone_ext?: string;
+  billing_postal_code?: string;
+  billing_province?: string;
+  billing_referral_url?: string;
+  billing_street?: string;
+  /**
+   * @example 2009-02-17T22:07:54.000Z
+   * @format date-time
+   */
+  created_date?: string;
+  /**
+   * @example 2009-02-17T22:07:54Z
+   */
+  created_date_raw?: string;
+  /**
+   * @example true
+   */
+  dnssec?: boolean;
+  domain: CloudforceOneWhoisDomainName;
+  /**
+   * @example 2033-02-17T22:07:54.000Z
+   * @format date-time
+   */
+  expiration_date?: string;
+  /**
+   * @example 2033-02-17T22:07:54Z
+   */
+  expiration_date_raw?: string;
+  /**
+   * @example com
+   */
+  extension: string;
+  /**
+   * @example true
+   */
+  found: boolean;
+  /**
+   * @example 1542998887_DOMAIN_COM-VRSN
+   */
+  id?: string;
+  /**
+   * @example ns3.cloudflare.com
+   * @example ns4.cloudflare.com
+   * @example ns5.cloudflare.com
+   * @example ns6.cloudflare.com
+   * @example ns7.cloudflare.com
+   */
+  nameservers: string[];
+  /**
+   * @example cloudflare.com
+   */
+  punycode: string;
+  registrant: string;
+  registrant_city?: string;
+  registrant_country?: string;
+  registrant_email?: string;
+  registrant_fax?: string;
+  registrant_fax_ext?: string;
+  registrant_id?: string;
+  registrant_name?: string;
+  registrant_org?: string;
+  registrant_phone?: string;
+  registrant_phone_ext?: string;
+  registrant_postal_code?: string;
+  registrant_province?: string;
+  registrant_referral_url?: string;
+  registrant_street?: string;
+  /**
+   * @example Cloudflare, Inc.
+   */
+  registrar: string;
+  registrar_city?: string;
+  registrar_country?: string;
+  registrar_email?: string;
+  registrar_fax?: string;
+  registrar_fax_ext?: string;
+  registrar_id?: string;
+  registrar_name?: string;
+  registrar_org?: string;
+  registrar_phone?: string;
+  registrar_phone_ext?: string;
+  registrar_postal_code?: string;
+  registrar_province?: string;
+  registrar_referral_url?: string;
+  registrar_street?: string;
+  /**
+   * @example clientdeleteprohibited
+   * @example clienttransferprohibited
+   * @example clientupdateprohibited
+   * @example serverdeleteprohibited
+   * @example servertransferprohibited
+   * @example serverupdateprohibited
+   */
+  status?: string[];
+  technical_city?: string;
+  technical_country?: string;
+  technical_email?: string;
+  technical_fax?: string;
+  technical_fax_ext?: string;
+  technical_id?: string;
+  technical_name?: string;
+  technical_org?: string;
+  technical_phone?: string;
+  technical_phone_ext?: string;
+  technical_postal_code?: string;
+  technical_province?: string;
+  technical_referral_url?: string;
+  technical_street?: string;
+  /**
+   * @example 2024-01-09T16:45:28.000Z
+   * @format date-time
+   */
+  updated_date?: string;
+  /**
+   * @example 2024-01-09T16:45:28Z
+   */
+  updated_date_raw?: string;
+  /**
+   * @example whois.cloudflare.com
+   */
+  whois_server?: string;
+};
+
+export type CustomIndicatorFeedsApiResponseCommon = {
+  errors: CustomIndicatorFeedsMessages;
+  messages: CustomIndicatorFeedsMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type CustomIndicatorFeedsApiResponseSingle = CustomIndicatorFeedsApiResponseCommon;
+
+export type CustomIndicatorFeedsApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: CustomIndicatorFeedsMessages;
+  messages: CustomIndicatorFeedsMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+/**
+ * @example {"description":"example feed description","name":"example_feed_1"}
+ */
+export type CustomIndicatorFeedsCreateFeed = {
+  description?: CustomIndicatorFeedsDescription;
+  name?: CustomIndicatorFeedsName;
+};
+
+export type CustomIndicatorFeedsCreateFeedResponse = CustomIndicatorFeedsApiResponseSingle & {
+  result?: CustomIndicatorFeedsIndicatorFeedItem;
+};
+
+/**
+ * The description of the example test
+ */
+export type CustomIndicatorFeedsDescription = string;
+
+/**
+ * Indicator feed ID
+ *
+ * @example 12
+ */
+export type CustomIndicatorFeedsFeedId = number;
+
+/**
+ * The unique identifier for the indicator feed
+ */
+export type CustomIndicatorFeedsId = number;
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type CustomIndicatorFeedsIdentifier = string;
+
+/**
+ * @example {"created_on":"2023-05-12T12:21:56.777653Z","description":"example feed description","id":1,"is_attributable":false,"is_downloadable":false,"is_public":false,"modified_on":"2023-06-18T03:13:34.123321Z","name":"example_feed_1"}
+ */
+export type CustomIndicatorFeedsIndicatorFeedItem = {
+  /**
+   * The date and time when the data entry was created
+   *
+   * @format date-time
+   */
+  created_on?: string;
+  description?: CustomIndicatorFeedsDescription;
+  id?: CustomIndicatorFeedsId;
+  is_attributable?: CustomIndicatorFeedsIsAttributable;
+  is_downloadable?: CustomIndicatorFeedsIsDownloadable;
+  is_public?: CustomIndicatorFeedsIsPublic;
+  /**
+   * The date and time when the data entry was last modified
+   *
+   * @format date-time
+   */
+  modified_on?: string;
+  name?: CustomIndicatorFeedsName;
+};
+
+/**
+ * @example {"created_on":"2023-05-12T12:21:56.777653Z","description":"example feed description","id":1,"is_attributable":false,"is_downloadable":false,"is_public":false,"latest_upload_status":"Complete","modified_on":"2023-06-18T03:13:34.123321Z","name":"example_feed_1"}
+ */
+export type CustomIndicatorFeedsIndicatorFeedMetadata = {
+  /**
+   * The date and time when the data entry was created
+   *
+   * @format date-time
+   */
+  created_on?: string;
+  description?: CustomIndicatorFeedsDescription;
+  id?: CustomIndicatorFeedsId;
+  is_attributable?: CustomIndicatorFeedsIsAttributable;
+  is_downloadable?: CustomIndicatorFeedsIsDownloadable;
+  is_public?: CustomIndicatorFeedsIsPublic;
+  /**
+   * Status of the latest snapshot uploaded
+   */
+  latest_upload_status?: 'Mirroring' | 'Unifying' | 'Loading' | 'Provisioning' | 'Complete' | 'Error';
+  /**
+   * The date and time when the data entry was last modified
+   *
+   * @format date-time
+   */
+  modified_on?: string;
+  name?: CustomIndicatorFeedsName;
+  provider_id?: CustomIndicatorFeedsProviderId;
+  provider_name?: CustomIndicatorFeedsProviderName;
+};
+
+export type CustomIndicatorFeedsIndicatorFeedMetadataResponse = CustomIndicatorFeedsApiResponseSingle & {
+  result?: CustomIndicatorFeedsIndicatorFeedMetadata;
+};
+
+export type CustomIndicatorFeedsIndicatorFeedResponse = CustomIndicatorFeedsApiResponseCommon & {
+  /**
+   * @example {"created_on":"2023-05-12T12:21:56.777653Z","description":"user specified description 1","id":1,"modified_on":"2023-06-18T03:13:34.123321Z","name":"user_specified_name_1"}
+   * @example {"created_on":"2023-05-21T21:43:52.867525Z","description":"User specified description 2","id":2,"modified_on":"2023-06-28T18:46:18.764425Z","name":"user_specified_name_2"}
+   */
+  result?: CustomIndicatorFeedsIndicatorFeedItem[];
+};
+
+export type CustomIndicatorFeedsIndicatorFeedResponseSingle = CustomIndicatorFeedsApiResponseSingle & {
+  result?: CustomIndicatorFeedsIndicatorFeedItem;
+};
+
+/**
+ * Whether the indicator feed can be attributed to a provider
+ */
+export type CustomIndicatorFeedsIsAttributable = boolean;
+
+/**
+ * Whether the indicator feed can be downloaded
+ */
+export type CustomIndicatorFeedsIsDownloadable = boolean;
+
+/**
+ * Whether the indicator feed is exposed to customers
+ */
+export type CustomIndicatorFeedsIsPublic = boolean;
+
+export type CustomIndicatorFeedsMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+/**
+ * The name of the indicator feed
+ */
+export type CustomIndicatorFeedsName = string;
+
+export type CustomIndicatorFeedsPermissionListItem = {
+  description?: CustomIndicatorFeedsDescription;
+  id?: CustomIndicatorFeedsId;
+  is_attributable?: CustomIndicatorFeedsIsAttributable;
+  is_downloadable?: CustomIndicatorFeedsIsDownloadable;
+  is_public?: CustomIndicatorFeedsIsPublic;
+  name?: CustomIndicatorFeedsName;
+};
+
+export type CustomIndicatorFeedsPermissionListItemResponse = CustomIndicatorFeedsApiResponseCommon & {
+  /**
+   * @example {"description":"An important indicator list","id":1,"is_attributable":false,"is_downloadable":false,"is_public":false,"name":"indicator_list_1"}
+   * @example {"description":"An even more important indicator list","id":2,"is_attributable":true,"is_downloadable":false,"is_public":true,"name":"indicator_list_2"}
+   */
+  result?: CustomIndicatorFeedsPermissionListItem[];
+};
+
+export type CustomIndicatorFeedsPermissionsRequest = {
+  /**
+   * The Cloudflare account tag of the account to change permissions on
+   *
+   * @example 823f45f16fd2f7e21e1e054aga4d2859
+   */
+  account_tag?: string;
+  /**
+   * The ID of the feed to add/remove permissions on
+   *
+   * @example 1
+   */
+  feed_id?: number;
+};
+
+export type CustomIndicatorFeedsPermissionsResponse = CustomIndicatorFeedsApiResponseSingle & {
+  result?: CustomIndicatorFeedsPermissionsUpdate;
+};
+
+export type CustomIndicatorFeedsPermissionsUpdate = {
+  /**
+   * Whether the update succeeded or not
+   */
+  success?: boolean;
+};
+
+/**
+ * The unique identifier for the provider
+ */
+export type CustomIndicatorFeedsProviderId = string;
+
+/**
+ * The provider of the indicator feed
+ */
+export type CustomIndicatorFeedsProviderName = string;
+
+export type CustomIndicatorFeedsUpdateFeed = {
+  /**
+   * Feed id
+   *
+   * @example 1
+   */
+  file_id?: number;
+  /**
+   * Name of the file unified in our system
+   *
+   * @example snapshot_file.unified
+   */
+  filename?: string;
+  /**
+   * Current status of upload, should be unified
+   *
+   * @example unified
+   */
+  status?: string;
+};
+
+export type CustomIndicatorFeedsUpdateFeedResponse = CustomIndicatorFeedsApiResponseSingle & {
+  result?: CustomIndicatorFeedsUpdateFeed;
+};
+
+export type CustomIndicatorFeedsUpdatePublicFieldRequest = {
+  /**
+   * The new description of the feed
+   *
+   * @example This is an example description
+   */
+  description?: string;
+  /**
+   * The new is_attributable value of the feed
+   *
+   * @example true
+   */
+  is_attributable?: boolean;
+  /**
+   * The new is_downloadable value of the feed
+   *
+   * @example true
+   */
+  is_downloadable?: boolean;
+  /**
+   * The new is_public value of the feed
+   *
+   * @example true
+   */
+  is_public?: boolean;
+  /**
+   * The new name of the feed
+   *
+   * @example indicator_list
+   */
+  name?: string;
+};
+
+export type CustomIndicatorFeedsUpdatePublicFieldResponse = CustomIndicatorFeedsApiResponseSingle & {
+  result?: CustomIndicatorFeedsIndicatorFeedItem;
+};
+
+export type CustomPagesApiResponseCollection = {
+  errors: CustomPagesMessages;
+  messages: CustomPagesMessages;
+  result: Record<string, any> | any[] | string | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+  result_info?: CustomPagesResultInfo;
+};
+
+export type CustomPagesApiResponseCommon = {
+  errors: CustomPagesMessages;
+  messages: CustomPagesMessages;
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type CustomPagesApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: CustomPagesMessages;
+  messages: CustomPagesMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type CustomPagesApiResponseSingle = {
+  errors: CustomPagesMessages;
+  messages: CustomPagesMessages;
+  result: Record<string, any> | string | string | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type CustomPagesCustomPagesResponseCollection = CustomPagesApiResponseCollection & {
+  result?: Record<string, any>[];
+};
+
+export type CustomPagesCustomPagesResponseSingle = CustomPagesApiResponseSingle & {
+  result?: Record<string, any>;
+};
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type CustomPagesIdentifier = string;
+
+export type CustomPagesMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+export type CustomPagesResultInfo = {
+  /**
+   * Total number of results for the requested service
+   *
+   * @example 1
+   */
+  count?: number;
+  /**
+   * Current page within paginated list of results
+   *
+   * @example 1
+   */
+  page?: number;
+  /**
+   * Number of results per page of results
+   *
+   * @example 20
+   */
+  per_page?: number;
+  /**
+   * Total results available without any search parameters
+   *
+   * @example 2000
+   */
+  total_count?: number;
+};
+
+/**
+ * The custom page state.
+ *
+ * @example default
+ */
+export type CustomPagesState = 'default' | 'customized';
+
+/**
+ * The URL associated with the custom page.
+ *
+ * @default
+ * @example http://www.example.com
+ * @format uri
+ */
+export type CustomPagesUrl = string;
+
+/**
+ * Account identifier tag.
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type D1AccountIdentifier = string;
+
+export type D1ApiResponseCommon = {
+  errors: D1Messages;
+  messages: D1Messages;
+  result: Record<string, any>;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type D1ApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: D1Messages;
+  messages: D1Messages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+/**
+ * Specifies the timestamp the resource was created as an ISO8601 string.
+ *
+ * @example 2022-11-15T18:25:44.442097Z
+ * @format date-time
+ */
+export type D1CreatedAt = string;
+
+export type D1DatabaseDetailsResponse = {
+  created_at?: D1CreatedAt;
+  file_size?: D1FileSize;
+  name?: D1DatabaseName;
+  num_tables?: D1TableCount;
+  uuid?: D1DatabaseIdentifier;
+  version?: D1DatabaseVersion;
+};
+
+/**
+ * @example xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
+ */
+export type D1DatabaseIdentifier = string;
+
+/**
+ * @example my-database
+ * @pattern ^[a-z0-9][a-z0-9-_]*$
+ */
+export type D1DatabaseName = string;
+
+export type D1DatabaseResponse = {
+  created_at?: D1CreatedAt;
+  name?: D1DatabaseName;
+  uuid?: D1DatabaseIdentifier;
+  version?: D1DatabaseVersion;
+};
+
+/**
+ * @example production
+ * @pattern ^(alpha|beta|production)$
+ */
+export type D1DatabaseVersion = string;
+
+/**
+ * The D1 database's size, in bytes.
+ *
+ * @example 12
+ */
+export type D1FileSize = number;
+
+export type D1Messages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+/**
+ * @example firstParam
+ * @example secondParam
+ */
+export type D1Params = string[];
+
+/**
+ * Specify the region to create the D1 primary, if available. If this option is omitted, the D1 will be created as close as possible to the current user.
+ *
+ * @example wnam
+ */
+export type D1PrimaryLocationHint = 'wnam' | 'enam' | 'weur' | 'eeur' | 'apac' | 'oc';
+
+export type D1QueryMeta = {
+  changed_db?: boolean;
+  changes?: number;
+  duration?: number;
+  last_row_id?: number;
+  rows_read?: number;
+  rows_written?: number;
+  size_after?: number;
+};
+
+export type D1QueryResultResponse = {
+  meta?: D1QueryMeta;
+  results?: Record<string, any>[];
+  success?: boolean;
+};
+
+export type D1RawResultResponse = {
+  meta?: D1QueryMeta;
+  results?: {
+    columns?: string[];
+    rows?: (number | string | Record<string, any>)[][];
+  };
+  success?: boolean;
+};
+
+/**
+ * Your SQL query. Supports multiple statements, joined by semicolons, which will be executed as a batch.
+ *
+ * @example SELECT * FROM myTable WHERE field = ? OR field = ?;
+ */
+export type D1Sql = string;
+
+/**
+ * @example 12
+ */
+export type D1TableCount = number;
+
+/**
+ * @example 01a7362d577a6c3019a474fd6f485823
+ * @maxLength 32
+ */
+export type DigitalExperienceMonitoringAccountIdentifier = string;
+
+export type DigitalExperienceMonitoringAggregateStat = {
+  avgMs?: number | null;
+  /**
+   * @format float
+   */
+  deltaPct?: number | null;
+  timePeriod: DigitalExperienceMonitoringAggregateTimePeriod;
+};
+
+export type DigitalExperienceMonitoringAggregateTimePeriod = {
+  units: 'hours' | 'days' | 'testRuns';
+  value: number;
+};
+
+export type DigitalExperienceMonitoringAggregateTimeSlot = {
+  avgMs: number;
+  timestamp: string;
+};
+
+export type DigitalExperienceMonitoringApiResponseCollection = DigitalExperienceMonitoringApiResponseCommon & {
+  result_info?: DigitalExperienceMonitoringResultInfo;
+};
+
+export type DigitalExperienceMonitoringApiResponseCommon = {
+  errors: DigitalExperienceMonitoringMessages;
+  messages: DigitalExperienceMonitoringMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type DigitalExperienceMonitoringApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: DigitalExperienceMonitoringMessages;
+  messages: DigitalExperienceMonitoringMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type DigitalExperienceMonitoringApiResponseSingle = DigitalExperienceMonitoringApiResponseCommon;
+
+/**
+ * Cloudflare colo
+ *
+ * @example SJC
+ */
+export type DigitalExperienceMonitoringColo = string;
+
+/**
+ * array of colos.
+ */
+export type DigitalExperienceMonitoringColosResponse = Record<string, any>[];
+
+/**
+ * Unique identifier for a command
+ *
+ * @example 5758fefe-ae7e-4538-a39b-1fef6abcb909
+ */
+export type DigitalExperienceMonitoringCommandId = string;
+
+export type DigitalExperienceMonitoringCpuPctByApp = {
+  /**
+   * @format float
+   */
+  cpu_pct?: number;
+  name?: string;
+}[];
+
+export type DigitalExperienceMonitoringDevice = {
+  alwaysOn?: boolean | null;
+  batteryCharging?: boolean | null;
+  /**
+   * @format int64
+   */
+  batteryCycles?: number | null;
+  /**
+   * @format float
+   */
+  batteryPct?: number | null;
+  colo: DigitalExperienceMonitoringColo;
+  connectionType?: string | null;
+  /**
+   * @format float
+   */
+  cpuPct?: number | null;
+  cpuPctByApp?: DigitalExperienceMonitoringCpuPctByApp[] | null;
+  /**
+   * Device identifier (UUID v4)
+   */
+  deviceId: string;
+  deviceIpv4?: DigitalExperienceMonitoringIpInfo;
+  deviceIpv6?: DigitalExperienceMonitoringIpInfo;
+  /**
+   * Device identifier (human readable)
+   */
+  deviceName?: string;
+  /**
+   * @format int64
+   */
+  diskReadBps?: number | null;
+  /**
+   * @format float
+   */
+  diskUsagePct?: number | null;
+  /**
+   * @format int64
+   */
+  diskWriteBps?: number | null;
+  dohSubdomain?: string | null;
+  /**
+   * @format float
+   */
+  estimatedLossPct?: number | null;
+  firewallEnabled?: boolean | null;
+  gatewayIpv4?: DigitalExperienceMonitoringIpInfo;
+  gatewayIpv6?: DigitalExperienceMonitoringIpInfo;
+  /**
+   * @format int64
+   */
+  handshakeLatencyMs?: number | null;
+  ispIpv4?: DigitalExperienceMonitoringIpInfo;
+  ispIpv6?: DigitalExperienceMonitoringIpInfo;
+  metal?: string | null;
+  mode: DigitalExperienceMonitoringMode;
+  /**
+   * @format int64
+   */
+  networkRcvdBps?: number | null;
+  /**
+   * @format int64
+   */
+  networkSentBps?: number | null;
+  networkSsid?: string | null;
+  personEmail?: DigitalExperienceMonitoringPersonEmail;
+  platform: DigitalExperienceMonitoringPlatform;
+  /**
+   * @format int64
+   */
+  ramAvailableKb?: number | null;
+  /**
+   * @format float
+   */
+  ramUsedPct?: number | null;
+  ramUsedPctByApp?: DigitalExperienceMonitoringRamUsedPctByApp[] | null;
+  status: DigitalExperienceMonitoringStatus;
+  switchLocked?: boolean | null;
+  timestamp: DigitalExperienceMonitoringTimestamp;
+  version: DigitalExperienceMonitoringVersion;
+  /**
+   * @format int64
+   */
+  wifiStrengthDbm?: number | null;
+};
+
+/**
+ * Device-specific ID, given as UUID v4
+ *
+ * @example cb49c27f-7f97-49c5-b6f3-f7c01ead0fd7
+ */
+export type DigitalExperienceMonitoringDeviceId = string;
+
+export type DigitalExperienceMonitoringFleetStatusDevicesResponse = DigitalExperienceMonitoringApiResponseCollection & {
+  result?: DigitalExperienceMonitoringDevice[];
+};
+
+export type DigitalExperienceMonitoringFleetStatusLiveResponse = DigitalExperienceMonitoringApiResponseSingle & {
+  result?: {
+    deviceStats?: {
+      byColo?: DigitalExperienceMonitoringLiveStat[] | null;
+      byMode?: DigitalExperienceMonitoringLiveStat[] | null;
+      byPlatform?: DigitalExperienceMonitoringLiveStat[] | null;
+      byStatus?: DigitalExperienceMonitoringLiveStat[] | null;
+      byVersion?: DigitalExperienceMonitoringLiveStat[] | null;
+      uniqueDevicesTotal?: DigitalExperienceMonitoringUniqueDevicesTotal;
+    };
+  };
+};
+
+export type DigitalExperienceMonitoringGetCommandsQuotaResponse = {
+  /**
+   * The remaining number of commands that can be initiated for an account
+   */
+  quota: number;
+  /**
+   * The number of commands that have been initiated for an account
+   */
+  quota_usage: number;
+  /**
+   * The time when the quota resets
+   *
+   * @format date-time
+   */
+  reset_time: string;
+};
+
+export type DigitalExperienceMonitoringGetCommandsResponse = {
+  commands?: {
+    /**
+     * @format date-time
+     */
+    completed_date?: string | null;
+    /**
+     * @format date-time
+     */
+    created_date?: string;
+    device_id?: string;
+    filename?: string | null;
+    id?: string;
+    status?: string;
+    type?: string;
+    user_email?: string;
+  }[];
+};
+
+export type DigitalExperienceMonitoringHttpDetailsPercentilesResponse = {
+  dnsResponseTimeMs?: DigitalExperienceMonitoringPercentiles;
+  resourceFetchTimeMs?: DigitalExperienceMonitoringPercentiles;
+  serverResponseTimeMs?: DigitalExperienceMonitoringPercentiles;
+};
+
+export type DigitalExperienceMonitoringHttpDetailsResponse = {
+  /**
+   * The url of the HTTP synthetic application test
+   *
+   * @example http://example.com
+   */
+  host?: string;
+  httpStats?: {
+    availabilityPct: DigitalExperienceMonitoringTestStatPctOverTime;
+    dnsResponseTimeMs: DigitalExperienceMonitoringTestStatOverTime;
+    httpStatusCode: {
+      status200: number;
+      status300: number;
+      status400: number;
+      status500: number;
+      /**
+       * @example 2023-07-16 15:00:00+00
+       */
+      timestamp: string;
+    }[];
+    resourceFetchTimeMs: DigitalExperienceMonitoringTestStatOverTime;
+    serverResponseTimeMs: DigitalExperienceMonitoringTestStatOverTime;
+    /**
+     * Count of unique devices that have run this test in the given time period
+     *
+     * @example 57
+     */
+    uniqueDevicesTotal: number;
+  } | null;
+  httpStatsByColo?: {
+    availabilityPct: DigitalExperienceMonitoringTestStatPctOverTime;
+    /**
+     * @example DFW
+     */
+    colo: string;
+    dnsResponseTimeMs: DigitalExperienceMonitoringTestStatOverTime;
+    httpStatusCode: {
+      status200: number;
+      status300: number;
+      status400: number;
+      status500: number;
+      /**
+       * @example 2023-07-16 15:00:00+00
+       */
+      timestamp: string;
+    }[];
+    resourceFetchTimeMs: DigitalExperienceMonitoringTestStatOverTime;
+    serverResponseTimeMs: DigitalExperienceMonitoringTestStatOverTime;
+    /**
+     * Count of unique devices that have run this test in the given time period
+     *
+     * @example 57
+     */
+    uniqueDevicesTotal: number;
+  }[];
+  /**
+   * The interval at which the HTTP synthetic application test is set to run.
+   *
+   * @example 0h5m0s
+   */
+  interval?: string;
+  kind?: 'http';
+  /**
+   * The HTTP method to use when running the test
+   *
+   * @example GET
+   */
+  method?: string;
+  /**
+   * The name of the HTTP synthetic application test
+   *
+   * @example Atlassian Sign In Page
+   */
+  name?: string;
+  target_policies?:
+    | {
+        /**
+         * Whether the policy is the default for the account
+         */
+        ['default']: boolean;
+        id: string;
+        name: string;
+      }[]
+    | null;
+  targeted?: boolean;
+};
+
+export type DigitalExperienceMonitoringIpInfo = {
+  address?: string | null;
+  asn?: number | null;
+  aso?: string | null;
+  location?: {
+    city?: string | null;
+    country_iso?: string | null;
+    state_iso?: string | null;
+    zip?: string | null;
+  };
+  netmask?: string | null;
+  version?: string | null;
+};
+
+export type DigitalExperienceMonitoringLiveStat = {
+  uniqueDevicesTotal?: DigitalExperienceMonitoringUniqueDevicesTotal;
+  value?: string;
+};
+
+export type DigitalExperienceMonitoringMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+/**
+ * The mode under which the WARP client is run
+ *
+ * @example proxy
+ */
+export type DigitalExperienceMonitoringMode = string;
+
+/**
+ * Page number of paginated results
+ *
+ * @default 1
+ * @example 1
+ * @minimum 1
+ */
+export type DigitalExperienceMonitoringPage = number;
+
+/**
+ * Number of items per page
+ *
+ * @example 10
+ * @maximum 50
+ * @minimum 1
+ */
+export type DigitalExperienceMonitoringPerPage = number;
+
+export type DigitalExperienceMonitoringPercentiles = {
+  /**
+   * p50 observed in the time period
+   */
+  p50?: number | null;
+  /**
+   * p90 observed in the time period
+   */
+  p90?: number | null;
+  /**
+   * p95 observed in the time period
+   */
+  p95?: number | null;
+  /**
+   * p99 observed in the time period
+   */
+  p99?: number | null;
+};
+
+/**
+ * User contact email address
+ */
+export type DigitalExperienceMonitoringPersonEmail = string;
+
+/**
+ * Operating system
+ *
+ * @example windows
+ */
+export type DigitalExperienceMonitoringPlatform = string;
+
+export type DigitalExperienceMonitoringPostCommandsResponse = {
+  /**
+   * List of created commands
+   */
+  commands?: {
+    /**
+     * Command arguments
+     */
+    args?: {
+      [key: string]: string;
+    };
+    /**
+     * Identifier for the device associated with the command
+     */
+    device_id?: string;
+    /**
+     * Unique identifier for the command
+     */
+    id?: string;
+    /**
+     * Current status of the command
+     */
+    status?: 'PENDING_EXEC' | 'PENDING_UPLOAD' | 'SUCCESS' | 'FAILED';
+    /**
+     * Type of the command (e.g., "pcap" or "warp-diag")
+     */
+    type?: string;
+  }[];
+};
+
+export type DigitalExperienceMonitoringRamUsedPctByApp = {
+  name?: string;
+  /**
+   * @format float
+   */
+  ram_used_pct?: number;
+}[];
+
+export type DigitalExperienceMonitoringResultInfo = {
+  /**
+   * Total number of results for the requested service
+   *
+   * @example 1
+   */
+  count?: number;
+  /**
+   * Current page within paginated list of results
+   *
+   * @example 1
+   */
+  page?: number;
+  /**
+   * Number of results per page of results
+   *
+   * @example 20
+   */
+  per_page?: number;
+  /**
+   * Total results available without any search parameters
+   *
+   * @example 2000
+   */
+  total_count?: number;
+};
+
+/**
+ * Number of minutes before current time
+ *
+ * @default 10
+ * @example 10
+ * @maximum 60
+ * @minimum 1
+ */
+export type DigitalExperienceMonitoringSinceMinutes = number;
+
+/**
+ * Dimension to sort results by
+ *
+ * @default timestamp
+ */
+export type DigitalExperienceMonitoringSortBy =
+  | 'colo'
+  | 'device_id'
+  | 'mode'
+  | 'platform'
+  | 'status'
+  | 'timestamp'
+  | 'version';
+
+/**
+ * Specifies fleet status details source
+ *
+ * @default last_seen
+ * @example last_seen
+ */
+export type DigitalExperienceMonitoringSource = 'last_seen' | 'hourly' | 'raw';
+
+/**
+ * Network status
+ *
+ * @example connected
+ */
+export type DigitalExperienceMonitoringStatus = string;
+
+export type DigitalExperienceMonitoringTestStatOverTime = {
+  /**
+   * average observed in the time period
+   */
+  avg?: number | null;
+  /**
+   * highest observed in the time period
+   */
+  max?: number | null;
+  /**
+   * lowest observed in the time period
+   */
+  min?: number | null;
+  slots: {
+    /**
+     * @example 2023-07-16 15:00:00+00
+     */
+    timestamp: string;
+    value: number;
+  }[];
+};
+
+export type DigitalExperienceMonitoringTestStatPctOverTime = {
+  /**
+   * average observed in the time period
+   *
+   * @format float
+   */
+  avg?: number | null;
+  /**
+   * highest observed in the time period
+   *
+   * @format float
+   */
+  max?: number | null;
+  /**
+   * lowest  observed in the time period
+   *
+   * @format float
+   */
+  min?: number | null;
+  slots: {
+    /**
+     * @example 2023-07-16 15:00:00+00
+     */
+    timestamp: string;
+    /**
+     * @format float
+     */
+    value: number;
+  }[];
+};
+
+export type DigitalExperienceMonitoringTestsResponse = {
+  overviewMetrics: {
+    /**
+     * percentage availability for all HTTP test results in response
+     *
+     * @format float
+     */
+    avgHttpAvailabilityPct?: number | null;
+    /**
+     * percentage availability for all traceroutes results in response
+     *
+     * @format float
+     */
+    avgTracerouteAvailabilityPct?: number | null;
+    /**
+     * number of  tests.
+     */
+    testsTotal: number;
+  };
+  /**
+   * array of test results objects.
+   */
+  tests: {
+    /**
+     * date the test was created.
+     */
+    created: string;
+    /**
+     * the test description defined during configuration
+     */
+    description: string;
+    /**
+     * if true, then the test will run on targeted devices. Else, the test will not run.
+     */
+    enabled: boolean;
+    host: string;
+    httpResults?: {
+      resourceFetchTime: DigitalExperienceMonitoringTimingAggregates;
+    } | null;
+    httpResultsByColo?: {
+      /**
+       * Cloudflare colo
+       *
+       * @example SJC
+       */
+      colo: string;
+      resourceFetchTime: DigitalExperienceMonitoringTimingAggregates;
+    }[];
+    id: DigitalExperienceMonitoringUuid;
+    /**
+     * The interval at which the synthetic application test is set to run.
+     */
+    interval: string;
+    /**
+     * test type, http or traceroute
+     */
+    kind: 'http' | 'traceroute';
+    /**
+     * for HTTP, the method to use when running the test
+     */
+    method?: string;
+    /**
+     * name given to this test
+     */
+    name: string;
+    target_policies?:
+      | {
+          /**
+           * Whether the policy is the default for the account
+           */
+          ['default']: boolean;
+          id: string;
+          name: string;
+        }[]
+      | null;
+    targeted?: boolean;
+    tracerouteResults?: {
+      roundTripTime: DigitalExperienceMonitoringTimingAggregates;
+    } | null;
+    tracerouteResultsByColo?: {
+      /**
+       * Cloudflare colo
+       *
+       * @example SJC
+       */
+      colo: string;
+      roundTripTime: DigitalExperienceMonitoringTimingAggregates;
+    }[];
+    updated: string;
+  }[];
+};
+
+/**
+ * Current time in ISO format
+ *
+ * @example 2023-10-11T00:00:00Z
+ */
+export type DigitalExperienceMonitoringTimeNow = string;
+
+/**
+ * Timestamp in ISO format
+ *
+ * @example 2023-10-11T00:00:00Z
+ */
+export type DigitalExperienceMonitoringTimestamp = string;
+
+export type DigitalExperienceMonitoringTimingAggregates = {
+  avgMs?: number | null;
+  history: DigitalExperienceMonitoringAggregateStat[];
+  overTime?: {
+    timePeriod: DigitalExperienceMonitoringAggregateTimePeriod;
+    values: DigitalExperienceMonitoringAggregateTimeSlot[];
+  } | null;
+};
+
+export type DigitalExperienceMonitoringTracerouteDetailsPercentilesResponse = {
+  hopsCount?: DigitalExperienceMonitoringPercentiles;
+  packetLossPct?: DigitalExperienceMonitoringPercentiles;
+  roundTripTimeMs?: DigitalExperienceMonitoringPercentiles;
+};
+
+export type DigitalExperienceMonitoringTracerouteDetailsResponse = {
+  /**
+   * The host of the Traceroute synthetic application test
+   *
+   * @example 1.1.1.1
+   */
+  host: string;
+  /**
+   * The interval at which the Traceroute synthetic application test is set to run.
+   *
+   * @example 0h5m0s
+   */
+  interval: string;
+  kind: 'traceroute';
+  /**
+   * The name of the Traceroute synthetic application test
+   *
+   * @example Atlassian Sign In Page
+   */
+  name: string;
+  target_policies?:
+    | {
+        /**
+         * Whether the policy is the default for the account
+         */
+        ['default']: boolean;
+        id: string;
+        name: string;
+      }[]
+    | null;
+  targeted?: boolean;
+  tracerouteStats?: {
+    availabilityPct: DigitalExperienceMonitoringTestStatPctOverTime;
+    hopsCount: DigitalExperienceMonitoringTestStatOverTime;
+    packetLossPct: DigitalExperienceMonitoringTestStatPctOverTime;
+    roundTripTimeMs: DigitalExperienceMonitoringTestStatOverTime;
+    /**
+     * Count of unique devices that have run this test in the given time period
+     *
+     * @example 57
+     */
+    uniqueDevicesTotal: number;
+  } | null;
+  tracerouteStatsByColo?: {
+    availabilityPct: DigitalExperienceMonitoringTestStatPctOverTime;
+    /**
+     * @example DFW
+     */
+    colo: string;
+    hopsCount: DigitalExperienceMonitoringTestStatOverTime;
+    packetLossPct: DigitalExperienceMonitoringTestStatPctOverTime;
+    roundTripTimeMs: DigitalExperienceMonitoringTestStatOverTime;
+    /**
+     * Count of unique devices that have run this test in the given time period
+     *
+     * @example 57
+     */
+    uniqueDevicesTotal: number;
+  }[];
+};
+
+export type DigitalExperienceMonitoringTracerouteTestNetworkPathResponse = {
+  deviceName?: string;
+  id: DigitalExperienceMonitoringUuid;
+  /**
+   * The interval at which the Traceroute synthetic application test is set to run.
+   *
+   * @example 0h5m0s
+   */
+  interval?: string;
+  kind?: 'traceroute';
+  name?: string;
+  networkPath?: {
+    /**
+     * Specifies the sampling applied, if any, to the slots response. When sampled, results shown represent the first test run to the start of each sampling interval.
+     */
+    sampling?: {
+      unit: 'hours';
+      value: number;
+    } | null;
+    slots: {
+      /**
+       * Round trip time in ms of the client to app mile
+       */
+      clientToAppRttMs: number | null;
+      /**
+       * Round trip time in ms of the client to Cloudflare egress mile
+       */
+      clientToCfEgressRttMs: number | null;
+      /**
+       * Round trip time in ms of the client to Cloudflare ingress mile
+       */
+      clientToCfIngressRttMs: number | null;
+      /**
+       * Round trip time in ms of the client to ISP mile
+       */
+      clientToIspRttMs?: number | null;
+      id: DigitalExperienceMonitoringUuid;
+      /**
+       * @example 2023-07-16 15:00:00+00
+       */
+      timestamp: string;
+    }[];
+  } | null;
+  /**
+   * The host of the Traceroute synthetic application test
+   *
+   * @example 1.1.1.1
+   */
+  url?: string;
+};
+
+export type DigitalExperienceMonitoringTracerouteTestResultNetworkPathResponse = {
+  /**
+   * name of the device associated with this network path response
+   */
+  deviceName?: string;
+  /**
+   * an array of the hops taken by the device to reach the end destination
+   */
+  hops: {
+    asn?: number | null;
+    aso?: string | null;
+    ipAddress?: string | null;
+    location?: {
+      city?: string | null;
+      state?: string | null;
+      zip?: string | null;
+    } | null;
+    mile?: 'client-to-app' | 'client-to-cf-egress' | 'client-to-cf-ingress' | 'client-to-isp' | null;
+    name?: string | null;
+    /**
+     * @format float
+     */
+    packetLossPct?: number | null;
+    rttMs?: number | null;
+    ttl: number;
+  }[];
+  resultId: DigitalExperienceMonitoringUuid;
+  testId?: DigitalExperienceMonitoringUuid;
+  /**
+   * name of the tracroute test
+   */
+  testName?: string;
+};
+
+/**
+ * Number of unique devices
+ */
+export type DigitalExperienceMonitoringUniqueDevicesTotal = number;
+
+export type DigitalExperienceMonitoringUniqueDevicesResponse = {
+  /**
+   * total number of unique devices
+   */
+  uniqueDevicesTotal: number;
+};
+
+/**
+ * API Resource UUID tag.
+ *
+ * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
+ * @maxLength 36
+ */
+export type DigitalExperienceMonitoringUuid = string;
+
+/**
+ * WARP client version
+ *
+ * @example 1.0.0
+ */
+export type DigitalExperienceMonitoringVersion = string;
+
+export type DlpAction = {
+  action: 'Block';
+  message?: string | null;
+};
+
+export type DlpAddinAccountMapping = {
+  /**
+   * @format uuid
+   */
+  addin_identifier_token: string;
+  auth_requirements: DlpAddinAuth;
+};
+
+export type DlpAddinAuth =
+  | {
+      allowed_microsoft_organizations: string[];
+      type: 'Org';
+    }
+  | {
+      type: 'NoAuth';
+    };
+
+export type DlpBehavior = {
+  description: string;
+  enabled: boolean;
+  name: string;
+  risk_level: DlpRiskLevel;
+};
+
+export type DlpBehaviors = {
+  behaviors: {
+    [key: string]: DlpBehavior;
+  };
+};
+
+export type DlpCondition = {
+  operator: DlpOperator;
+  selector: DlpSelector;
+  value: void;
+};
+
+export type DlpConfidence = 'low' | 'medium' | 'high' | 'very_high';
+
+/**
+ * Scan the context of predefined entries to only return matches surrounded by keywords.
+ */
+export type DlpContextAwareness = {
+  /**
+   * If true, scan the context of predefined entries to only return matches surrounded by keywords.
+   */
+  enabled: boolean;
+  skip: DlpSkipConfig;
+};
+
+export type DlpCreateEmailRule = {
+  action: DlpAction;
+  /**
+   * Rule is triggered if all conditions match
+   */
+  conditions: DlpCondition[];
+  description?: string | null;
+  enabled: boolean;
+  name: string;
+};
+
+export type DlpCreateIntegrationBody = {
+  integration_type: DlpRiskScoreIntegrationType;
+  /**
+   * A reference id that can be supplied by the client. Currently this should be set to the Access-Okta IDP ID (a UUIDv4).
+   * https://developers.cloudflare.com/api/operations/access-identity-providers-get-an-access-identity-provider
+   */
+  reference_id?: string | null;
+  /**
+   * The base url of the tenant, e.g. "https://tenant.okta.com"
+   *
+   * @format uri
+   */
+  tenant_url: string;
+};
+
+export type DlpCustomEntry = {
+  /**
+   * @format date-time
+   */
+  created_at: string;
+  enabled: boolean;
+  /**
+   * @format uuid
+   */
+  id: string;
+  name: string;
+  pattern: DlpPattern;
+  /**
+   * @format uuid
+   */
+  profile_id?: string | null;
+  /**
+   * @format date-time
+   */
+  updated_at: string;
+};
+
+export type DlpCustomProfile = {
+  /**
+   * Related DLP policies will trigger when the match count exceeds the number set.
+   *
+   * @default 0
+   * @example 5
+   * @format int32
+   * @maximum 1000
+   * @minimum 0
+   */
+  allowed_match_count: number;
+  confidence_threshold?: DlpConfidence;
+  context_awareness: DlpContextAwareness;
+  /**
+   * When the profile was created
+   *
+   * @format date-time
+   */
+  created_at: string;
+  /**
+   * The description of the profile
+   */
+  description?: string | null;
+  entries: DlpEntry[];
+  /**
+   * The id of the profile (uuid)
+   *
+   * @format uuid
+   */
+  id: string;
+  /**
+   * The name of the profile
+   */
+  name: string;
+  ocr_enabled: boolean;
+  /**
+   * When the profile was lasted updated
+   *
+   * @format date-time
+   */
+  updated_at: string;
+};
+
+export type DlpCustomProfileUpdate = {
+  /**
+   * @format int32
+   */
+  allowed_match_count?: number | null;
+  confidence_threshold?: string | null;
+  context_awareness?: DlpContextAwareness;
+  /**
+   * The description of the profile
+   */
+  description?: string | null;
+  /**
+   * Custom entries from this profile.
+   * If this field is omitted, entries owned by this profile will not be changed.
+   *
+   * @deprecated true
+   */
+  entries?: DlpProfileEntryUpdate[] | null;
+  name: string;
+  ocr_enabled?: boolean;
+  /**
+   * Other entries, e.g. predefined or integration.
+   */
+  shared_entries?: DlpSharedEntryUpdate[];
+};
+
+export type DlpDataset = {
+  columns: DlpDatasetColumn[];
+  /**
+   * @format date-time
+   */
+  created_at: string;
+  /**
+   * The description of the dataset
+   */
+  description?: string | null;
+  /**
+   * @format int32
+   * @minimum 0
+   */
+  encoding_version: number;
+  /**
+   * @format uuid
+   */
+  id: string;
+  name: string;
+  /**
+   * @format int64
+   */
+  num_cells: number;
+  secret: boolean;
+  status: DlpDatasetUploadStatus;
+  /**
+   * When the dataset was last updated.
+   *
+   * This includes name or description changes as well as uploads.
+   *
+   * @format date-time
+   */
+  updated_at: string;
+  uploads: DlpDatasetUpload[];
+};
+
+export type DlpDatasetArray = DlpDataset[];
+
+export type DlpDatasetColumn = {
+  /**
+   * @format uuid
+   */
+  entry_id: string;
+  header_name: string;
+  /**
+   * @format int64
+   */
+  num_cells: number;
+  upload_status: DlpDatasetUploadStatus;
+};
+
+export type DlpDatasetColumnArray = DlpDatasetColumn[];
+
+export type DlpDatasetCreation = {
+  dataset: DlpDataset;
+  /**
+   * Encoding version to use for dataset
+   *
+   * @format int32
+   * @minimum 0
+   */
+  encoding_version: number;
+  /**
+   * @format int64
+   * @minimum 0
+   */
+  max_cells: number;
+  /**
+   * The secret to use for Exact Data Match datasets. This is not present in
+   * Custom Wordlists.
+   *
+   * @format password
+   */
+  secret?: string;
+  /**
+   * The version to use when uploading the dataset.
+   *
+   * @format int64
+   */
+  version: number;
+};
+
+export type DlpDatasetNewVersion = {
+  columns?: DlpDatasetColumn[];
+  /**
+   * @format int32
+   * @minimum 0
+   */
+  encoding_version: number;
+  /**
+   * @format int64
+   * @minimum 0
+   */
+  max_cells: number;
+  /**
+   * @format password
+   */
+  secret?: string;
+  /**
+   * @format int64
+   */
+  version: number;
+};
+
+export type DlpDatasetUpdate = {
+  /**
+   * The description of the dataset
+   */
+  description?: string | null;
+  /**
+   * The name of the dataset, must be unique
+   */
+  name?: string | null;
+};
+
+export type DlpDatasetUpload = {
+  /**
+   * @format int64
+   */
+  num_cells: number;
+  status: DlpDatasetUploadStatus;
+  /**
+   * @format int64
+   */
+  version: number;
+};
+
+export type DlpDatasetUploadStatus = 'empty' | 'uploading' | 'processing' | 'failed' | 'complete';
+
+export type DlpEmailRule = {
+  action: DlpAction;
+  /**
+   * Rule is triggered if all conditions match
+   */
+  conditions: DlpCondition[];
+  /**
+   * @format date-time
+   */
+  created_at: string;
+  description?: string | null;
+  enabled: boolean;
+  name: string;
+  /**
+   * @format int32
+   * @minimum 0
+   */
+  priority: number;
+  /**
+   * @format uuid
+   */
+  rule_id: string;
+  /**
+   * @format date-time
+   */
+  updated_at: string;
+};
+
+export type DlpEmailRuleArray = DlpEmailRule[];
+
+export type DlpEmpty = Record<string, any> | null;
+
+export type DlpEntry =
+  | (DlpCustomEntry & {
+      type: 'custom';
+    })
+  | (DlpPredefinedEntry & {
+      type: 'predefined';
+    })
+  | (DlpIntegrationEntry & {
+      type: 'integration';
+    })
+  | (DlpExactDataEntry & {
+      type: 'exact_data';
+    })
+  | (DlpWordListEntry & {
+      type: 'word_list';
+    });
+
+export type DlpEntryConfidence = {
+  /**
+   * Indicates whether this entry can be made more or less sensitive by setting a confidence threshold.
+   * Profiles that use an entry with `available` set to true can use confidence thresholds
+   */
+  available: boolean;
+};
+
+export type DlpEntryOfNewProfile = DlpNewCustomEntry | DlpNewWordListEntry;
+
+export type DlpEntryUpdate = DlpEntryUpdateType & {
+  enabled: boolean;
+};
+
+export type DlpEntryUpdateType =
+  | {
+      name: string;
+      pattern: DlpPattern;
+      type: 'custom';
+    }
+  | {
+      type: 'predefined';
+    }
+  | {
+      type: 'integration';
+    };
+
+export type DlpExactDataEntry = {
+  /**
+   * @format date-time
+   */
+  created_at: string;
+  enabled: boolean;
+  /**
+   * @format uuid
+   */
+  id: string;
+  name: string;
+  secret: boolean;
+  /**
+   * @format date-time
+   */
+  updated_at: string;
+};
+
+export type DlpIntegrationEntry = {
+  /**
+   * @format date-time
+   */
+  created_at: string;
+  enabled: boolean;
+  /**
+   * @format uuid
+   */
+  id: string;
+  name: string;
+  /**
+   * @format uuid
+   */
+  profile_id?: string | null;
+  /**
+   * @format date-time
+   */
+  updated_at: string;
+};
+
+export type DlpIntegrationProfile = {
+  /**
+   * @format date-time
+   */
+  created_at: string;
+  /**
+   * The description of the profile
+   */
+  description?: string | null;
+  entries: DlpEntry[];
+  /**
+   * @format uuid
+   */
+  id: string;
+  name: string;
+  /**
+   * @format date-time
+   */
+  updated_at: string;
+};
+
+export type DlpLimits = {
+  /**
+   * @format int64
+   * @minimum 0
+   */
+  max_dataset_cells: number;
+};
+
+export type DlpNewCustomEntry = {
+  enabled: boolean;
+  name: string;
+  pattern: DlpPattern;
+};
+
+export type DlpNewCustomEntryWithId = DlpNewCustomEntry & {
+  /**
+   * @format uuid
+   */
+  entry_id: string;
+};
+
+export type DlpNewCustomProfile = {
+  /**
+   * Related DLP policies will trigger when the match count exceeds the number set.
+   *
+   * @default 0
+   * @example 5
+   * @format int32
+   * @maximum 1000
+   * @minimum 0
+   */
+  allowed_match_count?: number;
+  confidence_threshold?: string | null;
+  context_awareness?: DlpContextAwareness;
+  /**
+   * The description of the profile
+   */
+  description?: string | null;
+  entries: DlpEntryOfNewProfile[];
+  name: string;
+  ocr_enabled?: boolean;
+  /**
+   * Entries from other profiles (e.g. pre-defined Cloudflare profiles, or your Microsoft Information Protection profiles).
+   */
+  shared_entries?: DlpNewSharedEntry[];
+};
+
+export type DlpNewCustomProfiles =
+  | {
+      profiles: DlpNewCustomProfile[];
+    }
+  | DlpNewCustomProfile;
+
+export type DlpNewDataset = {
+  /**
+   * The description of the dataset
+   */
+  description?: string | null;
+  /**
+   * Dataset encoding version
+   *
+   * Non-secret custom word lists with no header are always version 1.
+   * Secret EDM lists with no header are version 1.
+   * Multicolumn CSV with headers are version 2.
+   * Omitting this field provides the default value 0, which is interpreted
+   * the same as 1.
+   *
+   * @format int32
+   * @minimum 0
+   */
+  encoding_version?: number;
+  name: string;
+  /**
+   * Generate a secret dataset.
+   *
+   * If true, the response will include a secret to use with the EDM encoder.
+   * If false, the response has no secret and the dataset is uploaded in plaintext.
+   */
+  secret?: boolean;
+};
+
+export type DlpNewDatasetColumn =
+  | {
+      /**
+       * @format uuid
+       */
+      entry_id: string;
+    }
+  | {
+      entry_name: string;
+    };
+
+export type DlpNewEntry = {
+  enabled: boolean;
+  name: string;
+  pattern: DlpPattern;
+  /**
+   * @format uuid
+   */
+  profile_id: string;
+};
+
+export type DlpNewSharedEntry =
+  | {
+      enabled: boolean;
+      /**
+       * @format uuid
+       */
+      entry_id: string;
+      entry_type: 'custom';
+    }
+  | {
+      enabled: boolean;
+      /**
+       * @format uuid
+       */
+      entry_id: string;
+      entry_type: 'predefined';
+    }
+  | {
+      enabled: boolean;
+      /**
+       * @format uuid
+       */
+      entry_id: string;
+      entry_type: 'integration';
+    }
+  | {
+      enabled: boolean;
+      /**
+       * @format uuid
+       */
+      entry_id: string;
+      entry_type: 'exact_data';
+    };
+
+export type DlpNewWordListEntry = {
+  enabled: boolean;
+  name: string;
+  words: string[];
+};
+
+export type DlpOperator = 'InList' | 'NotInList' | 'MatchRegex' | 'NotMatchRegex';
+
+export type DlpPattern = {
+  regex: string;
+  validation?: DlpValidation;
+};
+
+export type DlpPayloadLogSetting = {
+  public_key?: string | null;
+  /**
+   * @format date-time
+   */
+  updated_at: string;
+};
+
+export type DlpPayloadLogSettingUpdate = {
+  public_key?: string | null;
+};
+
+export type DlpPredefinedEntry = {
+  confidence: DlpEntryConfidence;
+  enabled: boolean;
+  /**
+   * @format uuid
+   */
+  id: string;
+  name: string;
+  /**
+   * @format uuid
+   */
+  profile_id?: string | null;
+};
+
+export type DlpPredefinedEntryUpdate = {
+  enabled: boolean;
+  /**
+   * @format uuid
+   */
+  id: string;
+};
+
+export type DlpPredefinedProfile = {
+  /**
+   * @format int32
+   */
+  allowed_match_count: number;
+  confidence_threshold?: DlpConfidence;
+  context_awareness?: DlpContextAwareness;
+  entries: DlpEntry[];
+  /**
+   * The id of the predefined profile (uuid)
+   *
+   * @format uuid
+   */
+  id: string;
+  /**
+   * The name of the predefined profile
+   */
+  name: string;
+  ocr_enabled?: boolean;
+  /**
+   * Whether this profile can be accessed by anyone
+   */
+  open_access?: boolean;
+};
+
+export type DlpPredefinedProfileUpdate = {
+  /**
+   * @format int32
+   */
+  allowed_match_count?: number | null;
+  confidence_threshold?: string | null;
+  context_awareness?: DlpContextAwareness;
+  entries: DlpPredefinedEntryUpdate[];
+  ocr_enabled?: boolean;
+};
+
+export type DlpProfile =
+  | (DlpCustomProfile & {
+      type: 'custom';
+    })
+  | (DlpPredefinedProfile & {
+      type: 'predefined';
+    })
+  | (DlpIntegrationProfile & {
+      type: 'integration';
+    });
+
+export type DlpProfileArray = DlpProfile[];
+
+export type DlpProfileEntryUpdate = DlpNewCustomEntryWithId | DlpNewCustomEntry;
+
+export type DlpProfileOrProfileArray = DlpProfile | DlpProfile[];
+
+export type DlpRegexValidationQuery = {
+  /**
+   * Maximum number of bytes that the regular expression can match.
+   *
+   * If this is `null` then there is no limit on the length. Patterns can use
+   * `*` and `+`. Otherwise repeats should use a range `{m,n}` to restrict
+   * patterns to the length. If this field is missing, then a default length
+   * limit is used.
+   *
+   * Note that the length is specified in bytes. Since regular expressions
+   * use UTF-8 the pattern `.` can match up to 4 bytes. Hence `.{1,256}`
+   * has a maximum length of 1024 bytes.
+   *
+   * @format int32
+   * @minimum 0
+   */
+  max_match_bytes?: number | null;
+  regex: string;
+};
+
+export type DlpRegexValidationResult = {
+  valid: boolean;
+};
+
+export type DlpRiskEvent = {
+  event_details?: void;
+  id: string;
+  name: string;
+  risk_level: DlpRiskLevel;
+  /**
+   * @format date-time
+   */
+  timestamp: string;
+};
+
+export type DlpRiskEvents = {
+  email: string;
+  events: DlpRiskEvent[];
+  /**
+   * @format date-time
+   */
+  last_reset_time?: string | null;
+  name: string;
+  risk_level?: DlpRiskLevel;
+};
+
+export type DlpRiskLevel = 'low' | 'medium' | 'high';
+
+export type DlpRiskScoreIntegration = {
+  /**
+   * The Cloudflare account tag.
+   */
+  account_tag: string;
+  /**
+   * Whether this integration is enabled and should export changes in risk score.
+   */
+  active: boolean;
+  /**
+   * When the integration was created in RFC3339 format.
+   *
+   * @format date-time
+   */
+  created_at: string;
+  /**
+   * The id of the integration, a UUIDv4.
+   *
+   * @format uuid
+   */
+  id: string;
+  integration_type: DlpRiskScoreIntegrationType;
+  /**
+   * A reference ID defined by the client.
+   * Should be set to the Access-Okta IDP integration ID.
+   * Useful when the risk-score integration needs to be associated with a secondary asset and recalled using that ID.
+   */
+  reference_id: string;
+  /**
+   * The base URL for the tenant. E.g. "https://tenant.okta.com"
+   */
+  tenant_url: string;
+  /**
+   * The URL for the Shared Signals Framework configuration, e.g. "/.well-known/sse-configuration/{integration_uuid}/". https://openid.net/specs/openid-sse-framework-1_0.html#rfc.section.6.2.1
+   */
+  well_known_url: string;
+};
+
+export type DlpRiskScoreIntegrationArray = DlpRiskScoreIntegration[];
+
+export type DlpRiskScoreIntegrationType = 'Okta';
+
+export type DlpRiskSummary = {
+  users: DlpUserRiskInfo[];
+};
+
+export type DlpSelector = 'Recipients' | 'Sender' | 'DLPProfiles';
+
+export type DlpSharedEntryUpdate =
+  | {
+      enabled: boolean;
+      /**
+       * @format uuid
+       */
+      entry_id: string;
+      entry_type: 'predefined';
+    }
+  | {
+      enabled: boolean;
+      /**
+       * @format uuid
+       */
+      entry_id: string;
+      entry_type: 'integration';
+    }
+  | {
+      enabled: boolean;
+      /**
+       * @format uuid
+       */
+      entry_id: string;
+      entry_type: 'exact_data';
+    };
+
+/**
+ * Content types to exclude from context analysis and return all matches.
+ */
+export type DlpSkipConfig = {
+  /**
+   * If the content type is a file, skip context analysis and return all matches.
+   */
+  files: boolean;
+};
+
+export type DlpUpdateAddinAccountMapping = {
+  auth_requirements: DlpAddinAuth;
+};
+
+export type DlpUpdateBehavior = {
+  enabled: boolean;
+  risk_level: DlpRiskLevel;
+};
+
+export type DlpUpdateBehaviors = {
+  behaviors: {
+    [key: string]: DlpUpdateBehavior;
+  };
+};
+
+/**
+ * Used to update multiple email rule priorities as an atomic action,
+ * to support patterns such as swapping the priorities of two email rules
+ */
+export type DlpUpdateEmailRulePriorities = {
+  new_priorities: {
+    [key: string]: number;
+  };
+};
+
+export type DlpUpdateIntegrationBody = {
+  /**
+   * Whether this integration is enabled. If disabled, no risk changes will be exported to the third-party.
+   */
+  active: boolean;
+  /**
+   * A reference id that can be supplied by the client. Currently this should be set to the Access-Okta IDP ID (a UUIDv4).
+   * https://developers.cloudflare.com/api/operations/access-identity-providers-get-an-access-identity-provider
+   */
+  reference_id?: string | null;
+  /**
+   * The base url of the tenant, e.g. "https://tenant.okta.com"
+   *
+   * @format uri
+   */
+  tenant_url: string;
+};
+
+export type DlpUserRiskInfo = {
+  email: string;
+  /**
+   * @minimum 0
+   */
+  event_count: number;
+  /**
+   * @format date-time
+   */
+  last_event: string;
+  max_risk_level: DlpRiskLevel;
+  name: string;
+  /**
+   * @format uuid
+   */
+  user_id: string;
+};
+
+export type DlpValidation = 'luhn';
+
+export type DlpValue = string[] | string;
+
+export type DlpWordListEntry = {
+  /**
+   * @format date-time
+   */
+  created_at: string;
+  enabled: boolean;
+  /**
+   * @format uuid
+   */
+  id: string;
+  name: string;
+  /**
+   * @format uuid
+   */
+  profile_id?: string | null;
+  /**
+   * @format date-time
+   */
+  updated_at: string;
+  word_list: void;
+};
+
+export type DlpApiResponseCollection = DlpApiResponseCommon & {
+  result_info?: DlpResultInfo;
+};
+
+export type DlpApiResponseCommon = {
+  errors: DlpMessages;
+  messages: DlpMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type DlpApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: DlpMessages;
+  messages: DlpMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type DlpApiResponseSingle = DlpApiResponseCommon;
+
+export type DlpMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+export type DlpResultInfo = {
+  /**
+   * Total number of results for the requested service
+   *
+   * @example 1
+   */
+  count?: number;
+  /**
+   * Current page within paginated list of results
+   *
+   * @example 1
+   */
+  page?: number;
+  /**
+   * Number of results per page of results
+   *
+   * @example 20
+   */
+  per_page?: number;
+  /**
+   * Total results available without any search parameters
+   *
+   * @example 2000
+   */
+  total_count?: number;
+};
+
+export type DlsApiResponseCollection = DlsApiResponseCommon & {
+  result?: any[] | null;
+  result_info?: DlsResultInfo;
+};
+
+export type DlsApiResponseCommon = {
+  errors: DlsMessages;
+  messages: DlsMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type DlsApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: DlsMessages;
+  messages: DlsMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+/**
+ * DNS hostname to be regionalized, must be a subdomain of the zone. Wildcards are supported for one level, e.g `*.example.com`
+ *
+ * @example foo.example.com
+ */
+export type DlsHostname = string;
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type DlsIdentifier = string;
+
+export type DlsMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+/**
+ * Identifying key for the region
+ *
+ * @example ca
+ */
+export type DlsRegionKey = string;
+
+export type DlsRegionalHostnameResponse = {
+  /**
+   * When the regional hostname was created
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  created_on: DlsTimestamp & void & void;
+  hostname: DlsHostname;
+  region_key: DlsRegionKey;
+};
+
+export type DlsResultInfo = {
+  /**
+   * Total number of results for the requested service
+   *
+   * @example 1
+   */
+  count?: number;
+  /**
+   * Current page within paginated list of results
+   *
+   * @example 1
+   */
+  page?: number;
+  /**
+   * Number of results per page of results
+   *
+   * @example 20
+   */
+  per_page?: number;
+  /**
+   * Total results available without any search parameters
+   *
+   * @example 2000
+   */
+  total_count?: number;
+};
+
+/**
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
+ */
+export type DlsTimestamp = string;
+
+export type DnsAnalyticsApiResponseCommon = {
+  errors: DnsAnalyticsMessages;
+  messages: DnsAnalyticsMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type DnsAnalyticsApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: DnsAnalyticsMessages;
+  messages: DnsAnalyticsMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type DnsAnalyticsApiResponseSingle = DnsAnalyticsApiResponseCommon;
+
+/**
+ * Array with one row per combination of dimension values.
+ */
+export type DnsAnalyticsData = {
+  /**
+   * Array of dimension values, representing the combination of dimension values corresponding to this row.
+   */
+  dimensions: string[];
+}[];
+
+/**
+ * A comma-separated list of dimensions to group results by.
+ *
+ * @example queryType
+ */
+export type DnsAnalyticsDimensions = string;
+
+/**
+ * Segmentation filter in 'attribute operator value' format.
+ *
+ * @example responseCode==NOERROR,queryType==A
+ */
+export type DnsAnalyticsFilters = string;
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type DnsAnalyticsIdentifier = string;
+
+/**
+ * Limit number of returned metrics.
+ *
+ * @default 100000
+ * @example 100
+ */
+export type DnsAnalyticsLimit = number;
+
+export type DnsAnalyticsMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+/**
+ * A comma-separated list of metrics to query.
+ *
+ * @example queryCount,uncachedCount
+ */
+export type DnsAnalyticsMetrics = string;
+
+export type DnsAnalyticsQuery = {
+  /**
+   * Array of dimension names.
+   *
+   * @example responseCode
+   * @example queryName
+   */
+  dimensions: string[];
+  filters?: DnsAnalyticsFilters;
+  limit: DnsAnalyticsLimit;
+  /**
+   * Array of metric names.
+   *
+   * @example queryCount
+   * @example responseTimeAvg
+   */
+  metrics: string[];
+  since: DnsAnalyticsSince;
+  /**
+   * Array of dimensions to sort by, where each dimension may be prefixed by - (descending) or + (ascending).
+   *
+   * @example +responseCode
+   * @example -queryName
+   */
+  sort?: string[];
+  until: DnsAnalyticsUntil;
+};
+
+export type DnsAnalyticsReport = {
+  data: DnsAnalyticsData;
+  /**
+   * Number of seconds between current time and last processed event, in another words how many seconds of data could be missing.
+   *
+   * @example 60
+   * @minimum 0
+   */
+  data_lag: number;
+  /**
+   * Maximum results for each metric (object mapping metric names to values). Currently always an empty object.
+   */
+  max: Record<string, any>;
+  /**
+   * Minimum results for each metric (object mapping metric names to values). Currently always an empty object.
+   */
+  min: Record<string, any>;
+  query: DnsAnalyticsQuery;
+  /**
+   * Total number of rows in the result.
+   *
+   * @example 100
+   * @minimum 0
+   */
+  rows?: number;
+  /**
+   * Total results for metrics across all data (object mapping metric names to values).
+   */
+  totals: Record<string, any>;
+};
+
+export type DnsAnalyticsReportBytime = {
+  data: DnsAnalyticsData;
+  /**
+   * Number of seconds between current time and last processed event, in another words how many seconds of data could be missing.
+   *
+   * @example 60
+   * @minimum 0
+   */
+  data_lag: number;
+  /**
+   * Maximum results for each metric (object mapping metric names to values). Currently always an empty object.
+   */
+  max: Record<string, any>;
+  /**
+   * Minimum results for each metric (object mapping metric names to values). Currently always an empty object.
+   */
+  min?: Record<string, any>;
+  query: DnsAnalyticsQuery;
+  /**
+   * Total number of rows in the result.
+   *
+   * @example 100
+   * @minimum 0
+   */
+  rows?: number;
+  /**
+   * Total results for metrics across all data (object mapping metric names to values).
+   */
+  totals?: Record<string, any>;
+  /**
+   * Array of time intervals in the response data. Each interval is represented as an array containing two values: the start time, and the end time.
+   */
+  time_intervals: string[][];
+};
+
+export type DnsAnalyticsResult = {
+  data: DnsAnalyticsData;
+  /**
+   * Number of seconds between current time and last processed event, in another words how many seconds of data could be missing.
+   *
+   * @example 60
+   * @minimum 0
+   */
+  data_lag: number;
+  /**
+   * Maximum results for each metric (object mapping metric names to values). Currently always an empty object.
+   */
+  max: Record<string, any>;
+  /**
+   * Minimum results for each metric (object mapping metric names to values). Currently always an empty object.
+   */
+  min: Record<string, any>;
+  query: DnsAnalyticsQuery;
+  /**
+   * Total number of rows in the result.
+   *
+   * @example 100
+   * @minimum 0
+   */
+  rows: number;
+  /**
+   * Total results for metrics across all data (object mapping metric names to values).
+   */
+  totals: Record<string, any>;
+};
+
+/**
+ * Start date and time of requesting data period in ISO 8601 format.
+ *
+ * @example 2023-11-11T12:00:00Z
+ * @format date-time
+ */
+export type DnsAnalyticsSince = string;
+
+/**
+ * A comma-separated list of dimensions to sort by, where each dimension may be prefixed by - (descending) or + (ascending).
+ *
+ * @example +responseCode,-queryName
+ */
+export type DnsAnalyticsSort = string;
+
+/**
+ * Unit of time to group data by.
+ *
+ * @example hour
+ */
+export type DnsAnalyticsTimeDelta =
+  | 'all'
+  | 'auto'
+  | 'year'
+  | 'quarter'
+  | 'month'
+  | 'week'
+  | 'day'
+  | 'hour'
+  | 'dekaminute'
+  | 'minute';
+
+/**
+ * End date and time of requesting data period in ISO 8601 format.
+ *
+ * @example 2023-11-11T13:00:00Z
+ * @format date-time
+ */
+export type DnsAnalyticsUntil = string;
+
+/**
+ * A single account custom nameserver.
+ */
+export type DnsCustomNameserversCustomNS = {
+  /**
+   * A and AAAA records associated with the nameserver.
+   */
+  dns_records: {
+    /**
+     * DNS record type.
+     *
+     * @example A
+     */
+    type?: 'A' | 'AAAA';
+    /**
+     * DNS record contents (an IPv4 or IPv6 address).
+     *
+     * @example 1.1.1.1
+     */
+    value?: string;
+  }[];
+  ns_name: DnsCustomNameserversNsName;
+  ns_set?: DnsCustomNameserversNsSet;
+  /**
+   * Verification status of the nameserver.
+   *
+   * @deprecated true
+   * @example verified
+   */
+  status: 'moved' | 'pending' | 'verified';
+  zone_tag: DnsCustomNameserversSchemasIdentifier;
+};
+
+export type DnsCustomNameserversCustomNSInput = {
+  ns_name: DnsCustomNameserversNsName;
+  ns_set?: DnsCustomNameserversNsSet;
+};
+
+export type DnsCustomNameserversAcnsResponseCollection = DnsCustomNameserversApiResponseCollection & {
+  result?: DnsCustomNameserversCustomNS[];
+};
+
+export type DnsCustomNameserversAcnsResponseSingle = DnsCustomNameserversApiResponseSingle & {
+  result?: DnsCustomNameserversCustomNS;
+};
+
+export type DnsCustomNameserversApiResponseCollection = DnsCustomNameserversApiResponseCommon & {
+  result_info?: DnsCustomNameserversResultInfo;
+};
+
+export type DnsCustomNameserversApiResponseCommon = {
+  errors: DnsCustomNameserversMessages;
+  messages: DnsCustomNameserversMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type DnsCustomNameserversApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: DnsCustomNameserversMessages;
+  messages: DnsCustomNameserversMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type DnsCustomNameserversApiResponseSingle = DnsCustomNameserversApiResponseCommon;
+
+export type DnsCustomNameserversAvailabilityResponse = DnsCustomNameserversApiResponseCollection & {
+  result?: string[];
+};
+
+export type DnsCustomNameserversEmptyResponse = DnsCustomNameserversApiResponseCollection & {
+  /**
+   * @maxItems 0
+   */
+  result?: string[];
+};
+
+export type DnsCustomNameserversGetResponse = DnsCustomNameserversApiResponseCollection &
+  DnsCustomNameserversZoneMetadata;
+
+/**
+ * Account identifier tag.
+ *
+ * @example 372e67954025e0ba6aaa6d586b9e0b59
+ * @maxLength 32
+ */
+export type DnsCustomNameserversIdentifier = string;
+
+export type DnsCustomNameserversMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+/**
+ * The FQDN of the name server.
+ *
+ * @example ns1.example.com
+ * @format hostname
+ */
+export type DnsCustomNameserversNsName = string;
+
+/**
+ * The number of the set that this name server belongs to.
+ *
+ * @default 1
+ * @example 1
+ * @maximum 5
+ * @minimum 1
+ */
+export type DnsCustomNameserversNsSet = number;
+
+export type DnsCustomNameserversResultInfo = {
+  /**
+   * Total number of results for the requested service
+   *
+   * @example 1
+   */
+  count?: number;
+  /**
+   * Current page within paginated list of results
+   *
+   * @example 1
+   */
+  page?: number;
+  /**
+   * Number of results per page of results
+   *
+   * @example 20
+   */
+  per_page?: number;
+  /**
+   * Total results available without any search parameters
+   *
+   * @example 2000
+   */
+  total_count?: number;
+};
+
+export type DnsCustomNameserversSchemasEmptyResponse = DnsCustomNameserversApiResponseCollection & {
+  /**
+   * @maxItems 0
+   */
+  result?: string[];
+};
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type DnsCustomNameserversSchemasIdentifier = string;
+
+export type DnsCustomNameserversZoneMetadata = {
+  /**
+   * Whether zone uses account-level custom nameservers.
+   *
+   * @example true
+   */
+  enabled?: boolean;
+  /**
+   * The number of the name server set to assign to the zone.
+   *
+   * @default 1
+   * @example 1
+   * @maximum 5
+   * @minimum 1
+   */
+  ns_set?: number;
+};
+
+export type DnsFirewallApiResponseCollection = DnsFirewallApiResponseCommon & {
+  result_info?: DnsFirewallResultInfo;
+};
+
+export type DnsFirewallApiResponseCommon = {
+  errors: DnsFirewallMessages;
+  messages: DnsFirewallMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type DnsFirewallApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: DnsFirewallMessages;
+  messages: DnsFirewallMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type DnsFirewallApiResponseSingle = DnsFirewallApiResponseCommon;
+
+/**
+ * Attack mitigation settings
+ */
+export type DnsFirewallAttackMitigation = {
+  /**
+   * When enabled, automatically mitigate random-prefix attacks to protect upstream DNS servers
+   *
+   * @example true
+   */
+  enabled?: boolean;
+  /**
+   * Only mitigate attacks when upstream servers seem unhealthy
+   *
+   * @default true
+   * @example false
+   */
+  only_when_upstream_unhealthy?: boolean;
+} | null;
+
+/**
+ * Whether to refuse to answer queries for the ANY type
+ *
+ * @example true
+ */
+export type DnsFirewallDeprecateAnyRequests = boolean;
+
+export type DnsFirewallDnsFirewallCluster = {
+  attack_mitigation?: DnsFirewallAttackMitigation;
+  deprecate_any_requests?: DnsFirewallDeprecateAnyRequests;
+  ecs_fallback?: DnsFirewallEcsFallback;
+  maximum_cache_ttl?: DnsFirewallMaximumCacheTtl;
+  minimum_cache_ttl?: DnsFirewallMinimumCacheTtl;
+  name?: DnsFirewallName;
+  negative_cache_ttl?: DnsFirewallNegativeCacheTtl;
+  ratelimit?: DnsFirewallRatelimit;
+  retries?: DnsFirewallRetries;
+  upstream_ips?: DnsFirewallUpstreamIps;
+};
+
+export type DnsFirewallDnsFirewallClusterPatch = DnsFirewallDnsFirewallCluster;
+
+export type DnsFirewallDnsFirewallClusterPost = DnsFirewallDnsFirewallCluster;
+
+export type DnsFirewallDnsFirewallClusterResponse = DnsFirewallDnsFirewallCluster & {
+  dns_firewall_ips: DnsFirewallDnsFirewallIps;
+  id: DnsFirewallIdentifier;
+  modified_on: DnsFirewallModifiedOn;
+};
+
+export type DnsFirewallDnsFirewallReverseDns = {
+  /**
+   * Map of cluster IP addresses to PTR record contents
+   */
+  ptr?: {
+    [key: string]: string;
+  };
+};
+
+export type DnsFirewallDnsFirewallReverseDnsPatch = DnsFirewallDnsFirewallReverseDns;
+
+export type DnsFirewallDnsFirewallReverseDnsResponse = DnsFirewallDnsFirewallReverseDns;
+
+/**
+ * @example 203.0.113.1
+ * @example 203.0.113.254
+ * @example 2001:DB8:AB::CF
+ * @example 2001:DB8:CD::CF
+ */
+export type DnsFirewallDnsFirewallIps = (string | string)[];
+
+export type DnsFirewallDnsFirewallResponseCollection = DnsFirewallApiResponseCollection & {
+  result?: DnsFirewallDnsFirewallClusterResponse[];
+};
+
+export type DnsFirewallDnsFirewallSingleResponse = DnsFirewallApiResponseSingle & {
+  result?: DnsFirewallDnsFirewallClusterResponse;
+};
+
+/**
+ * Whether to forward client IP (resolver) subnet if no EDNS Client Subnet is sent
+ *
+ * @example false
+ */
+export type DnsFirewallEcsFallback = boolean;
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type DnsFirewallIdentifier = string;
+
+/**
+ * Maximum DNS cache TTL This setting sets an upper bound on DNS TTLs for purposes of caching between DNS Firewall and the upstream servers. Higher TTLs will be decreased to the maximum defined here for caching purposes.
+ *
+ * @default 900
+ * @example 900
+ * @maximum 36000
+ * @minimum 30
+ */
+export type DnsFirewallMaximumCacheTtl = number;
+
+export type DnsFirewallMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+/**
+ * Minimum DNS cache TTL This setting sets a lower bound on DNS TTLs for purposes of caching between DNS Firewall and the upstream servers. Lower TTLs will be increased to the minimum defined here for caching purposes.
+ *
+ * @default 60
+ * @example 60
+ * @maximum 36000
+ * @minimum 30
+ */
+export type DnsFirewallMinimumCacheTtl = number;
+
+/**
+ * Last modification of DNS Firewall cluster
+ *
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
+ */
+export type DnsFirewallModifiedOn = string;
+
+/**
+ * DNS Firewall cluster name
+ *
+ * @example My Awesome DNS Firewall cluster
+ * @maxLength 160
+ * @minLength 1
+ */
+export type DnsFirewallName = string;
+
+/**
+ * Negative DNS cache TTL This setting controls how long DNS Firewall should cache negative responses (e.g., NXDOMAIN) from the upstream servers.
+ *
+ * @example 900
+ * @maximum 36000
+ * @minimum 30
+ */
+export type DnsFirewallNegativeCacheTtl = number | null;
+
+/**
+ * Ratelimit in queries per second per datacenter (applies to DNS queries sent to the upstream nameservers configured on the cluster)
+ *
+ * @example 600
+ * @maximum 1000000000
+ * @minimum 100
+ */
+export type DnsFirewallRatelimit = number | null;
+
+export type DnsFirewallResultInfo = {
+  /**
+   * Total number of results for the requested service
+   *
+   * @example 1
+   */
+  count?: number;
+  /**
+   * Current page within paginated list of results
+   *
+   * @example 1
+   */
+  page?: number;
+  /**
+   * Number of results per page of results
+   *
+   * @example 20
+   */
+  per_page?: number;
+  /**
+   * Total results available without any search parameters
+   *
+   * @example 2000
+   */
+  total_count?: number;
+};
+
+/**
+ * Number of retries for fetching DNS responses from upstream nameservers (not counting the initial attempt)
+ *
+ * @default 2
+ * @example 2
+ * @maximum 2
+ * @minimum 0
+ */
+export type DnsFirewallRetries = number;
+
+/**
+ * @example 192.0.2.1
+ * @example 198.51.100.1
+ * @example 2001:DB8:100::CF
+ * @minLength 1
+ */
+export type DnsFirewallUpstreamIps = (string | string)[];
+
+export type DnsRecordsAAAARecord = DnsRecordsDnsRecordSharedFields & {
+  /**
+   * A valid IPv6 address.
+   *
+   * @example 2400:cb00:2049::1
+   * @format ipv6
+   */
+  content?: string;
+  /**
+   * Record type.
+   *
+   * @example AAAA
+   */
+  type?: 'AAAA';
+};
+
+export type DnsRecordsARecord = DnsRecordsDnsRecordSharedFields & {
+  /**
+   * A valid IPv4 address.
+   *
+   * @example 198.51.100.4
+   * @format ipv4
+   */
+  content?: string;
+  /**
+   * Record type.
+   *
+   * @example A
+   */
+  type?: 'A';
+};
+
+export type DnsRecordsCAARecord = DnsRecordsDnsRecordSharedFields & {
+  /**
+   * Formatted CAA content. See 'data' to set CAA properties.
+   */
+  content?: string;
+  /**
+   * Components of a CAA record.
+   */
+  data?: {
+    /**
+     * Flags for the CAA record.
+     *
+     * @example 1
+     * @maximum 255
+     * @minimum 0
+     */
+    flags?: number;
+    /**
+     * Name of the property controlled by this record (e.g.: issue, issuewild, iodef).
+     *
+     * @example issue
+     */
+    tag?: string;
+    /**
+     * Value of the record. This field's semantics depend on the chosen tag.
+     */
+    value?: string;
+  };
+  /**
+   * Record type.
+   *
+   * @example CAA
+   */
+  type?: 'CAA';
+};
+
+export type DnsRecordsCERTRecord = DnsRecordsDnsRecordSharedFields & {
+  /**
+   * Formatted CERT content. See 'data' to set CERT properties.
+   */
+  content?: string;
+  /**
+   * Components of a CERT record.
+   */
+  data?: {
+    /**
+     * Algorithm.
+     *
+     * @example 8
+     * @maximum 255
+     * @minimum 0
+     */
+    algorithm?: number;
+    /**
+     * Certificate.
+     */
+    certificate?: string;
+    /**
+     * Key Tag.
+     *
+     * @example 1
+     * @maximum 65535
+     * @minimum 0
+     */
+    key_tag?: number;
+    /**
+     * Type.
+     *
+     * @example 9
+     * @maximum 65535
+     * @minimum 0
+     */
+    type?: number;
+  };
+  /**
+   * Record type.
+   *
+   * @example CERT
+   */
+  type?: 'CERT';
+};
+
+export type DnsRecordsCNAMERecord = {
+  comment?: DnsRecordsComment;
+  name?: DnsRecordsName;
+  proxied?: DnsRecordsProxied;
+  settings?: DnsRecordsSettings;
+  tags?: DnsRecordsTags;
+  ttl?: DnsRecordsTtl;
+  /**
+   * A valid hostname. Must not match the record's name.
+   */
+  content?: string;
+  /**
+   * Record type.
+   *
+   * @example CNAME
+   */
+  type?: 'CNAME';
+};
+
+export type DnsRecordsDNSKEYRecord = DnsRecordsDnsRecordSharedFields & {
+  /**
+   * Formatted DNSKEY content. See 'data' to set DNSKEY properties.
+   */
+  content?: string;
+  /**
+   * Components of a DNSKEY record.
+   */
+  data?: {
+    /**
+     * Algorithm.
+     *
+     * @example 5
+     * @maximum 255
+     * @minimum 0
+     */
+    algorithm?: number;
+    /**
+     * Flags.
+     *
+     * @example 1
+     * @maximum 65535
+     * @minimum 0
+     */
+    flags?: number;
+    /**
+     * Protocol.
+     *
+     * @example 3
+     * @maximum 255
+     * @minimum 0
+     */
+    protocol?: number;
+    /**
+     * Public Key.
+     */
+    public_key?: string;
+  };
+  /**
+   * Record type.
+   *
+   * @example DNSKEY
+   */
+  type?: 'DNSKEY';
+};
+
+export type DnsRecordsDSRecord = DnsRecordsDnsRecordSharedFields & {
+  /**
+   * Formatted DS content. See 'data' to set DS properties.
+   */
+  content?: string;
+  /**
+   * Components of a DS record.
+   */
+  data?: {
+    /**
+     * Algorithm.
+     *
+     * @example 3
+     * @maximum 255
+     * @minimum 0
+     */
+    algorithm?: number;
+    /**
+     * Digest.
+     */
+    digest?: string;
+    /**
+     * Digest Type.
+     *
+     * @example 1
+     * @maximum 255
+     * @minimum 0
+     */
+    digest_type?: number;
+    /**
+     * Key Tag.
+     *
+     * @example 1
+     * @maximum 65535
+     * @minimum 0
+     */
+    key_tag?: number;
+  };
+  /**
+   * Record type.
+   *
+   * @example DS
+   */
+  type?: 'DS';
+};
+
+export type DnsRecordsHTTPSRecord = DnsRecordsDnsRecordSharedFields & {
+  /**
+   * Formatted HTTPS content. See 'data' to set HTTPS properties.
+   */
+  content?: string;
+  /**
+   * Components of a HTTPS record.
+   */
+  data?: {
+    /**
+     * priority.
+     *
+     * @example 1
+     * @maximum 65535
+     * @minimum 0
+     */
+    priority?: number;
+    /**
+     * target.
+     *
+     * @example .
+     */
+    target?: string;
+    /**
+     * value.
+     *
+     * @example alpn="h3,h2" ipv4hint="127.0.0.1" ipv6hint="::1"
+     */
+    value?: string;
+  };
+  /**
+   * Record type.
+   *
+   * @example HTTPS
+   */
+  type?: 'HTTPS';
+};
+
+export type DnsRecordsLOCRecord = DnsRecordsDnsRecordSharedFields & {
+  /**
+   * Formatted LOC content. See 'data' to set LOC properties.
+   *
+   * @example IN LOC 37 46 46 N 122 23 35 W 0m 100m 0m 0m
+   */
+  content?: string;
+  /**
+   * Components of a LOC record.
+   */
+  data?: {
+    /**
+     * Altitude of location in meters.
+     *
+     * @example 0
+     * @maximum 42849672.95
+     * @minimum -100000
+     */
+    altitude?: number;
+    /**
+     * Degrees of latitude.
+     *
+     * @example 37
+     * @maximum 90
+     * @minimum 0
+     */
+    lat_degrees?: number;
+    /**
+     * Latitude direction.
+     *
+     * @example N
+     */
+    lat_direction?: 'N' | 'S';
+    /**
+     * Minutes of latitude.
+     *
+     * @default 0
+     * @example 46
+     * @maximum 59
+     * @minimum 0
+     */
+    lat_minutes?: number;
+    /**
+     * Seconds of latitude.
+     *
+     * @default 0
+     * @example 46
+     * @maximum 59.999
+     * @minimum 0
+     */
+    lat_seconds?: number;
+    /**
+     * Degrees of longitude.
+     *
+     * @example 122
+     * @maximum 180
+     * @minimum 0
+     */
+    long_degrees?: number;
+    /**
+     * Longitude direction.
+     *
+     * @example W
+     */
+    long_direction?: 'E' | 'W';
+    /**
+     * Minutes of longitude.
+     *
+     * @default 0
+     * @example 23
+     * @maximum 59
+     * @minimum 0
+     */
+    long_minutes?: number;
+    /**
+     * Seconds of longitude.
+     *
+     * @default 0
+     * @example 35
+     * @maximum 59.999
+     * @minimum 0
+     */
+    long_seconds?: number;
+    /**
+     * Horizontal precision of location.
+     *
+     * @default 0
+     * @example 0
+     * @maximum 90000000
+     * @minimum 0
+     */
+    precision_horz?: number;
+    /**
+     * Vertical precision of location.
+     *
+     * @default 0
+     * @example 0
+     * @maximum 90000000
+     * @minimum 0
+     */
+    precision_vert?: number;
+    /**
+     * Size of location in meters.
+     *
+     * @default 0
+     * @example 100
+     * @maximum 90000000
+     * @minimum 0
+     */
+    size?: number;
+  };
+  /**
+   * Record type.
+   *
+   * @example LOC
+   */
+  type?: 'LOC';
+};
+
+export type DnsRecordsMXRecord = DnsRecordsDnsRecordSharedFields & {
+  /**
+   * A valid mail server hostname.
+   *
+   * @example mx.example.com
+   * @format hostname
+   */
+  content?: string;
+  priority?: DnsRecordsPriority;
+  /**
+   * Record type.
+   *
+   * @example MX
+   */
+  type?: 'MX';
+};
+
+export type DnsRecordsNAPTRRecord = DnsRecordsDnsRecordSharedFields & {
+  /**
+   * Formatted NAPTR content. See 'data' to set NAPTR properties.
+   */
+  content?: string;
+  /**
+   * Components of a NAPTR record.
+   */
+  data?: {
+    /**
+     * Flags.
+     */
+    flags?: string;
+    /**
+     * Order.
+     *
+     * @example 100
+     * @maximum 65535
+     * @minimum 0
+     */
+    order?: number;
+    /**
+     * Preference.
+     *
+     * @example 10
+     * @maximum 65535
+     * @minimum 0
+     */
+    preference?: number;
+    /**
+     * Regex.
+     */
+    regex?: string;
+    /**
+     * Replacement.
+     */
+    replacement?: string;
+    /**
+     * Service.
+     */
+    service?: string;
+  };
+  /**
+   * Record type.
+   *
+   * @example NAPTR
+   */
+  type?: 'NAPTR';
+};
+
+export type DnsRecordsNSRecord = DnsRecordsDnsRecordSharedFields & {
+  /**
+   * A valid name server host name.
+   *
+   * @example ns1.example.com
+   */
+  content?: string;
+  /**
+   * Record type.
+   *
+   * @example NS
+   */
+  type?: 'NS';
+};
+
+export type DnsRecordsOPENPGPKEYRecord = DnsRecordsDnsRecordSharedFields & {
+  /**
+   * A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1)
+   */
+  content?: string;
+  /**
+   * Record type.
+   *
+   * @example OPENPGPKEY
+   */
+  type?: 'OPENPGPKEY';
+};
+
+export type DnsRecordsPTRRecord = DnsRecordsDnsRecordSharedFields & {
+  /**
+   * Domain name pointing to the address.
+   *
+   * @example example.com
+   */
+  content?: string;
+  /**
+   * Record type.
+   *
+   * @example PTR
+   */
+  type?: 'PTR';
+};
+
+export type DnsRecordsSMIMEARecord = DnsRecordsDnsRecordSharedFields & {
+  /**
+   * Formatted SMIMEA content. See 'data' to set SMIMEA properties.
+   */
+  content?: string;
+  /**
+   * Components of a SMIMEA record.
+   */
+  data?: {
+    /**
+     * Certificate.
+     */
+    certificate?: string;
+    /**
+     * Matching Type.
+     *
+     * @example 0
+     * @maximum 255
+     * @minimum 0
+     */
+    matching_type?: number;
+    /**
+     * Selector.
+     *
+     * @example 0
+     * @maximum 255
+     * @minimum 0
+     */
+    selector?: number;
+    /**
+     * Usage.
+     *
+     * @example 3
+     * @maximum 255
+     * @minimum 0
+     */
+    usage?: number;
+  };
+  /**
+   * Record type.
+   *
+   * @example SMIMEA
+   */
+  type?: 'SMIMEA';
+};
+
+export type DnsRecordsSRVRecord = DnsRecordsDnsRecordSharedFields & {
+  /**
+   * Priority, weight, port, and SRV target. See 'data' for setting the individual component values.
+   *
+   * @example 10 IN SRV 5 8806 example.com.
+   */
+  content?: string;
+  /**
+   * Components of a SRV record.
+   */
+  data?: {
+    /**
+     * The port of the service.
+     *
+     * @example 8806
+     * @maximum 65535
+     * @minimum 0
+     */
+    port?: number;
+    priority?: DnsRecordsPriority;
+    /**
+     * A valid hostname.
+     *
+     * @example example.com
+     * @format hostname
+     */
+    target?: string;
+    /**
+     * The record weight.
+     *
+     * @example 5
+     * @maximum 65535
+     * @minimum 0
+     */
+    weight?: number;
+  };
+  /**
+   * Record type.
+   *
+   * @example SRV
+   */
+  type?: 'SRV';
+};
+
+export type DnsRecordsSSHFPRecord = DnsRecordsDnsRecordSharedFields & {
+  /**
+   * Formatted SSHFP content. See 'data' to set SSHFP properties.
+   */
+  content?: string;
+  /**
+   * Components of a SSHFP record.
+   */
+  data?: {
+    /**
+     * algorithm.
+     *
+     * @example 2
+     * @maximum 255
+     * @minimum 0
+     */
+    algorithm?: number;
+    /**
+     * fingerprint.
+     */
+    fingerprint?: string;
+    /**
+     * type.
+     *
+     * @example 1
+     * @maximum 255
+     * @minimum 0
+     */
+    type?: number;
+  };
+  /**
+   * Record type.
+   *
+   * @example SSHFP
+   */
+  type?: 'SSHFP';
+};
+
+export type DnsRecordsSVCBRecord = DnsRecordsDnsRecordSharedFields & {
+  /**
+   * Formatted SVCB content. See 'data' to set SVCB properties.
+   */
+  content?: string;
+  /**
+   * Components of a SVCB record.
+   */
+  data?: {
+    /**
+     * priority.
+     *
+     * @example 1
+     * @maximum 65535
+     * @minimum 0
+     */
+    priority?: number;
+    /**
+     * target.
+     *
+     * @example .
+     */
+    target?: string;
+    /**
+     * value.
+     *
+     * @example alpn="h3,h2" ipv4hint="127.0.0.1" ipv6hint="::1"
+     */
+    value?: string;
+  };
+  /**
+   * Record type.
+   *
+   * @example SVCB
+   */
+  type?: 'SVCB';
+};
+
+export type DnsRecordsTLSARecord = DnsRecordsDnsRecordSharedFields & {
+  /**
+   * Formatted TLSA content. See 'data' to set TLSA properties.
+   */
+  content?: string;
+  /**
+   * Components of a TLSA record.
+   */
+  data?: {
+    /**
+     * certificate.
+     */
+    certificate?: string;
+    /**
+     * Matching Type.
+     *
+     * @example 1
+     * @maximum 255
+     * @minimum 0
+     */
+    matching_type?: number;
+    /**
+     * Selector.
+     *
+     * @example 0
+     * @maximum 255
+     * @minimum 0
+     */
+    selector?: number;
+    /**
+     * Usage.
+     *
+     * @example 0
+     * @maximum 255
+     * @minimum 0
+     */
+    usage?: number;
+  };
+  /**
+   * Record type.
+   *
+   * @example TLSA
+   */
+  type?: 'TLSA';
+};
+
+export type DnsRecordsTXTRecord = DnsRecordsDnsRecordSharedFields & {
+  /**
+   * Text content for the record. The content must consist of quoted "character strings" (RFC 1035), each with a length of up to 255 bytes. Strings exceeding this allowed maximum length are automatically split.
+   *
+   * Learn more at <https://www.cloudflare.com/learning/dns/dns-records/dns-txt-record/>.
+   *
+   * @example "v=spf1 include:example.com -all"
+   */
+  content?: string;
+  /**
+   * Record type.
+   *
+   * @example TXT
+   */
+  type?: 'TXT';
+};
+
+export type DnsRecordsURIRecord = DnsRecordsDnsRecordSharedFields & {
+  /**
+   * Formatted URI content. See 'data' to set URI properties.
+   */
+  content?: string;
+  /**
+   * Components of a URI record.
+   */
+  data?: {
+    /**
+     * The record content.
+     *
+     * @example http://example.com/example.html
+     */
+    target?: string;
+    /**
+     * The record weight.
+     *
+     * @example 20
+     * @maximum 65535
+     * @minimum 0
+     */
+    weight?: number;
+  };
+  priority?: DnsRecordsPriority;
+  /**
+   * Record type.
+   *
+   * @example URI
+   */
+  type?: 'URI';
+};
+
+export type DnsRecordsApiResponseCollection = DnsRecordsApiResponseCommon & {
+  result_info?: DnsRecordsResultInfo;
+};
+
+export type DnsRecordsApiResponseCommon = {
+  errors: DnsRecordsMessages;
+  messages: DnsRecordsMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type DnsRecordsApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: DnsRecordsMessages;
+  messages: DnsRecordsMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type DnsRecordsApiResponseSingle = DnsRecordsApiResponseCommon;
+
+/**
+ * Comments or notes about the DNS record. This field has no effect on DNS responses.
+ *
+ * @example Domain verification record
+ */
+export type DnsRecordsComment = string;
+
+/**
+ * Direction to order DNS records in.
+ *
+ * @default asc
+ */
+export type DnsRecordsDirection = 'asc' | 'desc';
+
+export type DnsRecordsDnsRecord =
+  | DnsRecordsARecord
+  | DnsRecordsAAAARecord
+  | DnsRecordsCAARecord
+  | DnsRecordsCERTRecord
+  | DnsRecordsCNAMERecord
+  | DnsRecordsDNSKEYRecord
+  | DnsRecordsDSRecord
+  | DnsRecordsHTTPSRecord
+  | DnsRecordsLOCRecord
+  | DnsRecordsMXRecord
+  | DnsRecordsNAPTRRecord
+  | DnsRecordsNSRecord
+  | DnsRecordsOPENPGPKEYRecord
+  | DnsRecordsPTRRecord
+  | DnsRecordsSMIMEARecord
+  | DnsRecordsSRVRecord
+  | DnsRecordsSSHFPRecord
+  | DnsRecordsSVCBRecord
+  | DnsRecordsTLSARecord
+  | DnsRecordsTXTRecord
+  | DnsRecordsURIRecord;
+
+export type DnsRecordsDnsRecordBatchDelete = {
+  id?: DnsRecordsIdentifier;
+};
+
+export type DnsRecordsDnsRecordBatchPatch = DnsRecordsDnsRecordPatch & {
+  id: DnsRecordsIdentifier;
+};
+
+export type DnsRecordsDnsRecordBatchPost = DnsRecordsDnsRecordPost;
+
+export type DnsRecordsDnsRecordBatchPut = DnsRecordsDnsRecordPost & {
+  id: DnsRecordsIdentifier;
+};
+
+export type DnsRecordsDnsRecordPatch = DnsRecordsDnsRecord;
+
+export type DnsRecordsDnsRecordPost = DnsRecordsDnsRecord;
+
+export type DnsRecordsDnsRecordResponse = DnsRecordsDnsRecord & {
+  /**
+   * When the record comment was last modified. Omitted if there is no comment.
+   *
+   * @example 2024-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  comment_modified_on?: string;
+  /**
+   * When the record was created.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  created_on: string;
+  id: DnsRecordsIdentifier;
+  /**
+   * Extra Cloudflare-specific information about the record.
+   */
+  meta: Record<string, any>;
+  /**
+   * When the record was last modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on: string;
+  /**
+   * Whether the record can be proxied by Cloudflare or not.
+   *
+   * @example true
+   */
+  proxiable: boolean;
+  /**
+   * When the record tags were last modified. Omitted if there are no tags.
+   *
+   * @example 2025-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  tags_modified_on?: string;
+};
+
+export type DnsRecordsDnsRecordSharedFields = {
+  comment?: DnsRecordsComment;
+  name?: DnsRecordsName;
+  proxied?: DnsRecordsProxied;
+  settings?: DnsRecordsSettings;
+  tags?: DnsRecordsTags;
+  ttl?: DnsRecordsTtl;
+};
+
+export type DnsRecordsDnsRequestBatchObject = {
+  deletes?: DnsRecordsDnsRecordBatchDelete[];
+  patches?: DnsRecordsDnsRecordBatchPatch[];
+  posts?: DnsRecordsDnsRecordBatchPost[];
+  puts?: DnsRecordsDnsRecordBatchPut[];
+};
+
+export type DnsRecordsDnsResponseBatchObject = {
+  deletes?: DnsRecordsDnsRecordResponse[];
+  patches?: DnsRecordsDnsRecordResponse[];
+  posts?: DnsRecordsDnsRecordResponse[];
+  puts?: DnsRecordsDnsRecordResponse[];
+};
+
+export type DnsRecordsDnsResponseBatch = DnsRecordsApiResponseSingle & {
+  result?: DnsRecordsDnsResponseBatchObject;
+};
+
+export type DnsRecordsDnsResponseCollection = DnsRecordsApiResponseCollection & {
+  result?: DnsRecordsDnsRecordResponse[];
+};
+
+export type DnsRecordsDnsResponseImportScan = DnsRecordsApiResponseSingle & {
+  result?: {
+    /**
+     * Number of DNS records added.
+     *
+     * @example 5
+     */
+    recs_added?: number;
+    /**
+     * Total number of DNS records parsed.
+     *
+     * @example 5
+     */
+    total_records_parsed?: number;
+  };
+};
+
+export type DnsRecordsDnsResponseSingle = DnsRecordsApiResponseSingle & {
+  result?: DnsRecordsDnsRecordResponse;
+};
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type DnsRecordsIdentifier = string;
+
+/**
+ * Whether to match all search requirements or at least one (any). If set to `all`, acts like a logical AND between filters. If set to `any`, acts like a logical OR instead. Note that the interaction between tag filters is controlled by the `tag-match` parameter instead.
+ *
+ * @default all
+ * @example any
+ */
+export type DnsRecordsMatch = 'any' | 'all';
+
+export type DnsRecordsMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+/**
+ * DNS record name (or @ for the zone apex) in Punycode.
+ *
+ * @example example.com
+ * @maxLength 255
+ * @minLength 1
+ */
+export type DnsRecordsName = string;
+
+/**
+ * Field to order DNS records by.
+ *
+ * @default type
+ */
+export type DnsRecordsOrder = 'type' | 'name' | 'content' | 'ttl' | 'proxied';
+
+/**
+ * Page number of paginated results.
+ *
+ * @default 1
+ * @minimum 1
+ */
+export type DnsRecordsPage = number;
+
+/**
+ * Number of DNS records per page.
+ *
+ * @default 100
+ * @example 5
+ * @maximum 5000000
+ * @minimum 1
+ */
+export type DnsRecordsPerPage = number;
+
+/**
+ * Required for MX, SRV and URI records; unused by other record types. Records with lower priorities are preferred.
+ *
+ * @example 10
+ * @maximum 65535
+ * @minimum 0
+ */
+export type DnsRecordsPriority = number;
+
+/**
+ * Whether the record is receiving the performance and security benefits of Cloudflare.
+ *
+ * @default false
+ * @example true
+ */
+export type DnsRecordsProxied = boolean;
+
+export type DnsRecordsResultInfo = {
+  /**
+   * Total number of results for the requested service
+   *
+   * @example 1
+   */
+  count?: number;
+  /**
+   * Current page within paginated list of results
+   *
+   * @example 1
+   */
+  page?: number;
+  /**
+   * Number of results per page of results
+   *
+   * @example 20
+   */
+  per_page?: number;
+  /**
+   * Total results available without any search parameters
+   *
+   * @example 2000
+   */
+  total_count?: number;
+};
+
+/**
+ * Allows searching in multiple properties of a DNS record simultaneously. This parameter is intended for human users, not automation. Its exact behavior is intentionally left unspecified and is subject to change in the future. This parameter works independently of the `match` setting. For automated searches, please use the other available parameters.
+ *
+ * @example www.cloudflare.com
+ */
+export type DnsRecordsSearch = string;
+
+/**
+ * Settings for the DNS record.
+ */
+export type DnsRecordsSettings = {
+  /**
+   * When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6.
+   *
+   * @default false
+   * @example true
+   */
+  ipv4_only?: boolean;
+  /**
+   * When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6.
+   *
+   * @default false
+   * @example true
+   */
+  ipv6_only?: boolean;
+};
+
+/**
+ * Whether to match all tag search requirements or at least one (any). If set to `all`, acts like a logical AND between tag filters. If set to `any`, acts like a logical OR instead. Note that the regular `match` parameter is still used to combine the resulting condition with other filters that aren't related to tags.
+ *
+ * @default all
+ * @example any
+ */
+export type DnsRecordsTagMatch = 'any' | 'all';
+
+/**
+ * Custom tags for the DNS record. This field has no effect on DNS responses.
+ */
+export type DnsRecordsTags = string[];
+
+/**
+ * Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones.
+ *
+ * @default 1
+ * @example 3600
+ */
+export type DnsRecordsTtl = number | 1;
+
+/**
+ * Record type.
+ *
+ * @example A
+ */
+export type DnsRecordsType =
+  | 'A'
+  | 'AAAA'
+  | 'CAA'
+  | 'CERT'
+  | 'CNAME'
+  | 'DNSKEY'
+  | 'DS'
+  | 'HTTPS'
+  | 'LOC'
+  | 'MX'
+  | 'NAPTR'
+  | 'NS'
+  | 'OPENPGPKEY'
+  | 'PTR'
+  | 'SMIMEA'
+  | 'SRV'
+  | 'SSHFP'
+  | 'SVCB'
+  | 'TLSA'
+  | 'TXT'
+  | 'URI';
+
+export type DnsSettingsAccountSettings = {
+  zone_defaults?: DnsSettingsDnsSettingsAccount;
+};
+
+export type DnsSettingsApiResponseCollection = DnsSettingsApiResponseCommon & {
+  result_info?: DnsSettingsResultInfo;
+};
+
+export type DnsSettingsApiResponseCommon = {
+  errors: DnsSettingsMessages;
+  messages: DnsSettingsMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type DnsSettingsApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: DnsSettingsMessages;
+  messages: DnsSettingsMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type DnsSettingsApiResponseSingle = DnsSettingsApiResponseCommon;
+
+/**
+ * When the view was created.
+ *
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
+ */
+export type DnsSettingsCreatedTime = string;
+
+/**
+ * Direction to order DNS views in.
+ *
+ * @default asc
+ */
+export type DnsSettingsDirection = 'asc' | 'desc';
+
+export type DnsSettingsDnsSettings = {
+  flatten_all_cnames?: DnsSettingsFlattenAllCnames;
+  foundation_dns?: DnsSettingsFoundationDns;
+  multi_provider?: DnsSettingsMultiProvider;
+  ns_ttl?: DnsSettingsNsTtl;
+  secondary_overrides?: DnsSettingsSecondaryOverrides;
+  soa?: DnsSettingsSoa;
+  zone_mode?: DnsSettingsZoneMode;
+};
+
+export type DnsSettingsDnsSettingsAccount = DnsSettingsDnsSettings & {
+  /**
+   * Settings determining the nameservers through which the zone should be available.
+   */
+  nameservers?: {
+    /**
+     * Nameserver type
+     *
+     * @example cloudflare.standard
+     */
+    type: 'cloudflare.standard' | 'cloudflare.standard.random' | 'custom.account' | 'custom.tenant';
+  };
+};
+
+export type DnsSettingsDnsSettingsZone = DnsSettingsDnsSettings & {
+  /**
+   * Settings determining the nameservers through which the zone should be available.
+   */
+  nameservers?: {
+    /**
+     * Configured nameserver set to be used for this zone
+     *
+     * @example 1
+     * @maximum 5
+     * @minimum 1
+     */
+    ns_set?: number;
+    /**
+     * Nameserver type
+     *
+     * @example cloudflare.standard
+     */
+    type: 'cloudflare.standard' | 'custom.account' | 'custom.tenant' | 'custom.zone';
+  };
+};
+
+export type DnsSettingsDnsView = {
+  created_time?: DnsSettingsCreatedTime;
+  modified_time?: DnsSettingsModifiedTime;
+  name?: DnsSettingsName;
+  zones?: DnsSettingsZones;
+};
+
+export type DnsSettingsDnsViewPatch = DnsSettingsDnsView;
+
+export type DnsSettingsDnsViewPost = DnsSettingsDnsView;
+
+export type DnsSettingsDnsViewResponse = DnsSettingsDnsView & {
+  id: DnsSettingsIdentifier;
+};
+
+export type DnsSettingsDnsResponseSingle = DnsSettingsApiResponseSingle & {
+  result?: DnsSettingsAccountSettings;
+};
+
+export type DnsSettingsDnsViewResponseCollection = DnsSettingsApiResponseCollection & {
+  result?: DnsSettingsDnsViewResponse[];
+};
+
+export type DnsSettingsDnsViewResponseSingle = DnsSettingsApiResponseSingle & {
+  result?: DnsSettingsDnsViewResponse;
+};
+
+/**
+ * Whether to flatten all CNAME records in the zone. Note that, due to DNS limitations, a CNAME record at the zone apex will always be flattened.
+ *
+ * @example false
+ */
+export type DnsSettingsFlattenAllCnames = boolean;
+
+/**
+ * Whether to enable Foundation DNS Advanced Nameservers on the zone.
+ *
+ * @example false
+ */
+export type DnsSettingsFoundationDns = boolean;
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type DnsSettingsIdentifier = string;
+
+/**
+ * Whether to match all search requirements or at least one (any). If set to `all`, acts like a logical AND between filters. If set to `any`, acts like a logical OR instead.
+ *
+ * @default all
+ * @example any
+ */
+export type DnsSettingsMatch = 'any' | 'all';
+
+export type DnsSettingsMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+/**
+ * When the view was last modified.
+ *
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
+ */
+export type DnsSettingsModifiedTime = string;
+
+/**
+ * Whether to enable multi-provider DNS, which causes Cloudflare to activate the zone even when non-Cloudflare NS records exist, and to respect NS records at the zone apex during outbound zone transfers.
+ *
+ * @example false
+ */
+export type DnsSettingsMultiProvider = boolean;
+
+/**
+ * The name of the view.
+ *
+ * @example my view
+ * @maxLength 255
+ * @minLength 1
+ */
+export type DnsSettingsName = string;
+
+/**
+ * The time to live (TTL) of the zone's nameserver (NS) records.
+ *
+ * @example 86400
+ * @maximum 86400
+ * @minimum 30
+ */
+export type DnsSettingsNsTtl = number;
+
+/**
+ * Field to order DNS views by.
+ *
+ * @default type
+ */
+export type DnsSettingsOrder = 'name' | 'created_on' | 'modified_on';
+
+/**
+ * Page number of paginated results.
+ *
+ * @default 1
+ * @minimum 1
+ */
+export type DnsSettingsPage = number;
+
+/**
+ * Number of DNS views per page.
+ *
+ * @default 100
+ * @example 5
+ * @maximum 5000000
+ * @minimum 1
+ */
+export type DnsSettingsPerPage = number;
+
+export type DnsSettingsResultInfo = {
+  /**
+   * Total number of results for the requested service
+   *
+   * @example 1
+   */
+  count?: number;
+  /**
+   * Current page within paginated list of results
+   *
+   * @example 1
+   */
+  page?: number;
+  /**
+   * Number of results per page of results
+   *
+   * @example 20
+   */
+  per_page?: number;
+  /**
+   * Total results available without any search parameters
+   *
+   * @example 2000
+   */
+  total_count?: number;
+};
+
+export type DnsSettingsSchemasDnsResponseSingle = DnsSettingsApiResponseSingle & {
+  result?: DnsSettingsDnsSettingsZone;
+};
+
+/**
+ * Allows a Secondary DNS zone to use (proxied) override records and CNAME flattening at the zone apex.
+ *
+ * @example false
+ */
+export type DnsSettingsSecondaryOverrides = boolean;
+
+/**
+ * Components of the zone's SOA record.
+ */
+export type DnsSettingsSoa = {
+  /**
+   * Time in seconds of being unable to query the primary server after which secondary servers should stop serving the zone.
+   *
+   * @example 604800
+   * @maximum 2419200
+   * @minimum 86400
+   */
+  expire: number;
+  /**
+   * The time to live (TTL) for negative caching of records within the zone.
+   *
+   * @example 1800
+   * @maximum 86400
+   * @minimum 60
+   */
+  min_ttl: number;
+  /**
+   * The primary nameserver, which may be used for outbound zone transfers.
+   *
+   * @example kristina.ns.cloudflare.com
+   */
+  mname: string;
+  /**
+   * Time in seconds after which secondary servers should re-check the SOA record to see if the zone has been updated.
+   *
+   * @example 10000
+   * @maximum 86400
+   * @minimum 600
+   */
+  refresh: number;
+  /**
+   * Time in seconds after which secondary servers should retry queries after the primary server was unresponsive.
+   *
+   * @example 2400
+   * @maximum 86400
+   * @minimum 600
+   */
+  retry: number;
+  /**
+   * The email address of the zone administrator, with the first label representing the local part of the email address.
+   *
+   * @example admin.example.com
+   */
+  rname: string;
+  /**
+   * The time to live (TTL) of the SOA record itself.
+   *
+   * @example 3600
+   * @maximum 86400
+   * @minimum 300
+   */
+  ttl: number;
+};
+
+/**
+ * Whether the zone mode is a regular or CDN/DNS only zone.
+ *
+ * @example dns_only
+ */
+export type DnsSettingsZoneMode = 'standard' | 'cdn_only' | 'dns_only';
+
+/**
+ * The list of zones linked to this view.
+ */
+export type DnsSettingsZones = string[];
+
+/**
+ * Algorithm key code.
+ *
+ * @example 13
+ */
+export type DnssecAlgorithm = string | null;
+
+export type DnssecApiResponseCommon = {
+  errors: DnssecMessages;
+  messages: DnssecMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type DnssecApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: DnssecMessages;
+  messages: DnssecMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type DnssecApiResponseSingle = DnssecApiResponseCommon;
+
+export type DnssecDeleteDnssecResponseSingle = DnssecApiResponseSingle & {
+  /**
+   * @example
+   */
+  result?: string;
+};
+
+/**
+ * Digest hash.
+ *
+ * @example 48E939042E82C22542CB377B580DFDC52A361CEFDC72E7F9107E2B6BD9306A45
+ */
+export type DnssecDigest = string | null;
+
+/**
+ * Type of digest algorithm.
+ *
+ * @example SHA256
+ */
+export type DnssecDigestAlgorithm = string | null;
+
+/**
+ * Coded type for digest algorithm.
+ *
+ * @example 2
+ */
+export type DnssecDigestType = string | null;
+
+export type DnssecDnssec = {
+  algorithm?: DnssecAlgorithm;
+  digest?: DnssecDigest;
+  digest_algorithm?: DnssecDigestAlgorithm;
+  digest_type?: DnssecDigestType;
+  dnssec_multi_signer?: DnssecDnssecMultiSigner;
+  dnssec_presigned?: DnssecDnssecPresigned;
+  ds?: DnssecDs;
+  flags?: DnssecFlags;
+  key_tag?: DnssecKeyTag;
+  key_type?: DnssecKeyType;
+  modified_on?: DnssecModifiedOn;
+  public_key?: DnssecPublicKey;
+  status?: DnssecStatus;
+};
+
+/**
+ * If true, multi-signer DNSSEC is enabled on the zone, allowing multiple
+ * providers to serve a DNSSEC-signed zone at the same time.
+ * This is required for DNSKEY records (except those automatically
+ * generated by Cloudflare) to be added to the zone.
+ *
+ * See [Multi-signer DNSSEC](https://developers.cloudflare.com/dns/dnssec/multi-signer-dnssec/) for details.
+ *
+ * @example false
+ */
+export type DnssecDnssecMultiSigner = boolean;
+
+/**
+ * If true, allows Cloudflare to transfer in a DNSSEC-signed zone
+ * including signatures from an external provider, without requiring
+ * Cloudflare to sign any records on the fly.
+ *
+ * Note that this feature has some limitations.
+ * See [Cloudflare as Secondary](https://developers.cloudflare.com/dns/zone-setups/zone-transfers/cloudflare-as-secondary/setup/#dnssec) for details.
+ *
+ * @example true
+ */
+export type DnssecDnssecPresigned = boolean;
+
+export type DnssecDnssecResponseSingle = DnssecApiResponseSingle & {
+  result?: DnssecDnssec;
+};
+
+/**
+ * Full DS record.
+ *
+ * @example example.com. 3600 IN DS 16953 13 2 48E939042E82C22542CB377B580DFDC52A361CEFDC72E7F9107E2B6BD9306A45
+ */
+export type DnssecDs = string | null;
+
+/**
+ * Flag for DNSSEC record.
+ *
+ * @example 257
+ */
+export type DnssecFlags = number | null;
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type DnssecIdentifier = string;
+
+/**
+ * Code for key tag.
+ *
+ * @example 42
+ */
+export type DnssecKeyTag = number | null;
+
+/**
+ * Algorithm key type.
+ *
+ * @example ECDSAP256SHA256
+ */
+export type DnssecKeyType = string | null;
+
+export type DnssecMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+/**
+ * When DNSSEC was last modified.
+ *
+ * @example 2014-01-01T05:20:00Z
+ * @format date-time
+ */
+export type DnssecModifiedOn = string | null;
+
+/**
+ * Public key for DS record.
+ *
+ * @example oXiGYrSTO+LSCJ3mohc8EP+CzF9KxBj8/ydXJ22pKuZP3VAC3/Md/k7xZfz470CoRyZJ6gV6vml07IC3d8xqhA==
+ */
+export type DnssecPublicKey = string | null;
+
+/**
+ * Status of DNSSEC, based on user-desired state and presence of necessary records.
+ *
+ * @example active
+ */
+export type DnssecStatus = 'active' | 'pending' | 'disabled' | 'pending-disabled' | 'error';
+
+export type DosApiResponseCommon = {
+  errors: DosMessages;
+  messages: DosMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type DosApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: DosMessages;
+  messages: DosMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type DosAsn = number;
+
+/**
+ * @example US
+ */
+export type DosAsnCountry = string;
+
+/**
+ * @example CLOUDFLARENET
+ */
+export type DosAsnDescription = string;
+
+/**
+ * Infrastructure type of this ASN.
+ *
+ * @example hosting_provider
+ */
+export type DosAsnType = 'hosting_provider' | 'isp' | 'organization';
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type DosIdentifier = string;
+
+export type DosMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+/**
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
+ */
+export type DosTimestamp = string;
+
+/**
+ * Account Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ * @minLength 32
+ */
+export type EmailSecurityAccountId = string;
+
+/**
+ * @example {"comments":"Trust all messages send from test@example.com","created_at":"2023-11-14T22:13:20Z","id":2401,"is_acceptable_sender":false,"is_exempt_recipient":false,"is_recipient":false,"is_regex":false,"is_sender":true,"is_spoof":false,"is_trusted_sender":true,"last_modified":"2023-11-14T22:13:20Z","pattern":"test@example.com","pattern_type":"EMAIL","verify_sender":true}
+ */
+export type EmailSecurityAllowPolicy = {
+  /**
+   * @maxLength 1024
+   */
+  comments?: string | null;
+  /**
+   * Messages from this sender will be exempted from Spam, Spoof and Bulk dispositions.
+   * Note: This will not exempt messages with Malicious or Suspicious dispositions.
+   */
+  is_acceptable_sender?: boolean;
+  /**
+   * Messages to this recipient will bypass all detections.
+   */
+  is_exempt_recipient?: boolean;
+  /**
+   * @deprecated true
+   */
+  is_recipient?: boolean;
+  is_regex: boolean;
+  /**
+   * @deprecated true
+   */
+  is_sender?: boolean;
+  /**
+   * @deprecated true
+   */
+  is_spoof?: boolean;
+  /**
+   * Messages from this sender will bypass all detections and link following.
+   */
+  is_trusted_sender?: boolean;
+  /**
+   * @maxLength 1024
+   * @minLength 1
+   */
+  pattern: string;
+  pattern_type: EmailSecurityPatternType;
+  /**
+   * Enforce DMARC, SPF or DKIM authentication.
+   * When on, Email Security only honors policies that pass authentication.
+   */
+  verify_sender: boolean;
+  /**
+   * @format date-time
+   */
+  created_at: string;
+  id: EmailSecurityAllowPolicyId;
+  /**
+   * @format date-time
+   */
+  last_modified: string;
+};
+
+/**
+ * The unique identifier for the allow policy.
+ *
+ * @example 2401
+ * @format int32
+ */
+export type EmailSecurityAllowPolicyId = number;
+
+export type EmailSecurityApiResponseCommon = {
+  errors: EmailSecurityMessage[];
+  messages: EmailSecurityMessage[];
+  /**
+   * @example true
+   */
+  success: boolean;
+};
+
+export type EmailSecurityAttachment = {
+  content_type?: string | null;
+  detection?: EmailSecurityDispositionLabel & (string | null);
+  encrypted?: boolean | null;
+  name?: string | null;
+  /**
+   * @minimum 0
+   */
+  size: number;
+};
+
+/**
+ * @example {"comments":"block sender with email test@example.com","created_at":"2023-11-14T22:13:20Z","id":2402,"is_regex":false,"last_modified":"2023-11-14T22:13:20Z","pattern":"test@example.com","pattern_type":"EMAIL"}
+ */
+export type EmailSecurityBlockedSender = {
+  /**
+   * @maxLength 1024
+   */
+  comments?: string | null;
+  is_regex?: boolean;
+  /**
+   * @maxLength 1024
+   * @minLength 1
+   */
+  pattern?: string;
+  pattern_type?: EmailSecurityPatternType;
+  /**
+   * @format date-time
+   */
+  created_at: string;
+  id: EmailSecurityBlockedSenderId;
+  /**
+   * @format date-time
+   */
+  last_modified: string;
+};
+
+/**
+ * The unique identifier for the allow policy.
+ *
+ * @example 2402
+ * @format int32
+ */
+export type EmailSecurityBlockedSenderId = number;
+
+/**
+ * @example {"comments":"Trust all messages send from test@example.com","is_acceptable_sender":false,"is_exempt_recipient":false,"is_recipient":false,"is_regex":false,"is_sender":true,"is_spoof":false,"is_trusted_sender":true,"pattern":"test@example.com","pattern_type":"EMAIL","verify_sender":true}
+ */
+export type EmailSecurityCreateAllowPolicy = {
+  /**
+   * @maxLength 1024
+   */
+  comments?: string | null;
+  /**
+   * Messages from this sender will be exempted from Spam, Spoof and Bulk dispositions.
+   * Note: This will not exempt messages with Malicious or Suspicious dispositions.
+   */
+  is_acceptable_sender: boolean;
+  /**
+   * Messages to this recipient will bypass all detections.
+   */
+  is_exempt_recipient: boolean;
+  /**
+   * @deprecated true
+   */
+  is_recipient?: boolean;
+  is_regex: boolean;
+  /**
+   * @deprecated true
+   */
+  is_sender?: boolean;
+  /**
+   * @deprecated true
+   */
+  is_spoof?: boolean;
+  /**
+   * Messages from this sender will bypass all detections and link following.
+   */
+  is_trusted_sender: boolean;
+  /**
+   * @maxLength 1024
+   * @minLength 1
+   */
+  pattern: string;
+  pattern_type: EmailSecurityPatternType;
+  /**
+   * Enforce DMARC, SPF or DKIM authentication.
+   * When on, Email Security only honors policies that pass authentication.
+   */
+  verify_sender: boolean;
+};
+
+/**
+ * @example {"comments":"block sender with email test@example.com","is_regex":false,"pattern":"test@example.com","pattern_type":"EMAIL"}
+ */
+export type EmailSecurityCreateBlockedSender = {
+  /**
+   * @maxLength 1024
+   */
+  comments?: string | null;
+  is_regex: boolean;
+  /**
+   * @maxLength 1024
+   * @minLength 1
+   */
+  pattern: string;
+  pattern_type: EmailSecurityPatternType;
+};
+
+export type EmailSecurityCreateDisplayName = {
+  email: string;
+  is_email_regex: boolean;
+  name: string;
+};
+
+/**
+ * @example {"comments":null,"is_recent":true,"is_regex":false,"is_similarity":false,"pattern":"example.com"}
+ */
+export type EmailSecurityCreateTrustedDomain = {
+  /**
+   * @maxLength 1024
+   */
+  comments?: string | null;
+  /**
+   * Select to prevent recently registered domains from triggering a
+   * Suspicious or Malicious disposition.
+   */
+  is_recent: boolean;
+  is_regex: boolean;
+  /**
+   * Select for partner or other approved domains that have similar
+   * spelling to your connected domains. Prevents listed domains from
+   * triggering a Spoof disposition.
+   */
+  is_similarity: boolean;
+  /**
+   * @maxLength 1024
+   * @minLength 1
+   */
+  pattern: string;
+};
+
+export type EmailSecurityDeliveryMode = 'DIRECT' | 'BCC' | 'JOURNAL' | 'API' | 'RETRO_SCAN';
+
+export type EmailSecurityDisplayName = {
+  comments?: string | null;
+  /**
+   * @format date-time
+   */
+  created_at: string;
+  /**
+   * @format int64
+   */
+  directory_id?: number | null;
+  /**
+   * @format int32
+   */
+  directory_node_id?: number | null;
+  email?: string | null;
+  /**
+   * @deprecated true
+   */
+  external_directory_node_id?: string | null;
+  /**
+   * @example 2403
+   * @format int32
+   */
+  id: number;
+  is_email_regex: boolean;
+  /**
+   * @format date-time
+   */
+  last_modified: string;
+  name: string;
+  provenance?: string | null;
+};
+
+export type EmailSecurityDispositionLabel =
+  | 'MALICIOUS'
+  | 'MALICIOUS-BEC'
+  | 'SUSPICIOUS'
+  | 'SPOOF'
+  | 'SPAM'
+  | 'BULK'
+  | 'ENCRYPTED'
+  | 'EXTERNAL'
+  | 'UNKNOWN'
+  | 'NONE';
+
+/**
+ * @example {"allowed_delivery_modes":["API"],"created_at":"2023-11-14T22:13:20Z","domain":"example.com","drop_dispositions":["MALICIOUS","SPAM"],"folder":"Inbox","id":2400,"inbox_provider":"Microsoft","integration_id":"a5dbb180-60ea-4578-84bb-d01a5d4e50c3","ip_restrictions":[],"last_modified":"2023-11-14T22:13:20Z","lookback_hops":2,"o365_tenant_id":"c3c3239d-8858-47df-9618-0e2d9bdf6aa8","require_tls_inbound":false,"require_tls_outbound":true,"transport":"example.com"}
+ */
+export type EmailSecurityDomain = {
+  allowed_delivery_modes: EmailSecurityDeliveryMode[];
+  /**
+   * @format date-time
+   */
+  created_at: string;
+  domain: string;
+  drop_dispositions: EmailSecurityDispositionLabel[];
+  folder?: EmailSecurityScannableFolder & (string | null);
+  /**
+   * The unique identifier for the domain.
+   *
+   * @example 2400
+   * @format int32
+   */
+  id: number;
+  inbox_provider?: 'Microsoft' | 'Google' | null;
+  /**
+   * @format uuid
+   */
+  integration_id?: string | null;
+  /**
+   * @example 192.0.2.0/24
+   * @example 2001:db8::/32
+   */
+  ip_restrictions: string[];
+  /**
+   * @format date-time
+   */
+  last_modified: string;
+  /**
+   * @format int32
+   */
+  lookback_hops: number;
+  o365_tenant_id?: string | null;
+  require_tls_inbound?: boolean | null;
+  require_tls_outbound?: boolean | null;
+  transport: string;
+};
+
+export type EmailSecurityLink = {
+  href: string;
+  text?: string | null;
+};
+
+/**
+ * @example {"action_log":[],"alert_id":"4Njp3P0STMz2c02Q-2022-12-30T02:44:49","client_recipients":["email@example.com"],"delivery_mode":"DIRECT","detection_reasons":["Selector is a source of spam/uce : Smtp-Helo-Server-Ip=<b>127.0.0[dot]186</b>"],"edf_hash":null,"final_disposition":"MALICIOUS","from":"d1994@example.com","from_name":"Sender Name","id":"47JJcT1w6GztQV7-email@example.com","is_phish_submission":false,"is_quarantined":false,"message_id":"<4VAZPrAdg7IGNxdt1DWRNu0gvOeL_iZiwP4BQfo4DaE.Yw-woXuugQbeFhBpzwFQtqq_v2v1HOKznoMBqbciQpE@example.com>","postfix_id":"47JJcT1w6GztQV7","sent_date":"2019-11-21T00:22:01","subject":"listen, I highly recommend u to read that email, just to ensure not a thing will take place","threat_categories":["IPReputation","ASNReputation"],"to":["email@example.com"],"to_name":["Recipient Name"],"ts":"2019-11-20T23:22:01","validation":{"comment":null,"dkim":"pass","dmarc":"none","spf":"fail"}}
+ */
+export type EmailSecurityMailsearchMessage = {
+  action_log: void;
+  alert_id?: string | null;
+  client_recipients: string[];
+  delivery_mode?: EmailSecurityMessageDeliveryMode & (string | null);
+  detection_reasons: string[];
+  edf_hash?: string | null;
+  final_disposition?: EmailSecurityDispositionLabel & (string | null);
+  from?: string | null;
+  from_name?: string | null;
+  is_phish_submission: boolean;
+  is_quarantined: boolean;
+  message_id?: string | null;
+  postfix_id: EmailSecurityPostfixId;
+  sent_date?: string | null;
+  subject?: string | null;
+  threat_categories?: string[] | null;
+  to?: string[] | null;
+  to_name?: string[] | null;
+  ts?: string;
+  validation?: {
+    comment?: string | null;
+    dkim?: EmailSecurityValidationStatus & (string | null);
+    dmarc?: EmailSecurityValidationStatus & (string | null);
+    spf?: EmailSecurityValidationStatus & (string | null);
+  } | null;
+  id: string;
+};
+
+export type EmailSecurityMessage = {
+  /**
+   * @format int32
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+};
+
+export type EmailSecurityMessageDeliveryMode =
+  | 'DIRECT'
+  | 'BCC'
+  | 'JOURNAL'
+  | 'REVIEW_SUBMISSION'
+  | 'DMARC_UNVERIFIED'
+  | 'DMARC_FAILURE_REPORT'
+  | 'DMARC_AGGREGATE_REPORT'
+  | 'THREAT_INTEL_SUBMISSION'
+  | 'SIMULATION_SUBMISSION'
+  | 'API'
+  | 'RETRO_SCAN';
+
+export type EmailSecurityMessageHeader = {
+  name: string;
+  value: string;
+};
+
+export type EmailSecurityPatternType = 'EMAIL' | 'DOMAIN' | 'IP' | 'UNKNOWN';
+
+/**
+ * The identifier of the message.
+ *
+ * @example 4Njp3P0STMz2c02Q
+ */
+export type EmailSecurityPostfixId = string;
+
+export type EmailSecurityReleaseResponse = {
+  delivered?: string[] | null;
+  failed?: string[] | null;
+  undelivered?: string[] | null;
+  postfix_id: EmailSecurityPostfixId;
+};
+
+export type EmailSecurityResultInfo = {
+  /**
+   * Total number of results for the requested service
+   *
+   * @example 1
+   * @format int32
+   */
+  count: number;
+  /**
+   * Current page within paginated list of results
+   *
+   * @example 1
+   * @format int32
+   */
+  page: number;
+  /**
+   * Number of results per page of results
+   *
+   * @example 20
+   * @format int32
+   */
+  per_page: number;
+  /**
+   * Total results available without any search parameters
+   *
+   * @example 2000
+   * @format int32
+   */
+  total_count: number;
+};
+
+export type EmailSecurityRetractionResponseItem = {
+  /**
+   * @format date-time
+   */
+  completed_timestamp: string;
+  destination: string;
+  /**
+   * @format int32
+   */
+  item_count: number;
+  message_id: string;
+  operation: string;
+  recipient: string;
+  status: string;
+};
+
+export type EmailSecurityScannableFolder = 'AllItems' | 'Inbox';
+
+export type EmailSecuritySortingDirection = 'asc' | 'desc';
+
+export type EmailSecuritySubmission = {
+  original_disposition?: EmailSecurityDispositionLabel & (string | null);
+  outcome?: string | null;
+  outcome_disposition?: EmailSecurityDispositionLabel & (string | null);
+  requested_by?: string | null;
+  requested_disposition?: EmailSecurityDispositionLabel & (string | null);
+  /**
+   * @format date-time
+   */
+  requested_ts: string;
+  status?: string | null;
+  subject?: string | null;
+  submission_id: string;
+  type?: string | null;
+};
+
+export type EmailSecurityThreatCategory = {
+  description?: string | null;
+  /**
+   * @format int64
+   */
+  id: number;
+  name?: string | null;
+};
+
+export type EmailSecurityTraceLine = {
+  /**
+   * @format int64
+   */
+  lineno: number;
+  message: string;
+  /**
+   * @format date-time
+   */
+  ts: string;
+};
+
+/**
+ * @example {"comments":null,"created_at":"2023-11-14T22:13:20Z","id":2401,"is_recent":true,"is_regex":false,"is_similarity":false,"last_modified":"2023-11-14T22:13:20Z","pattern":"example.com"}
+ */
+export type EmailSecurityTrustedDomain = {
+  /**
+   * @maxLength 1024
+   */
+  comments?: string | null;
+  /**
+   * Select to prevent recently registered domains from triggering a
+   * Suspicious or Malicious disposition.
+   */
+  is_recent?: boolean;
+  is_regex?: boolean;
+  /**
+   * Select for partner or other approved domains that have similar
+   * spelling to your connected domains. Prevents listed domains from
+   * triggering a Spoof disposition.
+   */
+  is_similarity?: boolean;
+  /**
+   * @maxLength 1024
+   * @minLength 1
+   */
+  pattern: string;
+  /**
+   * @format date-time
+   */
+  created_at: string;
+  /**
+   * The unique identifier for the trusted domain.
+   *
+   * @example 2401
+   * @format int32
+   */
+  id: number;
+  /**
+   * @format date-time
+   */
+  last_modified: string;
+};
+
+/**
+ * The unique identifier for the trusted domain.
+ *
+ * @example 2401
+ * @format int32
+ */
+export type EmailSecurityTrustedDomainId = number;
+
+export type EmailSecurityUpdateAllowPolicy = {
+  /**
+   * @maxLength 1024
+   */
+  comments?: string | null;
+  /**
+   * Messages from this sender will be exempted from Spam, Spoof and Bulk dispositions.
+   * Note: This will not exempt messages with Malicious or Suspicious dispositions.
+   */
+  is_acceptable_sender?: boolean | null;
+  /**
+   * Messages to this recipient will bypass all detections.
+   */
+  is_exempt_recipient?: boolean | null;
+  is_regex?: boolean | null;
+  /**
+   * Messages from this sender will bypass all detections and link following.
+   */
+  is_trusted_sender?: boolean | null;
+  /**
+   * @maxLength 1024
+   * @minLength 1
+   */
+  pattern?: string | null;
+  pattern_type?: EmailSecurityPatternType & (string | null);
+  /**
+   * Enforce DMARC, SPF or DKIM authentication.
+   * When on, Email Security only honors policies that pass authentication.
+   */
+  verify_sender?: boolean | null;
+};
+
+export type EmailSecurityUpdateBlockedSender = {
+  comments?: string | null;
+  is_regex?: boolean | null;
+  /**
+   * @minLength 1
+   */
+  pattern?: string | null;
+  pattern_type?: EmailSecurityPatternType & (string | null);
+};
+
+export type EmailSecurityValidationStatus = 'pass' | 'neutral' | 'fail' | 'error' | 'none';
+
+export type EmailAccountId = EmailIdentifier;
+
+export type EmailAddresses = EmailDestinationAddressProperties;
+
+export type EmailApiResponseCollection = EmailApiResponseCommon & {
+  result_info?: EmailResultInfo;
+};
+
+export type EmailApiResponseCommon = {
+  errors: EmailMessages;
+  messages: EmailMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type EmailApiResponseSingle = EmailApiResponseCommon;
+
+export type EmailCatchAllRule = {
+  actions?: EmailRuleCatchallActions;
+  enabled?: EmailRuleEnabled;
+  id?: EmailRuleIdentifier;
+  matchers?: EmailRuleCatchallMatchers;
+  name?: EmailRuleName;
+  tag?: EmailRuleTag;
+};
+
+export type EmailCatchAllRuleResponseSingle = EmailApiResponseSingle & {
+  result?: EmailCatchAllRule;
+};
+
+export type EmailCreateDestinationAddressProperties = {
+  email: EmailEmail;
+};
+
+export type EmailCreateRuleProperties = {
+  actions: EmailRuleActions;
+  enabled?: EmailRuleEnabled;
+  matchers: EmailRuleMatchers;
+  name?: EmailRuleName;
+  priority?: EmailRulePriority;
+};
+
+/**
+ * The date and time the destination address has been created.
+ *
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
+ */
+export type EmailCreated = string;
+
+/**
+ * Destination address identifier.
+ *
+ * @example ea95132c15732412d22c1476fa83f27a
+ * @maxLength 32
+ */
+export type EmailDestinationAddressIdentifier = string;
+
+export type EmailDestinationAddressProperties = {
+  created?: EmailCreated;
+  email?: EmailEmail;
+  id?: EmailDestinationAddressIdentifier;
+  modified?: EmailModified;
+  tag?: EmailDestinationAddressTag;
+  verified?: EmailVerified;
+};
+
+export type EmailDestinationAddressResponseSingle = EmailApiResponseSingle & {
+  result?: EmailAddresses;
+};
+
+/**
+ * Destination address tag. (Deprecated, replaced by destination address identifier)
+ *
+ * @deprecated true
+ * @example ea95132c15732412d22c1476fa83f27a
+ * @maxLength 32
+ */
+export type EmailDestinationAddressTag = string;
+
+export type EmailDestinationAddressesResponseCollection = EmailApiResponseCollection & {
+  result?: EmailAddresses[];
+  result_info?: {
+    /**
+     * @example 1
+     */
+    count?: void;
+    /**
+     * @example 1
+     */
+    page?: void;
+    /**
+     * @example 20
+     */
+    per_page?: void;
+    /**
+     * @example 1
+     */
+    total_count?: void;
+  };
+};
+
+/**
+ * List of records needed to enable an Email Routing zone.
+ */
+export type EmailDnsRecord = {
+  /**
+   * DNS record content.
+   *
+   * @example route1.mx.cloudflare.net
+   */
+  content?: string;
+  /**
+   * DNS record name (or @ for the zone apex).
+   *
+   * @example example.com
+   * @maxLength 255
+   */
+  name?: string;
+  /**
+   * Required for MX, SRV and URI records. Unused by other record types. Records with lower priorities are preferred.
+   *
+   * @example 12
+   * @maximum 65535
+   * @minimum 0
+   */
+  priority?: number;
+  /**
+   * Time to live, in seconds, of the DNS record. Must be between 60 and 86400, or 1 for 'automatic'.
+   *
+   * @example 1
+   */
+  ttl?: number | 1;
+  /**
+   * DNS record type.
+   *
+   * @example NS
+   */
+  type?:
+    | 'A'
+    | 'AAAA'
+    | 'CNAME'
+    | 'HTTPS'
+    | 'TXT'
+    | 'SRV'
+    | 'LOC'
+    | 'MX'
+    | 'NS'
+    | 'CERT'
+    | 'DNSKEY'
+    | 'DS'
+    | 'NAPTR'
+    | 'SMIMEA'
+    | 'SSHFP'
+    | 'SVCB'
+    | 'TLSA'
+    | 'URI';
+};
+
+export type EmailDnsSettingsResponseCollection = EmailApiResponseCollection & {
+  result?: EmailDnsRecord[];
+};
+
+/**
+ * The contact email address of the user.
+ *
+ * @example user@example.com
+ * @maxLength 90
+ */
+export type EmailEmail = string;
+
+export type EmailEmailRoutingDnsQueryResponse = EmailApiResponseCollection & {
+  result?: {
+    errors?: EmailEmailRoutingGetResponseDnsErrors;
+    record?: EmailDnsRecord[];
+  };
+};
+
+export type EmailEmailRoutingGetResponseDnsError = {
+  code?: string;
+  missing?: EmailDnsRecord;
+};
+
+export type EmailEmailRoutingGetResponseDnsErrors = EmailEmailRoutingGetResponseDnsError[];
+
+/**
+ * The date and time the settings have been created.
+ *
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
+ */
+export type EmailEmailSettingCreated = string;
+
+export type EmailEmailSettingDnsRequestBody = {
+  name: EmailEmailSettingName;
+} | null;
+
+/**
+ * State of the zone settings for Email Routing.
+ *
+ * @example true
+ */
+export type EmailEmailSettingEnabled = true | false;
+
+/**
+ * Email Routing settings identifier.
+ *
+ * @example 75610dab9e69410a82cf7e400a09ecec
+ * @maxLength 32
+ */
+export type EmailEmailSettingIdentifier = string;
+
+/**
+ * The date and time the settings have been modified.
+ *
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
+ */
+export type EmailEmailSettingModified = string;
+
+/**
+ * Domain of your zone.
+ *
+ * @example example.net
+ */
+export type EmailEmailSettingName = string;
+
+/**
+ * Flag to check if the user skipped the configuration wizard.
+ *
+ * @example true
+ */
+export type EmailEmailSettingSkipWizard = true | false;
+
+/**
+ * Show the state of your account, and the type or configuration error.
+ *
+ * @example ready
+ */
+export type EmailEmailSettingStatus = 'ready' | 'unconfigured' | 'misconfigured' | 'misconfigured/locked' | 'unlocked';
+
+/**
+ * Email Routing settings tag. (Deprecated, replaced by Email Routing settings identifier)
+ *
+ * @deprecated true
+ * @example 75610dab9e69410a82cf7e400a09ecec
+ * @maxLength 32
+ */
+export type EmailEmailSettingTag = string;
+
+export type EmailEmailSettingsProperties = {
+  created?: EmailEmailSettingCreated;
+  enabled: EmailEmailSettingEnabled;
+  id: EmailEmailSettingIdentifier;
+  modified?: EmailEmailSettingModified;
+  name: EmailEmailSettingName;
+  skip_wizard?: EmailEmailSettingSkipWizard;
+  status?: EmailEmailSettingStatus;
+  tag?: EmailEmailSettingTag;
+};
+
+export type EmailEmailSettingsResponseSingle = EmailApiResponseSingle & {
+  result?: EmailSettings;
+};
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type EmailIdentifier = string;
+
+export type EmailMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+/**
+ * The date and time the destination address was last modified.
+ *
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
+ */
+export type EmailModified = string;
+
+export type EmailResultInfo = {
+  /**
+   * Total number of results for the requested service
+   *
+   * @example 1
+   */
+  count?: number;
+  /**
+   * Current page within paginated list of results
+   *
+   * @example 1
+   */
+  page?: number;
+  /**
+   * Number of results per page of results
+   *
+   * @example 20
+   */
+  per_page?: number;
+  /**
+   * Total results available without any search parameters
+   *
+   * @example 2000
+   */
+  total_count?: number;
+};
+
+/**
+ * Actions pattern.
+ */
+export type EmailRuleAction = {
+  /**
+   * Type of supported action.
+   *
+   * @example forward
+   */
+  type: 'drop' | 'forward' | 'worker';
+  value: string[];
+};
+
+/**
+ * List actions patterns.
+ */
+export type EmailRuleActions = EmailRuleAction[];
+
+/**
+ * Action for the catch-all routing rule.
+ */
+export type EmailRuleCatchallAction = {
+  /**
+   * Type of action for catch-all rule.
+   *
+   * @example forward
+   */
+  type: 'drop' | 'forward' | 'worker';
+  value?: string[];
+};
+
+/**
+ * List actions for the catch-all routing rule.
+ */
+export type EmailRuleCatchallActions = EmailRuleCatchallAction[];
+
+/**
+ * Matcher for catch-all routing rule.
+ */
+export type EmailRuleCatchallMatcher = {
+  /**
+   * Type of matcher. Default is 'all'.
+   *
+   * @example all
+   */
+  type: 'all';
+};
+
+/**
+ * List of matchers for the catch-all routing rule.
+ */
+export type EmailRuleCatchallMatchers = EmailRuleCatchallMatcher[];
+
+/**
+ * Routing rule status.
+ *
+ * @default true
+ * @example true
+ */
+export type EmailRuleEnabled = true | false;
+
+/**
+ * Routing rule identifier.
+ *
+ * @example a7e6fb77503c41d8a7f3113c6918f10c
+ * @maxLength 32
+ */
+export type EmailRuleIdentifier = string;
+
+/**
+ * Matching pattern to forward your actions.
+ */
+export type EmailRuleMatcher = {
+  /**
+   * Field for type matcher.
+   *
+   * @example to
+   */
+  field: 'to';
+  /**
+   * Type of matcher.
+   *
+   * @example literal
+   */
+  type: 'literal';
+  /**
+   * Value for matcher.
+   *
+   * @example test@example.com
+   * @maxLength 90
+   */
+  value: string;
+};
+
+/**
+ * Matching patterns to forward to your actions.
+ */
+export type EmailRuleMatchers = EmailRuleMatcher[];
+
+/**
+ * Routing rule name.
+ *
+ * @example Send to user@example.net rule.
+ * @maxLength 256
+ */
+export type EmailRuleName = string;
+
+/**
+ * Priority of the routing rule.
+ *
+ * @default 0
+ * @minimum 0
+ */
+export type EmailRulePriority = number;
+
+export type EmailRuleProperties = {
+  actions?: EmailRuleActions;
+  enabled?: EmailRuleEnabled;
+  id?: EmailRuleIdentifier;
+  matchers?: EmailRuleMatchers;
+  name?: EmailRuleName;
+  priority?: EmailRulePriority;
+  tag?: EmailRuleTag;
+};
+
+export type EmailRuleResponseSingle = EmailApiResponseSingle & {
+  result?: EmailRules;
+};
+
+/**
+ * Routing rule tag. (Deprecated, replaced by routing rule identifier)
+ *
+ * @deprecated true
+ * @example a7e6fb77503c41d8a7f3113c6918f10c
+ * @maxLength 32
+ */
+export type EmailRuleTag = string;
+
+export type EmailRules = EmailRuleProperties;
+
+export type EmailRulesResponseCollection = EmailApiResponseCollection & {
+  result?: EmailRules[];
+  result_info?: {
+    /**
+     * @example 1
+     */
+    count?: void;
+    /**
+     * @example 1
+     */
+    page?: void;
+    /**
+     * @example 20
+     */
+    per_page?: void;
+    /**
+     * @example 1
+     */
+    total_count?: void;
+  };
+};
+
+export type EmailSettings = EmailEmailSettingsProperties;
+
+export type EmailUpdateCatchAllRuleProperties = {
+  actions: EmailRuleCatchallActions;
+  enabled?: EmailRuleEnabled;
+  matchers: EmailRuleCatchallMatchers;
+  name?: EmailRuleName;
+};
+
+export type EmailUpdateRuleProperties = {
+  actions: EmailRuleActions;
+  enabled?: EmailRuleEnabled;
+  matchers: EmailRuleMatchers;
+  name?: EmailRuleName;
+  priority?: EmailRulePriority;
+};
+
+/**
+ * The date and time the destination address has been verified. Null means not verified yet.
+ *
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
+ */
+export type EmailVerified = string;
+
+export type EmailZoneId = EmailIdentifier;
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type FirewallAccountIdentifier = string;
+
+/**
+ * The action to perform when the threshold of matched traffic within the configured period is exceeded.
+ */
+export type FirewallAction = {
+  mode?: FirewallMode;
+  response?: FirewallCustomResponse;
+  timeout?: FirewallTimeout;
+};
+
+/**
+ * The default action performed by the rules in the WAF package.
+ *
+ * @default challenge
+ */
+export type FirewallActionMode = 'simulate' | 'block' | 'challenge';
+
+/**
+ * The parameters configuring the action.
+ */
+export type FirewallActionParameters = FirewallActionParametersRoute;
+
+/**
+ * The configuration parameters for the redirect action.
+ */
+export type FirewallActionParametersRedirect = {
+  /**
+   * The parameters that control the redirect.
+   */
+  from_value?: {
+    /**
+     * Whether the query string for the request should be carried to the redirect's target url.
+     *
+     * @example true
+     */
+    preserve_query_string?: boolean;
+    /**
+     * The status code to use for the redirect.
+     */
+    status_code?: number;
+    target_url?:
+      | {
+          /**
+           * An expression defining a dynamic value for the target url of the redirect.
+           *
+           * @example concat(http.request.full_uri, "/latest")
+           */
+          expression?: string;
+        }
+      | {
+          /**
+           * The value defining the target url of the redirect.
+           *
+           * @example https://example.com/blog/latest
+           */
+          value?: string;
+        };
+  };
+};
+
+/**
+ * The configuration parameters for the rewrite action.
+ */
+export type FirewallActionParametersRewrite = {
+  /**
+   * The URI rewrite configuration to rewrite the URI path, the query string, or both.
+   */
+  uri?: {
+    /**
+     * The new URI path sent to the origin.
+     */
+    path?: void;
+    /**
+     * The new query string sent to the origin.
+     */
+    query?: void;
+  };
+};
+
+/**
+ * The configuration parameters for the route action.
+ */
+export type FirewallActionParametersRoute = {
+  /**
+   * The value of the Host header.
+   *
+   * @example foo.example.com
+   */
+  host_header?: string;
+  /**
+   * The parameters that control where the origin is.
+   */
+  origin?: {
+    /**
+     * The host to use for origin.
+     *
+     * @example foo.example.com
+     */
+    host?: string;
+    /**
+     * The port to use for origin.
+     */
+    port?: number;
+  };
+  /**
+   * The parameters that control the SNI.
+   */
+  sni?: {
+    /**
+     * The SNI used to connect to the origin.
+     *
+     * @example foo.example.com
+     */
+    value?: string;
+  };
+};
+
+/**
+ * The configuration parameters for the set_cache_settings action.
+ */
+export type FirewallActionParametersSetCacheSettings = {
+  /**
+   * Set the Browser TTL.
+   */
+  browser_ttl?: {
+    ['default']?: number;
+    /**
+     * @example override_origin
+     */
+    mode?: string;
+  };
+  /**
+   * Set the Cache TTL.
+   */
+  cache_key?: {
+    /**
+     * @example true
+     */
+    cache_deception_armor?: boolean;
+    custom_key?: {
+      cookie?: {
+        /**
+         * @example cookie_1
+         */
+        check_presence?: any[];
+        /**
+         * @example cookie1
+         */
+        include?: any[];
+      };
+      header?: {
+        /**
+         * @example header_1
+         */
+        check_presence?: any[];
+        /**
+         * @example header1
+         */
+        include?: any[];
+      };
+      host?: {
+        /**
+         * @example false
+         */
+        resolved?: boolean;
+      };
+      query_string?: {
+        /**
+         * @example *
+         */
+        include?: string;
+      };
+      user?: {
+        /**
+         * @example true
+         */
+        device_type?: boolean;
+        /**
+         * @example false
+         */
+        geo?: boolean;
+        /**
+         * @example false
+         */
+        lang?: boolean;
+      };
+    };
+    /**
+     * @example true
+     */
+    ignore_query_strings_order?: boolean;
+  };
+  /**
+   * Set the Cache TTL.
+   */
+  edge_ttl?: {
+    /**
+     * @example respect_origin
+     */
+    mode?: string;
+    status_code_ttl?: {
+      status_code?: number;
+      value?: number;
+    };
+  };
+  /**
+   * @example true
+   */
+  origin_error_page_passthru?: boolean;
+  /**
+   * @example true
+   */
+  respect_strong_etags?: boolean;
+  serve_stale?: {
+    /**
+     * @example true
+     */
+    disable_stale_while_updating?: boolean;
+  };
+};
+
+/**
+ * The configuration parameters for the set_config action.
+ */
+export type FirewallActionParametersSetConfig = {
+  /**
+   * Enable or disable Automatic HTTPS Rewrites for matching requests
+   *
+   * @example true
+   */
+  automatic_https_rewrites?: boolean;
+  /**
+   * Select which file extensions to minify automatically.
+   */
+  autominify?: {
+    /**
+     * @example true
+     */
+    css?: boolean;
+    /**
+     * @example true
+     */
+    html?: boolean;
+    /**
+     * @example true
+     */
+    js?: boolean;
+  };
+  /**
+   * Enable or disable Browser Integrity Check
+   *
+   * @example true
+   */
+  bic?: boolean;
+  /**
+   * Disable all active Cloudflare Apps
+   *
+   * @example true
+   */
+  disable_apps?: boolean;
+  /**
+   * Disable Cloudflare Railgun
+   *
+   * @example true
+   */
+  disable_railgun?: boolean;
+  /**
+   * Disable Cloudflare Railgun
+   *
+   * @example true
+   */
+  disable_zaraz?: boolean;
+  /**
+   * Enable or disable Email Obfuscation
+   *
+   * @example false
+   */
+  email_obfuscation?: boolean;
+  /**
+   * Enable or disable Hotlink Protection
+   *
+   * @example false
+   */
+  hotlink_protection?: boolean;
+  /**
+   * Enable or disable Mirage
+   *
+   * @example false
+   */
+  mirage?: boolean;
+  /**
+   * Enable or disableOpportunistic Encryption
+   *
+   * @example false
+   */
+  opportunistic_encryption?: boolean;
+  /**
+   * Set Polish compression options
+   *
+   * @example lossless
+   */
+  polish?: string;
+  /**
+   * Enable or disable Rocket Loader
+   *
+   * @example false
+   */
+  rocket_loader?: boolean;
+  /**
+   * Set the Security Level
+   *
+   * @example low
+   */
+  security_level?: string;
+  /**
+   * Enable or disable Server Side Excludes
+   *
+   * @example false
+   */
+  server_side_excludes?: boolean;
+  /**
+   * Select the SSL encryption mode
+   *
+   * @example flexible
+   */
+  ssl?: string;
+  /**
+   * Enable or disable Signed Exchangesn(SXG)
+   *
+   * @example false
+   */
+  sxg?: boolean;
+};
+
+/**
+ * A summary of the purpose/function of the WAF package.
+ *
+ * @example Covers OWASP Top 10 vulnerabilities and more.
+ */
+export type FirewallAnomalyDescription = string;
+
+/**
+ * When a WAF package uses anomaly detection, each rule is given a score when triggered. If the total score of all triggered rules exceeds the sensitivity defined on the WAF package, the action defined on the package will be taken.
+ *
+ * @example anomaly
+ */
+export type FirewallAnomalyDetectionMode = string;
+
+/**
+ * The name of the WAF package.
+ *
+ * @example OWASP ModSecurity Core Rule Set
+ */
+export type FirewallAnomalyName = string;
+
+export type FirewallAnomalyPackage = {
+  description: FirewallAnomalyDescription;
+  detection_mode: FirewallAnomalyDetectionMode;
+  id: FirewallIdentifier;
+  name: FirewallAnomalyName;
+  status?: FirewallStatus;
+  zone_id: FirewallIdentifier;
+  action_mode?: FirewallActionMode;
+  sensitivity?: FirewallSensitivity;
+};
+
+export type FirewallApiResponseCollection = {
+  errors: FirewallMessages;
+  messages: FirewallMessages;
+  result: Record<string, any> | any[] | string | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+  result_info?: FirewallResultInfo;
+};
+
+export type FirewallApiResponseCommon = {
+  errors: FirewallMessages;
+  messages: FirewallMessages;
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type FirewallApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: FirewallMessages;
+  messages: FirewallMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type FirewallApiResponseSingle = {
+  errors: FirewallMessages;
+  messages: FirewallMessages;
+  result: (Record<string, any> | null) | (string | null) | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type FirewallApiResponseSingleId = {
+  errors: FirewallMessages;
+  messages: FirewallMessages;
+  result:
+    | {
+        id: FirewallIdentifier;
+      }
+    | any[]
+    | string
+    | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type FirewallAsnConfiguration = {
+  /**
+   * The configuration target. You must set the target to `asn` when specifying an Autonomous System Number (ASN) in the rule.
+   *
+   * @example asn
+   */
+  target?: 'asn';
+  /**
+   * The AS number to match.
+   *
+   * @example AS12345
+   */
+  value?: string;
+};
+
+/**
+ * The response body to return. The value must conform to the configured content type.
+ *
+ * @example <error>This request has been rate-limited.</error>
+ * @maxLength 10240
+ */
+export type FirewallBody = string;
+
+/**
+ * Criteria specifying when the current rate limit should be bypassed. You can specify that the rate limit should not apply to one or more URLs.
+ */
+export type FirewallBypass = {
+  /**
+   * @example url
+   */
+  name?: 'url';
+  /**
+   * The URL to bypass.
+   *
+   * @example api.example.com/*
+   */
+  value?: string;
+}[];
+
+/**
+ * The parameters configuring the action.
+ */
+export type FirewallCacheRulesComponentsSchemasActionParameters = FirewallActionParametersSetCacheSettings;
+
+export type FirewallCacheRulesComponentsSchemasRule = {
+  /**
+   * @example set_cache_settings
+   */
+  action?: void;
+  action_parameters?: FirewallCacheRulesComponentsSchemasActionParameters;
+  /**
+   * @example use the cache settings
+   */
+  description?: void;
+  /**
+   * @example http.cookie contains "something"
+   */
+  expression?: void;
+  /**
+   * @example 3a03d665bac047339bb530ecb439a90d
+   */
+  id?: void;
+  /**
+   * @example 1
+   */
+  version?: void;
+};
+
+export type FirewallCacheRulesComponentsSchemasRuleset = {
+  /**
+   * @example
+   */
+  description?: void;
+  /**
+   * @example 2f2feab2026849078ba485f918791bdc
+   */
+  id?: void;
+  /**
+   * @example zone
+   */
+  kind?: void;
+  /**
+   * @example default
+   */
+  name?: void;
+  /**
+   * @example http_request_cache_settings
+   */
+  phase?: void;
+  /**
+   * The rules in the ruleset.
+   */
+  rules?: FirewallCacheRulesComponentsSchemasRule[];
+};
+
+export type FirewallCidrConfiguration = {
+  /**
+   * The configuration target. You must set the target to `ip_range` when specifying an IP address range in the rule.
+   *
+   * @example ip_range
+   */
+  target?: 'ip_range';
+  /**
+   * The IP address range to match. You can only use prefix lengths `/16` and `/24` for IPv4 ranges, and prefix lengths `/32`, `/48`, and `/64` for IPv6 ranges.
+   *
+   * @example 198.51.100.4/16
+   */
+  value?: string;
+};
+
+/**
+ * The action to perform when the rule matches.
+ *
+ * @example execute
+ * @pattern ^[a-z_]+$
+ */
+export type FirewallComponentsSchemasAction = string;
+
+/**
+ * The parameters configuring the action.
+ */
+export type FirewallComponentsSchemasActionParameters = FirewallActionParametersRedirect;
+
+/**
+ * An informative summary of the current URI-based WAF override.
+ *
+ * @example Enable Cloudflare Magento ruleset for shop.example.com
+ * @maxLength 1024
+ */
+export type FirewallComponentsSchemasDescription = string | null;
+
+/**
+ * The unique identifier of the resource.
+ *
+ * @example de677e5818985db1285d0e80225f06e5
+ * @maxLength 32
+ */
+export type FirewallComponentsSchemasIdentifier = string;
+
+/**
+ * The action to apply to a matched request.
+ *
+ * @example js_challenge
+ * @maxLength 12
+ */
+export type FirewallComponentsSchemasMode = 'block' | 'challenge' | 'js_challenge' | 'managed_challenge';
+
+/**
+ * When true, indicates that the firewall rule is currently paused.
+ *
+ * @example false
+ */
+export type FirewallComponentsSchemasPaused = boolean;
+
+/**
+ * The priority of the rule. Optional value used to define the processing order. A lower number indicates a higher priority. If not provided, rules with a defined priority will be processed before rules without a priority.
+ *
+ * @example 50
+ * @maximum 2147483647
+ * @minimum 0
+ */
+export type FirewallComponentsSchemasPriority = number;
+
+/**
+ * The reference of the rule (the rule ID by default).
+ *
+ * @example my_ref
+ */
+export type FirewallComponentsSchemasRef = string;
+
+export type FirewallComponentsSchemasRule = {
+  /**
+   * @example route
+   */
+  action?: void;
+  action_parameters?: FirewallActionParameters;
+  /**
+   * @example change the host header, origin, and SNI
+   */
+  description?: void;
+  /**
+   * @example http.cookie contains "something"
+   */
+  expression?: void;
+  /**
+   * @example 3a03d665bac047339bb530ecb439a90d
+   */
+  id?: void;
+  /**
+   * @example 1
+   */
+  version?: void;
+};
+
+export type FirewallComponentsSchemasRuleset = {
+  /**
+   * @example
+   */
+  description?: void;
+  /**
+   * @example 2f2feab2026849078ba485f918791bdc
+   */
+  id?: void;
+  /**
+   * @example zone
+   */
+  kind?: void;
+  /**
+   * @example default
+   */
+  name?: void;
+  /**
+   * @example http_config_settings
+   */
+  phase?: void;
+  /**
+   * The rules in the ruleset.
+   */
+  rules?: FirewallConfigRulesComponentsSchemasRule[];
+};
+
+/**
+ * The unique identifier of the User Agent Blocking rule.
+ *
+ * @example 372e67954025e0ba6aaa6d586b9e0b59
+ * @maxLength 32
+ */
+export type FirewallComponentsUaRuleId = string;
+
+/**
+ * The parameters configuring the action.
+ */
+export type FirewallConfigRulesComponentsSchemasActionParameters = FirewallActionParametersSetConfig;
+
+export type FirewallConfigRulesComponentsSchemasRule = {
+  /**
+   * @example set_config
+   */
+  action?: void;
+  action_parameters?: FirewallConfigRulesComponentsSchemasActionParameters;
+  /**
+   * @example enable Email Obfuscation
+   */
+  description?: void;
+  /**
+   * @example http.cookie contains "something"
+   */
+  expression?: void;
+  /**
+   * @example 3a03d665bac047339bb530ecb439a90d
+   */
+  id?: void;
+  /**
+   * @example 1
+   */
+  version?: void;
+};
+
+/**
+ * The rule configuration.
+ */
+export type FirewallConfiguration =
+  | FirewallIpConfiguration
+  | FirewallIpv6Configuration
+  | FirewallCidrConfiguration
+  | FirewallAsnConfiguration
+  | FirewallCountryConfiguration;
+
+/**
+ * A list of IP addresses or CIDR ranges that will be allowed to access the URLs specified in the Zone Lockdown rule. You can include any number of `ip` or `ip_range` configurations.
+ */
+export type FirewallConfigurations = (FirewallSchemasIpConfiguration | FirewallSchemasCidrConfiguration)[];
+
+/**
+ * The content type of the body. Must be one of the following: `text/plain`, `text/xml`, or `application/json`.
+ *
+ * @example text/xml
+ * @maxLength 50
+ */
+export type FirewallContentType = string;
+
+export type FirewallCountryConfiguration = {
+  /**
+   * The configuration target. You must set the target to `country` when specifying a country code in the rule.
+   *
+   * @example country
+   */
+  target?: 'country';
+  /**
+   * The two-letter ISO-3166-1 alpha-2 code to match. For more information, refer to [IP Access rules: Parameters](https://developers.cloudflare.com/waf/tools/ip-access-rules/parameters/#country).
+   *
+   * @example US
+   */
+  value?: string;
+};
+
+/**
+ * A rule object.
+ */
+export type FirewallCreateUpdateRule = {
+  action: FirewallComponentsSchemasAction;
+  action_parameters?: FirewallSchemasActionParameters;
+  description?: FirewallRulesComponentsSchemasDescription;
+  enabled?: FirewallEnabled;
+  expression: FirewallSchemasExpression;
+  logging?: FirewallLogging;
+  ref?: FirewallComponentsSchemasRef;
+};
+
+/**
+ * The list of rules in the ruleset.
+ */
+export type FirewallCreateUpdateRules = (FirewallCreateUpdateRule | void)[];
+
+/**
+ * The timestamp of when the rule was created.
+ *
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
+ */
+export type FirewallCreatedOn = string;
+
+/**
+ * A custom content type and reponse to return when the threshold is exceeded. The custom response configured in this object will override the custom error for the zone. This object is optional.
+ * Notes: If you omit this object, Cloudflare will use the default HTML error page. If "mode" is "challenge", "managed_challenge", or "js_challenge", Cloudflare will use the zone challenge pages and you should not provide the "response" object.
+ */
+export type FirewallCustomResponse = {
+  body?: FirewallBody;
+  content_type?: FirewallContentType;
+};
+
+/**
+ * When true, indicates that Cloudflare should also delete the associated filter if there are no other firewall rules referencing the filter.
+ */
+export type FirewallDeleteFilterIfUnused = boolean;
+
+/**
+ * When true, indicates that the firewall rule was deleted.
+ *
+ * @example true
+ */
+export type FirewallDeleted = boolean;
+
+export type FirewallDeletedFilter = {
+  deleted: FirewallDeleted;
+  id: FirewallFiltersComponentsSchemasId;
+};
+
+/**
+ * An informative summary of the rate limit. This value is sanitized and any tags will be removed.
+ *
+ * @example Prevent multiple login failures to mitigate brute force attacks
+ * @maxLength 1024
+ */
+export type FirewallDescription = string;
+
+/**
+ * A string to search for in the description of existing rules.
+ *
+ * @example abusive
+ */
+export type FirewallDescriptionSearch = string;
+
+/**
+ * The mode that defines how rules within the package are evaluated during the course of a request. When a package uses anomaly detection mode (`anomaly` value), each rule is given a score when triggered. If the total score of all triggered rules exceeds the sensitivity defined in the WAF package, the action configured in the package will be performed. Traditional detection mode (`traditional` value) will decide the action to take when it is triggered by the request. If multiple rules are triggered, the action providing the highest protection will be applied (for example, a 'block' action will win over a 'challenge' action).
+ *
+ * @example traditional
+ */
+export type FirewallDetectionMode = 'anomaly' | 'traditional';
+
+/**
+ * When true, indicates that the rate limit is currently disabled.
+ *
+ * @example false
+ */
+export type FirewallDisabled = boolean;
+
+export type FirewallDynamicRedirectRulesComponentsSchemasRule = {
+  /**
+   * @example redirect
+   */
+  action?: void;
+  action_parameters?: FirewallComponentsSchemasActionParameters;
+  /**
+   * @example Blog redirect
+   */
+  description?: void;
+  /**
+   * @example http.request.uri.path == "/blog"
+   */
+  expression?: void;
+  /**
+   * @example 3a03d665bac047339bb530ecb439a90d
+   */
+  id?: void;
+  /**
+   * @example 1
+   */
+  version?: void;
+};
+
+/**
+ * The contact email address of the user.
+ *
+ * @example user@example.com
+ * @maxLength 90
+ */
+export type FirewallEmail = string;
+
+/**
+ * Whether the rule should be executed.
+ *
+ * @default true
+ * @example true
+ */
+export type FirewallEnabled = boolean;
+
+/**
+ * The filter expression. For more information, refer to [Expressions](https://developers.cloudflare.com/ruleset-engine/rules-language/expressions/).
+ *
+ * @example (http.request.uri.path ~ ".*wp-login.php" or http.request.uri.path ~ ".*xmlrpc.php") and ip.addr ne 172.16.22.155
+ */
+export type FirewallExpression = string;
+
+export type FirewallFilter = {
+  description?: FirewallFiltersComponentsSchemasDescription;
+  expression?: FirewallExpression;
+  id?: FirewallFiltersComponentsSchemasId;
+  paused?: FirewallFiltersComponentsSchemasPaused;
+  ref?: FirewallSchemasRef;
+};
+
+export type FirewallFilterDeleteResponseCollection = FirewallApiResponseCollection & {
+  result?: {
+    description?: FirewallFiltersComponentsSchemasDescription;
+    expression?: FirewallExpression;
+    id: FirewallFiltersComponentsSchemasId;
+    paused?: FirewallFiltersComponentsSchemasPaused;
+    ref?: FirewallSchemasRef;
+  }[];
+};
+
+export type FirewallFilterDeleteResponseSingle = FirewallApiResponseSingle & {
+  result: {
+    description?: FirewallFiltersComponentsSchemasDescription;
+    expression?: FirewallExpression;
+    id: FirewallFiltersComponentsSchemasId;
+    paused?: FirewallFiltersComponentsSchemasPaused;
+    ref?: FirewallSchemasRef;
+  };
+};
+
+export type FirewallFilterResponseCollection = FirewallApiResponseCollection & {
+  result?: {
+    description?: FirewallFiltersComponentsSchemasDescription;
+    expression: FirewallExpression;
+    id: FirewallFiltersComponentsSchemasId;
+    paused: FirewallFiltersComponentsSchemasPaused;
+    ref?: FirewallSchemasRef;
+  }[];
+};
+
+export type FirewallFilterResponseSingle = FirewallApiResponseSingle & {
+  result: FirewallFilter;
+};
+
+export type FirewallFilterRuleBase = {
+  action?: FirewallSchemasAction;
+  description?: FirewallFirewallRulesComponentsSchemasDescription;
+  id?: FirewallFirewallRulesComponentsSchemasId;
+  paused?: FirewallComponentsSchemasPaused;
+  priority?: FirewallComponentsSchemasPriority;
+  products?: FirewallProducts;
+  ref?: FirewallRef;
+};
+
+export type FirewallFilterRuleResponse = FirewallFilterRuleBase & {
+  filter?: FirewallFilter | FirewallDeletedFilter;
+};
+
+export type FirewallFilterRulesResponseCollection = FirewallApiResponseCollection & {
+  result: (FirewallFilterRuleResponse & Record<string, any>)[];
+};
+
+export type FirewallFilterRulesResponseCollectionDelete = FirewallApiResponseCollection & {
+  result: (FirewallFilterRuleResponse & Record<string, any>)[];
+};
+
+export type FirewallFilterRulesSingleResponse = FirewallApiResponseSingle & {
+  result: FirewallFilterRuleResponse & Record<string, any>;
+};
+
+export type FirewallFilterRulesSingleResponseDelete = FirewallApiResponseSingle & {
+  result: FirewallFilterRuleResponse & Record<string, any>;
+};
+
+export type FirewallFilters = {
+  /**
+   * The target to search in existing rules.
+   *
+   * @example ip
+   */
+  ['configuration.target']?: 'ip' | 'ip_range' | 'asn' | 'country';
+  /**
+   * The target value to search for in existing rules: an IP address, an IP address range, or a country code, depending on the provided `configuration.target`.
+   * Notes: You can search for a single IPv4 address, an IP address range with a subnet of '/16' or '/24', or a two-letter ISO-3166-1 alpha-2 country code.
+   *
+   * @example 198.51.100.4
+   */
+  ['configuration.value']?: string;
+  /**
+   * When set to `all`, all the search requirements must match. When set to `any`, only one of the search requirements has to match.
+   *
+   * @default all
+   */
+  match?: 'any' | 'all';
+  mode?: FirewallSchemasMode;
+  /**
+   * The string to search for in the notes of existing IP Access rules.
+   * Notes: For example, the string 'attack' would match IP Access rules with notes 'Attack 26/02' and 'Attack 27/02'. The search is case insensitive.
+   *
+   * @example my note
+   */
+  notes?: string;
+};
+
+/**
+ * An informative summary of the filter.
+ *
+ * @example Restrict access from these browsers on this address range.
+ * @maxLength 500
+ */
+export type FirewallFiltersComponentsSchemasDescription = string;
+
+/**
+ * The unique identifier of the filter.
+ *
+ * @example 372e67954025e0ba6aaa6d586b9e0b61
+ * @maxLength 32
+ * @minLength 32
+ */
+export type FirewallFiltersComponentsSchemasId = string;
+
+/**
+ * When true, indicates that the filter is currently paused.
+ *
+ * @example false
+ */
+export type FirewallFiltersComponentsSchemasPaused = boolean;
+
+/**
+ * An informative summary of the firewall rule.
+ *
+ * @example Blocks traffic identified during investigation for MIR-31
+ * @maxLength 500
+ */
+export type FirewallFirewallRulesComponentsSchemasDescription = string;
+
+/**
+ * The unique identifier of the firewall rule.
+ *
+ * @example 372e67954025e0ba6aaa6d586b9e0b60
+ * @maxLength 32
+ */
+export type FirewallFirewallRulesComponentsSchemasId = string;
+
+export type FirewallFirewalluablock = {
+  configuration?: FirewallSchemasConfiguration;
+  description?: FirewallUaRulesComponentsSchemasDescription;
+  id?: FirewallComponentsUaRuleId;
+  mode?: FirewallComponentsSchemasMode;
+  paused?: FirewallSchemasPaused;
+};
+
+export type FirewallFirewalluablockResponseCollection = FirewallApiResponseCollection & {
+  result?: FirewallUaRules[];
+};
+
+export type FirewallFirewalluablockResponseSingle = FirewallApiResponseSingle & {
+  result?: Record<string, any>;
+};
+
+/**
+ * An object that allows you to enable or disable WAF rule groups for the current WAF override. Each key of this object must be the ID of a WAF rule group, and each value must be a valid WAF action (usually `default` or `disable`). When creating a new URI-based WAF override, you must provide a `groups` object or a `rules` object.
+ *
+ * @example {"ea8687e59929c1fd05ba97574ad43f77":"default"}
+ */
+export type FirewallGroups = {
+  [key: string]: any;
+};
+
+/**
+ * The name of the response header to match.
+ *
+ * @example Cf-Cache-Status
+ */
+export type FirewallHeaderName = string;
+
+/**
+ * The operator used when matching: `eq` means "equal" and `ne` means "not equal".
+ *
+ * @example ne
+ */
+export type FirewallHeaderOp = 'eq' | 'ne';
+
+/**
+ * The value of the response header, which must match exactly.
+ *
+ * @example HIT
+ */
+export type FirewallHeaderValue = string;
+
+/**
+ * The unique identifier of the rate limit.
+ *
+ * @example 372e67954025e0ba6aaa6d586b9e0b59
+ * @maxLength 32
+ */
+export type FirewallId = string;
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type FirewallIdentifier = string;
+
+export type FirewallIpConfiguration = {
+  /**
+   * The configuration target. You must set the target to `ip` when specifying an IP address in the rule.
+   *
+   * @example ip
+   */
+  target?: 'ip';
+  /**
+   * The IP address to match. This address will be compared to the IP address of incoming requests.
+   *
+   * @example 198.51.100.4
+   */
+  value?: string;
+};
+
+/**
+ * A single IP address range to search for in existing rules.
+ *
+ * @example 1.2.3.0/16
+ */
+export type FirewallIpRangeSearch = string;
+
+/**
+ * A single IP address to search for in existing rules.
+ *
+ * @example 1.2.3.4
+ */
+export type FirewallIpSearch = string;
+
+export type FirewallIpv6Configuration = {
+  /**
+   * The configuration target. You must set the target to `ip6` when specifying an IPv6 address in the rule.
+   *
+   * @example ip6
+   */
+  target?: 'ip6';
+  /**
+   * The IPv6 address to match.
+   *
+   * @example 2001:DB8:100::CF
+   */
+  value?: string;
+};
+
+/**
+ * An informative summary of the rule.
+ *
+ * @example Restrict access to these endpoints to requests from a known IP address
+ * @maxLength 1024
+ */
+export type FirewallLockdownsComponentsSchemasDescription = string;
+
+/**
+ * The unique identifier of the Zone Lockdown rule.
+ *
+ * @example 372e67954025e0ba6aaa6d586b9e0b59
+ * @maxLength 32
+ */
+export type FirewallLockdownsComponentsSchemasId = string;
+
+/**
+ * An object configuring the rule's logging behavior.
+ *
+ * @example {"enabled":true}
+ */
+export type FirewallLogging = {
+  /**
+   * Whether to generate a log when the rule matches.
+   *
+   * @example true
+   */
+  enabled?: boolean;
+};
+
+/**
+ * Determines which traffic the rate limit counts towards the threshold.
+ */
+export type FirewallMatch = {
+  headers?: {
+    name?: FirewallHeaderName;
+    op?: FirewallHeaderOp;
+    value?: FirewallHeaderValue;
+  }[];
+  request?: {
+    methods?: FirewallMethods;
+    schemes?: FirewallSchemes;
+    url?: FirewallUrl;
+  };
+  response?: {
+    origin_traffic?: FirewallOriginTraffic;
+  };
+};
+
+export type FirewallMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+/**
+ * The HTTP methods to match. You can specify a subset (for example, `['POST','PUT']`) or all methods (`['_ALL_']`). This field is optional when creating a rate limit.
+ *
+ * @example GET
+ * @example POST
+ */
+export type FirewallMethods = ('GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | '_ALL_')[];
+
+/**
+ * The action to perform.
+ *
+ * @example challenge
+ */
+export type FirewallMode = 'simulate' | 'ban' | 'challenge' | 'js_challenge' | 'managed_challenge';
+
+/**
+ * The timestamp of when the rule was last modified.
+ *
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
+ */
+export type FirewallModifiedOn = string;
+
+/**
+ * The name of the WAF package.
+ *
+ * @example USER
+ */
+export type FirewallName = string;
+
+/**
+ * An informative summary of the rule, typically used as a reminder or explanation.
+ *
+ * @example This rule is enabled because of an event that occurred on date X.
+ */
+export type FirewallNotes = string;
+
+/**
+ * When true, only the uncached traffic served from your origin servers will count towards rate limiting. In this case, any cached traffic served by Cloudflare will not count towards rate limiting. This field is optional.
+ * Notes: This field is deprecated. Instead, use response headers and set "origin_traffic" to "false" to avoid legacy behaviour interacting with the "response_headers" property.
+ */
+export type FirewallOriginTraffic = boolean;
+
+export type FirewallOverride = {
+  description?: FirewallComponentsSchemasDescription;
+  groups?: FirewallGroups;
+  id?: FirewallOverridesId;
+  paused?: FirewallPaused;
+  priority?: FirewallPriority;
+  rewrite_action?: FirewallRewriteAction;
+  rules?: FirewallRules;
+  urls?: FirewallUrls;
+};
+
+export type FirewallOverrideResponseCollection = FirewallApiResponseCollection & {
+  result: {
+    description?: FirewallComponentsSchemasDescription;
+    groups?: FirewallGroups;
+    id: FirewallOverridesId;
+    paused: FirewallPaused;
+    priority: FirewallPriority;
+    rewrite_action?: FirewallRewriteAction;
+    rules?: FirewallRules;
+    urls: FirewallUrls;
+  }[];
+};
+
+export type FirewallOverrideResponseSingle = FirewallApiResponseSingle & {
+  result: FirewallOverride;
+};
+
+/**
+ * The unique identifier of the WAF override.
+ *
+ * @example de677e5818985db1285d0e80225f06e5
+ * @maxLength 32
+ */
+export type FirewallOverridesId = string;
+
+export type FirewallPackage = FirewallPackageDefinition | FirewallAnomalyPackage;
+
+export type FirewallPackageDefinition = {
+  description: FirewallSchemasDescription;
+  detection_mode: FirewallDetectionMode;
+  id: FirewallIdentifier;
+  name: FirewallName;
+  status?: FirewallStatus;
+  zone_id: FirewallIdentifier;
+};
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type FirewallPackageId = string;
+
+export type FirewallPackageResponseCollection =
+  | FirewallApiResponseCollection
+  | {
+      result?: FirewallPackage[];
+    };
+
+export type FirewallPackageResponseSingle =
+  | FirewallApiResponseSingle
+  | {
+      result?: Record<string, any>;
+    };
+
+/**
+ * When true, indicates that the WAF package is currently paused.
+ */
+export type FirewallPaused = boolean;
+
+/**
+ * The time in seconds (an integer value) to count matching traffic. If the count exceeds the configured threshold within this period, Cloudflare will perform the configured action.
+ *
+ * @example 900
+ * @maximum 86400
+ * @minimum 10
+ */
+export type FirewallPeriod = number;
+
+/**
+ * The phase where the ruleset is executed.
+ */
+export type FirewallPhase =
+  | 'http_request_transform'
+  | 'http_request_late_transform'
+  | 'http_response_headers_transform';
+
+/**
+ * The relative priority of the current URI-based WAF override when multiple overrides match a single URL. A lower number indicates higher priority. Higher priority overrides may overwrite values set by lower priority overrides.
+ *
+ * @example 1
+ * @maximum 1000000000
+ * @minimum -1000000000
+ */
+export type FirewallPriority = number;
+
+export type FirewallProducts = ('zoneLockdown' | 'uaBlock' | 'bic' | 'hot' | 'securityLevel' | 'rateLimit' | 'waf')[];
+
+export type FirewallRateLimits = FirewallRatelimit;
+
+/**
+ * The unique identifier of the rate limit.
+ *
+ * @example 372e67954025e0ba6aaa6d586b9e0b59
+ * @maxLength 32
+ */
+export type FirewallRateLimitId = string;
+
+export type FirewallRatelimit = {
+  action?: FirewallAction;
+  bypass?: FirewallBypass;
+  description?: FirewallDescription;
+  disabled?: FirewallDisabled;
+  id?: FirewallId;
+  match?: FirewallMatch;
+  period?: FirewallPeriod;
+  threshold?: FirewallThreshold;
+};
+
+export type FirewallRatelimitResponseCollection = FirewallApiResponseCollection & {
+  result?: FirewallRateLimits[];
+};
+
+export type FirewallRatelimitResponseSingle = FirewallApiResponseSingle & {
+  result?: FirewallRateLimits;
+};
+
+/**
+ * A short reference tag. Allows you to select related firewall rules.
+ *
+ * @example MIR-31
+ * @maxLength 50
+ */
+export type FirewallRef = string;
+
+export type FirewallResponseCollection = FirewallApiResponseCollection & {
+  result?: FirewallSchemasRule[];
+};
+
+export type FirewallResponseSingle = FirewallApiResponseSingle & {
+  result?: FirewallSchemasRule;
+};
+
+export type FirewallResultInfo = {
+  /**
+   * Total number of results for the requested service
+   *
+   * @example 1
+   */
+  count?: number;
+  /**
+   * Current page within paginated list of results
+   *
+   * @example 1
+   */
+  page?: number;
+  /**
+   * Number of results per page of results
+   *
+   * @example 20
+   */
+  per_page?: number;
+  /**
+   * Total results available without any search parameters
+   *
+   * @example 2000
+   */
+  total_count?: number;
+};
+
+/**
+ * Specifies that, when a WAF rule matches, its configured action will be replaced by the action configured in this object.
+ */
+export type FirewallRewriteAction = {
+  block?: FirewallWafRewriteAction;
+  challenge?: FirewallWafRewriteAction;
+  ['default']?: FirewallWafRewriteAction;
+  disable?: FirewallWafRewriteAction;
+  simulate?: FirewallWafRewriteAction;
+};
+
+export type FirewallRule = {
+  /**
+   * The available actions that a rule can apply to a matched request.
+   *
+   * @example whitelist
+   * @example block
+   * @example challenge
+   * @example js_challenge
+   * @example managed_challenge
+   */
+  allowed_modes: FirewallSchemasMode[];
+  configuration: FirewallConfiguration;
+  /**
+   * The timestamp of when the rule was created.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  created_on?: string;
+  id: FirewallSchemasIdentifier;
+  mode: FirewallSchemasMode;
+  /**
+   * The timestamp of when the rule was last modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string;
+  notes?: FirewallNotes;
+};
+
+export type FirewallRuleCollectionResponse = FirewallApiResponseCollection & {
+  result?: FirewallRule[];
+};
+
+/**
+ * Unique identifier for a rule
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type FirewallRuleIdentifier = string;
+
+export type FirewallRuleSingleIdResponse = FirewallApiResponseSingle & {
+  result?: {
+    id?: FirewallSchemasIdentifier;
+  };
+};
+
+export type FirewallRuleSingleResponse = FirewallApiResponseSingle & {
+  result?: FirewallRule;
+};
+
+/**
+ * An object that allows you to override the action of specific WAF rules. Each key of this object must be the ID of a WAF rule, and each value must be a valid WAF action. Unless you are disabling a rule, ensure that you also enable the rule group that this WAF rule belongs to. When creating a new URI-based WAF override, you must provide a `groups` object or a `rules` object.
+ *
+ * @example {"100015":"disable"}
+ */
+export type FirewallRules = {
+  [key: string]: FirewallWafAction;
+};
+
+/**
+ * An informative description of the rule.
+ *
+ * @default
+ * @example Execute the OWASP ruleset when the IP address is not 1.1.1.1
+ */
+export type FirewallRulesComponentsSchemasDescription = string;
+
+export type FirewallRuleset = {
+  /**
+   * @example
+   */
+  description?: void;
+  /**
+   * @example 2f2feab2026849078ba485f918791bdc
+   */
+  id?: void;
+  /**
+   * @example zone
+   */
+  kind?: void;
+  /**
+   * @example default
+   */
+  name?: void;
+  /**
+   * @example http_request_origin
+   */
+  phase?: void;
+  /**
+   * The rules in the ruleset.
+   */
+  rules?: FirewallComponentsSchemasRule[];
+};
+
+/**
+ * An informative description of the ruleset.
+ *
+ * @default
+ * @example My ruleset to execute managed rulesets
+ */
+export type FirewallRulesetsComponentsSchemasDescription = string;
+
+/**
+ * The action to apply to a matched request. The `log` action is only available on an Enterprise plan.
+ *
+ * @example block
+ */
+export type FirewallSchemasAction =
+  | 'block'
+  | 'challenge'
+  | 'js_challenge'
+  | 'managed_challenge'
+  | 'allow'
+  | 'log'
+  | 'bypass';
+
+/**
+ * The parameters configuring the rule action.
+ *
+ * @example {"id":"4814384a9e5d4991b9815dcfc25d2f1f"}
+ */
+export type FirewallSchemasActionParameters = Record<string, any>;
+
+export type FirewallSchemasCidrConfiguration = {
+  /**
+   * The configuration target. You must set the target to `ip_range` when specifying an IP address range in the Zone Lockdown rule.
+   *
+   * @example ip_range
+   */
+  target?: 'ip_range';
+  /**
+   * The IP address range to match. You can only use prefix lengths `/16` and `/24`.
+   *
+   * @example 198.51.100.4/16
+   */
+  value?: string;
+};
+
+/**
+ * The configuration object for the current rule.
+ */
+export type FirewallSchemasConfiguration = {
+  /**
+   * The configuration target for this rule. You must set the target to `ua` for User Agent Blocking rules.
+   *
+   * @example ua
+   */
+  target?: string;
+  /**
+   * The exact user agent string to match. This value will be compared to the received `User-Agent` HTTP header value.
+   *
+   * @example Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/603.2.4 (KHTML, like Gecko) Version/10.1.1 Safari/603.2.4
+   */
+  value?: string;
+};
+
+/**
+ * A summary of the purpose/function of the WAF package.
+ *
+ * @example null
+ */
+export type FirewallSchemasDescription = string;
+
+/**
+ * A string to search for in the description of existing rules.
+ *
+ * @example endpoints
+ */
+export type FirewallSchemasDescriptionSearch = string;
+
+/**
+ * The expression defining which traffic will match the rule.
+ *
+ * @example ip.src ne 1.1.1.1
+ */
+export type FirewallSchemasExpression = string;
+
+/**
+ * The unique identifier of the IP Access rule.
+ *
+ * @example 92f17202ed8bd63d69a66b86a49a8f6b
+ * @maxLength 32
+ */
+export type FirewallSchemasIdentifier = string;
+
+export type FirewallSchemasIpConfiguration = {
+  /**
+   * The configuration target. You must set the target to `ip` when specifying an IP address in the Zone Lockdown rule.
+   *
+   * @example ip
+   */
+  target?: 'ip';
+  /**
+   * The IP address to match. This address will be compared to the IP address of incoming requests.
+   *
+   * @example 198.51.100.4
+   */
+  value?: string;
+};
+
+/**
+ * The action to apply to a matched request.
+ *
+ * @example challenge
+ */
+export type FirewallSchemasMode = 'block' | 'challenge' | 'whitelist' | 'js_challenge' | 'managed_challenge';
+
+/**
+ * When true, indicates that the rule is currently paused.
+ *
+ * @example false
+ */
+export type FirewallSchemasPaused = boolean;
+
+/**
+ * The priority of the rule to control the processing order. A lower number indicates higher priority. If not provided, any rules with a configured priority will be processed before rules without a priority.
+ *
+ * @example 5
+ */
+export type FirewallSchemasPriority = number;
+
+/**
+ * A short reference tag. Allows you to select related filters.
+ *
+ * @example FIL-100
+ * @maxLength 50
+ */
+export type FirewallSchemasRef = string;
+
+export type FirewallSchemasRule = FirewallRule & {
+  /**
+   * All zones owned by the user will have the rule applied.
+   */
+  scope?: {
+    email?: FirewallEmail;
+    id?: FirewallIdentifier;
+    /**
+     * The scope of the rule.
+     *
+     * @example user
+     */
+    type?: 'user' | 'organization';
+  };
+};
+
+export type FirewallSchemasRuleset = {
+  /**
+   * @example
+   */
+  description?: void;
+  /**
+   * @example 2f2feab2026849078ba485f918791bdc
+   */
+  id?: void;
+  /**
+   * @example zone
+   */
+  kind?: void;
+  /**
+   * @example default
+   */
+  name?: void;
+  /**
+   * @example http_request_dynamic_redirect
+   */
+  phase?: void;
+  /**
+   * The rules in the ruleset.
+   */
+  rules?: FirewallDynamicRedirectRulesComponentsSchemasRule[];
+};
+
+/**
+ * The URLs to include in the rule definition. You can use wildcards. Each entered URL will be escaped before use, which means you can only use simple wildcard patterns.
+ */
+export type FirewallSchemasUrls = string[];
+
+/**
+ * The HTTP schemes to match. You can specify one scheme (`['HTTPS']`), both schemes (`['HTTP','HTTPS']`), or all schemes (`['_ALL_']`). This field is optional.
+ *
+ * @example HTTP
+ * @example HTTPS
+ */
+export type FirewallSchemes = string[];
+
+/**
+ * The sensitivity of the WAF package.
+ *
+ * @default high
+ */
+export type FirewallSensitivity = 'high' | 'medium' | 'low' | 'off';
+
+/**
+ * When set to `active`, indicates that the WAF package will be applied to the zone.
+ *
+ * @default active
+ */
+export type FirewallStatus = 'active';
+
+/**
+ * The threshold that will trigger the configured mitigation action. Configure this value along with the `period` property to establish a threshold per period.
+ *
+ * @example 60
+ * @minimum 1
+ */
+export type FirewallThreshold = number;
+
+/**
+ * The time in seconds during which Cloudflare will perform the mitigation action. Must be an integer value greater than or equal to the period.
+ * Notes: If "mode" is "challenge", "managed_challenge", or "js_challenge", Cloudflare will use the zone's Challenge Passage time and you should not provide this value.
+ *
+ * @example 86400
+ * @maximum 86400
+ * @minimum 1
+ */
+export type FirewallTimeout = number;
+
+/**
+ * The parameters configuring the action.
+ */
+export type FirewallTransformRulesComponentsSchemasActionParameters = FirewallActionParametersRewrite;
+
+export type FirewallTransformRulesComponentsSchemasRule = {
+  /**
+   * @example rewrite
+   */
+  action?: void;
+  action_parameters?: FirewallTransformRulesComponentsSchemasActionParameters;
+  /**
+   * @example change request based on ip location
+   */
+  description?: void;
+  /**
+   * @example ip.geoip.country eq "AL"
+   */
+  expression?: void;
+  /**
+   * @example 3a03d665bac047339bb530ecb439a90d
+   */
+  id?: void;
+  /**
+   * @example 1
+   */
+  version?: void;
+};
+
+export type FirewallTransformRulesComponentsSchemasRuleset = {
+  /**
+   * @example
+   */
+  description?: void;
+  /**
+   * @example 2f2feab2026849078ba485f918791bdc
+   */
+  id?: void;
+  /**
+   * @example zone
+   */
+  kind?: void;
+  /**
+   * @example default
+   */
+  name?: void;
+  /**
+   * @example http_request_transform
+   */
+  phase?: void;
+  /**
+   * The rules in the ruleset.
+   */
+  rules?: FirewallTransformRulesComponentsSchemasRule[];
+};
+
+export type FirewallUaRules = FirewallFirewalluablock;
+
+/**
+ * An informative summary of the rule.
+ *
+ * @example Prevent access from abusive clients identified by this User Agent to mitigate a DDoS attack
+ * @maxLength 1024
+ */
+export type FirewallUaRulesComponentsSchemasDescription = string;
+
+/**
+ * A ruleset object.
+ */
+export type FirewallUpdateRuleset = {
+  description?: FirewallRulesetsComponentsSchemasDescription;
+  rules: FirewallCreateUpdateRules;
+};
+
+/**
+ * A single URI to search for in the list of URLs of existing rules.
+ *
+ * @example /some/path
+ */
+export type FirewallUriSearch = string;
+
+/**
+ * The URL pattern to match, composed of a host and a path such as `example.org/path*`. Normalization is applied before the pattern is matched. `*` wildcards are expanded to match applicable traffic. Query strings are not matched. Set the value to `*` to match all traffic to your zone.
+ *
+ * @example *.example.org/path*
+ * @maxLength 1024
+ */
+export type FirewallUrl = string;
+
+/**
+ * The URLs to include in the current WAF override. You can use wildcards. Each entered URL will be escaped before use, which means you can only use simple wildcard patterns.
+ */
+export type FirewallUrls = string[];
+
+/**
+ * The WAF rule action to apply.
+ */
+export type FirewallWafAction = 'challenge' | 'block' | 'simulate' | 'disable' | 'default';
+
+/**
+ * The WAF rule action to apply.
+ */
+export type FirewallWafRewriteAction = 'challenge' | 'block' | 'simulate' | 'disable' | 'default';
+
+export type FirewallZonelockdown = {
+  configurations: FirewallConfigurations;
+  created_on: FirewallCreatedOn;
+  description: FirewallLockdownsComponentsSchemasDescription;
+  id: FirewallLockdownsComponentsSchemasId;
+  modified_on: FirewallModifiedOn;
+  paused: FirewallSchemasPaused;
+  urls: FirewallSchemasUrls;
+};
+
+export type FirewallZonelockdownResponseCollection = FirewallApiResponseCollection & {
+  result: FirewallZonelockdown[];
+};
+
+export type FirewallZonelockdownResponseSingle = FirewallApiResponseSingle & {
+  result: FirewallZonelockdown;
+};
+
+/**
+ * The hostname or IP address of the origin server to run health checks on.
+ *
+ * @example www.example.com
+ */
+export type HealthchecksAddress = string;
+
+export type HealthchecksApiResponseCollection = {
+  errors: HealthchecksMessages;
+  messages: HealthchecksMessages;
+  result: Record<string, any> | any[] | string | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+  result_info?: HealthchecksResultInfo;
+};
+
+export type HealthchecksApiResponseCommon = {
+  errors: HealthchecksMessages;
+  messages: HealthchecksMessages;
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type HealthchecksApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: HealthchecksMessages;
+  messages: HealthchecksMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type HealthchecksApiResponseSingle = {
+  errors: HealthchecksMessages;
+  messages: HealthchecksMessages;
+  result: (Record<string, any> | any[] | string) | (Record<string, any> | any[] | string);
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+/**
+ * A list of regions from which to run health checks. Null means Cloudflare will pick a default region.
+ *
+ * @example WEU
+ * @example ENAM
+ */
+export type HealthchecksCheckRegions =
+  | (
+      | 'WNAM'
+      | 'ENAM'
+      | 'WEU'
+      | 'EEU'
+      | 'NSAM'
+      | 'SSAM'
+      | 'OC'
+      | 'ME'
+      | 'NAF'
+      | 'SAF'
+      | 'IN'
+      | 'SEAS'
+      | 'NEAS'
+      | 'ALL_REGIONS'
+    )[]
+  | null;
+
+/**
+ * The number of consecutive fails required from a health check before changing the health to unhealthy.
+ *
+ * @default 1
+ */
+export type HealthchecksConsecutiveFails = number;
+
+/**
+ * The number of consecutive successes required from a health check before changing the health to healthy.
+ *
+ * @default 1
+ */
+export type HealthchecksConsecutiveSuccesses = number;
+
+/**
+ * A human-readable description of the health check.
+ *
+ * @example Health check for www.example.com
+ */
+export type HealthchecksDescription = string;
+
+/**
+ * The current failure reason if status is unhealthy.
+ *
+ * @example
+ */
+export type HealthchecksFailureReason = string;
+
+export type HealthchecksHealthchecks = {
+  address?: HealthchecksAddress;
+  check_regions?: HealthchecksCheckRegions;
+  consecutive_fails?: HealthchecksConsecutiveFails;
+  consecutive_successes?: HealthchecksConsecutiveSuccesses;
+  created_on?: HealthchecksTimestamp;
+  description?: HealthchecksDescription;
+  failure_reason?: HealthchecksFailureReason;
+  http_config?: HealthchecksHttpConfig;
+  id?: HealthchecksIdentifier;
+  interval?: HealthchecksInterval;
+  modified_on?: HealthchecksTimestamp;
+  name?: HealthchecksName;
+  retries?: HealthchecksRetries;
+  status?: HealthchecksStatus;
+  suspended?: HealthchecksSuspended;
+  tcp_config?: HealthchecksTcpConfig;
+  timeout?: HealthchecksTimeout;
+  type?: HealthchecksType;
+};
+
+/**
+ * Parameters specific to an HTTP or HTTPS health check.
+ */
+export type HealthchecksHttpConfig = {
+  /**
+   * Do not validate the certificate when the health check uses HTTPS.
+   *
+   * @default false
+   */
+  allow_insecure?: boolean;
+  /**
+   * A case-insensitive sub-string to look for in the response body. If this string is not found, the origin will be marked as unhealthy.
+   *
+   * @example success
+   */
+  expected_body?: string;
+  /**
+   * The expected HTTP response codes (e.g. "200") or code ranges (e.g. "2xx" for all codes starting with 2) of the health check.
+   *
+   * @default 200
+   * @example 2xx
+   * @example 302
+   */
+  expected_codes?: string[] | null;
+  /**
+   * Follow redirects if the origin returns a 3xx status code.
+   *
+   * @default false
+   */
+  follow_redirects?: boolean;
+  /**
+   * The HTTP request headers to send in the health check. It is recommended you set a Host header by default. The User-Agent header cannot be overridden.
+   *
+   * @example {"Host":["example.com"],"X-App-ID":["abc123"]}
+   */
+  header?: {
+    [key: string]: string[];
+  } | null;
+  /**
+   * The HTTP method to use for the health check.
+   *
+   * @default GET
+   */
+  method?: 'GET' | 'HEAD';
+  /**
+   * The endpoint path to health check against.
+   *
+   * @default /
+   * @example /health
+   */
+  path?: string;
+  /**
+   * Port number to connect to for the health check. Defaults to 80 if type is HTTP or 443 if type is HTTPS.
+   *
+   * @default 80
+   */
+  port?: number;
+} | null;
+
+export type HealthchecksIdResponse = HealthchecksApiResponseSingle & {
+  result?: {
+    id?: HealthchecksIdentifier;
+  };
+};
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type HealthchecksIdentifier = string;
+
+/**
+ * The interval between each health check. Shorter intervals may give quicker notifications if the origin status changes, but will increase load on the origin as we check from multiple locations.
+ *
+ * @default 60
+ */
+export type HealthchecksInterval = number;
+
+export type HealthchecksMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+/**
+ * A short name to identify the health check. Only alphanumeric characters, hyphens and underscores are allowed.
+ *
+ * @example server-1
+ */
+export type HealthchecksName = string;
+
+export type HealthchecksQueryHealthcheck = {
+  address: HealthchecksAddress;
+  check_regions?: HealthchecksCheckRegions;
+  consecutive_fails?: HealthchecksConsecutiveFails;
+  consecutive_successes?: HealthchecksConsecutiveSuccesses;
+  description?: HealthchecksDescription;
+  http_config?: HealthchecksHttpConfig;
+  interval?: HealthchecksInterval;
+  name: HealthchecksName;
+  retries?: HealthchecksRetries;
+  suspended?: HealthchecksSuspended;
+  tcp_config?: HealthchecksTcpConfig;
+  timeout?: HealthchecksTimeout;
+  type?: HealthchecksType;
+};
+
+export type HealthchecksResponseCollection = HealthchecksApiResponseCollection & {
+  result?: HealthchecksHealthchecks[];
+};
+
+export type HealthchecksResultInfo = {
+  /**
+   * Total number of results for the requested service
+   *
+   * @example 1
+   */
+  count?: number;
+  /**
+   * Current page within paginated list of results
+   *
+   * @example 1
+   */
+  page?: number;
+  /**
+   * Number of results per page of results
+   *
+   * @example 20
+   */
+  per_page?: number;
+  /**
+   * Total results available without any search parameters
+   *
+   * @example 2000
+   */
+  total_count?: number;
+};
+
+/**
+ * The number of retries to attempt in case of a timeout before marking the origin as unhealthy. Retries are attempted immediately.
+ *
+ * @default 2
+ */
+export type HealthchecksRetries = number;
+
+export type HealthchecksSingleResponse = HealthchecksApiResponseSingle & {
+  result?: HealthchecksHealthchecks;
+};
+
+/**
+ * The current status of the origin server according to the health check.
+ *
+ * @example healthy
+ */
+export type HealthchecksStatus = 'unknown' | 'healthy' | 'unhealthy' | 'suspended';
+
+/**
+ * If suspended, no health checks are sent to the origin.
+ *
+ * @default false
+ */
+export type HealthchecksSuspended = boolean;
+
+/**
+ * Parameters specific to TCP health check.
+ */
+export type HealthchecksTcpConfig = {
+  /**
+   * The TCP connection method to use for the health check.
+   *
+   * @default connection_established
+   */
+  method?: 'connection_established';
+  /**
+   * Port number to connect to for the health check. Defaults to 80.
+   *
+   * @default 80
+   */
+  port?: number;
+} | null;
+
+/**
+ * The timeout (in seconds) before marking the health check as failed.
+ *
+ * @default 5
+ */
+export type HealthchecksTimeout = number;
+
+/**
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
+ */
+export type HealthchecksTimestamp = string;
+
+/**
+ * The protocol to use for the health check. Currently supported protocols are 'HTTP', 'HTTPS' and 'TCP'.
+ *
+ * @default HTTP
+ * @example HTTPS
+ */
+export type HealthchecksType = string;
+
+export type HyperdriveApiResponseCollection = {
+  errors: HyperdriveMessages;
+  messages: HyperdriveMessages;
+  result: never;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+  result_info?: HyperdriveResultInfo;
+};
+
+export type HyperdriveApiResponseCommon = {
+  errors: HyperdriveMessages;
+  messages: HyperdriveMessages;
+  result: Record<string, any>;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type HyperdriveApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: HyperdriveMessages;
+  messages: HyperdriveMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type HyperdriveApiResponseSingle = HyperdriveApiResponseCommon;
+
+export type HyperdriveHyperdriveCaching = HyperdriveHyperdriveCachingDisabled | HyperdriveHyperdriveCachingEnabled;
+
+export type HyperdriveHyperdriveCachingCommon = {
+  /**
+   * When set to true, disables the caching of SQL responses. (Default: false)
+   */
+  disabled?: boolean;
+};
+
+export type HyperdriveHyperdriveCachingDisabled = HyperdriveHyperdriveCachingCommon;
+
+export type HyperdriveHyperdriveCachingEnabled = HyperdriveHyperdriveCachingCommon & {
+  /**
+   * When present, specifies max duration for which items should persist in the cache. Not returned if set to default. (Default: 60)
+   *
+   * @example 60
+   */
+  max_age?: number;
+  /**
+   * When present, indicates the number of seconds cache may serve the response after it becomes stale. Not returned if set to default. (Default: 15)
+   *
+   * @example 15
+   */
+  stale_while_revalidate?: number;
+};
+
+export type HyperdriveHyperdriveConfig = {
+  caching?: HyperdriveHyperdriveCaching;
+  id: HyperdriveIdentifier;
+  name: HyperdriveHyperdriveName;
+  origin:
+    | (HyperdriveHyperdriveDatabaseFull & HyperdriveHyperdriveInternetOrigin)
+    | (HyperdriveHyperdriveDatabaseFull & HyperdriveHyperdriveOverAccessOrigin);
+};
+
+export type HyperdriveHyperdriveConfigPatch = {
+  caching?: HyperdriveHyperdriveCaching;
+  name?: HyperdriveHyperdriveName;
+  origin?: HyperdriveHyperdriveDatabase | (HyperdriveHyperdriveInternetOrigin | HyperdriveHyperdriveOverAccessOrigin);
+};
+
+export type HyperdriveHyperdriveConfigResponse = HyperdriveHyperdriveConfig;
+
+export type HyperdriveHyperdriveDatabase = {
+  /**
+   * The name of your origin database.
+   *
+   * @example postgres
+   */
+  database?: string;
+  /**
+   * The password required to access your origin database. This value is write-only and never returned by the API.
+   */
+  password?: string;
+  scheme?: HyperdriveHyperdriveScheme;
+  /**
+   * The user of your origin database.
+   *
+   * @example postgres
+   */
+  user?: string;
+};
+
+export type HyperdriveHyperdriveDatabaseFull = HyperdriveHyperdriveDatabase;
+
+export type HyperdriveHyperdriveInternetOrigin = {
+  /**
+   * The host (hostname or IP) of your origin database.
+   *
+   * @example database.example.com
+   */
+  host: string;
+  /**
+   * The port (default: 5432 for Postgres) of your origin database.
+   *
+   * @example 5432
+   */
+  port: number;
+};
+
+/**
+ * @example example-hyperdrive
+ */
+export type HyperdriveHyperdriveName = string;
+
+export type HyperdriveHyperdriveOrigin = HyperdriveHyperdriveDatabase &
+  (HyperdriveHyperdriveInternetOrigin | HyperdriveHyperdriveOverAccessOrigin);
+
+export type HyperdriveHyperdriveOverAccessOrigin = {
+  /**
+   * The Client ID of the Access token to use when connecting to the origin database
+   *
+   * @example 0123456789abcdef0123456789abcdef.access
+   */
+  access_client_id: string;
+  /**
+   * The Client Secret of the Access token to use when connecting to the origin database. This value is write-only and never returned by the API.
+   *
+   * @example 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
+   */
+  access_client_secret: string;
+  /**
+   * The host (hostname or IP) of your origin database.
+   *
+   * @example database.example.com
+   */
+  host: string;
+};
+
+/**
+ * Specifies the URL scheme used to connect to your origin database.
+ */
+export type HyperdriveHyperdriveScheme = 'postgres' | 'postgresql';
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type HyperdriveIdentifier = string;
+
+export type HyperdriveMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+export type HyperdriveResultInfo = {
+  /**
+   * Total number of results for the requested service
+   *
+   * @example 1
+   */
+  count?: number;
+  /**
+   * Current page within paginated list of results
+   *
+   * @example 1
+   */
+  page?: number;
+  /**
+   * Number of results per page of results
+   *
+   * @example 20
+   */
+  per_page?: number;
+  /**
+   * Total results available without any search parameters
+   *
+   * @example 2000
+   */
+  total_count?: number;
+};
+
+/**
+ * Allow or deny operations against the resources.
+ *
+ * @example allow
+ */
+export type IamAccess = 'allow' | 'deny';
+
+export type IamAccount = {
+  /**
+   * Timestamp for the creation of the account
+   *
+   * @example 2014-03-01T12:21:02.0000Z
+   * @format date-time
+   */
+  created_on?: string;
+  id: IamCommonComponentsSchemasIdentifier;
+  /**
+   * Account name
+   *
+   * @example Demo Account
+   * @maxLength 100
+   */
+  name: string;
+  /**
+   * Account settings
+   */
+  settings?: {
+    /**
+     * Sets an abuse contact email to notify for abuse reports.
+     */
+    abuse_contact_email?: string;
+    /**
+     * Specifies the default nameservers to be used for new zones added to this account.
+     *
+     * - `cloudflare.standard` for Cloudflare-branded nameservers
+     * - `custom.account` for account custom nameservers
+     * - `custom.tenant` for tenant custom nameservers
+     *
+     * See [Custom Nameservers](https://developers.cloudflare.com/dns/additional-options/custom-nameservers/)
+     * for more information.
+     *
+     * Deprecated in favor of [DNS Settings](https://developers.cloudflare.com/api/operations/dns-settings-for-an-account-update-dns-settings).
+     *
+     * @default cloudflare.standard
+     * @deprecated true
+     */
+    default_nameservers?: 'cloudflare.standard' | 'custom.account' | 'custom.tenant';
+    /**
+     * Indicates whether membership in this account requires that
+     * Two-Factor Authentication is enabled
+     *
+     * @default false
+     */
+    enforce_twofactor?: boolean;
+    /**
+     * Indicates whether new zones should use the account-level custom
+     * nameservers by default.
+     *
+     * Deprecated in favor of [DNS Settings](https://developers.cloudflare.com/api/operations/dns-settings-for-an-account-update-dns-settings).
+     *
+     * @default false
+     * @deprecated true
+     */
+    use_account_custom_ns_by_default?: boolean;
+  };
+};
+
+/**
+ * Account identifier tag.
+ *
+ * @example eb78d65290b24279ba6f44721b3ea3c4
+ * @maxLength 32
+ */
+export type IamAccountIdentifier = string;
+
+export type IamApiResponseCollection = IamApiResponseCommon & {
+  result?: any[] | null;
+  result_info?: IamResultInfo;
+};
+
+export type IamApiResponseCommon = {
+  errors: IamMessages;
+  messages: IamMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type IamApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: IamMessages;
+  messages: IamMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type IamApiResponseSingle = IamApiResponseCommon;
+
+export type IamApiResponseSingleId = IamApiResponseCommon & {
+  result?: {
+    id: IamCommonComponentsSchemasIdentifier;
+  } | null;
+};
+
+/**
+ * Enterprise only. Indicates whether or not API access is enabled specifically for this user on a given account.
+ *
+ * @example true
+ */
+export type IamApiAccessEnabled = boolean | null;
+
+/**
+ * List of IPv4/IPv6 CIDR addresses.
+ *
+ * @example 199.27.128.0/21
+ * @example 2400:cb00::/32
+ */
+export type IamCidrList = string[];
+
+/**
+ * The unique activation code for the account membership.
+ *
+ * @example 05dd05cce12bbed97c0d87cd78e89bc2fd41a6cee72f27f6fc84af2e45c0fac0
+ * @maxLength 64
+ */
+export type IamCode = string;
+
+export type IamCollectionMemberResponseWithPolicies = IamApiResponseCollection & {
+  result?: IamMemberWithPolicies[];
+};
+
+export type IamCollectionMembershipResponse = IamApiResponseCollection & {
+  result?: IamMembership[];
+};
+
+export type IamCollectionMembershipResponseWithPolicies = IamApiResponseCollection & {
+  result?: IamMembershipWithPolicies[];
+};
+
+export type IamCollectionOrganizationResponse = IamApiResponseCollection & {
+  result?: IamOrganization[];
+};
+
+export type IamCollectionPermissionGroupsResponse = IamApiResponseCollection & {
+  result?: IamPermissionGroups;
+};
+
+export type IamCollectionResourceGroupsResponse = IamApiResponseCollection & {
+  result?: IamResourceGroups;
+};
+
+export type IamCollectionRoleResponse = IamApiResponseCollection & {
+  result?: IamRole[];
+};
+
+export type IamCollectionTokensResponse = IamApiResponseCollection & {
+  result?: IamTokenBase[];
+};
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type IamCommonComponentsSchemasIdentifier = string;
+
+export type IamComponentsSchemasAccount = IamAccount;
+
+/**
+ * Whether the user is a member of the organization or has an invitation pending.
+ *
+ * @example member
+ */
+export type IamComponentsSchemasStatus = 'member' | 'invited';
+
+export type IamCondition = {
+  request_ip?: IamRequestIp;
+};
+
+/**
+ * The country in which the user lives.
+ *
+ * @example US
+ * @maxLength 30
+ */
+export type IamCountry = string | null;
+
+export type IamCreateAccount = {
+  /**
+   * Account name
+   */
+  name: string;
+  /**
+   * the type of account being created. For self-serve customers, use standard. for enterprise customers, use enterprise.
+   *
+   * @example standard
+   */
+  type: 'standard' | 'enterprise';
+  /**
+   * information related to the tenant unit, and optionally, an id of the unit to create the account on. see https://developers.cloudflare.com/tenant/how-to/manage-accounts/
+   */
+  unit?: {
+    /**
+     * Tenant unit ID
+     *
+     * @example f267e341f3dd4697bd3b9f71dd96247f
+     */
+    id?: string;
+  };
+};
+
+export type IamCreateMemberWithPolicies = {
+  email: IamEmail;
+  /**
+   * Array of policies associated with this member.
+   */
+  policies: IamCreateMemberPolicy[];
+  /**
+   * @default pending
+   */
+  status?: 'accepted' | 'pending';
+};
+
+export type IamCreateMemberWithRoles = {
+  email: IamEmail;
+  /**
+   * Array of roles associated with this member.
+   */
+  roles: IamRoleComponentsSchemasIdentifier[];
+  /**
+   * @default pending
+   */
+  status?: 'accepted' | 'pending';
+};
+
+/**
+ * A scope is a combination of scope objects which provides additional context.
+ */
+export type IamCreateScope = {
+  key: IamCreateResourceGroupScopeScopeKey;
+  /**
+   * A list of scope objects for additional context. The number of Scope objects should not be zero.
+   */
+  objects: IamCreateResourceGroupScopeScopeObject[];
+};
+
+export type IamCreateMemberPolicy = {
+  access: IamAccess;
+  id: IamIdentifier;
+  permission_groups: IamMemberPermissionGroups;
+  resource_groups: IamMemberResourceGroups;
+};
+
+export type IamCreatePayload = {
+  condition?: IamCondition;
+  expires_on?: IamExpiresOn;
+  name: IamName;
+  not_before?: IamNotBefore;
+  policies: IamTokenPolicies;
+};
+
+export type IamCreateResourceGroup = {
+  /**
+   * Attributes associated to the resource group.
+   *
+   * @example {"editable":"false"}
+   */
+  meta?: Record<string, any>;
+  /**
+   * Name of the resource group.
+   *
+   * @example NameOfTheResourceGroup
+   */
+  name?: string;
+  scope: IamCreateScope;
+};
+
+/**
+ * This is a combination of pre-defined resource name and identifier (like Account ID etc.)
+ *
+ * @example com.cloudflare.api.account.eb78d65290b24279ba6f44721b3ea3c4
+ */
+export type IamCreateResourceGroupScopeScopeKey = void;
+
+/**
+ * A scope object represents any resource that can have actions applied against invite.
+ */
+export type IamCreateResourceGroupScopeScopeObject = {
+  key: IamCreateResourceGroupScopeScopeObjectKey;
+};
+
+/**
+ * This is a combination of pre-defined resource name and identifier (like Zone ID etc.)
+ *
+ * @example com.cloudflare.api.account.zone.23f8d65290b24279ba6f44721b3eaad5
+ */
+export type IamCreateResourceGroupScopeScopeObjectKey = void;
+
+/**
+ * A group of scoped resources.
+ */
+export type IamCreatedResourceGroupResponse = {
+  /**
+   * Identifier of the group.
+   *
+   * @example 6d7f2f5f5b1d4a0e9081fdc98d432fd1
+   */
+  id?: string;
+  /**
+   * Attributes associated to the resource group.
+   *
+   * @example {"editable":"false"}
+   */
+  meta?: Record<string, any>;
+  scope?: IamCreateScope;
+};
+
+/**
+ * Allow or deny operations against the resources.
+ *
+ * @example allow
+ */
+export type IamEffect = 'allow' | 'deny';
+
+/**
+ * The contact email address of the user.
+ *
+ * @example user@example.com
+ * @maxLength 90
+ */
+export type IamEmail = string;
+
+/**
+ * The expiration time on or after which the JWT MUST NOT be accepted for processing.
+ *
+ * @example 2020-01-01T00:00:00Z
+ * @format date-time
+ */
+export type IamExpiresOn = string;
+
+/**
+ * User's first name
+ *
+ * @example John
+ * @maxLength 60
+ */
+export type IamFirstName = string | null;
+
+/**
+ * @example {"read":true,"write":false}
+ */
+export type IamGrants = {
+  /**
+   * @example true
+   */
+  read?: boolean;
+  /**
+   * @example true
+   */
+  write?: boolean;
+};
+
+/**
+ * Policy identifier.
+ *
+ * @example f267e341f3dd4697bd3b9f71dd96247f
+ */
+export type IamIdentifier = string;
+
+/**
+ * Invite identifier tag.
+ *
+ * @example 4f5f0c14a2a41d5063dd301b2f829f04
+ * @maxLength 32
+ */
+export type IamInviteComponentsSchemasIdentifier = string;
+
+/**
+ * The email address of the user who created the invite.
+ *
+ * @example user@example.com
+ * @maxLength 90
+ */
+export type IamInvitedBy = string;
+
+/**
+ * Email address of the user to add to the organization.
+ *
+ * @example user@example.com
+ * @maxLength 90
+ */
+export type IamInvitedMemberEmail = string;
+
+/**
+ * When the invite was sent.
+ *
+ * @example 2014-01-01T05:20:00Z
+ * @format date-time
+ */
+export type IamInvitedOn = string;
+
+/**
+ * The time on which the token was created.
+ *
+ * @example 2018-07-01T05:20:00Z
+ * @format date-time
+ */
+export type IamIssuedOn = string;
+
+/**
+ * User's last name
+ *
+ * @example Appleseed
+ * @maxLength 60
+ */
+export type IamLastName = string | null;
+
+/**
+ * Last time the token was used.
+ *
+ * @example 2020-01-02T12:34:00Z
+ * @format date-time
+ */
+export type IamLastUsedOn = string;
+
+export type IamListMemberPolicy = {
+  access?: IamAccess;
+  id?: IamIdentifier;
+  permission_groups?: IamPermissionGroups;
+  resource_groups?: IamResourceGroups;
+};
+
+/**
+ * A group of permissions.
+ */
+export type IamMemberPermissionGroup = {
+  /**
+   * Identifier of the group.
+   *
+   * @example c8fed203ed3043cba015a93ad1616f1f
+   */
+  id: string;
+};
+
+/**
+ * A set of permission groups that are specified to the policy.
+ *
+ * @example {"id":"c8fed203ed3043cba015a93ad1616f1f"}
+ * @example {"id":"82e64a83756745bbbb1c9c2701bf816b"}
+ */
+export type IamMemberPermissionGroups = IamMemberPermissionGroup[];
+
+/**
+ * A group of scoped resources.
+ */
+export type IamMemberResourceGroup = {
+  /**
+   * Identifier of the group.
+   *
+   * @example 6d7f2f5f5b1d4a0e9081fdc98d432fd1
+   */
+  id: string;
+};
+
+/**
+ * A list of resource groups that the policy applies to.
+ */
+export type IamMemberResourceGroups = IamMemberResourceGroup[];
+
+export type IamMemberWithPolicies = {
+  id?: IamMembershipComponentsSchemasIdentifier;
+  /**
+   * Access policy for the membership
+   */
+  policies?: IamListMemberPolicy[];
+  /**
+   * Roles assigned to this Member.
+   */
+  roles?: IamRole[];
+  /**
+   * A member's status in the account.
+   *
+   * @example accepted
+   */
+  status?: 'accepted' | 'pending';
+  /**
+   * Details of the user associated to the membership.
+   */
+  user?: {
+    email: IamEmail;
+    first_name?: IamFirstName;
+    id?: IamCommonComponentsSchemasIdentifier;
+    last_name?: IamLastName;
+    two_factor_authentication_enabled?: IamTwoFactorAuthenticationEnabled;
+  };
+};
+
+export type IamMembership = {
+  account?: IamSchemasAccount;
+  api_access_enabled?: IamApiAccessEnabled;
+  id?: IamMembershipComponentsSchemasIdentifier;
+  /**
+   * All access permissions for the user at the account.
+   *
+   * @example {"analytics":{"read":true,"write":false},"zones":{"read":true,"write":true}}
+   */
+  permissions?: IamPermissions;
+  roles?: IamRoleNames;
+  status?: IamSchemasStatus;
+};
+
+export type IamMembershipWithPolicies = {
+  account?: IamSchemasAccount;
+  api_access_enabled?: IamApiAccessEnabled;
+  id?: IamMembershipComponentsSchemasIdentifier;
+  /**
+   * All access permissions for the user at the account.
+   *
+   * @example {"analytics":{"read":true,"write":false},"zones":{"read":true,"write":true}}
+   */
+  permissions?: IamPermissions;
+  /**
+   * Access policy for the membership
+   */
+  policies?: IamListMemberPolicy[];
+  roles?: IamRoleNames;
+  status?: IamSchemasStatus;
+};
+
+/**
+ * Membership identifier tag.
+ *
+ * @example 4536bcfad5faccb111b47003c79917fa
+ * @maxLength 32
+ */
+export type IamMembershipComponentsSchemasIdentifier = string;
+
+export type IamMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+/**
+ * Last time the token was modified.
+ *
+ * @example 2018-07-02T05:20:00Z
+ * @format date-time
+ */
+export type IamModifiedOn = string;
+
+/**
+ * Token name.
+ *
+ * @example readonly token
+ * @maxLength 120
+ */
+export type IamName = string;
+
+/**
+ * The time before which the token MUST NOT be accepted for processing.
+ *
+ * @example 2018-07-01T05:20:00Z
+ * @format date-time
+ */
+export type IamNotBefore = string;
+
+export type IamOrganization = {
+  id?: IamCommonComponentsSchemasIdentifier;
+  name?: IamSchemasName;
+  permissions?: IamSchemasPermissions;
+  /**
+   * List of roles that a user has within an organization.
+   */
+  roles?: string[];
+  status?: IamComponentsSchemasStatus;
+};
+
+/**
+ * A named group of permissions that map to a group of operations against resources.
+ */
+export type IamPermissionGroup = {
+  /**
+   * Identifier of the group.
+   *
+   * @example 6d7f2f5f5b1d4a0e9081fdc98d432fd1
+   */
+  id: string;
+  /**
+   * Attributes associated to the permission group.
+   *
+   * @example {"label":"load_balancer_admin","scopes":"com.cloudflare.api.account"}
+   */
+  meta?: {
+    key?: string;
+    value?: string;
+  };
+  /**
+   * Name of the group.
+   *
+   * @example Load Balancer
+   */
+  name?: string;
+};
+
+/**
+ * Permission Group identifier tag.
+ *
+ * @example 6d7f2f5f5b1d4a0e9081fdc98d432fd1
+ * @maxLength 32
+ */
+export type IamPermissionGroupComponentsSchemasIdentifier = string;
+
+/**
+ * A set of permission groups that are specified to the policy.
+ *
+ * @example {"id":"c8fed203ed3043cba015a93ad1616f1f","meta":{"label":"load_balancer_admin","scopes":"com.cloudflare.api.account"},"name":"Zone Read"}
+ * @example {"id":"82e64a83756745bbbb1c9c2701bf816b","meta":{"label":"fbm_user","scopes":"com.cloudflare.api.account"},"name":"Magic Network Monitoring"}
+ */
+export type IamPermissionGroups = IamPermissionGroup[];
+
+/**
+ * @example {"analytics":{"read":true,"write":false},"zones":{"read":true,"write":true}}
+ */
+export type IamPermissions = {
+  analytics?: IamGrants;
+  billing?: IamGrants;
+  cache_purge?: IamGrants;
+  dns?: IamGrants;
+  dns_records?: IamGrants;
+  lb?: IamGrants;
+  logs?: IamGrants;
+  organization?: IamGrants;
+  ssl?: IamGrants;
+  waf?: IamGrants;
+  zone_settings?: IamGrants;
+  zones?: IamGrants;
+};
+
+export type IamPolicyWithPermissionGroupsAndResources = {
+  effect: IamEffect;
+  id: IamIdentifier;
+  permission_groups: IamPermissionGroups;
+  resources: IamResources;
+};
+
+/**
+ * Account name
+ *
+ * @example Demo Account
+ * @maxLength 100
+ */
+export type IamPropertiesName = string;
+
+/**
+ * Client IP restrictions.
+ *
+ * @example {"in":["123.123.123.0/24","2606:4700::/32"],"not_in":["123.123.123.100/24","2606:4700:4700::/48"]}
+ */
+export type IamRequestIp = {
+  ['in']?: IamCidrList;
+  not_in?: IamCidrList;
+};
+
+/**
+ * A group of scoped resources.
+ */
+export type IamResourceGroup = {
+  /**
+   * Identifier of the group.
+   *
+   * @example 6d7f2f5f5b1d4a0e9081fdc98d432fd1
+   */
+  id: string;
+  /**
+   * Attributes associated to the resource group.
+   *
+   * @example {"editable":"false"}
+   */
+  meta?: {
+    key?: string;
+    value?: string;
+  };
+  /**
+   * Name of the resource group.
+   *
+   * @example com.cloudflare.api.account.eb78d65290b24279ba6f44721b3ea3c4
+   */
+  name?: string;
+  /**
+   * The scope associated to the resource group
+   */
+  scope: IamScope[];
+};
+
+/**
+ * Resource Group identifier tag.
+ *
+ * @example 6d7f2f5f5b1d4a0e9081fdc98d432fd1
+ * @maxLength 32
+ */
+export type IamResourceGroupComponentsSchemasIdentifier = string;
+
+/**
+ * A list of resource groups that the policy applies to.
+ */
+export type IamResourceGroups = IamResourceGroup[];
+
+/**
+ * A list of resource names that the policy applies to.
+ *
+ * @example {"com.cloudflare.api.account.zone.22b1de5f1c0e4b3ea97bb1e963b06a43":"*","com.cloudflare.api.account.zone.eb78d65290b24279ba6f44721b3ea3c4":"*"}
+ */
+export type IamResources = {
+  [key: string]: string;
+};
+
+export type IamResponseCollection = IamApiResponseCollection & {
+  result?: Record<string, any>[];
+};
+
+export type IamResponseCollectionAccounts = IamApiResponseCollection & {
+  result?: IamAccount[];
+};
+
+export type IamResponseCreate = IamApiResponseSingle & {
+  result?: {
+    value?: IamValue;
+  };
+};
+
+export type IamResponseSingle = IamApiResponseSingle & {
+  result?: Record<string, any>;
+};
+
+export type IamResponseSingleAccount = IamApiResponseSingle & {
+  result?: IamAccount;
+};
+
+export type IamResponseSingleSegment = IamApiResponseSingle & {
+  result?: {
+    expires_on?: IamExpiresOn;
+    id: IamTokenIdentifier;
+    not_before?: IamNotBefore;
+    status: IamStatus;
+  };
+};
+
+export type IamResponseSingleValue = IamApiResponseSingle & {
+  result?: IamValue;
+};
+
+export type IamResultInfo = {
+  /**
+   * Total number of results for the requested service
+   *
+   * @example 1
+   */
+  count?: number;
+  /**
+   * Current page within paginated list of results
+   *
+   * @example 1
+   */
+  page?: number;
+  /**
+   * Number of results per page of results
+   *
+   * @example 20
+   */
+  per_page?: number;
+  /**
+   * Total results available without any search parameters
+   *
+   * @example 2000
+   */
+  total_count?: number;
+};
+
+export type IamRole = {
+  /**
+   * Description of role's permissions.
+   *
+   * @example Administrative access to the entire Account
+   */
+  description: string;
+  id: IamRoleComponentsSchemasIdentifier;
+  /**
+   * Role name.
+   *
+   * @example Account Administrator
+   * @maxLength 120
+   */
+  name: string;
+  /**
+   * @example {"analytics":{"read":true,"write":false},"zones":{"read":true,"write":true}}
+   */
+  permissions: IamPermissions & void;
+};
+
+/**
+ * Role identifier tag.
+ *
+ * @example 3536bcfad5faccb999b47003c79917fb
+ * @maxLength 32
+ */
+export type IamRoleComponentsSchemasIdentifier = string;
+
+/**
+ * List of role names the membership has for this account.
+ */
+export type IamRoleNames = string[];
+
+export type IamSchemasAccount = IamAccount;
+
+export type IamSchemasCollectionInviteResponse = IamApiResponseCollection & {
+  result?: IamUserInvite[];
+};
+
+/**
+ * When the invite is no longer active.
+ *
+ * @example 2014-01-01T05:20:00Z
+ * @format date-time
+ */
+export type IamSchemasExpiresOn = string;
+
+/**
+ * Organization name.
+ *
+ * @example Cloudflare, Inc.
+ * @maxLength 100
+ */
+export type IamSchemasName = string;
+
+/**
+ * Access permissions for this User.
+ */
+export type IamSchemasPermissions = string[];
+
+export type IamSchemasResponseCollection = IamApiResponseCollection & {
+  /**
+   * @example {"id":"7cf72faf220841aabcfdfab81c43c4f6","name":"Billing Read","scopes":["com.cloudflare.api.account"]}
+   * @example {"id":"9d24387c6e8544e2bc4024a03991339f","name":"Load Balancing: Monitors and Pools Read","scopes":["com.cloudflare.api.account"]}
+   * @example {"id":"d2a1802cc9a34e30852f8b33869b2f3c","name":"Load Balancing: Monitors and Pools Write","scopes":["com.cloudflare.api.account"]}
+   * @example {"id":"8b47d2786a534c08a1f94ee8f9f599ef","name":"Workers KV Storage Read","scopes":["com.cloudflare.api.account"]}
+   * @example {"id":"f7f0eda5697f475c90846e879bab8666","name":"Workers KV Storage Write","scopes":["com.cloudflare.api.account"]}
+   * @example {"id":"1a71c399035b4950a1bd1466bbe4f420","name":"Workers Scripts Read","scopes":["com.cloudflare.api.account"]}
+   * @example {"id":"e086da7e2179491d91ee5f35b3ca210a","name":"Workers Scripts Write","scopes":["com.cloudflare.api.account"]}
+   */
+  result?: Record<string, any>[];
+};
+
+/**
+ * Status of this membership.
+ *
+ * @example accepted
+ */
+export type IamSchemasStatus = 'accepted' | 'pending' | 'rejected';
+
+/**
+ * A scope is a combination of scope objects which provides additional context.
+ */
+export type IamScope = {
+  key: IamScopeKey;
+  /**
+   * A list of scope objects for additional context.
+   */
+  objects: IamScopeObject[];
+};
+
+/**
+ * This is a combination of pre-defined resource name and identifier (like Account ID etc.)
+ *
+ * @example com.cloudflare.api.account.eb78d65290b24279ba6f44721b3ea3c4
+ */
+export type IamScopeKey = void;
+
+/**
+ * A scope object represents any resource that can have actions applied against invite.
+ */
+export type IamScopeObject = {
+  key: IamScopeObjectKey;
+};
+
+/**
+ * This is a combination of pre-defined resource name and identifier (like Zone ID etc.)
+ *
+ * @example com.cloudflare.api.account.zone.23f8d65290b24279ba6f44721b3eaad5
+ */
+export type IamScopeObjectKey = void;
+
+export type IamSingleInviteResponse = IamApiResponseSingle & {
+  result?: IamUserInvite;
+};
+
+export type IamSingleMemberResponseWithPolicies = IamApiResponseSingle & {
+  result?: IamMemberWithPolicies;
+};
+
+export type IamSingleMembershipResponse = IamApiResponseSingle & {
+  result?: IamMembership;
+};
+
+export type IamSingleMembershipResponseWithPolicies = IamApiResponseSingle & {
+  result?: IamMembershipWithPolicies;
+};
+
+export type IamSingleOrganizationResponse = IamApiResponseSingle & {
+  result?: Record<string, any>;
+};
+
+export type IamSingleRoleResponse = IamApiResponseSingle & {
+  result?: IamRole;
+};
+
+export type IamSingleTokenCreateResponse = IamApiResponseSingle & {
+  result?: IamTokenWithValue;
+};
+
+export type IamSingleTokenResponse = IamApiResponseSingle & {
+  result?: IamTokenBase;
+};
+
+export type IamSingleUserResponse = IamApiResponseSingle & {
+  result?: Record<string, any>;
+};
+
+/**
+ * Status of the token.
+ *
+ * @example active
+ */
+export type IamStatus = 'active' | 'disabled' | 'expired';
+
+/**
+ * User's telephone number
+ *
+ * @example +1 123-123-1234
+ * @maxLength 20
+ */
+export type IamTelephone = string | null;
+
+export type IamTokenBase = {
+  condition?: IamCondition;
+  expires_on?: IamExpiresOn;
+  id?: IamTokenIdentifier;
+  issued_on?: IamIssuedOn;
+  last_used_on?: IamLastUsedOn;
+  modified_on?: IamModifiedOn;
+  name?: IamName;
+  not_before?: IamNotBefore;
+  policies?: IamTokenPolicies;
+  status?: IamStatus;
+};
+
+export type IamTokenBody = {
+  condition?: IamCondition;
+  expires_on?: IamExpiresOn;
+  id?: IamTokenIdentifier;
+  issued_on?: IamIssuedOn;
+  last_used_on?: IamLastUsedOn;
+  modified_on?: IamModifiedOn;
+  name: IamName;
+  not_before?: IamNotBefore;
+  policies: IamTokenPolicies;
+  status: IamStatus;
+};
+
+/**
+ * Token identifier tag.
+ *
+ * @example ed17574386854bf78a67040be0a770b0
+ * @maxLength 32
+ */
+export type IamTokenIdentifier = string;
+
+/**
+ * List of access policies assigned to the token.
+ */
+export type IamTokenPolicies = IamPolicyWithPermissionGroupsAndResources[];
+
+export type IamTokenWithValue = IamTokenBase & {
+  value?: IamValue;
+};
+
+/**
+ * Indicates whether two-factor authentication is enabled for the user account. Does not apply to API authentication.
+ *
+ * @default false
+ */
+export type IamTwoFactorAuthenticationEnabled = boolean;
+
+/**
+ * Tenant unit identifier.
+ *
+ * @example f267e341f3dd4697bd3b9f71dd96247f
+ */
+export type IamUnitIdentifier = string;
+
+export type IamUpdateMemberWithPolicies = {
+  /**
+   * Array of policies associated with this member.
+   */
+  policies: IamCreateMemberPolicy[];
+};
+
+export type IamUpdateMemberWithRoles = {
+  id?: IamMembershipComponentsSchemasIdentifier;
+  /**
+   * Roles assigned to this member.
+   */
+  roles?: IamRole[];
+  /**
+   * A member's status in the account.
+   *
+   * @example accepted
+   */
+  status?: 'accepted' | 'pending';
+  /**
+   * Details of the user associated to the membership.
+   */
+  user?: {
+    email: IamEmail;
+    first_name?: IamFirstName;
+    id?: IamCommonComponentsSchemasIdentifier;
+    last_name?: IamLastName;
+    two_factor_authentication_enabled?: IamTwoFactorAuthenticationEnabled;
+  };
+};
+
+export type IamUserInvite = {
+  expires_on?: IamSchemasExpiresOn;
+  id?: IamInviteComponentsSchemasIdentifier;
+  invited_by?: IamInvitedBy;
+  invited_member_email?: IamInvitedMemberEmail;
+  /**
+   * ID of the user to add to the organization.
+   *
+   * @example 5a7805061c76ada191ed06f989cc3dac
+   * @maxLength 32
+   */
+  invited_member_id: string | null;
+  invited_on?: IamInvitedOn;
+  /**
+   * ID of the organization the user will be added to.
+   *
+   * @example 5a7805061c76ada191ed06f989cc3dac
+   * @maxLength 32
+   */
+  organization_id: string;
+  /**
+   * @example true
+   */
+  organization_is_enforcing_twofactor?: boolean;
+  /**
+   * Organization name.
+   *
+   * @example Cloudflare, Inc.
+   * @maxLength 100
+   */
+  organization_name?: string;
+  roles?: IamRoleNames;
+  /**
+   * Current status of the invitation.
+   *
+   * @example accepted
+   */
+  status?: 'pending' | 'accepted' | 'rejected' | 'expired';
+};
+
+/**
+ * The token value.
+ *
+ * @example 8M7wS6hCpXVc-DoRnPPY_UCWPgy8aea4Wy6kCe5T
+ * @maxLength 80
+ * @minLength 40
+ * @x-sensitive true
+ */
+export type IamValue = string;
+
+/**
+ * The zipcode or postal code where the user lives.
+ *
+ * @example 12345
+ * @maxLength 20
+ */
+export type IamZipcode = string | null;
+
+/**
+ * Account identifier tag.
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type ImagesAccountIdentifier = string;
+
+export type ImagesApiResponseCollectionV2 = {
+  errors: ImagesMessages;
+  messages: ImagesMessages;
+  result:
+    | {
+        continuation_token?: ImagesImagesListContinuationToken;
+      }
+    | any[]
+    | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ImagesApiResponseCommon = {
+  errors: ImagesMessages;
+  messages: ImagesMessages;
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ImagesApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: ImagesMessages;
+  messages: ImagesMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type ImagesApiResponseSingle = {
+  errors: ImagesMessages;
+  messages: ImagesMessages;
+  result: Record<string, any> | string | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ImagesDeletedResponse = ImagesApiResponseSingle & {
+  /**
+   * @example {}
+   */
+  result?: Record<string, any>;
+};
+
+export type ImagesImage = {
+  filename?: ImagesImageFilename;
+  id?: ImagesImageIdentifier;
+  meta?: ImagesImageMetadata;
+  requireSignedURLs?: ImagesImageRequireSignedURLs;
+  uploaded?: ImagesImageUploaded;
+  variants?: ImagesImageVariants;
+};
+
+export type ImagesImageBasicUpload = {
+  /**
+   * An image binary data. Only needed when type is uploading a file.
+   *
+   * @format binary
+   */
+  file?: void;
+  /**
+   * User modifiable key-value store. Can use used for keeping references to another system of record for managing images.
+   */
+  metadata?: Record<string, any>;
+  /**
+   * Indicates whether the image requires a signature token for the access.
+   *
+   * @default false
+   * @example true
+   */
+  requireSignedURLs?: boolean;
+  /**
+   * A URL to fetch an image from origin. Only needed when type is uploading from a URL.
+   *
+   * @example https://example.com/path/to/logo.png
+   */
+  url?: string;
+};
+
+export type ImagesImageDirectUploadRequestV2 = {
+  /**
+   * The date after which the upload will not be accepted. Minimum: Now + 2 minutes. Maximum: Now + 6 hours.
+   *
+   * @default Now + 30 minutes
+   * @example 2021-01-02T02:20:00Z
+   * @format date-time
+   */
+  expiry?: string;
+  /**
+   * Optional Image Custom ID. Up to 1024 chars. Can include any number of subpaths, and utf8 characters. Cannot start nor end with a / (forward slash). Cannot be a UUID.
+   *
+   * @example this/is/my-customid
+   * @maxLength 1024
+   */
+  id?: string;
+  /**
+   * User modifiable key-value store. Can be used for keeping references to another system of record, for managing images.
+   */
+  metadata?: Record<string, any>;
+  /**
+   * Indicates whether the image requires a signature token to be accessed.
+   *
+   * @default false
+   * @example true
+   */
+  requireSignedURLs?: boolean;
+};
+
+export type ImagesImageDirectUploadResponseV2 = ImagesApiResponseSingle & {
+  result?: {
+    /**
+     * Image unique identifier.
+     *
+     * @example e22e9e6b-c02b-42fd-c405-6c32af5fe600
+     * @maxLength 32
+     */
+    id?: string;
+    /**
+     * The URL the unauthenticated upload can be performed to using a single HTTP POST (multipart/form-data) request.
+     *
+     * @example https://upload.imagedelivery.net/FxUufywByo0m2v3xhKSiU8/e22e9e6b-c02b-42fd-c405-6c32af5fe600
+     */
+    uploadURL?: string;
+  };
+};
+
+/**
+ * Image file name.
+ *
+ * @example logo.png
+ * @maxLength 255
+ */
+export type ImagesImageFilename = string;
+
+/**
+ * URI to hero variant for an image.
+ *
+ * @example https://imagedelivery.net/MTt4OTd0b0w5aj/107b9558-dd06-4bbd-5fef-9c2c16bb7900/hero
+ * @format uri
+ */
+export type ImagesImageHeroUrl = string;
+
+/**
+ * Image unique identifier.
+ *
+ * @example 107b9558-dd06-4bbd-5fef-9c2c16bb7900
+ * @maxLength 32
+ */
+export type ImagesImageIdentifier = string;
+
+/**
+ * Key name.
+ *
+ * @example default
+ */
+export type ImagesImageKeyName = string;
+
+export type ImagesImageKeyResponseCollection = {
+  errors: ImagesMessages;
+  messages: ImagesMessages;
+  result: ImagesImageKeysResponse;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+/**
+ * Key value.
+ *
+ * @example Oix0bbNaT8Rge9PuyxUBrjI6zrgnsyJ5=
+ */
+export type ImagesImageKeyValue = string;
+
+export type ImagesImageKeys = {
+  name?: ImagesImageKeyName;
+  value?: ImagesImageKeyValue;
+};
+
+export type ImagesImageKeysResponse = {
+  keys?: ImagesImageKeys[];
+};
+
+/**
+ * User modifiable key-value store. Can be used for keeping references to another system of record for managing images. Metadata must not exceed 1024 bytes.
+ *
+ * @example {"key":"value"}
+ */
+export type ImagesImageMetadata = Record<string, any>;
+
+/**
+ * URI to original variant for an image.
+ *
+ * @example https://imagedelivery.net/MTt4OTd0b0w5aj/107b9558-dd06-4bbd-5fef-9c2c16bb7900/original
+ * @format uri
+ */
+export type ImagesImageOriginalUrl = string;
+
+export type ImagesImagePatchRequest = {
+  /**
+   * User modifiable key-value store. Can be used for keeping references to another system of record for managing images. No change if not specified.
+   */
+  metadata?: Record<string, any>;
+  /**
+   * Indicates whether the image can be accessed using only its UID. If set to `true`, a signed token needs to be generated with a signing key to view the image. Returns a new UID on a change. No change if not specified.
+   *
+   * @example true
+   */
+  requireSignedURLs?: boolean;
+};
+
+/**
+ * Indicates whether the image can be a accessed only using it's UID. If set to true, a signed token needs to be generated with a signing key to view the image.
+ *
+ * @default false
+ * @example true
+ */
+export type ImagesImageRequireSignedURLs = boolean;
+
+/**
+ * @example <image blob data>
+ */
+export type ImagesImageResponseBlob = string | Record<string, any>;
+
+export type ImagesImageResponseSingle = ImagesApiResponseSingle & {
+  result?: ImagesImage;
+};
+
+/**
+ * URI to thumbnail variant for an image.
+ *
+ * @example https://imagedelivery.net/MTt4OTd0b0w5aj/107b9558-dd06-4bbd-5fef-9c2c16bb7900/thumbnail
+ * @format uri
+ */
+export type ImagesImageThumbnailUrl = string;
+
+/**
+ * When the media item was uploaded.
+ *
+ * @example 2014-01-02T02:20:00.123Z
+ * @format date-time
+ */
+export type ImagesImageUploaded = string;
+
+export type ImagesImageVariantDefinition = {
+  id: ImagesImageVariantIdentifier;
+  neverRequireSignedURLs?: ImagesImageVariantNeverRequireSignedURLs;
+  options: ImagesImageVariantOptions;
+};
+
+/**
+ * The fit property describes how the width and height dimensions should be interpreted.
+ *
+ * @example scale-down
+ */
+export type ImagesImageVariantFit = 'scale-down' | 'contain' | 'cover' | 'crop' | 'pad';
+
+/**
+ * Maximum height in image pixels.
+ *
+ * @example 768
+ * @minimum 1
+ */
+export type ImagesImageVariantHeight = number;
+
+/**
+ * @example hero
+ * @maxLength 99
+ * @pattern ^[a-zA-Z0-9]$
+ */
+export type ImagesImageVariantIdentifier = string;
+
+export type ImagesImageVariantListResponse = {
+  errors: ImagesMessages;
+  messages: ImagesMessages;
+  result: ImagesImageVariantsResponse;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+/**
+ * Indicates whether the variant can access an image without a signature, regardless of image access control.
+ *
+ * @default false
+ * @example true
+ */
+export type ImagesImageVariantNeverRequireSignedURLs = boolean;
+
+/**
+ * Allows you to define image resizing sizes for different use cases.
+ */
+export type ImagesImageVariantOptions = {
+  fit: ImagesImageVariantFit;
+  height: ImagesImageVariantHeight;
+  metadata: ImagesImageVariantSchemasMetadata;
+  width: ImagesImageVariantWidth;
+};
+
+export type ImagesImageVariantPatchRequest = {
+  neverRequireSignedURLs?: ImagesImageVariantNeverRequireSignedURLs;
+  options: ImagesImageVariantOptions;
+};
+
+export type ImagesImageVariantPublicRequest = {
+  hero?: {
+    id: ImagesImageVariantIdentifier;
+    neverRequireSignedURLs?: ImagesImageVariantNeverRequireSignedURLs;
+    options: ImagesImageVariantOptions;
+  };
+};
+
+export type ImagesImageVariantResponse = {
+  variant?: ImagesImageVariantDefinition;
+};
+
+/**
+ * What EXIF data should be preserved in the output image.
+ *
+ * @example none
+ */
+export type ImagesImageVariantSchemasMetadata = 'keep' | 'copyright' | 'none';
+
+export type ImagesImageVariantSimpleResponse = ImagesApiResponseSingle & {
+  result?: ImagesImageVariantResponse;
+};
+
+/**
+ * Maximum width in image pixels.
+ *
+ * @example 1366
+ * @minimum 1
+ */
+export type ImagesImageVariantWidth = number;
+
+/**
+ * Object specifying available variants for an image.
+ *
+ * @example https://imagedelivery.net/MTt4OTd0b0w5aj/107b9558-dd06-4bbd-5fef-9c2c16bb7900/thumbnail
+ * @example https://imagedelivery.net/MTt4OTd0b0w5aj/107b9558-dd06-4bbd-5fef-9c2c16bb7900/hero
+ * @example https://imagedelivery.net/MTt4OTd0b0w5aj/107b9558-dd06-4bbd-5fef-9c2c16bb7900/original
+ */
+export type ImagesImageVariants = (ImagesImageThumbnailUrl | ImagesImageHeroUrl | ImagesImageOriginalUrl)[];
+
+export type ImagesImageVariantsResponse = {
+  variants?: ImagesImageVariantPublicRequest;
+};
+
+/**
+ * Continuation token to fetch next page. Passed as a query param when requesting List V2 api endpoint.
+ *
+ * @example iD0bxlWFSVUWsDHbzIqvDkgBW4otifAAuGXLz1n8BQA
+ * @maxLength 32
+ */
+export type ImagesImagesListContinuationToken = string | null;
+
+export type ImagesImagesListResponse = {
+  errors: ImagesMessages;
+  messages: ImagesMessages;
+  result:
+    | {
+        images?: ImagesImage[];
+      }
+    | any[]
+    | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ImagesImagesListResponseV2 = ImagesApiResponseCollectionV2 & {
+  result?: {
+    images?: ImagesImage[];
+  };
+};
+
+export type ImagesImagesStats = {
+  count?: ImagesImagesStatsCount;
+};
+
+/**
+ * Cloudflare Images allowed usage.
+ *
+ * @example 100000
+ */
+export type ImagesImagesStatsAllowed = number;
+
+export type ImagesImagesStatsCount = {
+  allowed?: ImagesImagesStatsAllowed;
+  current?: ImagesImagesStatsCurrent;
+};
+
+/**
+ * Cloudflare Images current usage.
+ *
+ * @example 1000
+ */
+export type ImagesImagesStatsCurrent = number;
+
+export type ImagesImagesStatsResponse = ImagesApiResponseSingle & {
+  result?: ImagesImagesStats;
+};
+
+export type ImagesMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+/**
+ * @example someKey
+ * @maxLength 20
+ * @pattern ^[a-zA-Z0-9]$
+ */
+export type ImagesSigningKeyIdentifier = string;
+
+/**
+ * Account identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type InfraAccountTag = string;
+
+/**
+ * The IPv4/IPv6 address that identifies where to reach a target
+ */
+export type InfraIPInfo = {
+  /**
+   * The target's IPv4 address
+   */
+  ipv4?: {
+    /**
+     * IP address of the target
+     *
+     * @example 187.26.29.249
+     */
+    ip_addr?: string;
+    /**
+     * (optional) Private virtual network identifier for the target. If omitted, the default virtual network ID will be used.
+     *
+     * @example c77b744e-acc8-428f-9257-6878c046ed55
+     * @format uuid
+     */
+    virtual_network_id?: string;
+  };
+  /**
+   * The target's IPv6 address
+   */
+  ipv6?: {
+    /**
+     * IP address of the target
+     *
+     * @example 64c0:64e8:f0b4:8dbf:7104:72b0:ec8f:f5e0
+     */
+    ip_addr?: string;
+    /**
+     * (optional) Private virtual network identifier for the target. If omitted, the default virtual network ID will be used.
+     *
+     * @example c77b744e-acc8-428f-9257-6878c046ed55
+     * @format uuid
+     */
+    virtual_network_id?: string;
+  };
+};
+
+export type InfraSortingDirection = 'asc' | 'desc';
+
+export type InfraTarget = {
+  /**
+   * Date and time at which the target was created
+   *
+   * @example 2019-08-24T14:15:22Z
+   * @format date-time
+   */
+  created_at: string;
+  /**
+   * A non-unique field that refers to a target
+   *
+   * @example infra-access-target
+   */
+  hostname: string;
+  id: InfraTargetId;
+  ip: InfraIPInfo;
+  /**
+   * Date and time at which the target was modified
+   *
+   * @example 2019-08-24T14:15:22Z
+   * @format date-time
+   */
+  modified_at: string;
+};
+
+export type InfraTargetArray = InfraTarget[];
+
+/**
+ * Target identifier
+ *
+ * @example 0191dce4-9ab4-7fce-b660-8e5dec5172da
+ * @format uuid
+ * @maxLength 36
+ */
+export type InfraTargetId = string;
+
+export type InfraApiResponseCollection = InfraApiResponseCommon & {
+  result_info?: InfraResultInfo;
+};
+
+export type InfraApiResponseCommon = {
+  errors: InfraMessages;
+  messages: InfraMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type InfraApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: InfraMessages;
+  messages: InfraMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type InfraApiResponseSingle = InfraApiResponseCommon;
+
+export type InfraMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+export type InfraResultInfo = {
+  /**
+   * Total number of results for the requested service
+   *
+   * @example 1
+   */
+  count?: number;
+  /**
+   * Current page within paginated list of results
+   *
+   * @example 1
+   */
+  page?: number;
+  /**
+   * Number of results per page of results
+   *
+   * @example 20
+   */
+  per_page?: number;
+  /**
+   * Total results available without any search parameters
+   *
+   * @example 2000
+   */
+  total_count?: number;
+};
+
+export type IntelSinkholesApiResponseCommon = {
+  errors: IntelSinkholesMessages;
+  messages: IntelSinkholesMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type IntelSinkholesEmptyObjectResponse = Record<string, any>;
+
+export type IntelSinkholesGetSinkholesResponse = IntelSinkholesApiResponseCommon & {
+  /**
+   * @example {"account_tag":"233f45e61fd1f7e21e1e154ede4q2859","created_on":"2023-05-12T12:21:56.777653Z","description":"user specified description 1","id":1,"modified_on":"2023-06-18T03:13:34.123321Z","name":"sinkhole_1","r2_bucket":"my_bucket","r2_id":"<r2_id>"}
+   * @example {"account_tag":"233f45e61fd1f7e21e1e154ede4q2859","created_on":"2023-05-21T21:43:52.867525Z","description":"user specified description 2","id":2,"modified_on":"2023-06-28T18:46:18.764425Z","name":"sinkhole_1","r2_bucket":"my_bucket","r2_id":"<r2_id>"}
+   */
+  result?: IntelSinkholesSinkholeItem[];
+};
+
+/**
+ * The unique identifier for the sinkhole
+ */
+export type IntelSinkholesId = number;
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type IntelSinkholesIdentifier = string;
+
+export type IntelSinkholesMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+/**
+ * The name of the sinkhole
+ */
+export type IntelSinkholesName = string;
+
+/**
+ * @example {"account_tag":"233f45e61fd1f7e21e1e154ede4q2859","created_on":"2023-05-12T12:21:56.777653Z","description":"user specified description 1","id":1,"modified_on":"2023-06-18T03:13:34.123321Z","name":"sinkhole_1","r2_bucket":"my_bucket","r2_id":"<r2_id>"}
+ */
+export type IntelSinkholesSinkholeItem = {
+  /**
+   * The account tag that owns this sinkhole
+   */
+  account_tag?: string;
+  /**
+   * The date and time when the sinkhole was created
+   *
+   * @format date-time
+   */
+  created_on?: string;
+  id?: IntelSinkholesId;
+  /**
+   * The date and time when the sinkhole was last modified
+   *
+   * @format date-time
+   */
+  modified_on?: string;
+  name?: IntelSinkholesName;
+  /**
+   * The name of the R2 bucket to store results
+   */
+  r2_bucket?: string;
+  /**
+   * The id of the R2 instance
+   */
+  r2_id?: string;
+};
+
+/**
+ * Additional information related to the host name.
+ */
+export type IntelAdditionalInformation = {
+  /**
+   * Suspected DGA malware family.
+   *
+   * @example
+   */
+  suspected_malware_family?: string;
+};
+
+export type IntelApiResponseCollection = {
+  errors: IntelMessages;
+  messages: IntelMessages;
+  result: Record<string, any> | any[] | string | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+  result_info?: IntelResultInfo;
+};
+
+export type IntelApiResponseCommon = {
+  errors: IntelMessages;
+  messages: IntelMessages;
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type IntelApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: IntelMessages;
+  messages: IntelMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: boolean;
+};
+
+export type IntelApiResponseSingle = IntelSchemasApiResponseCommon;
+
+/**
+ * Application that the hostname belongs to.
+ */
+export type IntelApplication = {
+  id?: number;
+  /**
+   * @example CLOUDFLARE
+   */
+  name?: string;
+};
+
+export type IntelAsn = number;
+
+export type IntelAsnComponentsSchemasResponse = IntelApiResponseSingle & {
+  result?: IntelAsn;
+};
+
+/**
+ * @example US
+ */
+export type IntelAsnCountry = string;
+
+/**
+ * @example CLOUDFLARENET
+ */
+export type IntelAsnDescription = string;
+
+/**
+ * Infrastructure type of this ASN.
+ *
+ * @example hosting_provider
+ */
+export type IntelAsnType = 'hosting_provider' | 'isp' | 'organization';
+
+export type IntelCategoriesWithSuperCategoryIdsExampleEmpty = IntelCategoryWithSuperCategoryId[];
+
+export type IntelCategoryWithSuperCategoryId = {
+  id?: number;
+  name?: string;
+  super_category_id?: number;
+};
+
+export type IntelCollectionResponse = IntelApiResponseCollection & {
+  result?: {
+    additional_information?: IntelAdditionalInformation;
+    application?: IntelApplication;
+    content_categories?: IntelContentCategories;
+    domain?: IntelDomainName;
+    inherited_content_categories?: IntelInheritedContentCategories;
+    inherited_from?: IntelInheritedFrom;
+    inherited_risk_types?: IntelInheritedRiskTypes;
+    popularity_rank?: IntelPopularityRank;
+    risk_score?: IntelRiskScore;
+    risk_types?: IntelRiskTypes;
+  }[];
+};
+
+export type IntelComponentsSchemasResponse = IntelApiResponseCollection & {
+  result?: IntelIpList[];
+};
+
+export type IntelComponentsSchemasSingleResponse = IntelSchemasApiResponseCollection & {
+  result?: IntelPassiveDnsByIp;
+};
+
+/**
+ * @example {"id":155,"name":"Technology","super_category_id":26}
+ */
+export type IntelContentCategories = {
+  id?: number;
+  name?: string;
+  super_category_id?: number;
+}[];
+
+/**
+ * Total results returned based on your search parameters.
+ *
+ * @example 1
+ */
+export type IntelCount = number;
+
+export type IntelDomain = {
+  additional_information?: IntelAdditionalInformation;
+  application?: IntelApplication;
+  content_categories?: IntelContentCategories;
+  domain?: IntelDomainName;
+  inherited_content_categories?: IntelInheritedContentCategories;
+  inherited_from?: IntelInheritedFrom;
+  inherited_risk_types?: IntelInheritedRiskTypes;
+  popularity_rank?: IntelPopularityRank;
+  resolves_to_refs?: IntelResolvesToRefs;
+  risk_score?: IntelRiskScore;
+  risk_types?: IntelRiskTypes;
+};
+
+export type IntelDomainHistory = {
+  categorizations?: {
+    /**
+     * @example {"id":155,"name":"Technology"}
+     */
+    categories?: void;
+    /**
+     * @example 2021-04-30
+     * @format date
+     */
+    end?: string;
+    /**
+     * @example 2021-04-01
+     * @format date
+     */
+    start?: string;
+  }[];
+  domain?: IntelDomainName;
+};
+
+/**
+ * @example cloudflare.com
+ */
+export type IntelDomainName = string;
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type IntelIdentifier = string;
+
+export type IntelInheritedContentCategories = IntelCategoriesWithSuperCategoryIdsExampleEmpty;
+
+/**
+ * Domain from which `inherited_content_categories` and `inherited_risk_types` are inherited, if applicable.
+ */
+export type IntelInheritedFrom = string;
+
+export type IntelInheritedRiskTypes = IntelCategoriesWithSuperCategoryIdsExampleEmpty;
+
+export type IntelIp = IntelIpv4 | IntelIpv6;
+
+export type IntelIpList = {
+  description?: string;
+  id?: number;
+  /**
+   * @example Malware
+   */
+  name?: string;
+};
+
+/**
+ * @example 192.0.2.0
+ * @format ipv4
+ */
+export type IntelIpv4 = string;
+
+/**
+ * @example 2001:0DB8::
+ * @format ipv6
+ */
+export type IntelIpv6 = string;
+
+export type IntelMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+export type IntelMiscategorization = {
+  /**
+   * Content category IDs to add.
+   *
+   * @example 82
+   */
+  content_adds?: number[];
+  /**
+   * Content category IDs to remove.
+   *
+   * @example 155
+   */
+  content_removes?: number[];
+  /**
+   * @example domain
+   */
+  indicator_type?: 'domain' | 'ipv4' | 'ipv6' | 'url';
+  /**
+   * Provide only if indicator_type is `ipv4` or `ipv6`.
+   */
+  ip?: string | null;
+  /**
+   * Security category IDs to add.
+   *
+   * @example 117
+   * @example 131
+   */
+  security_adds?: number[];
+  /**
+   * Security category IDs to remove.
+   *
+   * @example 83
+   */
+  security_removes?: number[];
+  /**
+   * Provide only if indicator_type is `domain` or `url`. Example if indicator_type is `domain`: `example.com`. Example if indicator_type is `url`: `https://example.com/news/`.
+   */
+  url?: string;
+};
+
+/**
+ * Current page within paginated list of results.
+ *
+ * @example 1
+ */
+export type IntelPage = number;
+
+export type IntelPassiveDnsByIp = {
+  /**
+   * Total results returned based on your search parameters.
+   *
+   * @example 1
+   */
+  count?: number;
+  /**
+   * Current page within paginated list of results.
+   *
+   * @example 1
+   */
+  page?: number;
+  /**
+   * Number of results per page of results.
+   *
+   * @example 20
+   */
+  per_page?: number;
+  /**
+   * Reverse DNS look-ups observed during the time period.
+   */
+  reverse_records?: {
+    /**
+     * First seen date of the DNS record during the time period.
+     *
+     * @example 2021-04-01
+     * @format date
+     */
+    first_seen?: string;
+    /**
+     * Hostname that the IP was observed resolving to.
+     */
+    hostname?: string;
+    /**
+     * Last seen date of the DNS record during the time period.
+     *
+     * @example 2021-04-30
+     * @format date
+     */
+    last_seen?: string;
+  }[];
+};
+
+/**
+ * Number of results per page of results.
+ *
+ * @example 20
+ */
+export type IntelPerPage = number;
+
+export type IntelPhishingUrlInfo = {
+  /**
+   * List of categorizations applied to this submission.
+   */
+  categorizations?: {
+    /**
+     * Name of the category applied.
+     *
+     * @example PHISHING
+     */
+    category?: string;
+    /**
+     * Result of human review for this categorization.
+     *
+     * @example confirmed
+     */
+    verification_status?: string;
+  }[];
+  /**
+   * List of model results for completed scans.
+   */
+  model_results?: {
+    /**
+     * Name of the model.
+     *
+     * @example MACHINE_LEARNING_v2
+     */
+    model_name?: string;
+    /**
+     * Score output by the model for this submission.
+     *
+     * @example 0.024
+     */
+    model_score?: number;
+  }[];
+  /**
+   * List of signatures that matched against site content found when crawling the URL.
+   */
+  rule_matches?: {
+    /**
+     * For internal use.
+     */
+    banning?: boolean;
+    /**
+     * For internal use.
+     */
+    blocking?: boolean;
+    /**
+     * Description of the signature that matched.
+     *
+     * @example Match frequently used social followers phishing kit
+     */
+    description?: string;
+    /**
+     * Name of the signature that matched.
+     *
+     * @example phishkit.social_followers
+     */
+    name?: string;
+  }[];
+  /**
+   * Status of the most recent scan found.
+   */
+  scan_status?: {
+    /**
+     * Timestamp of when the submission was processed.
+     *
+     * @example Wed, 26 Oct 2022 16:04:51 GMT
+     */
+    last_processed?: string;
+    /**
+     * For internal use.
+     */
+    scan_complete?: boolean;
+    /**
+     * Status code that the crawler received when loading the submitted URL.
+     */
+    status_code?: number;
+    /**
+     * ID of the most recent submission.
+     */
+    submission_id?: number;
+  };
+  /**
+   * For internal use.
+   */
+  screenshot_download_signature?: string;
+  /**
+   * For internal use.
+   */
+  screenshot_path?: string;
+  /**
+   * URL that was submitted.
+   *
+   * @example https://www.cloudflare.com
+   */
+  url?: string;
+};
+
+export type IntelPhishingUrlInfoComponentsSchemasSingleResponse = IntelApiResponseSingle & {
+  result?: IntelPhishingUrlInfo;
+};
+
+export type IntelPhishingUrlSubmit = {
+  /**
+   * URLs that were excluded from scanning because their domain is in our no-scan list.
+   */
+  excluded_urls?: {
+    /**
+     * URL that was excluded.
+     *
+     * @example https://developers.cloudflare.com
+     */
+    url?: string;
+  }[];
+  /**
+   * URLs that were skipped because the same URL is currently being scanned
+   */
+  skipped_urls?: {
+    /**
+     * URL that was skipped.
+     *
+     * @example https://www.cloudflare.com/developer-week/
+     */
+    url?: string;
+    /**
+     * ID of the submission of that URL that is currently scanning.
+     *
+     * @example 2
+     */
+    url_id?: number;
+  }[];
+  /**
+   * URLs that were successfully submitted for scanning.
+   */
+  submitted_urls?: {
+    /**
+     * URL that was submitted.
+     *
+     * @example https://www.cloudflare.com
+     */
+    url?: string;
+    /**
+     * ID assigned to this URL submission. Used to retrieve scanning results.
+     *
+     * @example 1
+     */
+    url_id?: number;
+  }[];
+};
+
+export type IntelPhishingUrlSubmitComponentsSchemasSingleResponse = IntelApiResponseSingle & {
+  result?: IntelPhishingUrlSubmit;
+};
+
+/**
+ * Global Cloudflare 100k ranking for the last 30 days, if available for the hostname. The top ranked domain is 1, the lowest ranked domain is 100,000.
+ */
+export type IntelPopularityRank = number;
+
+export type IntelResolvesToRef = {
+  id?: IntelStixIdentifier;
+  /**
+   * IP address or domain name.
+   *
+   * @example 192.0.2.0
+   */
+  value?: string;
+};
+
+/**
+ * Specifies a list of references to one or more IP addresses or domain names that the domain name currently resolves to.
+ */
+export type IntelResolvesToRefs = IntelResolvesToRef[];
+
+export type IntelResponse = IntelApiResponseCollection & {
+  result?: IntelDomainHistory[];
+};
+
+export type IntelResultInfo = {
+  /**
+   * Total number of results for the requested service
+   *
+   * @example 1
+   */
+  count?: number;
+  /**
+   * Current page within paginated list of results
+   *
+   * @example 1
+   */
+  page?: number;
+  /**
+   * Number of results per page of results
+   *
+   * @example 20
+   */
+  per_page?: number;
+  /**
+   * Total results available without any search parameters
+   *
+   * @example 2000
+   */
+  total_count?: number;
+};
+
+/**
+ * Hostname risk score, which is a value between 0 (lowest risk) to 1 (highest risk).
+ */
+export type IntelRiskScore = number;
+
+export type IntelRiskTypes = IntelCategoriesWithSuperCategoryIdsExampleEmpty;
+
+export type IntelSchemasApiResponseCollection = IntelSchemasApiResponseCommon & {
+  result_info?: IntelResultInfo;
+};
+
+export type IntelSchemasApiResponseCommon = {
+  errors: IntelMessages;
+  messages: IntelMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type IntelSchemasAsn = {
+  asn?: IntelAsn;
+  country?: IntelAsnCountry;
+  description?: IntelAsnDescription;
+  domain_count?: number;
+  /**
+   * @example example.com
+   */
+  top_domains?: string[];
+  type?: IntelAsnType;
+};
+
+export type IntelSchemasIp = {
+  /**
+   * Specifies a reference to the autonomous systems (AS) that the IP address belongs to.
+   */
+  belongs_to_ref?: {
+    /**
+     * @example US
+     */
+    country?: string;
+    /**
+     * @example CLOUDFLARENET
+     */
+    description?: string;
+    /**
+     * @example autonomous-system--2fa28d71-3549-5a38-af05-770b79ad6ea8
+     */
+    id?: string;
+    /**
+     * Infrastructure type of this ASN.
+     *
+     * @example hosting_provider
+     */
+    type?: 'hosting_provider' | 'isp' | 'organization';
+    value?: string;
+  };
+  ip?: IntelIp;
+  /**
+   * @example {"id":131,"name":"Phishing","super_category_id":21}
+   */
+  risk_types?: {
+    id?: number;
+    name?: string;
+    super_category_id?: number;
+  }[];
+};
+
+export type IntelSchemasResponse = IntelApiResponseCollection & {
+  result?: IntelSchemasIp[];
+};
+
+export type IntelSchemasSingleResponse = IntelApiResponseSingle & {
+  result?: IntelWhois;
+};
+
+export type IntelSingleResponse = IntelApiResponseSingle & {
+  result?: IntelDomain;
+};
+
+export type IntelStartEndParams = {
+  /**
+   * Defaults to the current date.
+   *
+   * @example 2021-04-30
+   * @format date
+   */
+  end?: string;
+  /**
+   * Defaults to 30 days before the end parameter value.
+   *
+   * @example 2021-04-01
+   * @format date
+   */
+  start?: string;
+};
+
+/**
+ * STIX 2.1 identifier: https://docs.oasis-open.org/cti/stix/v2.1/cs02/stix-v2.1-cs02.html#_64yvzeku5a5c
+ *
+ * @example ipv4-addr--baa568ec-6efe-5902-be55-0663833db537
+ */
+export type IntelStixIdentifier = string;
+
+/**
+ * URL(s) to filter submissions results by
+ *
+ * @example https://www.cloudflare.com
+ * @format uri
+ */
+export type IntelUrl = string;
+
+export type IntelUrlParam = {
+  url?: IntelUrl;
+};
+
+export type IntelWhois = {
+  /**
+   * @example 2009-02-17
+   * @format date
+   */
+  created_date?: string;
+  domain?: IntelDomainName;
+  /**
+   * @example ns3.cloudflare.com
+   * @example ns4.cloudflare.com
+   * @example ns5.cloudflare.com
+   * @example ns6.cloudflare.com
+   * @example ns7.cloudflare.com
+   */
+  nameservers?: string[];
+  /**
+   * @example DATA REDACTED
+   */
+  registrant?: string;
+  /**
+   * @example United States
+   */
+  registrant_country?: string;
+  /**
+   * @example https://domaincontact.cloudflareregistrar.com/cloudflare.com
+   */
+  registrant_email?: string;
+  /**
+   * @example DATA REDACTED
+   */
+  registrant_org?: string;
+  /**
+   * @example Cloudflare, Inc.
+   */
+  registrar?: string;
+  /**
+   * @example 2017-05-24
+   * @format date
+   */
+  updated_date?: string;
+};
+
+export type LegacyJhsApiResponseCollection = {
+  errors: LegacyJhsMessages;
+  messages: LegacyJhsMessages;
+  result: Record<string, any> | any[] | string | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+  result_info?: LegacyJhsResultInfo;
+};
+
+export type LegacyJhsApiResponseCommon = {
+  errors: LegacyJhsMessages;
+  messages: LegacyJhsMessages;
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type LegacyJhsApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: LegacyJhsMessages;
+  messages: LegacyJhsMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type LegacyJhsApiResponseSingle = {
+  errors: LegacyJhsMessages;
+  messages: LegacyJhsMessages;
+  result: Record<string, any> | string | string | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+/**
+ * Application identifier.
+ *
+ * @example ea95132c15732412d22c1476fa83f27a
+ * @maxLength 32
+ */
+export type LegacyJhsAppId = string;
+
+/**
+ * Comma-delimited list of Spectrum Application Id(s). If provided, the response will be limited to Spectrum Application Id(s) that match.
+ *
+ * @example ea95132c15732412d22c1476fa83f27a,d122c5f4bb71e25cc9e86ab43b142e2f
+ */
+export type LegacyJhsAppIdParam = string;
+
+/**
+ * Enables Argo Smart Routing for this application.
+ * Notes: Only available for TCP applications with traffic_type set to "direct".
+ *
+ * @default false
+ * @example true
+ */
+export type LegacyJhsArgoSmartRouting = boolean;
+
+/**
+ * When the Application was created.
+ *
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
+ */
+export type LegacyJhsCreated = string;
+
+/**
+ * Can be used to break down the data by given attributes. Options are:
+ *
+ * Dimension                 | Name                            | Example
+ * --------------------------|---------------------------------|--------------------------
+ * event                     | Connection Event                | connect, progress, disconnect, originError, clientFiltered
+ * appID                     | Application ID                  | 40d67c87c6cd4b889a4fd57805225e85
+ * coloName                  | Colo Name                       | SFO
+ * ipVersion                 | IP version used by the client   | 4, 6.
+ *
+ * @example event
+ * @example appID
+ */
+export type LegacyJhsDimensions = ('event' | 'appID' | 'coloName' | 'ipVersion')[];
+
+/**
+ * The name and type of DNS record for the Spectrum application.
+ */
+export type LegacyJhsDns = {
+  name?: LegacyJhsDnsName;
+  type?: LegacyJhsDnsType;
+};
+
+/**
+ * The name of the DNS record associated with the application.
+ *
+ * @example ssh.example.com
+ * @format hostname
+ */
+export type LegacyJhsDnsName = string;
+
+/**
+ * The TTL of our resolution of your DNS record in seconds.
+ *
+ * @minimum 600
+ */
+export type LegacyJhsDnsTtl = number;
+
+/**
+ * The type of DNS record associated with the application.
+ *
+ * @example CNAME
+ */
+export type LegacyJhsDnsType = 'CNAME' | 'ADDRESS';
+
+/**
+ * The anycast edge IP configuration for the hostname of this application.
+ *
+ * @default {"connectivity":"all","type":"dynamic"}
+ */
+export type LegacyJhsEdgeIps =
+  | {
+      /**
+       * The IP versions supported for inbound connections on Spectrum anycast IPs.
+       *
+       * @example all
+       */
+      connectivity?: 'all' | 'ipv4' | 'ipv6';
+      /**
+       * The type of edge IP configuration specified. Dynamically allocated edge IPs use Spectrum anycast IPs in accordance with the connectivity you specify. Only valid with CNAME DNS names.
+       *
+       * @example dynamic
+       */
+      type?: 'dynamic';
+    }
+  | {
+      /**
+       * The array of customer owned IPs we broadcast via anycast for this hostname and application.
+       *
+       * @example 192.0.2.1
+       */
+      ips?: string[];
+      /**
+       * The type of edge IP configuration specified. Statically allocated edge IPs use customer IPs in accordance with the ips array you specify. Only valid with ADDRESS DNS names.
+       *
+       * @example static
+       */
+      type?: 'static';
+    };
+
+/**
+ * Identifier of a recommedation result.
+ *
+ * @example ssl_recommendation
+ */
+export type LegacyJhsId = string;
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type LegacyJhsIdentifier = string;
+
+/**
+ * Enables IP Access Rules for this application.
+ * Notes: Only available for TCP applications.
+ *
+ * @example true
+ */
+export type LegacyJhsIpFirewall = boolean;
+
+export type LegacyJhsMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+/**
+ * When the Application was last modified.
+ *
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
+ */
+export type LegacyJhsModified = string;
+
+/**
+ * The name and type of DNS record for the Spectrum application.
+ */
+export type LegacyJhsOriginDns = {
+  name?: LegacyJhsOriginDnsName;
+  ttl?: LegacyJhsDnsTtl;
+  type?: LegacyJhsOriginDnsType;
+};
+
+/**
+ * The name of the DNS record associated with the origin.
+ *
+ * @example origin.example.com
+ * @format hostname
+ */
+export type LegacyJhsOriginDnsName = string;
+
+/**
+ * The type of DNS record associated with the origin. "" is used to specify a combination of A/AAAA records.
+ *
+ * @example
+ */
+export type LegacyJhsOriginDnsType = '' | 'A' | 'AAAA' | 'SRV';
+
+/**
+ * The destination port at the origin. Only specified in conjunction with origin_dns. May use an integer to specify a single origin port, for example `1000`, or a string to specify a range of origin ports, for example `"1000-2000"`.
+ * Notes: If specifying a port range, the number of ports in the range must match the number of ports specified in the "protocol" field.
+ *
+ * @example 22
+ * @maximum 65535
+ * @minimum 1
+ */
+export type LegacyJhsOriginPort = number | string;
+
+/**
+ * The port configuration at Cloudflare’s edge. May specify a single port, for example `"tcp/1000"`, or a range of ports, for example `"tcp/1000-2000"`.
+ *
+ * @example tcp/22
+ */
+export type LegacyJhsProtocol = string;
+
+/**
+ * Enables Proxy Protocol to the origin. Refer to [Enable Proxy protocol](https://developers.cloudflare.com/spectrum/getting-started/proxy-protocol/) for implementation details on PROXY Protocol V1, PROXY Protocol V2, and Simple Proxy Protocol.
+ *
+ * @default off
+ * @example off
+ */
+export type LegacyJhsProxyProtocol = 'off' | 'v1' | 'v2' | 'simple';
+
+export type LegacyJhsResponseCollection = LegacyJhsApiResponseCollection & {
+  result?: Record<string, any>[];
+};
+
+export type LegacyJhsResponseSingle = LegacyJhsApiResponseSingle & {
+  result?: Record<string, any>;
+};
+
+export type LegacyJhsResponseSingleOriginDns = LegacyJhsApiResponseSingle & {
+  result?: {
+    argo_smart_routing?: LegacyJhsArgoSmartRouting;
+    created_on?: LegacyJhsCreated;
+    dns?: LegacyJhsDns;
+    edge_ips?: LegacyJhsEdgeIps;
+    id?: LegacyJhsAppId;
+    ip_firewall?: LegacyJhsIpFirewall;
+    modified_on?: LegacyJhsModified;
+    origin_dns?: LegacyJhsOriginDns;
+    origin_port?: LegacyJhsOriginPort;
+    protocol?: LegacyJhsProtocol;
+    proxy_protocol?: LegacyJhsProxyProtocol;
+    tls?: LegacyJhsTls;
+    traffic_type?: LegacyJhsTrafficType;
+  };
+};
+
+export type LegacyJhsResultInfo = {
+  /**
+   * Total number of results for the requested service
+   *
+   * @example 1
+   */
+  count?: number;
+  /**
+   * Current page within paginated list of results
+   *
+   * @example 1
+   */
+  page?: number;
+  /**
+   * Number of results per page of results
+   *
+   * @example 20
+   */
+  per_page?: number;
+  /**
+   * Total results available without any search parameters
+   *
+   * @example 2000
+   */
+  total_count?: number;
+};
+
+export type LegacyJhsSchemasResponseCollection = {
+  errors: LegacyJhsMessages;
+  messages: LegacyJhsMessages;
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+/**
+ * The sort order for the result set; sort fields must be included in `metrics` or `dimensions`.
+ *
+ * @example +count
+ * @example -bytesIngress
+ */
+export type LegacyJhsSort = any[];
+
+/**
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
+ */
+export type LegacyJhsTimestamp = string;
+
+/**
+ * The type of TLS termination associated with the application.
+ *
+ * @example full
+ */
+export type LegacyJhsTls = 'off' | 'flexible' | 'full' | 'strict';
+
+/**
+ * Determines how data travels from the edge to your origin. When set to "direct", Spectrum will send traffic directly to your origin, and the application's type is derived from the `protocol`. When set to "http" or "https", Spectrum will apply Cloudflare's HTTP/HTTPS features as it sends traffic to your origin, and the application type matches this property exactly.
+ *
+ * @default direct
+ * @example direct
+ */
+export type LegacyJhsTrafficType = 'direct' | 'http' | 'https';
+
+/**
+ * End of time interval to query, defaults to current time. Timestamp must be in RFC3339 format and uses UTC unless otherwise specified.
+ *
+ * @example 2014-01-02T03:20:00Z
+ * @format date-time
+ */
+export type LegacyJhsUntil = string;
+
+/**
+ * @example strict
+ */
+export type LegacyJhsValue = 'flexible' | 'full' | 'strict';
+
+export type ListsApiResponseCollection = {
+  errors: ListsMessages;
+  messages: ListsMessages;
+  result: Record<string, any> | any[] | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ListsApiResponseCommon = {
+  errors: ListsMessages;
+  messages: ListsMessages;
+  result: Record<string, any> | any[];
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ListsApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: ListsMessages;
+  messages: ListsMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type ListsBulkOperationResponseCollection = ListsApiResponseCollection & {
+  result?: ListsOperation;
+};
+
+/**
+ * The RFC 3339 timestamp of when the list was created.
+ *
+ * @example 2020-01-01T08:00:00Z
+ */
+export type ListsCreatedOn = string;
+
+/**
+ * An informative summary of the list.
+ *
+ * @example This is a note
+ * @maxLength 500
+ */
+export type ListsDescription = string;
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type ListsIdentifier = string;
+
+/**
+ * @example {"comment":"Private IP address","created_on":"2020-01-01T08:00:00Z","id":"2c0fc9fa937b11eaa1b71c4d701ab86e","ip":"10.0.0.1","modified_on":"2020-01-10T14:00:00Z"}
+ */
+export type ListsItem = ListsItemIp | ListsItemRedirect | ListsItemHostname | ListsItemAsn;
+
+export type ListsItemResponseCollection = ListsApiResponseCollection & {
+  result?: ListsItem;
+};
+
+/**
+ * A non-negative 32 bit integer
+ *
+ * @example 5567
+ */
+export type ListsItemAsn = number;
+
+/**
+ * An informative summary of the list item.
+ *
+ * @example Private IP address
+ */
+export type ListsItemComment = string;
+
+/**
+ * Valid characters for hostnames are ASCII(7) letters from a to z, the digits from 0 to 9, wildcards (*), and the hyphen (-).
+ */
+export type ListsItemHostname = {
+  /**
+   * @example example.com
+   */
+  url_hostname: string;
+};
+
+/**
+ * The unique ID of the item in the List.
+ *
+ * @example 34b12448945f11eaa1b71c4d701ab86e
+ */
+export type ListsItemId = string;
+
+/**
+ * An IPv4 address, an IPv4 CIDR, or an IPv6 CIDR. IPv6 CIDRs are limited to a maximum of /64.
+ *
+ * @example 10.0.0.1
+ */
+export type ListsItemIp = string;
+
+/**
+ * The definition of the redirect.
+ */
+export type ListsItemRedirect = {
+  /**
+   * @default false
+   */
+  include_subdomains?: boolean;
+  /**
+   * @default false
+   */
+  preserve_path_suffix?: boolean;
+  /**
+   * @default false
+   */
+  preserve_query_string?: boolean;
+  /**
+   * @example example.com/arch
+   */
+  source_url: string;
+  /**
+   * @default 301
+   */
+  status_code?: 301 | 302 | 307 | 308;
+  /**
+   * @default false
+   */
+  subpath_matching?: boolean;
+  /**
+   * @example https://archlinux.org/
+   */
+  target_url: string;
+};
+
+export type ListsItems = ListsItem[];
+
+export type ListsItemsListResponseCollection = ListsApiResponseCollection & {
+  result?: ListsItems;
+  result_info?: {
+    cursors?: {
+      /**
+       * @example yyy
+       */
+      after?: string;
+      /**
+       * @example xxx
+       */
+      before?: string;
+    };
+  };
+};
+
+export type ListsItemsUpdateRequestCollection = {
+  asn?: ListsItemAsn;
+  comment?: ListsItemComment;
+  hostname?: ListsItemHostname;
+  ip?: ListsItemIp;
+  redirect?: ListsItemRedirect;
+}[];
+
+/**
+ * The type of the list. Each type supports specific list items (IP addresses, ASNs, hostnames or redirects).
+ *
+ * @example ip
+ */
+export type ListsKind = 'ip' | 'redirect' | 'hostname' | 'asn';
+
+export type ListsList = {
+  created_on?: ListsCreatedOn;
+  description?: ListsDescription;
+  id?: ListsListId;
+  kind?: ListsKind;
+  modified_on?: ListsModifiedOn;
+  name?: ListsName;
+  num_items?: ListsNumItems;
+  num_referencing_filters?: ListsNumReferencingFilters;
+};
+
+export type ListsListDeleteResponseCollection = {
+  errors: ListsMessages;
+  messages: ListsMessages;
+  result:
+    | {
+        id?: ListsItemId;
+      }
+    | any[];
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type ListsListResponseCollection = {
+  errors: ListsMessages;
+  messages: ListsMessages;
+  result: ListsList;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+/**
+ * The unique ID of the list.
+ *
+ * @example 2c0fc9fa937b11eaa1b71c4d701ab86e
+ * @maxLength 32
+ * @minLength 32
+ */
+export type ListsListId = string;
+
+export type ListsListsAsyncResponse = ListsApiResponseCollection & {
+  result?: {
+    operation_id?: ListsOperationId;
+  };
+};
+
+export type ListsListsResponseCollection = ListsApiResponseCollection & {
+  result?: {
+    created_on: ListsCreatedOn;
+    description?: ListsDescription;
+    id: ListsListId;
+    kind: ListsKind;
+    modified_on: ListsModifiedOn;
+    name: ListsName;
+    num_items: ListsNumItems;
+    num_referencing_filters?: ListsNumReferencingFilters;
+  }[];
+};
+
+export type ListsMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+/**
+ * The RFC 3339 timestamp of when the list was last modified.
+ *
+ * @example 2020-01-10T14:00:00Z
+ */
+export type ListsModifiedOn = string;
+
+/**
+ * An informative name for the list. Use this name in filter and rule expressions.
+ *
+ * @example list1
+ * @maxLength 50
+ * @pattern ^[a-zA-Z0-9_]+$
+ */
+export type ListsName = string;
+
+/**
+ * The number of items in the list.
+ *
+ * @example 10
+ */
+export type ListsNumItems = number;
+
+/**
+ * The number of [filters](/operations/filters-list-filters) referencing the list.
+ *
+ * @example 2
+ */
+export type ListsNumReferencingFilters = number;
+
+export type ListsOperation = {
+  /**
+   * The RFC 3339 timestamp of when the operation was completed.
+   *
+   * @example 2020-01-01T08:00:00Z
+   */
+  completed?: string;
+  /**
+   * A message describing the error when the status is `failed`.
+   *
+   * @example This list is at the maximum number of items
+   */
+  error?: string;
+  id: ListsOperationId;
+  /**
+   * The current status of the asynchronous operation.
+   *
+   * @example failed
+   */
+  status: 'pending' | 'running' | 'completed' | 'failed';
+};
+
+/**
+ * The unique operation ID of the asynchronous action.
+ *
+ * @example 4da8780eeb215e6cb7f48dd981c4ea02
+ */
+export type ListsOperationId = string;
+
+/**
+ * The 'Host' header allows to override the hostname set in the HTTP request. Current support is 1 'Host' header override per origin.
+ */
+export type LoadBalancingHost = string[];
+
+/**
+ * Controls features that modify the routing of requests to pools and origins in response to dynamic conditions, such as during the interval between active health monitoring requests. For example, zero-downtime failover occurs immediately when an origin becomes unavailable due to HTTP 521, 522, or 523 response codes. If there is another healthy origin in the same pool, the request is retried once against this alternate origin.
+ */
+export type LoadBalancingAdaptiveRouting = {
+  /**
+   * Extends zero-downtime failover of requests to healthy origins from alternate pools, when no healthy alternate exists in the same pool, according to the failover order defined by traffic and origin steering. When set false (the default) zero-downtime failover will only occur between origins within the same pool. See `session_affinity_attributes` for control over when sessions are broken or reassigned.
+   *
+   * @default false
+   * @example true
+   */
+  failover_across_pools?: boolean;
+};
+
+/**
+ * The IP address (IPv4 or IPv6) of the origin, or its publicly addressable hostname. Hostnames entered here should resolve directly to the origin, and not be a hostname proxied by Cloudflare. To set an internal/reserved address, virtual_network_id must also be set.
+ *
+ * @example 0.0.0.0
+ */
+export type LoadBalancingAddress = string;
+
+/**
+ * Do not validate the certificate when monitor use HTTPS. This parameter is currently only valid for HTTP and HTTPS monitors.
+ *
+ * @default false
+ * @example true
+ */
+export type LoadBalancingAllowInsecure = boolean;
+
+export type LoadBalancingAnalytics = {
+  /**
+   * @default 1
+   */
+  id?: number;
+  /**
+   * @example {"address":"198.51.100.4","changed":true,"enabled":true,"failure_reason":"No failures","healthy":true,"ip":"198.51.100.4","name":"some-origin"}
+   */
+  origins?: LoadBalancingOriginAnalytics[];
+  /**
+   * @example {"changed":true,"healthy":true,"id":"74bc6a8b9b0dda3d651707a2928bad0c","minimum_origins":1,"name":"some-pool"}
+   */
+  pool?: Record<string, any>;
+  /**
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  timestamp?: string;
+};
+
+export type LoadBalancingApiPaginatedResponseCollection = LoadBalancingApiResponseCommon & {
+  result_info?: LoadBalancingResultInfo;
+};
+
+export type LoadBalancingApiResponseCommon = {
+  errors: LoadBalancingMessages;
+  messages: LoadBalancingMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type LoadBalancingApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: LoadBalancingMessages;
+  messages: LoadBalancingMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type LoadBalancingApiResponseSingle = LoadBalancingApiResponseCommon & {
+  result?: (Record<string, any> | null) | (string | null);
+};
+
+/**
+ * A list of regions from which to run health checks. Null means every Cloudflare data center.
+ *
+ * @example WEU
+ * @example ENAM
+ */
+export type LoadBalancingCheckRegions =
+  | (
+      | 'WNAM'
+      | 'ENAM'
+      | 'WEU'
+      | 'EEU'
+      | 'NSAM'
+      | 'SSAM'
+      | 'OC'
+      | 'ME'
+      | 'NAF'
+      | 'SAF'
+      | 'SAS'
+      | 'SEAS'
+      | 'NEAS'
+      | 'ALL_REGIONS'
+    )[]
+  | null;
+
+/**
+ * Object description.
+ *
+ * @example Load Balancer for www.example.com
+ */
+export type LoadBalancingComponentsSchemasDescription = string;
+
+/**
+ * Whether to enable (the default) this load balancer.
+ *
+ * @default true
+ * @example true
+ */
+export type LoadBalancingComponentsSchemasEnabled = boolean;
+
+export type LoadBalancingComponentsSchemasIdResponse = LoadBalancingApiResponseSingle & {
+  result?: {
+    id?: LoadBalancingLoadBalancerComponentsSchemasIdentifier;
+  };
+};
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type LoadBalancingComponentsSchemasIdentifier = string;
+
+/**
+ * The DNS hostname to associate with your Load Balancer. If this hostname already exists as a DNS record in Cloudflare's DNS, the Load Balancer will take precedence and the DNS record will not be used.
+ *
+ * @example www.example.com
+ */
+export type LoadBalancingComponentsSchemasName = string;
+
+export type LoadBalancingComponentsSchemasResponseCollection = LoadBalancingApiPaginatedResponseCollection & {
+  result?: LoadBalancingAnalytics[];
+};
+
+export type LoadBalancingComponentsSchemasSingleResponse = LoadBalancingApiResponseSingle & {
+  /**
+   * A list of countries and subdivisions mapped to a region.
+   *
+   * @example {"iso_standard":"Country and subdivision codes follow ISO 3166-1 alpha-2 and ISO 3166-2","regions":[{"countries":[{"country_code_a2":"CA","country_name":"Canada","country_subdivisions":[{"subdivision_code_a2":"AB","subdivision_name":"Alberta"},{"subdivision_code_a2":"BC","subdivision_name":"British Columbia"}]},{"country_code_a2":"HT","country_name":"Haiti"},{"country_code_a2":"MX","country_name":"Mexico"},{"country_code_a2":"US","country_name":"United States","country_subdivisions":[{"subdivision_code_a2":"AZ","subdivision_name":"Arizona"},{"subdivision_code_a2":"CA","subdivision_name":"California"},{"subdivision_code_a2":"CO","subdivision_name":"Colorado"},{"subdivision_code_a2":"HI","subdivision_name":"Hawaii"},{"subdivision_code_a2":"MN","subdivision_name":"Minnesota"},{"subdivision_code_a2":"MO","subdivision_name":"Missouri"},{"subdivision_code_a2":"NV","subdivision_name":"Nevada"},{"subdivision_code_a2":"OR","subdivision_name":"Oregon"},{"subdivision_code_a2":"TX","subdivision_name":"Texas"},{"subdivision_code_a2":"UT","subdivision_name":"Utah"},{"subdivision_code_a2":"WA","subdivision_name":"Washington"}]}],"region_code":"WNAM"}]}
+   */
+  result?: Record<string, any>;
+};
+
+/**
+ * To be marked unhealthy the monitored origin must fail this healthcheck N consecutive times.
+ *
+ * @default 0
+ */
+export type LoadBalancingConsecutiveDown = number;
+
+/**
+ * To be marked healthy the monitored origin must pass this healthcheck N consecutive times.
+ *
+ * @default 0
+ */
+export type LoadBalancingConsecutiveUp = number;
+
+/**
+ * A mapping of country codes to a list of pool IDs (ordered by their failover priority) for the given country. Any country not explicitly defined will fall back to using the corresponding region_pool mapping if it exists else to default_pools.
+ *
+ * @example {"GB":["abd90f38ced07c2e2f4df50b1f61d4194"],"US":["de90f38ced07c2e2f4df50b1f61d4194","00920f38ce07c2e2f4df50b1f61d4194"]}
+ */
+export type LoadBalancingCountryPools = {
+  [key: string]: string[];
+};
+
+/**
+ * A list of pool IDs ordered by their failover priority. Pools defined here are used by default, or when region_pools are not configured for a given region.
+ *
+ * @example 17b5962d775c646f3f9725cbc7a53df4
+ * @example 9290f38c5d07c2e2f4df57b1f61d4196
+ * @example 00920f38ce07c2e2f4df50b1f61d4194
+ */
+export type LoadBalancingDefaultPools = string[];
+
+/**
+ * Object description.
+ *
+ * @example Login page monitor
+ */
+export type LoadBalancingDescription = string;
+
+/**
+ * This field shows up only if the origin is disabled. This field is set with the time the origin was disabled.
+ *
+ * @format date-time
+ */
+export type LoadBalancingDisabledAt = string;
+
+/**
+ * Whether to enable (the default) or disable this pool. Disabled pools will not receive traffic and are excluded from health checks. Disabling a pool will cause any load balancers using it to failover to the next pool (if any).
+ *
+ * @default true
+ * @example false
+ */
+export type LoadBalancingEnabled = boolean;
+
+/**
+ * A case-insensitive sub-string to look for in the response body. If this string is not found, the origin will be marked as unhealthy. This parameter is only valid for HTTP and HTTPS monitors.
+ *
+ * @example alive
+ */
+export type LoadBalancingExpectedBody = string;
+
+/**
+ * The expected HTTP response code or code range of the health check. This parameter is only valid for HTTP and HTTPS monitors.
+ *
+ * @example 2xx
+ */
+export type LoadBalancingExpectedCodes = string;
+
+/**
+ * The pool ID to use when all other pools are detected as unhealthy.
+ */
+export type LoadBalancingFallbackPool = string;
+
+/**
+ * Filter options for a particular resource type (pool or origin). Use null to reset.
+ */
+export type LoadBalancingFilterOptions = {
+  /**
+   * If set true, disable notifications for this type of resource (pool or origin).
+   *
+   * @default false
+   */
+  disable?: boolean;
+  /**
+   * If present, send notifications only for this health status (e.g. false for only DOWN events). Use null to reset (all events).
+   */
+  healthy?: boolean | null;
+} | null;
+
+/**
+ * Follow redirects if returned by the origin. This parameter is only valid for HTTP and HTTPS monitors.
+ *
+ * @default false
+ * @example true
+ */
+export type LoadBalancingFollowRedirects = boolean;
+
+/**
+ * The HTTP request headers to send in the health check. It is recommended you set a Host header by default. The User-Agent header cannot be overridden. This parameter is only valid for HTTP and HTTPS monitors.
+ *
+ * @example {"Host":["example.com"],"X-App-ID":["abc123"]}
+ */
+export type LoadBalancingHeader = {
+  [key: string]: string[];
+};
+
+export type LoadBalancingHealthDetails = LoadBalancingApiResponseSingle & {
+  /**
+   * A list of regions from which to run health checks. Null means every Cloudflare data center.
+   *
+   * @example {"pool_id":"17b5962d775c646f3f9725cbc7a53df4","pop_health":{"Amsterdam, NL":{"healthy":true,"origins":[{"2001:DB8::5":{"failure_reason":"No failures","healthy":true,"response_code":401,"rtt":"12.1ms"}}]}}}
+   */
+  result?: {
+    /**
+     * Pool ID
+     *
+     * @example 17b5962d775c646f3f9725cbc7a53df4
+     */
+    pool_id?: string;
+    /**
+     * List of regions and associated health status.
+     */
+    pop_health?: {
+      /**
+       * Whether health check in region is healthy.
+       *
+       * @example true
+       */
+      healthy?: boolean;
+      origins?: LoadBalancingOriginHealth[];
+    };
+  };
+};
+
+export type LoadBalancingIdResponse = LoadBalancingApiResponseSingle & {
+  result?: {
+    id?: LoadBalancingIdentifier;
+  };
+};
+
+/**
+ * @example f1aba936b94213e5b8dca0c0dbf1f9cc
+ */
+export type LoadBalancingIdentifier = string;
+
+/**
+ * The interval between each health check. Shorter intervals may improve failover time, but will increase load on the origins as we check from multiple locations.
+ *
+ * @default 60
+ */
+export type LoadBalancingInterval = number;
+
+/**
+ * The latitude of the data center containing the origins used in this pool in decimal degrees. If this is set, longitude must also be set.
+ */
+export type LoadBalancingLatitude = number;
+
+export type LoadBalancingLoadBalancer = {
+  adaptive_routing?: LoadBalancingAdaptiveRouting;
+  country_pools?: LoadBalancingCountryPools;
+  created_on?: LoadBalancingTimestamp;
+  default_pools?: LoadBalancingDefaultPools;
+  description?: LoadBalancingComponentsSchemasDescription;
+  enabled?: LoadBalancingComponentsSchemasEnabled;
+  fallback_pool?: LoadBalancingFallbackPool;
+  id?: LoadBalancingLoadBalancerComponentsSchemasIdentifier;
+  location_strategy?: LoadBalancingLocationStrategy;
+  modified_on?: LoadBalancingTimestamp;
+  name?: LoadBalancingComponentsSchemasName;
+  networks?: LoadBalancingNetworks;
+  pop_pools?: LoadBalancingPopPools;
+  proxied?: LoadBalancingProxied;
+  random_steering?: LoadBalancingRandomSteering;
+  region_pools?: LoadBalancingRegionPools;
+  rules?: LoadBalancingRules;
+  session_affinity?: LoadBalancingSessionAffinity;
+  session_affinity_attributes?: LoadBalancingSessionAffinityAttributes;
+  session_affinity_ttl?: LoadBalancingSessionAffinityTtl;
+  steering_policy?: LoadBalancingSteeringPolicy;
+  ttl?: LoadBalancingTtl;
+};
+
+/**
+ * @example 699d98642c564d2e855e9661899b7252
+ */
+export type LoadBalancingLoadBalancerComponentsSchemasIdentifier = string;
+
+export type LoadBalancingLoadBalancerComponentsSchemasResponseCollection =
+  LoadBalancingApiPaginatedResponseCollection & {
+    result?: LoadBalancingLoadBalancer[];
+  };
+
+export type LoadBalancingLoadBalancerComponentsSchemasSingleResponse = LoadBalancingApiResponseSingle & {
+  result?: LoadBalancingLoadBalancer;
+};
+
+/**
+ * Configures load shedding policies and percentages for the pool.
+ */
+export type LoadBalancingLoadShedding = {
+  /**
+   * The percent of traffic to shed from the pool, according to the default policy. Applies to new sessions and traffic without session affinity.
+   *
+   * @default 0
+   * @maximum 100
+   * @minimum 0
+   */
+  default_percent?: number;
+  /**
+   * The default policy to use when load shedding. A random policy randomly sheds a given percent of requests. A hash policy computes a hash over the CF-Connecting-IP address and sheds all requests originating from a percent of IPs.
+   *
+   * @default random
+   */
+  default_policy?: 'random' | 'hash';
+  /**
+   * The percent of existing sessions to shed from the pool, according to the session policy.
+   *
+   * @default 0
+   * @maximum 100
+   * @minimum 0
+   */
+  session_percent?: number;
+  /**
+   * Only the hash policy is supported for existing sessions (to avoid exponential decay).
+   *
+   * @default hash
+   */
+  session_policy?: 'hash';
+};
+
+/**
+ * Controls location-based steering for non-proxied requests. See `steering_policy` to learn how steering is affected.
+ */
+export type LoadBalancingLocationStrategy = {
+  /**
+   * Determines the authoritative location when ECS is not preferred, does not exist in the request, or its GeoIP lookup is unsuccessful.
+   * - `"pop"`: Use the Cloudflare PoP location.
+   * - `"resolver_ip"`: Use the DNS resolver GeoIP location. If the GeoIP lookup is unsuccessful, use the Cloudflare PoP location.
+   *
+   * @default pop
+   * @example resolver_ip
+   */
+  mode?: 'pop' | 'resolver_ip';
+  /**
+   * Whether the EDNS Client Subnet (ECS) GeoIP should be preferred as the authoritative location.
+   * - `"always"`: Always prefer ECS.
+   * - `"never"`: Never prefer ECS.
+   * - `"proximity"`: Prefer ECS only when `steering_policy="proximity"`.
+   * - `"geo"`: Prefer ECS only when `steering_policy="geo"`.
+   *
+   * @default proximity
+   * @example always
+   */
+  prefer_ecs?: 'always' | 'never' | 'proximity' | 'geo';
+};
+
+/**
+ * The longitude of the data center containing the origins used in this pool in decimal degrees. If this is set, latitude must also be set.
+ */
+export type LoadBalancingLongitude = number;
+
+export type LoadBalancingMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+/**
+ * The method to use for the health check. This defaults to 'GET' for HTTP/HTTPS based checks and 'connection_established' for TCP based health checks.
+ *
+ * @default GET
+ * @example GET
+ */
+export type LoadBalancingMethod = string;
+
+/**
+ * The minimum number of origins that must be healthy for this pool to serve traffic. If the number of healthy origins falls below this number, the pool will be marked unhealthy and will failover to the next available pool.
+ *
+ * @default 1
+ */
+export type LoadBalancingMinimumOrigins = number;
+
+export type LoadBalancingMonitor = LoadBalancingMonitorEditable & {
+  created_on?: LoadBalancingTimestamp;
+  id?: LoadBalancingIdentifier;
+  modified_on?: LoadBalancingTimestamp;
+};
+
+export type LoadBalancingMonitorEditable = {
+  allow_insecure?: LoadBalancingAllowInsecure;
+  consecutive_down?: LoadBalancingConsecutiveDown;
+  consecutive_up?: LoadBalancingConsecutiveUp;
+  description?: LoadBalancingDescription;
+  expected_body?: LoadBalancingExpectedBody;
+  expected_codes?: LoadBalancingExpectedCodes;
+  follow_redirects?: LoadBalancingFollowRedirects;
+  header?: LoadBalancingHeader;
+  interval?: LoadBalancingInterval;
+  method?: LoadBalancingMethod;
+  path?: LoadBalancingPath;
+  port?: LoadBalancingPort;
+  probe_zone?: LoadBalancingProbeZone;
+  retries?: LoadBalancingRetries;
+  timeout?: LoadBalancingTimeout;
+  type?: LoadBalancingType;
+};
+
+export type LoadBalancingMonitorReferencesResponse = LoadBalancingApiResponseCommon & {
+  /**
+   * List of resources that reference a given monitor.
+   *
+   * @example {"reference_type":"referrer","resource_id":"17b5962d775c646f3f9725cbc7a53df4","resource_name":"primary-dc-1","resource_type":"pool"}
+   */
+  result?: {
+    reference_type?: '*' | 'referral' | 'referrer';
+    resource_id?: string;
+    resource_name?: string;
+    resource_type?: string;
+  }[];
+};
+
+export type LoadBalancingMonitorResponseCollection = LoadBalancingApiPaginatedResponseCollection & {
+  result?: LoadBalancingMonitor[];
+};
+
+export type LoadBalancingMonitorResponseSingle = LoadBalancingApiResponseSingle & {
+  result?: LoadBalancingMonitor;
+};
+
+/**
+ * The ID of the Monitor to use for checking the health of origins within this pool.
+ */
+export type LoadBalancingMonitorId = string;
+
+/**
+ * A short name (tag) for the pool. Only alphanumeric characters, hyphens, and underscores are allowed.
+ *
+ * @example primary-dc-1
+ */
+export type LoadBalancingName = string;
+
+/**
+ * List of networks where Load Balancer or Pool is enabled.
+ */
+export type LoadBalancingNetworks = string[];
+
+/**
+ * This field is now deprecated. It has been moved to Cloudflare's Centralized Notification service https://developers.cloudflare.com/fundamentals/notifications/. The email address to send health status notifications to. This can be an individual mailbox or a mailing list. Multiple emails can be supplied as a comma delimited list.
+ *
+ * @example someone@example.com,sometwo@example.com
+ */
+export type LoadBalancingNotificationEmail = string;
+
+/**
+ * Filter pool and origin health notifications by resource type or health status. Use null to reset.
+ *
+ * @example {"origin":{"disable":true},"pool":{"healthy":false}}
+ */
+export type LoadBalancingNotificationFilter = {
+  origin?: LoadBalancingFilterOptions;
+  pool?: LoadBalancingFilterOptions;
+} | null;
+
+export type LoadBalancingOrigin = {
+  address?: LoadBalancingAddress;
+  disabled_at?: LoadBalancingDisabledAt;
+  enabled?: LoadBalancingSchemasEnabled;
+  header?: LoadBalancingSchemasHeader;
+  name?: LoadBalancingSchemasName;
+  virtual_network_id?: LoadBalancingVirtualNetworkId;
+  weight?: LoadBalancingWeight;
+};
+
+export type LoadBalancingOriginAnalytics = {
+  address?: LoadBalancingAddress;
+  changed?: LoadBalancingOriginChanged;
+  enabled?: LoadBalancingSchemasEnabled;
+  failure_reason?: LoadBalancingOriginFailureReason;
+  healthy?: LoadBalancingOriginHealthy;
+  ip?: LoadBalancingOriginIp;
+  name?: LoadBalancingSchemasName;
+};
+
+/**
+ * Whether the origin has changed health status.
+ *
+ * @example true
+ */
+export type LoadBalancingOriginChanged = boolean;
+
+/**
+ * Failure reason for un-healthy origin health check.
+ *
+ * @example No failures
+ */
+export type LoadBalancingOriginFailureReason = string;
+
+export type LoadBalancingOriginHealth = {
+  ip?: {
+    /**
+     * Failure reason.
+     *
+     * @example No failure reasons
+     */
+    failure_reason?: string;
+    /**
+     * Origin health status.
+     *
+     * @example true
+     */
+    healthy?: boolean;
+    /**
+     * Response code from origin health check.
+     *
+     * @example 200
+     */
+    response_code?: number;
+    /**
+     * Origin RTT (Round Trip Time) response.
+     *
+     * @example 201.5ms
+     */
+    rtt?: string;
+  };
+};
+
+/**
+ * Whether the origin is reported as healthy.
+ *
+ * @example true
+ */
+export type LoadBalancingOriginHealthy = boolean;
+
+/**
+ * The IP address (IPv4 or IPv6) of the origin.
+ *
+ * @example 198.51.100.4
+ */
+export type LoadBalancingOriginIp = string;
+
+/**
+ * The origin ipv4/ipv6 address or domain name mapped to it's health data.
+ *
+ * @example {"failure_reason":"No failures","healthy":true,"response_code":200,"rtt":"66ms"}
+ */
+export type LoadBalancingOriginHealthData = {
+  failure_reason?: string;
+  healthy?: boolean;
+  response_code?: number;
+  rtt?: string;
+};
+
+/**
+ * Configures origin steering for the pool. Controls how origins are selected for new sessions and traffic without session affinity.
+ */
+export type LoadBalancingOriginSteering = {
+  /**
+   * The type of origin steering policy to use.
+   * - `"random"`: Select an origin randomly.
+   * - `"hash"`: Select an origin by computing a hash over the CF-Connecting-IP address.
+   * - `"least_outstanding_requests"`: Select an origin by taking into consideration origin weights, as well as each origin's number of outstanding requests. Origins with more pending requests are weighted proportionately less relative to others.
+   * - `"least_connections"`: Select an origin by taking into consideration origin weights, as well as each origin's number of open connections. Origins with more open connections are weighted proportionately less relative to others. Supported for HTTP/1 and HTTP/2 connections.
+   *
+   * @default random
+   */
+  policy?: 'random' | 'hash' | 'least_outstanding_requests' | 'least_connections';
+};
+
+/**
+ * The list of origins within this pool. Traffic directed at this pool is balanced across all currently healthy origins, provided the pool itself is healthy.
+ */
+export type LoadBalancingOrigins = LoadBalancingOrigin[];
+
+/**
+ * The email address to send health status notifications to. This field is now deprecated in favor of Cloudflare Notifications for Load Balancing, so only resetting this field with an empty string `""` is accepted.
+ *
+ * @example
+ */
+export type LoadBalancingPatchPoolsNotificationEmail = '';
+
+/**
+ * The endpoint path you want to conduct a health check against. This parameter is only valid for HTTP and HTTPS monitors.
+ *
+ * @default /
+ * @example /health
+ */
+export type LoadBalancingPath = string;
+
+export type LoadBalancingPool = {
+  check_regions?: LoadBalancingCheckRegions;
+  created_on?: LoadBalancingTimestamp;
+  description?: LoadBalancingSchemasDescription;
+  disabled_at?: LoadBalancingSchemasDisabledAt;
+  enabled?: LoadBalancingEnabled;
+  id?: LoadBalancingSchemasIdentifier;
+  latitude?: LoadBalancingLatitude;
+  load_shedding?: LoadBalancingLoadShedding;
+  longitude?: LoadBalancingLongitude;
+  minimum_origins?: LoadBalancingMinimumOrigins;
+  modified_on?: LoadBalancingTimestamp;
+  monitor?: LoadBalancingMonitorId;
+  name?: LoadBalancingName;
+  networks?: LoadBalancingNetworks;
+  notification_email?: LoadBalancingNotificationEmail;
+  notification_filter?: LoadBalancingNotificationFilter;
+  origin_steering?: LoadBalancingOriginSteering;
+  origins?: LoadBalancingOrigins;
+};
+
+/**
+ * The name for the pool to filter.
+ *
+ * @example primary-dc
+ */
+export type LoadBalancingPoolName = string;
+
+export type LoadBalancingPoolsReferencesResponse = LoadBalancingApiResponseCommon & {
+  /**
+   * List of resources that reference a given pool.
+   *
+   * @example {"reference_type":"referrer","resource_id":"699d98642c564d2e855e9661899b7252","resource_name":"www.example.com","resource_type":"load_balancer"}
+   * @example {"reference_type":"referral","resource_id":"f1aba936b94213e5b8dca0c0dbf1f9cc","resource_name":"Login page monitor","resource_type":"monitor"}
+   */
+  result?: {
+    reference_type?: '*' | 'referral' | 'referrer';
+    resource_id?: string;
+    resource_name?: string;
+    resource_type?: string;
+  }[];
+};
+
+/**
+ * (Enterprise only): A mapping of Cloudflare PoP identifiers to a list of pool IDs (ordered by their failover priority) for the PoP (datacenter). Any PoPs not explicitly defined will fall back to using the corresponding country_pool, then region_pool mapping if it exists else to default_pools.
+ *
+ * @example {"LAX":["de90f38ced07c2e2f4df50b1f61d4194","9290f38c5d07c2e2f4df57b1f61d4196"],"LHR":["abd90f38ced07c2e2f4df50b1f61d4194","f9138c5d07c2e2f4df57b1f61d4196"],"SJC":["00920f38ce07c2e2f4df50b1f61d4194"]}
+ */
+export type LoadBalancingPopPools = {
+  [key: string]: string[];
+};
+
+/**
+ * The port number to connect to for the health check. Required for TCP, UDP, and SMTP checks. HTTP and HTTPS checks should only define the port when using a non-standard port (HTTP: default 80, HTTPS: default 443).
+ *
+ * @default 0
+ */
+export type LoadBalancingPort = number;
+
+/**
+ * @example f1aba936b94213e5b8dca0c0dbf1f9cc
+ */
+export type LoadBalancingPreviewId = void;
+
+export type LoadBalancingPreviewResponse = LoadBalancingApiResponseSingle & {
+  result?: {
+    /**
+     * Monitored pool IDs mapped to their respective names.
+     *
+     * @example {"abwlnp5jbqn45ecgxd03erbgtxtqai0d":"WNAM Datacenter","ve8h9lrcip5n5bbga9yqmdws28ay5d0l":"EEU Datacenter"}
+     */
+    pools?: {
+      [key: string]: string;
+    };
+    preview_id?: LoadBalancingIdentifier;
+  };
+};
+
+/**
+ * Resulting health data from a preview operation.
+ *
+ * @example {"abwlnp5jbqn45ecgxd03erbgtxtqai0d":{"healthy":true,"origins":[{"originone.example.com.":{"failure_reason":"No failures","healthy":true,"response_code":200,"rtt":"66ms"}}]}}
+ */
+export type LoadBalancingPreviewResult = {
+  [key: string]: {
+    healthy?: boolean;
+    origins?: {
+      [key: string]: LoadBalancingOriginHealthData;
+    }[];
+  };
+};
+
+export type LoadBalancingPreviewResultResponse = LoadBalancingApiResponseSingle & {
+  result?: LoadBalancingPreviewResult;
+};
+
+/**
+ * Assign this monitor to emulate the specified zone while probing. This parameter is only valid for HTTP and HTTPS monitors.
+ *
+ * @example example.com
+ */
+export type LoadBalancingProbeZone = string;
+
+/**
+ * Whether the hostname should be gray clouded (false) or orange clouded (true).
+ *
+ * @default false
+ * @example true
+ */
+export type LoadBalancingProxied = boolean;
+
+/**
+ * Configures pool weights.
+ * - `steering_policy="random"`: A random pool is selected with probability proportional to pool weights.
+ * - `steering_policy="least_outstanding_requests"`: Use pool weights to scale each pool's outstanding requests.
+ * - `steering_policy="least_connections"`: Use pool weights to scale each pool's open connections.
+ */
+export type LoadBalancingRandomSteering = {
+  /**
+   * The default weight for pools in the load balancer that are not specified in the pool_weights map.
+   *
+   * @default 1
+   * @example 0.2
+   * @maximum 1
+   * @minimum 0
+   * @multipleOf 0.1
+   */
+  default_weight?: number;
+  /**
+   * A mapping of pool IDs to custom weights. The weight is relative to other pools in the load balancer.
+   *
+   * @example {"9290f38c5d07c2e2f4df57b1f61d4196":0.5,"de90f38ced07c2e2f4df50b1f61d4194":0.3}
+   */
+  pool_weights?: {
+    [key: string]: number;
+  };
+};
+
+/**
+ * A list of Cloudflare regions. WNAM: Western North America, ENAM: Eastern North America, WEU: Western Europe, EEU: Eastern Europe, NSAM: Northern South America, SSAM: Southern South America, OC: Oceania, ME: Middle East, NAF: North Africa, SAF: South Africa, SAS: Southern Asia, SEAS: South East Asia, NEAS: North East Asia).
+ *
+ * @example WNAM
+ */
+export type LoadBalancingRegionCode =
+  | 'WNAM'
+  | 'ENAM'
+  | 'WEU'
+  | 'EEU'
+  | 'NSAM'
+  | 'SSAM'
+  | 'OC'
+  | 'ME'
+  | 'NAF'
+  | 'SAF'
+  | 'SAS'
+  | 'SEAS'
+  | 'NEAS';
+
+export type LoadBalancingRegionComponentsSchemasResponseCollection = LoadBalancingApiResponseSingle & {
+  result?: Record<string, any>;
+};
+
+/**
+ * A mapping of region codes to a list of pool IDs (ordered by their failover priority) for the given region. Any regions not explicitly defined will fall back to using default_pools.
+ *
+ * @example {"ENAM":["00920f38ce07c2e2f4df50b1f61d4194"],"WNAM":["de90f38ced07c2e2f4df50b1f61d4194","9290f38c5d07c2e2f4df57b1f61d4196"]}
+ */
+export type LoadBalancingRegionPools = {
+  [key: string]: string[];
+};
+
+/**
+ * A reference to a load balancer resource.
+ */
+export type LoadBalancingResourceReference = {
+  /**
+   * When listed as a reference, the type (direction) of the reference.
+   */
+  reference_type?: 'referral' | 'referrer';
+  /**
+   * A list of references to (referrer) or from (referral) this resource.
+   *
+   * @example {"reference_type":"referrer","resource_id":"699d98642c564d2e855e9661899b7252","resource_name":"www.example.com","resource_type":"load_balancer"}
+   * @example {"reference_type":"referral","resource_id":"f1aba936b94213e5b8dca0c0dbf1f9cc","resource_name":"Login page monitor","resource_type":"monitor"}
+   */
+  references?: Record<string, any>[];
+  /**
+   * @example 17b5962d775c646f3f9725cbc7a53df4
+   */
+  resource_id?: void;
+  /**
+   * The human-identifiable name of the resource.
+   *
+   * @example primary-dc-1
+   */
+  resource_name?: string;
+  /**
+   * The type of the resource.
+   *
+   * @example pool
+   */
+  resource_type?: 'load_balancer' | 'monitor' | 'pool';
+};
+
+export type LoadBalancingResultInfo = {
+  /**
+   * Total number of results on the current page
+   *
+   * @example 20
+   */
+  count?: number;
+  /**
+   * Current page within paginated list of results
+   *
+   * @example 1
+   */
+  page?: number;
+  /**
+   * Number of results per page
+   *
+   * @example 20
+   */
+  per_page?: number;
+  /**
+   * Total results available without any search parameters
+   *
+   * @example 2000
+   */
+  total_count?: number;
+  /**
+   * Total number of pages available
+   *
+   * @example 100
+   */
+  total_pages?: number;
+};
+
+/**
+ * The number of retries to attempt in case of a timeout before marking the origin as unhealthy. Retries are attempted immediately.
+ *
+ * @default 2
+ */
+export type LoadBalancingRetries = number;
+
+/**
+ * BETA Field Not General Access: A list of rules for this load balancer to execute.
+ */
+export type LoadBalancingRules = {
+  /**
+   * The condition expressions to evaluate. If the condition evaluates to true, the overrides or fixed_response in this rule will be applied. An empty condition is always true. For more details on condition expressions, please see https://developers.cloudflare.com/load-balancing/understand-basics/load-balancing-rules/expressions.
+   *
+   * @example http.request.uri.path contains "/testing"
+   */
+  condition?: string;
+  /**
+   * Disable this specific rule. It will no longer be evaluated by this load balancer.
+   *
+   * @default false
+   */
+  disabled?: boolean;
+  /**
+   * A collection of fields used to directly respond to the eyeball instead of routing to a pool. If a fixed_response is supplied the rule will be marked as terminates.
+   */
+  fixed_response?: {
+    /**
+     * The http 'Content-Type' header to include in the response.
+     *
+     * @example application/json
+     * @maxLength 32
+     */
+    content_type?: string;
+    /**
+     * The http 'Location' header to include in the response.
+     *
+     * @example www.example.com
+     * @maxLength 2048
+     */
+    location?: string;
+    /**
+     * Text to include as the http body.
+     *
+     * @example Testing Hello
+     * @maxLength 1024
+     */
+    message_body?: string;
+    /**
+     * The http status code to respond with.
+     */
+    status_code?: number;
+  };
+  /**
+   * Name of this rule. Only used for human readability.
+   *
+   * @example route the path /testing to testing datacenter.
+   * @maxLength 200
+   */
+  name?: string;
+  /**
+   * A collection of overrides to apply to the load balancer when this rule's condition is true. All fields are optional.
+   */
+  overrides?: {
+    adaptive_routing?: LoadBalancingAdaptiveRouting;
+    country_pools?: LoadBalancingCountryPools;
+    default_pools?: LoadBalancingDefaultPools;
+    fallback_pool?: LoadBalancingFallbackPool;
+    location_strategy?: LoadBalancingLocationStrategy;
+    pop_pools?: LoadBalancingPopPools;
+    random_steering?: LoadBalancingRandomSteering;
+    region_pools?: LoadBalancingRegionPools;
+    session_affinity?: LoadBalancingSessionAffinity;
+    session_affinity_attributes?: LoadBalancingSessionAffinityAttributes;
+    session_affinity_ttl?: LoadBalancingSessionAffinityTtl;
+    steering_policy?: LoadBalancingSteeringPolicy;
+    ttl?: LoadBalancingTtl;
+  };
+  /**
+   * The order in which rules should be executed in relation to each other. Lower values are executed first. Values do not need to be sequential. If no value is provided for any rule the array order of the rules field will be used to assign a priority.
+   *
+   * @default 0
+   * @minimum 0
+   */
+  priority?: number;
+  /**
+   * If this rule's condition is true, this causes rule evaluation to stop after processing this rule.
+   *
+   * @default false
+   */
+  terminates?: boolean;
+}[];
+
+/**
+ * A human-readable description of the pool.
+ *
+ * @example Primary data center - Provider XYZ
+ */
+export type LoadBalancingSchemasDescription = string;
+
+/**
+ * This field shows up only if the pool is disabled. This field is set with the time the pool was disabled at.
+ *
+ * @format date-time
+ */
+export type LoadBalancingSchemasDisabledAt = string;
+
+/**
+ * Whether to enable (the default) this origin within the pool. Disabled origins will not receive traffic and are excluded from health checks. The origin will only be disabled for the current pool.
+ *
+ * @default true
+ * @example true
+ */
+export type LoadBalancingSchemasEnabled = boolean;
+
+/**
+ * The request header is used to pass additional information with an HTTP request. Currently supported header is 'Host'.
+ */
+export type LoadBalancingSchemasHeader = {
+  Host?: LoadBalancingHost;
+};
+
+export type LoadBalancingSchemasIdResponse = LoadBalancingApiResponseSingle & {
+  result?: {
+    id?: LoadBalancingSchemasIdentifier;
+  };
+};
+
+/**
+ * @example 17b5962d775c646f3f9725cbc7a53df4
+ */
+export type LoadBalancingSchemasIdentifier = string;
+
+/**
+ * A human-identifiable name for the origin.
+ *
+ * @example app-server-1
+ */
+export type LoadBalancingSchemasName = string;
+
+/**
+ * @example p1aba936b94213e5b8dca0c0dbf1f9cc
+ */
+export type LoadBalancingSchemasPreviewId = string;
+
+export type LoadBalancingSchemasResponseCollection = LoadBalancingApiPaginatedResponseCollection & {
+  result?: LoadBalancingPool[];
+};
+
+export type LoadBalancingSchemasSingleResponse = LoadBalancingApiResponseSingle & {
+  result?: LoadBalancingPool;
+};
+
+export type LoadBalancingSearch = {
+  /**
+   * A list of resources matching the search query.
+   */
+  resources?: LoadBalancingResourceReference[];
+};
+
+export type LoadBalancingSearchParams = {
+  /**
+   * Search query term.
+   *
+   * @default
+   * @example primary
+   */
+  query?: string;
+  /**
+   * The type of references to include ("*" for all).
+   *
+   * @default
+   * @example *
+   */
+  references?: '' | '*' | 'referral' | 'referrer';
+};
+
+export type LoadBalancingSearchResult = {
+  result?: LoadBalancingSearch;
+};
+
+/**
+ * Specifies the type of session affinity the load balancer should use unless specified as `"none"`. The supported types are:
+ * - `"cookie"`: On the first request to a proxied load balancer, a cookie is generated, encoding information of which origin the request will be forwarded to. Subsequent requests, by the same client to the same load balancer, will be sent to the origin server the cookie encodes, for the duration of the cookie and as long as the origin server remains healthy. If the cookie has expired or the origin server is unhealthy, then a new origin server is calculated and used.
+ * - `"ip_cookie"`: Behaves the same as `"cookie"` except the initial origin selection is stable and based on the client's ip address.
+ * - `"header"`: On the first request to a proxied load balancer, a session key based on the configured HTTP headers (see `session_affinity_attributes.headers`) is generated, encoding the request headers used for storing in the load balancer session state which origin the request will be forwarded to. Subsequent requests to the load balancer with the same headers will be sent to the same origin server, for the duration of the session and as long as the origin server remains healthy. If the session has been idle for the duration of `session_affinity_ttl` seconds or the origin server is unhealthy, then a new origin server is calculated and used. See `headers` in `session_affinity_attributes` for additional required configuration.
+ *
+ * @default none
+ * @example cookie
+ */
+export type LoadBalancingSessionAffinity = 'none' | 'cookie' | 'ip_cookie' | 'header';
+
+/**
+ * Configures attributes for session affinity.
+ */
+export type LoadBalancingSessionAffinityAttributes = {
+  /**
+   * Configures the drain duration in seconds. This field is only used when session affinity is enabled on the load balancer.
+   *
+   * @example 100
+   */
+  drain_duration?: number;
+  /**
+   * Configures the names of HTTP headers to base session affinity on when header `session_affinity` is enabled. At least one HTTP header name must be provided. To specify the exact cookies to be used, include an item in the following format: `"cookie:<cookie-name-1>,<cookie-name-2>"` (example) where everything after the colon is a comma-separated list of cookie names. Providing only `"cookie"` will result in all cookies being used. The default max number of HTTP header names that can be provided depends on your plan: 5 for Enterprise, 1 for all other plans.
+   *
+   * @default none
+   * @uniqueItems true
+   */
+  headers?: string[];
+  /**
+   * When header `session_affinity` is enabled, this option can be used to specify how HTTP headers on load balancing requests will be used. The supported values are:
+   * - `"true"`: Load balancing requests must contain *all* of the HTTP headers specified by the `headers` session affinity attribute, otherwise sessions aren't created.
+   * - `"false"`: Load balancing requests must contain *at least one* of the HTTP headers specified by the `headers` session affinity attribute, otherwise sessions aren't created.
+   *
+   * @default false
+   */
+  require_all_headers?: boolean;
+  /**
+   * Configures the SameSite attribute on session affinity cookie. Value "Auto" will be translated to "Lax" or "None" depending if Always Use HTTPS is enabled. Note: when using value "None", the secure attribute can not be set to "Never".
+   *
+   * @default Auto
+   * @example Auto
+   */
+  samesite?: 'Auto' | 'Lax' | 'None' | 'Strict';
+  /**
+   * Configures the Secure attribute on session affinity cookie. Value "Always" indicates the Secure attribute will be set in the Set-Cookie header, "Never" indicates the Secure attribute will not be set, and "Auto" will set the Secure attribute depending if Always Use HTTPS is enabled.
+   *
+   * @default Auto
+   * @example Auto
+   */
+  secure?: 'Auto' | 'Always' | 'Never';
+  /**
+   * Configures the zero-downtime failover between origins within a pool when session affinity is enabled. This feature is currently incompatible with Argo, Tiered Cache, and Bandwidth Alliance. The supported values are:
+   * - `"none"`: No failover takes place for sessions pinned to the origin (default).
+   * - `"temporary"`: Traffic will be sent to another other healthy origin until the originally pinned origin is available; note that this can potentially result in heavy origin flapping.
+   * - `"sticky"`: The session affinity cookie is updated and subsequent requests are sent to the new origin. Note: Zero-downtime failover with sticky sessions is currently not supported for session affinity by header.
+   *
+   * @default none
+   * @example sticky
+   */
+  zero_downtime_failover?: 'none' | 'temporary' | 'sticky';
+};
+
+/**
+ * Time, in seconds, until a client's session expires after being created. Once the expiry time has been reached, subsequent requests may get sent to a different origin server. The accepted ranges per `session_affinity` policy are:
+ * - `"cookie"` / `"ip_cookie"`: The current default of 23 hours will be used unless explicitly set. The accepted range of values is between [1800, 604800].
+ * - `"header"`: The current default of 1800 seconds will be used unless explicitly set. The accepted range of values is between [30, 3600]. Note: With session affinity by header, sessions only expire after they haven't been used for the number of seconds specified.
+ *
+ * @example 1800
+ */
+export type LoadBalancingSessionAffinityTtl = number;
+
+/**
+ * Steering Policy for this load balancer.
+ * - `"off"`: Use `default_pools`.
+ * - `"geo"`: Use `region_pools`/`country_pools`/`pop_pools`. For non-proxied requests, the country for `country_pools` is determined by `location_strategy`.
+ * - `"random"`: Select a pool randomly.
+ * - `"dynamic_latency"`: Use round trip time to select the closest pool in default_pools (requires pool health checks).
+ * - `"proximity"`: Use the pools' latitude and longitude to select the closest pool using the Cloudflare PoP location for proxied requests or the location determined by `location_strategy` for non-proxied requests.
+ * - `"least_outstanding_requests"`: Select a pool by taking into consideration `random_steering` weights, as well as each pool's number of outstanding requests. Pools with more pending requests are weighted proportionately less relative to others.
+ * - `"least_connections"`: Select a pool by taking into consideration `random_steering` weights, as well as each pool's number of open connections. Pools with more open connections are weighted proportionately less relative to others. Supported for HTTP/1 and HTTP/2 connections.
+ * - `""`: Will map to `"geo"` if you use `region_pools`/`country_pools`/`pop_pools` otherwise `"off"`.
+ *
+ * @default
+ * @example dynamic_latency
+ */
+export type LoadBalancingSteeringPolicy =
+  | 'off'
+  | 'geo'
+  | 'random'
+  | 'dynamic_latency'
+  | 'proximity'
+  | 'least_outstanding_requests'
+  | 'least_connections'
+  | '';
+
+/**
+ * Two-letter subdivision code followed in ISO 3166-2.
+ *
+ * @example CA
+ */
+export type LoadBalancingSubdivisionCodeA2 = string;
+
+/**
+ * The timeout (in seconds) before marking the health check as failed.
+ *
+ * @default 5
+ */
+export type LoadBalancingTimeout = number;
+
+/**
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
+ */
+export type LoadBalancingTimestamp = string;
+
+/**
+ * Time to live (TTL) of the DNS entry for the IP address returned by this load balancer. This only applies to gray-clouded (unproxied) load balancers.
+ *
+ * @example 30
+ */
+export type LoadBalancingTtl = number;
+
+/**
+ * The protocol to use for the health check. Currently supported protocols are 'HTTP','HTTPS', 'TCP', 'ICMP-PING', 'UDP-ICMP', and 'SMTP'.
+ *
+ * @default http
+ * @example https
+ */
+export type LoadBalancingType = 'http' | 'https' | 'tcp' | 'udp_icmp' | 'icmp_ping' | 'smtp';
+
+/**
+ * End date and time of requesting data period in the ISO8601 format.
+ *
+ * @example 2016-11-11T13:00:00Z
+ * @format date-time
+ */
+export type LoadBalancingUntil = string;
+
+/**
+ * The virtual network subnet ID the origin belongs in. Virtual network must also belong to the account.
+ *
+ * @example a5624d4e-044a-4ff0-b3e1-e2465353d4b4
+ */
+export type LoadBalancingVirtualNetworkId = string;
+
+/**
+ * The weight of this origin relative to other origins in the pool. Based on the configured weight the total traffic is distributed among origins within the pool.
+ * - `origin_steering.policy="least_outstanding_requests"`: Use weight to scale the origin's outstanding requests.
+ * - `origin_steering.policy="least_connections"`: Use weight to scale the origin's open connections.
+ *
+ * @default 1
+ * @example 0.6
+ * @maximum 1
+ * @minimum 0
+ * @multipleOf 0.01
+ */
+export type LoadBalancingWeight = number;
+
+export type LogcontrolAccountIdentifier = LogcontrolIdentifier;
+
+export type LogcontrolApiResponseCommon = {
+  errors: LogcontrolMessages;
+  messages: LogcontrolMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type LogcontrolApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: LogcontrolMessages;
+  messages: LogcontrolMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type LogcontrolApiResponseSingle = LogcontrolApiResponseCommon;
+
+export type LogcontrolCmbConfig = {
+  regions?: LogcontrolRegions;
+} | null;
+
+export type LogcontrolCmbConfigResponseSingle = LogcontrolApiResponseSingle & {
+  result?: LogcontrolCmbConfig;
+};
+
+/**
+ * The log retention flag for Logpull API.
+ *
+ * @example true
+ */
+export type LogcontrolFlag = boolean;
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type LogcontrolIdentifier = string;
+
+export type LogcontrolMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+/**
+ * Comma-separated list of regions.
+ *
+ * @example eu
+ * @maxLength 256
+ * @pattern ^[a-z,]*$
+ */
+export type LogcontrolRegions = string;
+
+export type LogcontrolRetentionFlag = {
+  flag?: LogcontrolFlag;
+} | null;
+
+export type LogcontrolRetentionFlagResponseSingle = LogcontrolApiResponseSingle & {
+  result?: LogcontrolRetentionFlag;
+};
+
+export type LogcontrolZoneIdentifier = LogcontrolIdentifier;
+
+export type LogpushApiResponseCommon = {
+  errors: LogpushMessages;
+  messages: LogpushMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type LogpushApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: LogpushMessages;
+  messages: LogpushMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type LogpushApiResponseSingle = LogpushApiResponseCommon;
+
+/**
+ * Name of the dataset. A list of supported datasets can be found on the [Developer Docs](https://developers.cloudflare.com/logs/reference/log-fields/).
+ *
+ * @example http_requests
+ * @maxLength 256
+ * @pattern ^[a-zA-Z0-9_\-]*$
+ */
+export type LogpushDataset = string | null;
+
+/**
+ * Uniquely identifies a resource (such as an s3 bucket) where data will be pushed. Additional configuration parameters supported by the destination may be included.
+ *
+ * @example s3://mybucket/logs?region=us-west-2
+ * @format uri
+ * @maxLength 4096
+ */
+export type LogpushDestinationConf = string;
+
+export type LogpushDestinationExistsResponse = LogpushApiResponseCommon & {
+  result?: {
+    /**
+     * @example false
+     */
+    exists?: boolean;
+  } | null;
+};
+
+/**
+ * Flag that indicates if the job is enabled.
+ *
+ * @example false
+ */
+export type LogpushEnabled = boolean;
+
+/**
+ * If not null, the job is currently failing. Failures are usually repetitive (example: no permissions to write to destination bucket). Only the last failure is recorded. On successful execution of a job the error_message and last_error are set to null.
+ *
+ * @format date-time
+ */
+export type LogpushErrorMessage = string | null;
+
+/**
+ * Comma-separated list of fields.
+ *
+ * @example ClientIP,ClientRequestHost,ClientRequestMethod,ClientRequestURI,EdgeEndTimestamp,EdgeResponseBytes,EdgeResponseStatus,EdgeStartTimestamp,RayID
+ */
+export type LogpushFields = string;
+
+/**
+ * Filters to drill down into specific events.
+ *
+ * @example {"where":{"and":[{"key":"ClientCountry","operator":"neq","value":"ca"}]}}
+ */
+export type LogpushFilter = string;
+
+/**
+ * This field is deprecated. Please use `max_upload_*` parameters instead. The frequency at which Cloudflare sends batches of logs to your destination. Setting frequency to high sends your logs in larger quantities of smaller files. Setting frequency to low sends logs in smaller quantities of larger files.
+ *
+ * @default high
+ * @deprecated true
+ * @example high
+ */
+export type LogpushFrequency = 'high' | 'low' | null;
+
+export type LogpushGetOwnershipResponse = LogpushApiResponseCommon & {
+  result?: {
+    /**
+     * @example logs/challenge-filename.txt
+     */
+    filename?: string;
+    /**
+     * @example
+     */
+    message?: string;
+    /**
+     * @example true
+     */
+    valid?: boolean;
+  } | null;
+};
+
+/**
+ * Unique id of the job.
+ *
+ * @minimum 1
  */
-export type ComponentsSchemasConfig = Record<string, any>;
+export type LogpushId = number;
 
 /**
- * The configuration object for the current rule.
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type ComponentsSchemasConfiguration = {
-  /**
-   * The configuration target for this rule. You must set the target to `ua` for User Agent Blocking rules.
-   *
-   * @example ua
-   */
-  target?: string;
-  /**
-   * The exact user agent string to match. This value will be compared to the received `User-Agent` HTTP header value.
-   *
-   * @example Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/603.2.4 (KHTML, like Gecko) Version/10.1.1 Safari/603.2.4
-   */
-  value?: string;
+export type LogpushIdentifier = string;
+
+export type LogpushInstantLogsJob = {
+  destination_conf?: LogpushSchemasDestinationConf;
+  fields?: LogpushFields;
+  filter?: LogpushFilter;
+  sample?: LogpushSample;
+  session_id?: LogpushSessionId;
+} | null;
+
+export type LogpushInstantLogsJobResponseCollection = LogpushApiResponseCommon & {
+  result?: LogpushInstantLogsJob[];
 };
 
-export type ComponentsSchemasConnection = {
-  colo_name?: SchemasColoName;
-  is_pending_reconnect?: IsPendingReconnect;
-  uuid?: ConnectionId;
+export type LogpushInstantLogsJobResponseSingle = LogpushApiResponseSingle & {
+  result?: LogpushInstantLogsJob;
 };
 
 /**
- * Shows time of creation.
+ * The kind parameter (optional) is used to differentiate between Logpush and Edge Log Delivery jobs. Currently, Edge Log Delivery is only supported for the `http_requests` dataset.
  *
- * @example 2018-08-28T17:26:26Z
- * @format date-time
+ * @default
+ * @example
  */
-export type ComponentsSchemasCreatedAt = string;
+export type LogpushKind = 'edge' | null;
 
 /**
- * When the Railgun was created.
+ * Records the last time for which logs have been successfully pushed. If the last successful push was for logs range 2018-07-23T10:00:00Z to 2018-07-23T10:01:00Z then the value of this field will be 2018-07-23T10:01:00Z. If the job has never run or has just been enabled and hasn't run yet then the field will be empty.
  *
- * @example 2014-01-01T05:20:00Z
  * @format date-time
  */
-export type ComponentsSchemasCreatedOn = string;
+export type LogpushLastComplete = string | null;
 
 /**
- * An optional description forthe IPsec tunnel.
+ * Records the last time the job failed. If not null, the job is currently failing. If null, the job has either never failed or has run successfully at least once since last failure. See also the error_message field.
  *
- * @example Tunnel for ISP X
+ * @format date-time
  */
-export type ComponentsSchemasDescription = string;
+export type LogpushLastError = string | null;
 
 /**
- * Object description.
+ * This field is deprecated. Use `output_options` instead. Configuration string. It specifies things like requested fields and timestamp formats. If migrating from the logpull api, copy the url (full url or just the query string) of your call here, and logpush will keep on making this call for you, setting start and end times appropriately.
  *
- * @example Load Balancer for www.example.com
+ * @deprecated true
+ * @example fields=RayID,ClientIP,EdgeStartTimestamp&timestamps=rfc3339
+ * @format uri-reference
+ * @maxLength 4096
  */
-export type ComponentsSchemasDescriptionPGj41dmE = string;
+export type LogpushLogpullOptions = string | null;
 
-/**
- * An informative summary of the rate limit. This value is sanitized and any tags will be removed.
- *
- * @example Prevent multiple login failures to mitigate brute force attacks
- * @maxLength 1024
- */
-export type ComponentsSchemasDescriptionShl7dZHd = string;
+export type LogpushLogpushFieldResponseCollection = LogpushApiResponseCommon & {
+  result?: Record<string, any>;
+};
+
+export type LogpushLogpushJob = {
+  dataset?: LogpushDataset;
+  destination_conf?: LogpushDestinationConf;
+  enabled?: LogpushEnabled;
+  error_message?: LogpushErrorMessage;
+  frequency?: LogpushFrequency;
+  id?: LogpushId;
+  kind?: LogpushKind;
+  last_complete?: LogpushLastComplete;
+  last_error?: LogpushLastError;
+  logpull_options?: LogpushLogpullOptions;
+  max_upload_bytes?: LogpushMaxUploadBytes;
+  max_upload_interval_seconds?: LogpushMaxUploadIntervalSeconds;
+  max_upload_records?: LogpushMaxUploadRecords;
+  name?: LogpushName;
+  output_options?: LogpushOutputOptions;
+} | null;
+
+export type LogpushLogpushJobResponseCollection = LogpushApiResponseCommon & {
+  result?: LogpushLogpushJob[];
+};
+
+export type LogpushLogpushJobResponseSingle = LogpushApiResponseSingle & {
+  result?: LogpushLogpushJob;
+};
 
 /**
- * A short summary of domains in the category.
+ * The maximum uncompressed file size of a batch of logs. This setting value must be between `5 MB` and `1 GB`, or `0` to disable it. Note that you cannot set a minimum file size; this means that log files may be much smaller than this batch size. This parameter is not available for jobs with `edge` as its kind.
  *
- * @example Sites related to educational content that are not included in other categories like Science, Technology or Educational institutions.
+ * @example 5000000
+ * @maximum 1000000000
+ * @minimum 5000000
  */
-export type ComponentsSchemasDescriptionDHTB25HG = string;
+export type LogpushMaxUploadBytes = number | null;
 
 /**
- * The domain of the Bookmark application.
+ * The maximum interval in seconds for log batches. This setting must be between 30 and 300 seconds (5 minutes), or `0` to disable it. Note that you cannot specify a minimum interval for log batches; this means that log files may be sent in shorter intervals than this. This parameter is only used for jobs with `edge` as its kind.
  *
- * @example example.com
+ * @default 30
+ * @example 30
+ * @maximum 300
+ * @minimum 30
  */
-export type ComponentsSchemasDomain = string;
+export type LogpushMaxUploadIntervalSeconds = number | null;
 
 /**
- * The email of the user.
+ * The maximum number of log lines per batch. This setting must be between 1000 and 1,000,000 lines, or `0` to disable it. Note that you cannot specify a minimum number of log lines per batch; this means that log files may contain many fewer lines than this. This parameter is not available for jobs with `edge` as its kind.
  *
- * @example jdoe@example.com
- * @format email
+ * @default 100000
+ * @example 1000
+ * @maximum 1000000
+ * @minimum 1000
  */
-export type ComponentsSchemasEmail = string;
+export type LogpushMaxUploadRecords = number | null;
 
-export type ComponentsSchemasEmptyResponse = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | any[] | string;
+export type LogpushMessages = {
   /**
-   * Whether the API call was successful
-   *
-   * @example true
+   * @minimum 1000
    */
-  success: true;
-};
+  code: number;
+  message: string;
+}[];
 
 /**
- * If enabled, Total TLS will order a hostname specific TLS certificate for any proxied A, AAAA, or CNAME record in your zone.
+ * Optional human readable job name. Not unique. Cloudflare suggests that you set this to a meaningful string, like the domain name, to make it easier to identify your job.
  *
- * @example true
+ * @example example.com
+ * @maxLength 512
+ * @pattern ^[a-zA-Z0-9\-\.]*$
  */
-export type ComponentsSchemasEnabled = boolean;
+export type LogpushName = string | null;
 
 /**
- * Whether to enable (the default) this load balancer.
- *
- * @default true
- * @example true
+ * The structured replacement for `logpull_options`. When including this field, the `logpull_option` field will be ignored.
  */
-export type ComponentsSchemasEnabledQ79EL5TU = boolean;
-
-export type ComponentsSchemasExclude = SplitTunnel[];
+export type LogpushOutputOptions = {
+  /**
+   * If set to true, will cause all occurrences of `${` in the generated files to be replaced with `x{`.
+   *
+   * @default false
+   */
+  ['CVE-2021-4428']?: boolean | null;
+  /**
+   * String to be prepended before each batch.
+   *
+   * @default
+   */
+  batch_prefix?: string | null;
+  /**
+   * String to be appended after each batch.
+   *
+   * @default
+   */
+  batch_suffix?: string | null;
+  /**
+   * String to join fields. This field be ignored when `record_template` is set.
+   *
+   * @default ,
+   */
+  field_delimiter?: string | null;
+  /**
+   * List of field names to be included in the Logpush output. For the moment, there is no option to add all fields at once, so you must specify all the fields names you are interested in.
+   *
+   * @example ClientIP
+   * @example EdgeStartTimestamp
+   * @example RayID
+   */
+  field_names?: string[];
+  /**
+   * Specifies the output type, such as `ndjson` or `csv`. This sets default values for the rest of the settings, depending on the chosen output type. Some formatting rules, like string quoting, are different between output types.
+   *
+   * @default ndjson
+   * @example ndjson
+   */
+  output_type?: 'ndjson' | 'csv';
+  /**
+   * String to be inserted in-between the records as separator.
+   *
+   * @default
+   */
+  record_delimiter?: string | null;
+  /**
+   * String to be prepended before each record.
+   *
+   * @default {
+   */
+  record_prefix?: string | null;
+  /**
+   * String to be appended after each record.
+   *
+   * @default }
+   */
+  record_suffix?: string | null;
+  /**
+   * String to use as template for each record instead of the default comma-separated list. All fields used in the template must be present in `field_names` as well, otherwise they will end up as null. Format as a Go `text/template` without any standard functions, like conditionals, loops, sub-templates, etc.
+   *
+   * @default
+   */
+  record_template?: string | null;
+  /**
+   * Floating number to specify sampling rate. Sampling is applied on top of filtering, and regardless of the current `sample_interval` of the data.
+   *
+   * @default 1
+   * @format float
+   * @maximum 1
+   * @minimum 0
+   */
+  sample_rate?: number | null;
+  /**
+   * String to specify the format for timestamps, such as `unixnano`, `unix`, or `rfc3339`.
+   *
+   * @default unixnano
+   */
+  timestamp_format?: 'unixnano' | 'unix' | 'rfc3339';
+} | null;
 
 /**
- * When the certificate from the authority expires.
+ * Ownership challenge token to prove destination ownership.
  *
- * @example 2100-01-01T05:20:00Z
- * @format date-time
+ * @example 00000000000000000000
+ * @maxLength 4096
+ * @pattern ^[a-zA-Z0-9/\+\.\-_]*$
  */
-export type ComponentsSchemasExpiresOn = string;
+export type LogpushOwnershipChallenge = string;
 
 /**
- * When the certificate from the authority expires.
+ * The sample parameter is the sample rate of the records set by the client: "sample": 1 is 100% of records "sample": 10 is 10% and so on.
  *
- * @example 2016-01-01T05:20:00Z
- * @format date-time
- */
-export type ComponentsSchemasExpiresOnIEhoDYOo = string;
-
-/**
- * @example {"slo":["99.9"]}
+ * @example 1
  */
-export type ComponentsSchemasFilters = {
-  [key: string]: any[];
-};
+export type LogpushSample = number;
 
 /**
- * Hostname of the Worker Domain.
+ * Unique WebSocket address that will receive messages from Cloudflare’s edge.
  *
- * @example foo.example.com
+ * @example wss://logs.cloudflare.com/instant-logs/ws/sessions/99d471b1ca3c23cc8e30b6acec5db987
+ * @format uri
+ * @maxLength 4096
  */
-export type ComponentsSchemasHostname = string;
+export type LogpushSchemasDestinationConf = string;
 
 /**
- * ID of the namespace.
+ * Unique session id of the job.
  *
- * @example 5fd1cafff895419c8bcc647fc64ab8f0
+ * @example 99d471b1ca3c23cc8e30b6acec5db987
  */
-export type ComponentsSchemasId = string;
+export type LogpushSessionId = string;
 
-export type ComponentsSchemasIdResponse = ApiResponseSingleKLIlNaxV & {
+export type LogpushValidateOwnershipResponse = LogpushApiResponseCommon & {
   result?: {
-    id?: Uuid;
-  };
+    /**
+     * @example true
+     */
+    valid?: boolean;
+  } | null;
 };
 
-export type ComponentsSchemasIdResponseIHcJUh5S = ApiResponseSingleWkFwqHKI & {
+export type LogpushValidateResponse = LogpushApiResponseCommon & {
   result?: {
-    id?: ComponentsSchemasIdentifierNz3bhUPI;
-  };
+    /**
+     * @example
+     */
+    message?: string;
+    /**
+     * @example true
+     */
+    valid?: boolean;
+  } | null;
 };
 
-export type ComponentsSchemasIdResponseRHALhS1I = ApiResponseSingleLarS7owG & {
-  result?: {
-    id?: LoadBalancerComponentsSchemasIdentifier;
-  };
+export type LogshareApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: LogshareMessages;
+  messages: LogshareMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
 };
 
-export type ComponentsSchemasIdResponseXrDu14nR = ApiResponseSingleUl1k90Mw & {
-  result?: {
-    id?: LoadBalancerComponentsSchemasIdentifier;
-  };
+/**
+ * When `?count=` is provided, the response will contain up to `count` results. Since results are not sorted, you are likely to get different data for repeated requests. `count` must be an integer > 0.
+ *
+ * @minimum 1
+ */
+export type LogshareCount = number;
+
+/**
+ * Sets the (exclusive) end of the requested time frame. This can be a unix timestamp (in seconds or nanoseconds), or an absolute timestamp that conforms to RFC 3339. `end` must be at least five minutes earlier than now and must be later than `start`. Difference between `start` and `end` must be not greater than one hour.
+ *
+ * @example 2018-05-20T10:01:00Z
+ */
+export type LogshareEnd = string | number;
+
+/**
+ * The `/received` route by default returns a limited set of fields, and allows customers to override the default field set by specifying individual fields. The reasons for this are: 1. Most customers require only a small subset of fields, but that subset varies from customer to customer; 2. Flat schema is much easier to work with downstream (importing into BigTable etc); 3. Performance (time to process, file size). If `?fields=` is not specified, default field set is returned. This default field set may change at any time. When `?fields=` is provided, each record is returned with the specified fields. `fields` must be specified as a comma separated list without any whitespaces, and all fields must exist. The order in which fields are specified does not matter, and the order of fields in the response is not specified.
+ *
+ * @example ClientIP,RayID,EdgeStartTimestamp
+ */
+export type LogshareFields = string;
+
+export type LogshareFieldsResponse = {
+  /**
+   * @example value
+   */
+  key?: string;
 };
 
 /**
@@ -5705,2870 +24216,3245 @@ export type ComponentsSchemasIdResponseXrDu14nR = ApiResponseSingleUl1k90Mw & {
  * @example 023e105f4ecef8ad9ca31a8372d0c353
  * @maxLength 32
  */
-export type ComponentsSchemasIdentifier = string;
+export type LogshareIdentifier = string;
 
 /**
- * @example 23ff594956f20c2a721606e94745a8aa
+ * @example {"ClientIP":"192.0.2.1","RayID":"41ddf1740f67442d","EdgeStartTimestamp":1526810289280000000}
+{"ClientIP":"192.0.2.1","RayID":"41ddf1740f67442d","EdgeStartTimestamp":1526810289280000000}
+{"ClientIP":"192.0.2.1","RayID":"41ddf1740f67442d","EdgeStartTimestamp":1526810289280000000}
  */
-export type ComponentsSchemasIdentifierNz3bhUPI = void;
+export type LogshareLogsResponseJsonLines = string | Record<string, any>;
+
+export type LogshareMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
 
 /**
- * Token identifier tag.
+ * Ray identifier.
  *
- * @example ed17574386854bf78a67040be0a770b0
- * @maxLength 32
+ * @example 41ddf1740f67442d
+ * @maxLength 16
  */
-export type ComponentsSchemasIdentifierUpjmfntS = string;
+export type LogshareRayIdentifier = string;
 
 /**
- * IPv4 or IPv6 address.
+ * When `?sample=` is provided, a sample of matching records is returned. If `sample=0.1` then 10% of records will be returned. Sampling is random: repeated calls will not only return different records, but likely will also vary slightly in number of returned records. When `?count=` is also specified, `count` is applied to the number of returned records, not the sampled records. So, with `sample=0.05` and `count=7`, when there is a total of 100 records available, approximately five will be returned. When there are 1000 records, seven will be returned. When there are 10,000 records, seven will be returned.
  *
- * @example 1.1.1.1
+ * @example 0.1
+ * @maximum 1
+ * @minimum 0
  */
-export type ComponentsSchemasIp = string;
+export type LogshareSample = number;
 
 /**
- * The type of the membership.
+ * Sets the (inclusive) beginning of the requested time frame. This can be a unix timestamp (in seconds or nanoseconds), or an absolute timestamp that conforms to RFC 3339. At this point in time, it cannot exceed a time in the past greater than seven days.
  *
- * @example zone
+ * @example 2018-05-20T10:00:00Z
  */
-export type ComponentsSchemasKind = 'zone' | 'account';
+export type LogshareStart = string | number;
 
 /**
- * The wirefilter expression to match devices.
+ * By default, timestamps in responses are returned as Unix nanosecond integers. The `?timestamps=` argument can be set to change the format in which response timestamps are returned. Possible values are: `unix`, `unixnano`, `rfc3339`. Note that `unix` and `unixnano` return timestamps as integers; `rfc3339` returns timestamps as strings.
  *
- * @example user.identity == "test@cloudflare.com"
- * @maxLength 500
+ * @default unixnano
+ * @example unixnano
  */
-export type ComponentsSchemasMatch = string;
+export type LogshareTimestamps = 'unix' | 'unixnano' | 'rfc3339';
+
+export type LogshareZoneIdentifier = LogshareIdentifier;
+
+export type MagicTransitApiResponseCollection = {
+  errors: MagicTransitMessages;
+  messages: MagicTransitMessages;
+  result: Record<string, any> | any[] | string | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+  result_info?: MagicTransitResultInfo;
+};
 
-export type ComponentsSchemasMember = {
-  email: EmailPuzf53IC;
-  id: CommonComponentsSchemasIdentifier;
-  name: MemberComponentsSchemasName;
+export type MagicTransitApiResponseCommon = {
+  errors: MagicTransitMessages;
+  messages: MagicTransitMessages;
+  result: Record<string, any> | any[] | string;
   /**
-   * Roles assigned to this Member.
+   * Whether the API call was successful
+   *
+   * @example true
    */
-  roles: SchemasRole[];
+  success: true;
+};
+
+export type MagicTransitApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: MagicTransitMessages;
+  messages: MagicTransitMessages;
+  result: any | null;
   /**
-   * A member's status in the organization.
+   * Whether the API call was successful
    *
-   * @example accepted
+   * @example false
    */
-  status: 'accepted' | 'invited';
+  success: false;
 };
 
 /**
- * Arbitrary JSON to be associated with a key/value pair.
- *
- * @example {"someMetadataKey": "someMetadataValue"}
+ * AS number associated with the node object.
  */
-export type ComponentsSchemasMetadata = string;
+export type MagicTransitAsn = string;
+
+export type MagicTransitColo = {
+  city?: MagicTransitColoCity;
+  name?: MagicTransitColoName;
+};
 
 /**
- * The state of the rules contained in the rule group. When `on`, the rules in the group are configurable/usable.
+ * Source colo city.
  *
- * @default on
+ * @example Denver, CO, US
  */
-export type ComponentsSchemasMode = 'on' | 'off';
+export type MagicTransitColoCity = string;
 
 /**
- * The timestamp of when the rule was last modified.
+ * Source colo name.
  *
- * @example 2014-01-01T05:20:00.12345Z
- * @format date-time
+ * @example den01
  */
-export type ComponentsSchemasModifiedOn = string;
+export type MagicTransitColoName = string;
 
-export type ComponentsSchemasModifiedTunnelsCollectionResponse = ApiResponseSingleRxxEmdsv & {
-  result?: {
-    /**
-     * @example true
-     */
-    modified?: boolean;
-    modified_interconnects?: Interconnect[];
-  };
-};
-
-export type ComponentsSchemasMonitor = {
-  allow_insecure?: AllowInsecure;
-  consecutive_down?: ConsecutiveDown;
-  consecutive_up?: ConsecutiveUp;
-  created_on?: Timestamp;
-  description?: Description329lsFZ7;
-  expected_body?: ExpectedBody;
-  expected_codes?: SchemasExpectedCodes;
-  follow_redirects?: FollowRedirects;
-  header?: Header;
-  id?: IdentifierYmSdxGUH;
-  interval?: IntervalHvanFWV2;
-  method?: Method;
-  modified_on?: Timestamp;
-  path?: Path;
-  port?: SchemasPort;
-  probe_zone?: ProbeZone;
-  retries?: RetriesGl6521CK;
-  timeout?: Timeout;
-  type?: TypeB9S5DdJI;
-};
-
-export type ComponentsSchemasMonitor2jUnhefX = {
-  allow_insecure?: AllowInsecure;
-  consecutive_down?: ConsecutiveDown;
-  consecutive_up?: ConsecutiveUp;
-  created_on?: Timestamp;
-  description?: MonitorComponentsSchemasDescription;
-  expected_body?: ExpectedBody;
-  expected_codes?: SchemasExpectedCodes;
-  follow_redirects?: FollowRedirects;
-  header?: Header;
-  id?: MonitorComponentsSchemasIdentifier;
-  interval?: IntervalLx3GfHR3;
-  method?: SchemasMethod;
-  modified_on?: Timestamp;
-  path?: Path;
-  port?: ComponentsSchemasPort;
-  probe_zone?: ProbeZone;
-  retries?: Retries7RuyOW7F;
-  timeout?: SchemasTimeout;
-  type?: MonitorComponentsSchemasType;
+export type MagicTransitColoResult = {
+  colo?: MagicTransitColo;
+  error?: MagicTransitError;
+  hops?: MagicTransitHopResult[];
+  target_summary?: MagicTransitTargetSummary;
+  traceroute_time_ms?: MagicTransitTracerouteTimeMs;
 };
 
 /**
- * The name of the interconnect. The name cannot share a name with other tunnels.
+ * If no source colo names specified, all colos will be used. China colos are unavailable for traceroutes.
  *
- * @example pni_ord
+ * @example den
+ * @example sin
  */
-export type ComponentsSchemasName = string;
+export type MagicTransitColos = string[];
 
 /**
- * The name of the Device Posture Integration.
+ * Errors resulting from collecting traceroute from colo to target.
  *
- * @example My Workspace One Integration
+ * @example
  */
-export type ComponentsSchemasNameKTVvRGKN = string;
+export type MagicTransitError =
+  | ''
+  | 'Could not gather traceroute data: Code 1'
+  | 'Could not gather traceroute data: Code 2'
+  | 'Could not gather traceroute data: Code 3'
+  | 'Could not gather traceroute data: Code 4';
+
+export type MagicTransitHopResult = {
+  /**
+   * An array of node objects.
+   */
+  nodes?: MagicTransitNodeResult[];
+  packets_lost?: MagicTransitPacketsLost;
+  packets_sent?: MagicTransitPacketsSent;
+  packets_ttl?: MagicTransitPacketsTtl;
+};
 
 /**
- * Role Name.
+ * Identifier
  *
- * @example Organization Admin
- * @maxLength 120
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type ComponentsSchemasNameWXo9HKYH = string;
+export type MagicTransitIdentifier = string;
 
 /**
- * The name of the Rule.
- *
- * @example block bad websites
+ * IP address of the node.
  */
-export type ComponentsSchemasNameDiPhdb0D = string;
+export type MagicTransitIp = string;
 
 /**
- * The DNS hostname to associate with your Load Balancer. If this hostname already exists as a DNS record in Cloudflare's DNS, the Load Balancer will take precedence and the DNS record will not be used.
- *
- * @example www.example.com
+ * Field appears if there is an additional annotation printed when the probe returns. Field also appears when running a GRE+ICMP traceroute to denote which traceroute a node comes from.
  */
-export type ComponentsSchemasNamePmZCIPld = string;
+export type MagicTransitLabels = string[];
 
 /**
- * The name of the peer.
- *
- * @example my-peer-1
+ * Maximum RTT in ms.
  */
-export type ComponentsSchemasNameT0FRMejA = string;
+export type MagicTransitMaxRttMs = number;
 
 /**
- * The name of the Access group.
+ * Max TTL.
  *
- * @example Allow devs
+ * @default 15
+ * @maximum 64
+ * @minimum 0
  */
-export type ComponentsSchemasNameUYr2s0a0 = string;
+export type MagicTransitMaxTtl = number;
 
 /**
- * Update enablement of Smart Tiered Cache
+ * Mean RTT in ms.
  */
-export type ComponentsSchemasPatch = {
-  value: TieredCacheSmartTopologyApiComponentsSchemasValue;
-};
+export type MagicTransitMeanRttMs = number;
 
-/**
- * A pattern that matches an entry
- */
-export type ComponentsSchemasPattern = {
-  /**
-   * The regex pattern.
-   *
-   * @example ^4[0-9]{6,14}$
-   */
-  regex: string;
+export type MagicTransitMessages = {
   /**
-   * Validation algorithm for the pattern. This algorithm will get run on potential matches, and if it returns false, the entry will not be matched.
-   *
-   * @example luhn
+   * @minimum 1000
    */
-  validation?: 'luhn';
-};
+  code: number;
+  message: string;
+}[];
 
 /**
- * When true, indicates that the firewall rule is currently paused.
- *
- * @example false
+ * Minimum RTT in ms.
  */
-export type ComponentsSchemasPaused = boolean;
+export type MagicTransitMinRttMs = number;
 
 /**
- * Number of results per page of results.
- *
- * @example 20
+ * Host name of the address, this may be the same as the IP address.
  */
-export type ComponentsSchemasPerPage = number;
+export type MagicTransitName = string;
 
-export type ComponentsSchemasPolicies = {
-  alert_type?: AlertType;
-  created?: Timestamp;
-  description?: PoliciesComponentsSchemasDescription;
-  enabled?: PoliciesComponentsSchemasEnabled;
-  filters?: ComponentsSchemasFilters;
-  id?: Uuid;
-  mechanisms?: Mechanisms;
-  modified?: Timestamp;
-  name?: PoliciesComponentsSchemasName2;
+/**
+ * @example {"asn":"AS13335","ip":"1.1.1.1","max_latency_ms":0.034,"mean_latency_ms":0.021,"min_latency_ms":0.014,"name":"one.one.one.one","packet_count":3,"std_dev_latency_ms":0.011269427669584647}
+ */
+export type MagicTransitNodeResult = {
+  asn?: MagicTransitAsn;
+  ip?: MagicTransitIp;
+  labels?: MagicTransitLabels;
+  max_rtt_ms?: MagicTransitMaxRttMs;
+  mean_rtt_ms?: MagicTransitMeanRttMs;
+  min_rtt_ms?: MagicTransitMinRttMs;
+  name?: MagicTransitName;
+  packet_count?: MagicTransitPacketCount;
+  std_dev_rtt_ms?: MagicTransitStdDevRttMs;
 };
 
 /**
- * The port number to connect to for the health check. Required for TCP, UDP, and SMTP checks. HTTP and HTTPS checks should only define the port when using a non-standard port (HTTP: default 80, HTTPS: default 443).
- *
- * @default 0
+ * @example {"max_ttl":15,"packet_type":"icmp"}
  */
-export type ComponentsSchemasPort = number;
+export type MagicTransitOptions = {
+  max_ttl?: MagicTransitMaxTtl;
+  packet_type?: MagicTransitPacketType;
+  packets_per_ttl?: MagicTransitPacketsPerTtl;
+  port?: MagicTransitPort;
+  wait_time?: MagicTransitWaitTime;
+};
 
 /**
- * The relative priority of the current URI-based WAF override when multiple overrides match a single URL. A lower number indicates higher priority. Higher priority overrides may overwrite values set by lower priority overrides.
+ * Number of packets with a response from this node.
+ */
+export type MagicTransitPacketCount = number;
+
+/**
+ * Type of packet sent.
  *
- * @example 1
- * @maximum 1000000000
- * @minimum -1000000000
+ * @default icmp
+ * @example icmp
  */
-export type ComponentsSchemasPriority = number;
+export type MagicTransitPacketType = 'icmp' | 'tcp' | 'udp' | 'gre' | 'gre+icmp';
 
 /**
- * The private key for the certificate
- * 
- * @example -----BEGIN PRIVATE KEY-----
-MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDEXDkcICRU3XBv9hiiPnBWIjgTQyowmVFxDr11mONgZB/cMYjE/OvQjvnpwNcOaSK16MOpAjNbELKRx2lZiVJaLRDCccqCxXwP/CrdRChcqGzo7mbNksMlcidrErb0LlEBKLFC2QjRmRKqB+YOs4TD8WsZu2S667A2fZmjRlaqOxFi1h62ee0P+TLU628UC/nl41JifSt5Evt7hMDHakemdwZblNYr2p6T3NQjdhjYXTtP4UmOGJBhJ7i7Kicg3d3CIgdTMbggSeGWqjndr4ldVnD96FN3cVT5uDFsn2CJXTFgdeBWoUnMS4VnUZzPWGf4vSBXC8qV7Ls+w46yT7T1AgMBAAECggEAQZnp/oqCeNPOR6l5S2L+1tfx0gWjZ78hJVteUpZ0iHSK7F6kKeOxyOird7vUXV0kmo+cJq+0hp0Ke4eam640FCpwKfYoSQ4/R3vgujGWJnaihCN5tv5sMet0XeJPuz5qE7ALoKCvwI6aXLHs20aAeZIDTQJ9QbGSGnJVzOWn+JDTidIgZpN57RpXfSAwnJPTQK/PN8i5z108hsaDOdEgGmxYZ7kYqMqzX20KXmth58LDfPixs5JGtS60iiKC/wOcGzkB2/AdTSojR76oEU77cANP/3zO25NG//whUdYlW0t0d7PgXxIeJe+xgYnamDQJx3qonVyt4H77ha0ObRAj9QKBgQDicZr+VTwFMnELP3a+FXGnjehRiuS1i7MXGKxNweCD+dFlML0FplSQS8Ro2n+d8lu8BBXGx0qm6VXu8Rhn7TAUL6q+PCgfarzxfIhacb/TZCqfieIHsMlVBfhV5HCXnk+kis0tuC/PRArcWTwDHJUJXkBhvkUsNswvQzavDPI7KwKBgQDd/WgLkj7A3X5fgIHZH/GbDSBiXwzKb+rF4ZCT2XFgG/OAW7vapfcX/w+v+5lBLyrocmOAS3PGGAhM5T3HLnUCQfnK4qgps1Lqibkc9Tmnsn60LanUjuUMsYv/zSw70tozbzhJ0pioEpWfRxRZBztO2Rr8Ntm7h6Fk701EXGNAXwKBgQCD1xsjy2J3sCerIdcz0u5qXLAPkeuZW+34m4/ucdwTWwc0gEz9lhsULFj9p4G351zLuiEnq+7mAWLcDJlmIO3mQt6JhiLiL9Y0T4pgBmxmWqKKYtAsJB0EmMY+1BNN44mBRqMxZFTJu1cLdhT/xstrOeoIPqytknYNanfTMZlzIwKBgHrLXe5oq0XMP8dcMneEcAUwsaU4pr6kQd3L9EmUkl5zl7J9C+DaxWAEuwzBw/iGutlxzRB+rD/7szu14wJ29EqXbDGKRzMp+se5/yfBjm7xEZ1hVPw7PwBShfqt57X/4Ktq7lwHnmH6RcGhc+P7WBc5iO/S94YAdIp8xOT3pf9JAoGAE0QkqJUY+5Mgr+fBO0VNV72ZoPveGpW+De59uhKAOnu1zljQCUtk59m6+DXfm0tNYKtawa5n8iN71Zh+s62xXSt3pYi1Y5CCCmv8Y4BhwIcPwXKk3zEvLgSHVTpC0bayA9aSO4bbZgVXa5w+Z0w/vvfp9DWo1IS3EnQRrz6WMYA=
------END PRIVATE KEY-----
+ * Number of packets where no response was received.
  */
-export type ComponentsSchemasPrivateKey = string;
+export type MagicTransitPacketsLost = number;
 
 /**
- * The reference of the rule (the rule ID by default).
+ * Number of packets sent at each TTL.
  *
- * @example my_ref
+ * @default 3
+ * @maximum 10
+ * @minimum 0
  */
-export type ComponentsSchemasRef = string;
-
-export type ComponentsSchemasResponse = ApiResponseCollection & {
-  result?: IpList[];
-};
-
-export type ComponentsSchemasResponseCollection = ApiResponseCollection & {
-  result?: AddressMaps[];
-};
-
-export type ComponentsSchemasResponseCollection8mHxL6ja = ApiResponseCollection & {
-  result?: RulesLzz0wOUq[];
-};
-
-export type ComponentsSchemasResponseCollectionPyBuRAaz = ApiResponseCollection & {
-  result?: DeviceManagedNetworks[];
-};
-
-export type ComponentsSchemasResponseCollectionW5oRiKX6 = ApiResponseCollection & {
-  result?: ServiceTokens[];
-};
-
-export type ComponentsSchemasResponseCollectionEULMBMTa = ApiResponseCollection & {
-  result?: Analytics[];
-};
-
-export type ComponentsSchemasResponseCollectionLs4R2ehK = ApiResponseCollection & {
-  result?: Record<string, any>[];
-};
-
-export type ComponentsSchemasResponseCollectionPvo6FynM = ApiResponseCollection & {
-  result?: Acl[];
-};
+export type MagicTransitPacketsPerTtl = number;
 
 /**
- * Metrics on Workers KV requests.
+ * Number of packets sent with specified TTL.
  */
-export type ComponentsSchemasResult = {
-  /**
-   * @example {"metrics":[[2,4],[16,32]]}
-   */
-  data:
-    | {
-        /**
-         * List of metrics returned by the query.
-         */
-        metrics: any[];
-      }[]
-    | null;
-  /**
-   * Number of seconds between current time and last processed event, i.e. how many seconds of data could be missing.
-   *
-   * @example 0
-   * @minimum 0
-   */
-  data_lag: number;
-  /**
-   * Maximum results for each metric.
-   *
-   * @example {"storedBytes":32,"storedKeys":4}
-   */
-  max: void;
-  /**
-   * Minimum results for each metric.
-   *
-   * @example {"storedBytes":16,"storedKeys":2}
-   */
-  min: void;
-  query: QueryLWVM8wx5;
-  /**
-   * Total number of rows in the result.
-   *
-   * @example 2
-   * @minimum 0
-   */
-  rows: number;
-  /**
-   * Total results for metrics across all data.
-   *
-   * @example {"storedBytes":48,"storedKeys":6}
-   */
-  totals: void;
-};
+export type MagicTransitPacketsSent = number;
 
-export type ComponentsSchemasRule = AnomalyRule | TraditionalDenyRule | TraditionalAllowRule;
+/**
+ * The time to live (TTL).
+ */
+export type MagicTransitPacketsTtl = number;
 
 /**
- * BETA Field Not General Access: A list of rules for this load balancer to execute.
+ * For UDP and TCP, specifies the destination port. For ICMP, specifies the initial ICMP sequence value. Default value 0 will choose the best value to use for each protocol.
+ *
+ * @default 0
+ * @maximum 65535
+ * @minimum 0
  */
-export type ComponentsSchemasRules = {
-  /**
-   * The condition expressions to evaluate. If the condition evaluates to true, the overrides or fixed_response in this rule will be applied. An empty condition is always true. For more details on condition expressions, please see https://developers.cloudflare.com/load-balancing/understand-basics/load-balancing-rules/expressions.
-   *
-   * @example http.request.uri.path contains "/testing"
-   */
-  condition?: string;
+export type MagicTransitPort = number;
+
+export type MagicTransitResultInfo = {
   /**
-   * Disable this specific rule. It will no longer be evaluated by this load balancer.
+   * Total number of results for the requested service
    *
-   * @default false
-   */
-  disabled?: boolean;
-  /**
-   * A collection of fields used to directly respond to the eyeball instead of routing to a pool. If a fixed_response is supplied the rule will be marked as terminates.
+   * @example 1
    */
-  fixed_response?: {
-    /**
-     * The http 'Content-Type' header to include in the response.
-     *
-     * @example application/json
-     * @maxLength 32
-     */
-    content_type?: string;
-    /**
-     * The http 'Location' header to include in the response.
-     *
-     * @example www.example.com
-     * @maxLength 2048
-     */
-    location?: string;
-    /**
-     * Text to include as the http body.
-     *
-     * @example Testing Hello
-     * @maxLength 1024
-     */
-    message_body?: string;
-    /**
-     * The http status code to respond with.
-     */
-    status_code?: number;
-  };
+  count?: number;
   /**
-   * Name of this rule. Only used for human readability.
+   * Current page within paginated list of results
    *
-   * @example route the path /testing to testing datacenter.
-   * @maxLength 200
-   */
-  name?: string;
-  /**
-   * A collection of overrides to apply to the load balancer when this rule's condition is true. All fields are optional.
+   * @example 1
    */
-  overrides?: {
-    adaptive_routing?: AdaptiveRouting;
-    country_pools?: CountryPools;
-    default_pools?: DefaultPools;
-    fallback_pool?: FallbackPool;
-    location_strategy?: LocationStrategy;
-    pop_pools?: PopPools;
-    random_steering?: RandomSteering;
-    region_pools?: RegionPools;
-    session_affinity?: SessionAffinity;
-    session_affinity_attributes?: SessionAffinityAttributes;
-    session_affinity_ttl?: SessionAffinityTtl;
-    steering_policy?: SteeringPolicy;
-    ttl?: TtlXvgb35JN;
-  };
+  page?: number;
   /**
-   * The order in which rules should be executed in relation to each other. Lower values are executed first. Values do not need to be sequential. If no value is provided for any rule the array order of the rules field will be used to assign a priority.
+   * Number of results per page of results
    *
-   * @default 0
+   * @example 20
    */
-  priority?: number;
+  per_page?: number;
   /**
-   * If this rule's condition is true, this causes rule evaluation to stop after processing this rule.
+   * Total results available without any search parameters
    *
-   * @default false
+   * @example 2000
    */
-  terminates?: boolean;
-}[];
+  total_count?: number;
+};
+
+/**
+ * Standard deviation of the RTTs in ms.
+ */
+export type MagicTransitStdDevRttMs = number;
+
+/**
+ * The target hostname, IPv6, or IPv6 address.
+ *
+ * @example 1.1.1.1
+ */
+export type MagicTransitTarget = string;
+
+export type MagicTransitTargetResult = {
+  colos?: MagicTransitColoResult[];
+  target?: MagicTransitTarget;
+};
+
+/**
+ * Aggregated statistics from all hops about the target.
+ *
+ * @example {"asn":"","ip":"1.1.1.1","max_latency_ms":0.034,"mean_latency_ms":0.021,"min_latency_ms":0.014,"name":"1.1.1.1","packet_count":3,"std_dev_latency_ms":0.011269427669584647}
+ */
+export type MagicTransitTargetSummary = Record<string, any>;
 
-export type ComponentsSchemasRuleset = {
+/**
+ * @example 203.0.113.1
+ * @example cloudflare.com
+ * @maxLength 10
+ */
+export type MagicTransitTargets = string[];
+
+export type MagicTransitTracerouteResponseCollection = MagicTransitApiResponseCollection & {
+  result?: MagicTransitTargetResult[];
+};
+
+/**
+ * Total time of traceroute in ms.
+ */
+export type MagicTransitTracerouteTimeMs = number;
+
+/**
+ * Set the time (in seconds) to wait for a response to a probe.
+ *
+ * @default 1
+ * @maximum 5
+ * @minimum 1
+ */
+export type MagicTransitWaitTime = number;
+
+/**
+ * @example 6f91088a406011ed95aed352566e8d4c
+ */
+export type MagicVisibilityMnmAccountIdentifier = string;
+
+export type MagicVisibilityMnmApiResponseCollection = {
+  errors: MagicVisibilityMnmMessages;
+  messages: MagicVisibilityMnmMessages;
+  result: Record<string, any> | any[] | string | null;
   /**
-   * @example
+   * Whether the API call was successful
+   *
+   * @example true
    */
-  description?: void;
+  success: true;
+  result_info?: MagicVisibilityMnmResultInfo;
+};
+
+export type MagicVisibilityMnmApiResponseCommon = {
+  errors: MagicVisibilityMnmMessages;
+  messages: MagicVisibilityMnmMessages;
+  result: Record<string, any> | any[] | string;
   /**
-   * @example 2f2feab2026849078ba485f918791bdc
+   * Whether the API call was successful
+   *
+   * @example true
    */
-  id?: void;
+  success: true;
+};
+
+export type MagicVisibilityMnmApiResponseCommonFailure = {
   /**
-   * @example zone
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
    */
-  kind?: void;
+  errors: MagicVisibilityMnmMessages;
+  messages: MagicVisibilityMnmMessages;
+  result: any | null;
   /**
-   * @example default
+   * Whether the API call was successful
+   *
+   * @example false
    */
-  name?: void;
+  success: false;
+};
+
+export type MagicVisibilityMnmApiResponseSingle = {
+  errors: MagicVisibilityMnmMessages;
+  messages: MagicVisibilityMnmMessages;
+  result: (Record<string, any> | null) | (string | null) | string;
   /**
-   * @example http_request_dynamic_redirect
+   * Whether the API call was successful
+   *
+   * @example true
    */
-  phase?: void;
+  success: true;
+};
+
+export type MagicVisibilityMnmMessages = {
   /**
-   * The rules in the ruleset.
+   * @minimum 1000
    */
-  rules?: DynamicRedirectRulesComponentsSchemasRule[];
+  code: number;
+  message: string;
+}[];
+
+export type MagicVisibilityMnmMnmConfig = {
+  default_sampling: MagicVisibilityMnmMnmConfigDefaultSampling;
+  name: MagicVisibilityMnmMnmConfigName;
+  router_ips: MagicVisibilityMnmMnmConfigRouterIps;
+  warp_devices: MagicVisibilityMnmMnmConfigWarpDevices;
 };
 
 /**
- * The serial number on the created Client Certificate.
+ * Fallback sampling rate of flow messages being sent in packets per second. This should match the packet sampling rate configured on the router.
  *
- * @example 3bb94ff144ac567b9f75ad664b6c55f8d5e48182
+ * @default 1
+ * @minimum 1
  */
-export type ComponentsSchemasSerialNumber = string;
+export type MagicVisibilityMnmMnmConfigDefaultSampling = number;
 
 /**
- * The device serial number.
+ * The account name.
  *
- * @example EXAMPLEHMD6R
+ * @example cloudflare user's account
  */
-export type ComponentsSchemasSerialNumberMLjjvVe3 = string;
+export type MagicVisibilityMnmMnmConfigName = string;
 
 /**
- * The type of hash used for the Client Certificate..
+ * IPv4 CIDR of the router sourcing flow data. Only /32 addresses are currently supported.
  *
- * @example SHA256WithRSA
+ * @example 203.0.113.1
  */
-export type ComponentsSchemasSignature = string;
+export type MagicVisibilityMnmMnmConfigRouterIp = string;
 
-export type ComponentsSchemasSingleResponse = ApiResponseSingleZ04EBmfK & {
-  result?: AddressMaps;
+export type MagicVisibilityMnmMnmConfigRouterIps = MagicVisibilityMnmMnmConfigRouterIp[];
+
+export type MagicVisibilityMnmMnmConfigSingleResponse = MagicVisibilityMnmApiResponseSingle & {
+  result?: MagicVisibilityMnmMnmConfig;
 };
 
-export type ComponentsSchemasSingleResponse0LJKBZJ0 = ApiResponseSingleUl1k90Mw & {
+/**
+ * Object representing a warp device with an ID and name.
+ */
+export type MagicVisibilityMnmMnmConfigWarpDevice = {
   /**
-   * A list of countries and subdivisions mapped to a region.
+   * Unique identifier for the warp device.
    *
-   * @example {"iso_standard":"Country and subdivision codes follow ISO 3166-1 alpha-2 and ISO 3166-2","regions":[{"countries":[{"country_code_a2":"CA","country_name":"Canada","country_subdivisions":[{"subdivision_code_a2":"AB","subdivision_name":"Alberta"},{"subdivision_code_a2":"BC","subdivision_name":"British Columbia"}]},{"country_code_a2":"HT","country_name":"Haiti"},{"country_code_a2":"MX","country_name":"Mexico"},{"country_code_a2":"US","country_name":"United States","country_subdivisions":[{"subdivision_code_a2":"AZ","subdivision_name":"Arizona"},{"subdivision_code_a2":"CA","subdivision_name":"California"},{"subdivision_code_a2":"CO","subdivision_name":"Colorado"},{"subdivision_code_a2":"HI","subdivision_name":"Hawaii"},{"subdivision_code_a2":"MN","subdivision_name":"Minnesota"},{"subdivision_code_a2":"MO","subdivision_name":"Missouri"},{"subdivision_code_a2":"NV","subdivision_name":"Nevada"},{"subdivision_code_a2":"OR","subdivision_name":"Oregon"},{"subdivision_code_a2":"TX","subdivision_name":"Texas"},{"subdivision_code_a2":"UT","subdivision_name":"Utah"},{"subdivision_code_a2":"WA","subdivision_name":"Washington"}]}],"region_code":"WNAM"}]}
+   * @example 5360368d-b351-4791-abe1-93550dabd351
    */
-  result?: Record<string, any>;
+  id: string;
+  /**
+   * Name of the warp device.
+   *
+   * @example My warp device
+   */
+  name: string;
+  /**
+   * IPv4 CIDR of the router sourcing flow data associated with this warp device. Only /32 addresses are currently supported.
+   *
+   * @example 203.0.113.1
+   */
+  router_ip: string;
 };
 
-export type ComponentsSchemasSingleResponse1a4d0nCA = ApiResponseSingleWkFwqHKI & {
-  result?: Acl;
-};
+export type MagicVisibilityMnmMnmConfigWarpDevices = MagicVisibilityMnmMnmConfigWarpDevice[];
 
-export type ComponentsSchemasSingleResponseAo9BXUmS = ApiResponseSingleKLIlNaxV & {
-  result?: Groups;
-};
+export type MagicVisibilityMnmMnmRule = {
+  automatic_advertisement: MagicVisibilityMnmMnmRuleAutomaticAdvertisement;
+  bandwidth_threshold?: MagicVisibilityMnmMnmRuleBandwidthThreshold;
+  duration: MagicVisibilityMnmMnmRuleDuration;
+  id?: MagicVisibilityMnmRuleIdentifier;
+  name: MagicVisibilityMnmMnmRuleName;
+  packet_threshold?: MagicVisibilityMnmMnmRulePacketThreshold;
+  prefixes: MagicVisibilityMnmMnmRuleIpPrefixes;
+} | null;
 
-export type ComponentsSchemasSingleResponseIAPm1A0c = ApiResponseSingleI8cJ1fX8 & {
-  result?: DeviceManagedNetworks;
-};
+export type MagicVisibilityMnmMnmRuleAdvertisableResponse = {
+  automatic_advertisement: MagicVisibilityMnmMnmRuleAutomaticAdvertisement;
+} | null;
 
-export type ComponentsSchemasSingleResponseTtXC0WGS = ApiResponseSingleVxjnpV7r & {
-  result?: RulesLzz0wOUq;
+export type MagicVisibilityMnmMnmRuleAdvertisementSingleResponse = MagicVisibilityMnmApiResponseSingle & {
+  result?: MagicVisibilityMnmMnmRuleAdvertisableResponse;
 };
 
-export type ComponentsSchemasSingleResponseWAHJUoBY = ApiResponseSingleLarS7owG & {
-  result?: MonitorHN4sJkEF;
-};
+/**
+ * Toggle on if you would like Cloudflare to automatically advertise the IP Prefixes within the rule via Magic Transit when the rule is triggered. Only available for users of Magic Transit.
+ *
+ * @example false
+ */
+export type MagicVisibilityMnmMnmRuleAutomaticAdvertisement = boolean | null;
 
 /**
- * The custom page state.
+ * The number of bits per second for the rule. When this value is exceeded for the set duration, an alert notification is sent. Minimum of 1 and no maximum.
  *
- * @example default
+ * @example 1000
+ * @minimum 1
  */
-export type ComponentsSchemasState = 'default' | 'customized';
+export type MagicVisibilityMnmMnmRuleBandwidthThreshold = number;
 
 /**
- * Status of the hostname's activation.
+ * The amount of time that the rule threshold must be exceeded to send an alert notification. The final value must be equivalent to one of the following 8 values ["1m","5m","10m","15m","20m","30m","45m","60m"]. The format is AhBmCsDmsEusFns where A, B, C, D, E and F durations are optional; however at least one unit must be provided.
  *
- * @example pending
+ * @default 1m
+ * @example 300s
  */
-export type ComponentsSchemasStatus =
-  | 'active'
-  | 'pending'
-  | 'active_redeploying'
-  | 'moved'
-  | 'pending_deletion'
-  | 'deleted'
-  | 'pending_blocked'
-  | 'pending_migration'
-  | 'pending_provisioned'
-  | 'test_pending'
-  | 'test_active'
-  | 'test_active_apex'
-  | 'test_blocked'
-  | 'test_failed'
-  | 'provisioned'
-  | 'blocked';
+export type MagicVisibilityMnmMnmRuleDuration = string;
 
 /**
- * Whether the user is a member of the organization or has an inivitation pending.
+ * The IP prefixes that are monitored for this rule. Must be a CIDR range like 203.0.113.0/24. Max 5000 different CIDR ranges.
  *
- * @example member
+ * @example 203.0.113.1/32
  */
-export type ComponentsSchemasStatusMKwOT5XZ = 'member' | 'invited';
+export type MagicVisibilityMnmMnmRuleIpPrefix = string;
 
-export type ComponentsSchemasTunnelModifiedResponse = ApiResponseSingleRxxEmdsv & {
-  result?: {
-    /**
-     * @example true
-     */
-    modified?: boolean;
-    modified_interconnect?: Record<string, any>;
-  };
+export type MagicVisibilityMnmMnmRuleIpPrefixes = MagicVisibilityMnmMnmRuleIpPrefix[];
+
+/**
+ * The name of the rule. Must be unique. Supports characters A-Z, a-z, 0-9, underscore (_), dash (-), period (.), and tilde (~). You can’t have a space in the rule name. Max 256 characters.
+ *
+ * @example my_rule_1
+ */
+export type MagicVisibilityMnmMnmRuleName = string;
+
+/**
+ * The number of packets per second for the rule. When this value is exceeded for the set duration, an alert notification is sent. Minimum of 1 and no maximum.
+ *
+ * @example 10000
+ * @minimum 1
+ */
+export type MagicVisibilityMnmMnmRulePacketThreshold = number;
+
+export type MagicVisibilityMnmMnmRulesCollectionResponse = MagicVisibilityMnmApiResponseCollection & {
+  result?: MagicVisibilityMnmMnmRule[] | null;
 };
 
-export type ComponentsSchemasTunnelSingleResponse = ApiResponseSingleRxxEmdsv & {
-  result?: {
-    interconnect?: Record<string, any>;
-  };
+export type MagicVisibilityMnmMnmRulesSingleResponse = MagicVisibilityMnmApiResponseSingle & {
+  result?: MagicVisibilityMnmMnmRule;
+};
+
+export type MagicVisibilityMnmResultInfo = {
+  /**
+   * Total number of results for the requested service
+   *
+   * @example 1
+   */
+  count?: number;
+  /**
+   * Current page within paginated list of results
+   *
+   * @example 1
+   */
+  page?: number;
+  /**
+   * Number of results per page of results
+   *
+   * @example 20
+   */
+  per_page?: number;
+  /**
+   * Total results available without any search parameters
+   *
+   * @example 2000
+   */
+  total_count?: number;
+};
+
+/**
+ * The id of the rule. Must be unique.
+ *
+ * @example 2890e6fa406311ed9b5a23f70f6fb8cf
+ */
+export type MagicVisibilityMnmRuleIdentifier = string;
+
+export type MagicVisibilityPcapsApiResponseCollection = {
+  errors: MagicVisibilityPcapsMessages;
+  messages: MagicVisibilityPcapsMessages;
+  result: Record<string, any> | any[] | string | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+  result_info?: MagicVisibilityPcapsResultInfo;
 };
 
-export type ComponentsSchemasTunnelUpdateRequest = {
-  description?: InterconnectComponentsSchemasDescription;
-  gre?: Gre;
-  health_check?: SchemasHealthCheck;
-  interface_address?: InterfaceAddress;
-  mtu?: SchemasMtu;
+export type MagicVisibilityPcapsApiResponseCommon = {
+  errors: MagicVisibilityPcapsMessages;
+  messages: MagicVisibilityPcapsMessages;
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
 };
 
-export type ComponentsSchemasTunnelsCollectionResponse = ApiResponseSingleRxxEmdsv & {
-  result?: {
-    interconnects?: Interconnect[];
-  };
+export type MagicVisibilityPcapsApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: MagicVisibilityPcapsMessages;
+  messages: MagicVisibilityPcapsMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type MagicVisibilityPcapsApiResponseSingle = {
+  errors: MagicVisibilityPcapsMessages;
+  messages: MagicVisibilityPcapsMessages;
+  result: Record<string, any> | string | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
 };
 
 /**
- * The type of Device Managed Network.
+ * Identifier
  *
- * @example tls
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type ComponentsSchemasType = 'tls';
+export type MagicVisibilityPcapsIdentifier = string;
 
-/**
- * The type 'legacy_custom' enables support for legacy clients which do not include SNI in the TLS handshake.
- *
- * @default legacy_custom
- * @example sni_custom
- */
-export type ComponentsSchemasType0YGATrqi = 'legacy_custom' | 'sni_custom';
+export type MagicVisibilityPcapsMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
 
 /**
- * End date and time of requesting data period in the ISO8601 format.
+ * The maximum number of bytes to capture. This field only applies to `full` packet captures.
  *
- * @example 2016-11-11T13:00:00Z
- * @format date-time
+ * @example 500000
+ * @maximum 1000000000
+ * @minimum 1
  */
-export type ComponentsSchemasUntil = string;
+export type MagicVisibilityPcapsPcapsByteLimit = number;
 
-/**
- * Last updated.
- *
- * @example 2018-08-28T17:26:26Z
- * @format date-time
- */
-export type ComponentsSchemasUpdatedAt = string;
+export type MagicVisibilityPcapsPcapsCollectionResponse = MagicVisibilityPcapsApiResponseCollection & {
+  result?: (MagicVisibilityPcapsPcapsResponseSimple | MagicVisibilityPcapsPcapsResponseFull)[];
+};
 
 /**
- * The time when the certificate was uploaded.
+ * The name of the data center used for the packet capture. This can be a specific colo (ord02) or a multi-colo name (ORD). This field only applies to `full` packet captures.
  *
- * @example 2019-10-28T18:11:23.37411Z
- * @format date-time
+ * @example ord02
  */
-export type ComponentsSchemasUploadedOn = string;
+export type MagicVisibilityPcapsPcapsColoName = string;
 
 /**
- * URL(s) to filter submissions results by
+ * The full URI for the bucket. This field only applies to `full` packet captures.
  *
- * @example https://www.cloudflare.com
- * @format uri
+ * @example s3://pcaps-bucket?region=us-east-1
  */
-export type ComponentsSchemasUrl = string;
+export type MagicVisibilityPcapsPcapsDestinationConf = string;
 
 /**
- * The policy ID.
+ * An error message that describes why the packet capture failed. This field only applies to `full` packet captures.
  *
- * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
- * @maxLength 36
+ * @example No packets matched the filter in the time limit given. Please modify the filter or try again.
  */
-export type ComponentsSchemasUuid = string;
+export type MagicVisibilityPcapsPcapsErrorMessage = string;
 
 /**
- * UUID
- *
- * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
- * @maxLength 36
+ * The packet capture filter. When this field is empty, all packets are captured.
  */
-export type ComponentsSchemasUuid2bGv7FH2 = string;
-
-export type ComponentsSchemasValidationMethod = {
-  validation_method: ValidationMethodDefinition;
+export type MagicVisibilityPcapsPcapsFilterV1 = {
+  /**
+   * The destination IP address of the packet.
+   *
+   * @example 1.2.3.4
+   */
+  destination_address?: string;
+  /**
+   * The destination port of the packet.
+   *
+   * @example 80
+   */
+  destination_port?: number;
+  /**
+   * The protocol number of the packet.
+   *
+   * @example 6
+   */
+  protocol?: number;
+  /**
+   * The source IP address of the packet.
+   *
+   * @example 1.2.3.4
+   */
+  source_address?: string;
+  /**
+   * The source port of the packet.
+   *
+   * @example 123
+   */
+  source_port?: number;
 };
 
 /**
- * The number of days the Client Certificate will be valid after the issued_on date
+ * The ID for the packet capture.
  *
- * @example 3650
+ * @example 66802ca5668e47a2b82c2e6746e45037
+ * @maxLength 32
+ * @minLength 32
  */
-export type ComponentsSchemasValidityDays = number;
+export type MagicVisibilityPcapsPcapsId = string;
 
 /**
- * Enables Tiered Caching.
+ * The ownership challenge filename stored in the bucket.
  *
- * @example on
+ * @example ownership-challenge-9883874ecac311ec8475433579a6bf5f.txt
  */
-export type ComponentsSchemasValue = 'on' | 'off';
+export type MagicVisibilityPcapsPcapsOwnershipChallenge = string;
 
-/**
- * The version of the Railgun receiver.
- *
- * @example 2.1
- */
-export type ComponentsSchemasVersion = string;
+export type MagicVisibilityPcapsPcapsOwnershipCollection = MagicVisibilityPcapsApiResponseCollection & {
+  result?: MagicVisibilityPcapsPcapsOwnershipResponse[] | null;
+};
 
-export type ComponentsSchemasZone = {
-  /**
-   * The last time proof of ownership was detected and the zone was made
-   * active
-   *
-   * @example 2014-01-02T00:01:00.12345Z
-   * @format date-time
-   */
-  activated_on: string | null;
-  /**
-   * When the zone was created
-   *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
-   */
-  created_on: string;
-  /**
-   * The interval (in seconds) from when development mode expires
-   * (positive integer) or last expired (negative integer) for the
-   * domain. If development mode has never been enabled, this value is 0.
-   *
-   * @example 7200
-   */
-  development_mode: number;
-  id: CommonComponentsSchemasIdentifier;
+export type MagicVisibilityPcapsPcapsOwnershipRequest = {
+  destination_conf: MagicVisibilityPcapsPcapsDestinationConf;
+};
+
+export type MagicVisibilityPcapsPcapsOwnershipResponse = {
+  destination_conf: MagicVisibilityPcapsPcapsDestinationConf;
+  filename: MagicVisibilityPcapsPcapsOwnershipChallenge;
   /**
-   * When the zone was last modified
+   * The bucket ID associated with the packet captures API.
    *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * @example 9883874ecac311ec8475433579a6bf5f
+   * @maxLength 32
+   * @minLength 32
    */
-  modified_on: string;
+  id: string;
   /**
-   * The domain name
+   * The status of the ownership challenge. Can be pending, success or failed.
    *
-   * @example example.com
-   * @maxLength 253
-   * @pattern ^([a-zA-Z0-9][\-a-zA-Z0-9]*\.)+[\-a-zA-Z0-9]{2,20}$
+   * @example success
    */
-  name: string;
+  status: 'pending' | 'success' | 'failed';
   /**
-   * DNS host at the time of switching to Cloudflare
+   * The RFC 3339 timestamp when the bucket was added to packet captures API.
    *
-   * @example NameCheap
-   * @maxLength 50
+   * @example 2020-01-01T08:00:00Z
    */
-  original_dnshost: string | null;
+  submitted: string;
   /**
-   * Original name servers before moving to Cloudflare
-   * Notes: Is this only available for full zones?
+   * The RFC 3339 timestamp when the bucket was validated.
    *
-   * @example ns1.originaldnshost.com
-   * @example ns2.originaldnshost.com
+   * @example 2020-01-01T08:00:00Z
    */
-  original_name_servers: string[] | null;
+  validated?: string;
+};
+
+export type MagicVisibilityPcapsPcapsOwnershipSingleResponse = {
+  errors: MagicVisibilityPcapsMessages;
+  messages: MagicVisibilityPcapsMessages;
+  result: MagicVisibilityPcapsPcapsOwnershipResponse;
   /**
-   * Registrar for the domain at the time of switching to Cloudflare
+   * Whether the API call was successful
    *
-   * @example GoDaddy
+   * @example true
    */
-  original_registrar: string | null;
+  success: true;
 };
 
-export type Condition = {
-  ['request.ip']?: RequestIp;
+export type MagicVisibilityPcapsPcapsOwnershipValidateRequest = {
+  destination_conf: MagicVisibilityPcapsPcapsDestinationConf;
+  ownership_challenge: MagicVisibilityPcapsPcapsOwnershipChallenge;
 };
 
-export type Config = HostnameCertidInputKYvlDdSs[];
-
 /**
- * The parameters configuring the action.
+ * The limit of packets contained in a packet capture.
+ *
+ * @example 10000
+ * @maximum 10000
+ * @minimum 1
  */
-export type ConfigRulesComponentsSchemasActionParameters = ActionParametersSetConfig;
+export type MagicVisibilityPcapsPcapsPacketLimit = number;
 
-export type ConfigRulesComponentsSchemasRule = {
-  /**
-   * @example set_config
-   */
-  action?: void;
-  action_parameters?: ConfigRulesComponentsSchemasActionParameters;
-  /**
-   * @example enable Email Obfuscation
-   */
-  description?: void;
-  /**
-   * @example http.cookie contains "something"
-   */
-  expression?: void;
-  /**
-   * @example 3a03d665bac047339bb530ecb439a90d
-   */
-  id?: void;
-  /**
-   * @example 1
-   */
-  version?: void;
+export type MagicVisibilityPcapsPcapsRequestFull = {
+  byte_limit?: MagicVisibilityPcapsPcapsByteLimit;
+  colo_name: MagicVisibilityPcapsPcapsColoName;
+  destination_conf: MagicVisibilityPcapsPcapsDestinationConf;
+  filter_v1?: MagicVisibilityPcapsPcapsFilterV1;
+  packet_limit?: MagicVisibilityPcapsPcapsPacketLimit;
+  system: MagicVisibilityPcapsPcapsSystem;
+  time_limit: MagicVisibilityPcapsPcapsTimeLimit;
+  type: MagicVisibilityPcapsPcapsType;
 };
 
-export type ConfigRulesComponentsSchemasRuleset = {
-  /**
-   * @example
-   */
-  description?: void;
-  /**
-   * @example 2f2feab2026849078ba485f918791bdc
-   */
-  id?: void;
+export type MagicVisibilityPcapsPcapsRequestPcap =
+  | MagicVisibilityPcapsPcapsRequestSimple
+  | MagicVisibilityPcapsPcapsRequestFull;
+
+export type MagicVisibilityPcapsPcapsRequestSimple = {
+  filter_v1?: MagicVisibilityPcapsPcapsFilterV1;
+  packet_limit: MagicVisibilityPcapsPcapsPacketLimit;
+  system: MagicVisibilityPcapsPcapsSystem;
+  time_limit: MagicVisibilityPcapsPcapsTimeLimit;
+  type: MagicVisibilityPcapsPcapsType;
+};
+
+export type MagicVisibilityPcapsPcapsResponseFull = {
+  byte_limit?: MagicVisibilityPcapsPcapsByteLimit;
+  colo_name?: MagicVisibilityPcapsPcapsColoName;
+  destination_conf?: MagicVisibilityPcapsPcapsDestinationConf;
+  error_message?: MagicVisibilityPcapsPcapsErrorMessage;
+  filter_v1?: MagicVisibilityPcapsPcapsFilterV1;
+  id?: MagicVisibilityPcapsPcapsId;
+  status?: MagicVisibilityPcapsPcapsStatus;
+  submitted?: MagicVisibilityPcapsPcapsSubmitted;
+  system?: MagicVisibilityPcapsPcapsSystem;
+  time_limit?: MagicVisibilityPcapsPcapsTimeLimit;
+  type?: MagicVisibilityPcapsPcapsType;
+};
+
+export type MagicVisibilityPcapsPcapsResponseSimple = {
+  filter_v1?: MagicVisibilityPcapsPcapsFilterV1;
+  id?: MagicVisibilityPcapsPcapsId;
+  status?: MagicVisibilityPcapsPcapsStatus;
+  submitted?: MagicVisibilityPcapsPcapsSubmitted;
+  system?: MagicVisibilityPcapsPcapsSystem;
+  time_limit?: MagicVisibilityPcapsPcapsTimeLimit;
+  type?: MagicVisibilityPcapsPcapsType;
+};
+
+export type MagicVisibilityPcapsPcapsSingleResponse = MagicVisibilityPcapsApiResponseSingle & {
+  result?: MagicVisibilityPcapsPcapsResponseSimple | MagicVisibilityPcapsPcapsResponseFull;
+};
+
+/**
+ * The status of the packet capture request.
+ *
+ * @example success
+ */
+export type MagicVisibilityPcapsPcapsStatus =
+  | 'unknown'
+  | 'success'
+  | 'pending'
+  | 'running'
+  | 'conversion_pending'
+  | 'conversion_running'
+  | 'complete'
+  | 'failed';
+
+/**
+ * The RFC 3339 timestamp when the packet capture was created.
+ *
+ * @example 2020-01-01T08:00:00Z
+ */
+export type MagicVisibilityPcapsPcapsSubmitted = string;
+
+/**
+ * The system used to collect packet captures.
+ *
+ * @example magic-transit
+ */
+export type MagicVisibilityPcapsPcapsSystem = 'magic-transit';
+
+/**
+ * The packet capture duration in seconds.
+ *
+ * @example 300
+ * @maximum 300
+ * @minimum 1
+ */
+export type MagicVisibilityPcapsPcapsTimeLimit = number;
+
+/**
+ * The type of packet capture. `Simple` captures sampled packets, and `full` captures entire payloads and non-sampled packets.
+ *
+ * @example simple
+ */
+export type MagicVisibilityPcapsPcapsType = 'simple' | 'full';
+
+export type MagicVisibilityPcapsResultInfo = {
   /**
-   * @example zone
+   * Total number of results for the requested service
+   *
+   * @example 1
    */
-  kind?: void;
+  count?: number;
   /**
-   * @example default
+   * Current page within paginated list of results
+   *
+   * @example 1
    */
-  name?: void;
+  page?: number;
   /**
-   * @example http_config_settings
+   * Number of results per page of results
+   *
+   * @example 20
    */
-  phase?: void;
+  per_page?: number;
   /**
-   * The rules in the ruleset.
+   * Total results available without any search parameters
+   *
+   * @example 2000
    */
-  rules?: ConfigRulesComponentsSchemasRule[];
+  total_count?: number;
 };
 
 /**
- * @example 6f91088a406011ed95aed352566e8d4c
+ * Custom app defined for an account.
  */
-export type ConfigComponentsSchemasAccountIdentifier = void;
+export type MagicAccountApp = {
+  account_app_id: MagicAccountAppId;
+  hostnames?: MagicAppHostnames;
+  ip_subnets?: MagicAppSubnets;
+  name?: MagicAppName;
+  type?: MagicAppType;
+};
 
 /**
- * The configuration object containing third party integration information.
+ * Magic account app ID.
  *
- * @example {"api_url":"https://as123.awmdm.com/API","auth_url":"https://na.uemauth.vmwservices.com/connect/token","client_id":"example client id","client_secret":"example client secret"}
+ * @example ac60d3d0435248289d446cedd870bcf4
  */
-export type ConfigRequest =
-  | WorkspaceOneConfigRequest
-  | CrowdstrikeConfigRequest
-  | UptycsConfigRequest
-  | IntuneConfigRequest
-  | KolideConfigRequest;
+export type MagicAccountAppId = string;
 
 /**
- * The configuration object containing third party integration information.
- *
- * @example {"api_url":"https://as123.awmdm.com/API","auth_url":"https://na.uemauth.vmwservices.com/connect/token","client_id":"example client id","client_secret":"example client secret"}
+ * Bidirectional ACL policy for network traffic within a site.
  */
-export type ConfigRequestZ6i29f3i =
-  | WorkspaceOneConfigRequest
-  | CrowdstrikeConfigRequest
-  | UptycsConfigRequest
-  | IntuneConfigRequest;
+export type MagicAcl = {
+  /**
+   * Description for the ACL.
+   *
+   * @example Allows local traffic between PIN pads and cash register.
+   */
+  description?: string;
+  forward_locally?: MagicForwardLocally;
+  id?: MagicIdentifier;
+  lan_1?: MagicLanAclConfiguration;
+  lan_2?: MagicLanAclConfiguration;
+  /**
+   * The name of the ACL.
+   *
+   * @example PIN Pad - Cash Register
+   */
+  name?: string;
+  protocols?: ('tcp' | 'udp' | 'icmp')[];
+};
 
-/**
- * The configuration object containing third party integration information.
- *
- * @example {"api_url":"https://as123.awmdm.com/API","auth_url":"https://na.uemauth.vmwservices.com/connect/token","client_id":"example client id"}
- */
-export type ConfigResponse = WorkspaceOneConfigResponse;
+export type MagicAclSubnet = MagicIpAddress | MagicCidr;
 
-export type ConfigResponseSingle = ApiResponseSingleLarS7owG & {
-  result?: Record<string, any>;
+export type MagicAclDeletedResponse = MagicApiResponseSingle & {
+  result?: MagicAcl;
 };
 
-/**
- * Indicates if this is a locally or remotely configured tunnel. If `local`, manage the tunnel using a YAML file on the origin machine. If `cloudflare`, manage the tunnel on the Zero Trust dashboard or using the [Cloudflare Tunnel configuration](https://api.cloudflare.com/#cloudflare-tunnel-configuration-properties) endpoint.
- *
- * @default local
- * @example cloudflare
- */
-export type ConfigSrc = 'local' | 'cloudflare';
+export type MagicAclModifiedResponse = MagicApiResponseSingle & {
+  result?: MagicAcl;
+};
 
-/**
- * The version of the remote tunnel configuration. Used internally to sync cloudflared with the Zero Trust dashboard.
- */
-export type ConfigVersion = number;
+export type MagicAclSingleResponse = MagicApiResponseSingle & {
+  result?: MagicAcl;
+};
 
-export type Configuration = {
-  auth_id_characteristics?: Characteristics;
+export type MagicAclUpdateRequest = {
+  /**
+   * Description for the ACL.
+   *
+   * @example Allows local traffic between PIN pads and cash register.
+   */
+  description?: string;
+  forward_locally?: MagicForwardLocally;
+  lan_1?: MagicLanAclConfiguration;
+  lan_2?: MagicLanAclConfiguration;
+  /**
+   * The name of the ACL.
+   *
+   * @example PIN Pad - Cash Register
+   */
+  name?: string;
+  protocols?: ('tcp' | 'udp' | 'icmp')[];
 };
 
 /**
- * A list of IP addresses or CIDR ranges that will be allowed to access the URLs specified in the Zone Lockdown rule. You can include any number of `ip` or `ip_range` configurations.
+ * Bidirectional ACL policy for local network traffic within a site.
  */
-export type Configurations = SchemasIpConfiguration | SchemasCidrConfiguration;
+export type MagicAclsAddSingleRequest = {
+  /**
+   * Description for the ACL.
+   *
+   * @example Allows local traffic between PIN pads and cash register.
+   */
+  description?: string;
+  forward_locally?: MagicForwardLocally;
+  lan_1: MagicLanAclConfiguration;
+  lan_2: MagicLanAclConfiguration;
+  /**
+   * The name of the ACL.
+   *
+   * @example PIN Pad - Cash Register
+   */
+  name: string;
+  protocols?: ('tcp' | 'udp' | 'icmp')[];
+};
+
+export type MagicAclsCollectionResponse = MagicApiResponseSingle & {
+  result?: MagicAcl[];
+};
 
 /**
- * A flag indicating whether the given zone is connected to the Railgun.
+ * When `true`, the tunnel can use a null-cipher (`ENCR_NULL`) in the ESP tunnel (Phase 2).
  *
- * @default false
  * @example true
  */
-export type Connected = boolean;
+export type MagicAllowNullCipher = boolean;
 
-export type Connection = {
-  /**
-   * @example 2021-08-18T10:51:10.09615Z
-   */
-  added_at?: void;
-  /**
-   * @example false
-   */
-  domain_reported_malicious?: void;
-  /**
-   * @example blog.cloudflare.com/page
-   */
-  first_page_url?: void;
-  /**
-   * @example 2021-08-18T10:51:08Z
-   */
-  first_seen_at?: void;
-  /**
-   * @example blog.cloudflare.com
-   */
-  host?: void;
-  /**
-   * @example c9ef84a6bf5e47138c75d95e2f933e8f
-   */
-  id?: void;
-  /**
-   * @example 2021-09-02T09:57:54Z
-   */
-  last_seen_at?: void;
+export type MagicApiResponseCommon = {
+  errors: MagicMessages;
+  messages: MagicMessages;
+  result: Record<string, any> | any[] | string;
   /**
-   * @example blog.cloudflare.com/page1
-   * @example blog.cloudflare.com/page2
+   * Whether the API call was successful
+   *
+   * @example true
    */
-  page_urls?: void;
+  success: true;
+};
+
+export type MagicApiResponseCommonFailure = {
   /**
-   * @example https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/js/bootstrap.min.js
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
    */
-  url?: void;
+  errors: MagicMessages;
+  messages: MagicMessages;
+  result: any | null;
   /**
+   * Whether the API call was successful
+   *
    * @example false
    */
-  url_contains_cdn_cgi_path?: void;
+  success: false;
 };
 
-export type ConnectionMIE3WtIg = {
-  created_on?: ConnectionComponentsSchemasCreatedOn;
-  enabled: ConnectionComponentsSchemasEnabled;
-  id: ConnectionComponentsSchemasIdentifier;
-  modified_on?: ConnectionComponentsSchemasModifiedOn;
-  zone: ConnectionComponentsSchemasZone;
+export type MagicApiResponseSingle = {
+  errors: MagicMessages;
+  messages: MagicMessages;
+  result: (Record<string, any> | null) | (string | null) | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
 };
 
 /**
- * The IdP used to authenticate.
- *
- * @example saml
+ * Collection of Hostnames and/or IP Subnets to associate with traffic decisions.
  */
-export type ConnectionU5eyz9N8 = string;
+export type MagicApp = MagicAccountApp | MagicManagedApp;
 
-export type ConnectionCollectionResponse = ApiResponseCollection & {
-  result?: ConnectionMIE3WtIg[];
-};
+export type MagicAppAddSingleRequest =
+  | {
+      hostnames: MagicAppHostnames;
+      ip_subnets?: MagicAppSubnets;
+      name?: MagicAppName;
+      type?: MagicAppType;
+    }
+  | {
+      hostnames?: MagicAppHostnames;
+      ip_subnets: MagicAppSubnets;
+      name?: MagicAppName;
+      type?: MagicAppType;
+    };
 
 /**
- * When the connection was created.
+ * Whether to breakout traffic to the app's endpoints directly. Null preserves default behavior.
  *
- * @example 2017-06-14T00:00:00Z
- * @format date-time
+ * @example true
  */
-export type ConnectionComponentsSchemasCreatedOn = string;
+export type MagicAppBreakout = boolean;
 
 /**
- * A value indicating whether the connection is enabled or not.
- *
- * @default false
- * @example true
+ * Traffic decision configuration for an app.
+ */
+export type MagicAppConfig =
+  | {
+      account_app_id: MagicAccountAppId;
+    }
+  | {
+      managed_app_id: MagicManagedAppId;
+    };
+
+export type MagicAppConfigAddSingleRequest =
+  | (
+      | {
+          account_app_id?: MagicAccountAppId;
+        }
+      | {
+          account_app_id?: MagicAccountAppId;
+        }
+    )
+  | (
+      | {
+          managed_app_id?: MagicManagedAppId;
+        }
+      | {
+          managed_app_id?: MagicManagedAppId;
+        }
+    );
+
+export type MagicAppConfigSingleResponse = {
+  errors: MagicMessages;
+  messages: MagicMessages;
+  result: MagicAppConfig;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type MagicAppConfigUpdateRequest = {
+  account_app_id?: MagicAccountAppId;
+  breakout?: MagicAppBreakout;
+  managed_app_id?: MagicManagedAppId;
+  priority?: MagicAppPriority;
+};
+
+export type MagicAppConfigsCollectionResponse = {
+  errors: MagicMessages;
+  messages: MagicMessages;
+  result: never;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+/**
+ * FQDNs to associate with traffic decisions.
  */
-export type ConnectionComponentsSchemasEnabled = boolean;
+export type MagicAppHostnames = string[];
 
 /**
- * Connection identifier tag.
+ * Display name for the app.
  *
- * @example c4a7362d577a6c3019a474fd6f485821
- * @maxLength 32
+ * @example Cloudflare Dashboard
  */
-export type ConnectionComponentsSchemasIdentifier = string;
+export type MagicAppName = string;
 
 /**
- * When the connection was last modified.
+ * Priority of traffic. 0 is default, anything greater is prioritized. (Currently only 0 and 1 are supported)
  *
- * @example 2017-06-14T05:20:00Z
- * @format date-time
+ * @maximum 1
+ * @minimum 0
  */
-export type ConnectionComponentsSchemasModifiedOn = string;
+export type MagicAppPriority = number;
 
-export type ConnectionComponentsSchemasZone = {
-  id?: CommonComponentsSchemasIdentifier;
-  name?: ZonePropertiesName;
+export type MagicAppSingleResponse = {
+  errors: MagicMessages;
+  messages: MagicMessages;
+  result: MagicAccountApp;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
 };
 
 /**
- * UUID of the Cloudflare Tunnel connection.
+ * CIDRs to associate with traffic decisions.
+ */
+export type MagicAppSubnets = (MagicCidr & void)[];
+
+/**
+ * Category of the app.
  *
- * @example 1bedc50d-42b3-473c-b108-ff3d10c0d925
- * @maxLength 36
+ * @example Development
  */
-export type ConnectionId = string;
+export type MagicAppType = string;
 
-export type ConnectionSingleIdResponse = ConnectionSingleResponse & {
-  result?: {
-    id?: ConnectionComponentsSchemasIdentifier;
-  };
+export type MagicAppUpdateRequest =
+  | {
+      hostnames?: MagicAppHostnames;
+      ip_subnets?: MagicAppSubnets;
+      name: MagicAppName;
+      type?: MagicAppType;
+    }
+  | {
+      hostnames?: MagicAppHostnames;
+      ip_subnets?: MagicAppSubnets;
+      name?: MagicAppName;
+      type: MagicAppType;
+    }
+  | {
+      hostnames: MagicAppHostnames;
+      ip_subnets?: MagicAppSubnets;
+      name?: MagicAppName;
+      type?: MagicAppType;
+    }
+  | {
+      hostnames?: MagicAppHostnames;
+      ip_subnets: MagicAppSubnets;
+      name?: MagicAppName;
+      type?: MagicAppType;
+    };
+
+export type MagicAppsResponseArray = {
+  errors: MagicMessages;
+  messages: MagicMessages;
+  result: any[] | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
 };
 
-export type ConnectionSingleRequest = {
-  enabled?: ConnectionComponentsSchemasEnabled;
-  zone: {
-    id?: CommonComponentsSchemasIdentifier;
-  };
+export type MagicAppsResponseObject = {
+  errors: MagicMessages;
+  messages: MagicMessages;
+  result: Record<string, any> | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
 };
 
-export type ConnectionSingleResponse = ApiResponseSingleLarS7owG & {
-  result?: Record<string, any>;
+export type MagicAppsCollectionResponse = {
+  errors: MagicMessages;
+  messages: MagicMessages;
+  result: MagicApp[] | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
 };
 
 /**
- * The Cloudflare Tunnel connections between your origin and Cloudflare's edge.
+ * A valid CIDR notation representing an IP range.
+ *
+ * @example 192.0.2.0/24
  */
-export type Connections = CloudflareTunnelComponentsSchemasConnection[];
+export type MagicCidr = string;
 
 /**
- * Timestamp of when the tunnel established at least one connection to Cloudflare's edge. If `null`, the tunnel is inactive.
+ * The IP address assigned to the Cloudflare side of the GRE tunnel.
  *
- * @example 2009-11-10T23:00:00Z
- * @format date-time
+ * @example 203.0.113.1
  */
-export type ConnsActiveAt = string | null;
+export type MagicCloudflareGreEndpoint = string;
 
 /**
- * Timestamp of when the tunnel became inactive (no connections to Cloudflare's edge). If `null`, the tunnel is active.
+ * The IP address assigned to the Cloudflare side of the IPsec tunnel.
  *
- * @example 2009-11-10T23:00:00Z
- * @format date-time
+ * @example 203.0.113.1
  */
-export type ConnsInactiveAt = string | null;
+export type MagicCloudflareIpsecEndpoint = string;
 
 /**
- * To be marked unhealthy the monitored origin must fail this healthcheck N consecutive times.
+ * Scope colo name.
  *
- * @default 0
+ * @example den01
  */
-export type ConsecutiveDown = number;
+export type MagicColoName = string;
 
 /**
- * The number of consecutive fails required from a health check before changing the health to unhealthy.
- *
- * @default 1
+ * List of colo names for the ECMP scope.
  */
-export type ConsecutiveFails = number;
+export type MagicColoNames = MagicColoName[];
 
 /**
- * The number of consecutive successes required from a health check before changing the health to healthy.
+ * Scope colo region.
  *
- * @default 1
+ * @example APAC
  */
-export type ConsecutiveSuccesses = number;
+export type MagicColoRegion = string;
 
 /**
- * To be marked healthy the monitored origin must pass this healthcheck N consecutive times.
- *
- * @default 0
+ * List of colo regions for the ECMP scope.
  */
-export type ConsecutiveUp = number;
+export type MagicColoRegions = MagicColoRegion[];
 
-export type Consumer = {
-  created_on?: void;
-  environment?: void;
-  queue_name?: void;
-  service?: void;
-  settings?: {
-    batch_size?: BatchSize;
-    max_retries?: MaxRetries;
-    max_wait_time_ms?: MaxWaitTimeMs;
-  };
-};
+/**
+ * An optional description forthe IPsec tunnel.
+ *
+ * @example Tunnel for ISP X
+ */
+export type MagicComponentsSchemasDescription = string;
 
-export type ConsumerCreated = {
-  created_on?: void;
-  dead_letter_queue?: DlqName;
-  environment?: void;
-  queue_name?: void;
-  script_name?: void;
-  settings?: {
-    batch_size?: BatchSize;
-    max_retries?: MaxRetries;
-    max_wait_time_ms?: MaxWaitTimeMs;
+export type MagicComponentsSchemasModifiedTunnelsCollectionResponse = MagicApiResponseSingle & {
+  result?: {
+    /**
+     * @example true
+     */
+    modified?: boolean;
+    modified_interconnects?: MagicInterconnect[];
   };
 };
 
 /**
- * @example example-consumer
+ * The name of the interconnect. The name cannot share a name with other tunnels.
+ *
+ * @example pni_ord
  */
-export type ConsumerName = string;
+export type MagicComponentsSchemasName = string;
 
-export type ConsumerUpdated = {
-  created_on?: void;
-  /**
-   * @example updated-example-dlq
-   */
-  dead_letter_queue?: void;
-  environment?: void;
-  queue_name?: void;
-  script_name?: void;
-  settings?: {
+export type MagicComponentsSchemasTunnelModifiedResponse = MagicApiResponseSingle & {
+  result?: {
     /**
-     * @example 100
+     * @example true
      */
-    batch_size?: number;
-    max_retries?: MaxRetries;
-    max_wait_time_ms?: MaxWaitTimeMs;
+    modified?: boolean;
+    modified_interconnect?: MagicInterconnect;
   };
 };
 
-/**
- * Contact Identifier.
- *
- * @example ea95132c15732412d22c1476fa83f27a
- * @maxLength 32
- */
-export type ContactIdentifier = string;
-
-export type ContactProperties = {
-  address: SchemasAddress;
-  address2?: Address2;
-  city: City;
-  country: CountryY1YJCISK;
-  email?: EmailPuzf53IC;
-  fax?: Fax;
-  first_name: FirstName;
-  id?: ContactIdentifier;
-  last_name: LastName;
-  organization: SchemasOrganization;
-  phone: Telephone;
-  state: ContactsComponentsSchemasState;
-  zip: Zipcode;
+export type MagicComponentsSchemasTunnelSingleResponse = MagicApiResponseSingle & {
+  result?: {
+    interconnect?: MagicInterconnect;
+  };
 };
 
-export type Contacts = ContactProperties;
+export type MagicComponentsSchemasTunnelsCollectionResponse = MagicApiResponseSingle & {
+  result?: {
+    interconnects?: MagicInterconnect[];
+  };
+};
 
 /**
- * State.
+ * Magic Connector identifier tag.
  *
- * @example TX
+ * @example ac60d3d0435248289d446cedd870bcf4
  */
-export type ContactsComponentsSchemasState = string;
+export type MagicConnectorId = string;
 
 /**
- * DNS record content.
+ * When the route was created.
  *
- * @example 127.0.0.1
+ * @example 2017-06-14T00:00:00Z
+ * @format date-time
  */
-export type Content = string;
+export type MagicCreatedOn = string;
 
 /**
- * Current content categories.
+ * The IP address assigned to the customer side of the GRE tunnel.
  *
- * @example {"id":155,"name":"Technology","super_category_id":26}
+ * @example 203.0.113.1
  */
-export type ContentCategories = void;
+export type MagicCustomerGreEndpoint = string;
 
 /**
- * Behavior of the content list.
+ * The IP address assigned to the customer side of the IPsec tunnel. Not required, but must be set for proactive traceroutes to work.
  *
- * @example block
+ * @example 203.0.113.1
  */
-export type ContentListAction = 'block';
-
-export type ContentListDetails = {
-  action?: ContentListAction;
-};
-
-export type ContentListDetailsResponse = ApiResponseSingleLarS7owG & {
-  result?: ContentListDetails;
-};
+export type MagicCustomerIpsecEndpoint = string;
 
 /**
- * Content list entries.
+ * An optional human provided description of the static route.
+ *
+ * @example New route for new prefix 203.0.113.1
  */
-export type ContentListEntries = ContentListEntry[];
+export type MagicDescription = string;
 
 /**
- * Content list entry to be blocked.
+ * The desired forwarding action for this ACL policy. If set to "false", the policy will forward traffic to Cloudflare. If set to "true", the policy will forward traffic locally on the Magic Connector. If not included in request, will default to false.
  */
-export type ContentListEntry = {
-  content?: ContentListEntryContent;
-  created_on?: Timestamp;
-  description?: ContentListEntryDescription;
-  id?: CommonComponentsSchemasIdentifier;
-  modified_on?: Timestamp;
-  type?: ContentListEntryType;
-};
-
-export type ContentListEntryCollectionResponse = ApiResponseCollection & {
-  result?: {
-    entries?: ContentListEntries;
-  };
-};
+export type MagicForwardLocally = boolean;
 
 /**
- * CID or content path of content to block.
- *
- * @example QmPZ9gcCEpqKTo6aq61g2nXGUhM4iCL3ewB6LDXZCtioEB
- * @maxLength 500
+ * The configuration specific to GRE interconnects.
  */
-export type ContentListEntryContent = string;
-
-export type ContentListEntryCreateRequest = {
-  content: ContentListEntryContent;
-  description?: ContentListEntryDescription;
-  type: ContentListEntryType;
+export type MagicGre = {
+  /**
+   * The IP address assigned to the Cloudflare side of the GRE tunnel created as part of the Interconnect.
+   *
+   * @example 203.0.113.1
+   */
+  cloudflare_endpoint?: string;
 };
 
-/**
- * An optional description of the content list entry.
- *
- * @example this is my content list entry
- * @maxLength 500
- */
-export type ContentListEntryDescription = string;
+export type MagicGreTunnel = {
+  cloudflare_gre_endpoint: MagicCloudflareGreEndpoint;
+  created_on?: MagicSchemasCreatedOn;
+  customer_gre_endpoint: MagicCustomerGreEndpoint;
+  description?: MagicSchemasDescription;
+  health_check?: MagicTunnelHealthCheck;
+  id?: MagicSchemasIdentifier;
+  interface_address: MagicInterfaceAddress;
+  modified_on?: MagicSchemasModifiedOn;
+  mtu?: MagicMtu;
+  name: MagicName;
+  ttl?: MagicTtl;
+};
 
-export type ContentListEntrySingleResponse = ApiResponseSingleLarS7owG & {
-  result?: ContentListEntry;
+export type MagicGreTunnelAddSingleRequest = {
+  cloudflare_gre_endpoint: MagicCloudflareGreEndpoint;
+  customer_gre_endpoint: MagicCustomerGreEndpoint;
+  description?: MagicSchemasDescription;
+  health_check?: MagicTunnelHealthCheck;
+  interface_address: MagicInterfaceAddress;
+  mtu?: MagicMtu;
+  name: MagicName;
+  ttl?: MagicTtl;
 };
 
-/**
- * Type of content list entry to block.
- *
- * @example cid
- */
-export type ContentListEntryType = 'cid' | 'content_path';
+export type MagicGreTunnelUpdateRequest = MagicGreTunnelAddSingleRequest;
 
-export type ContentListUpdateRequest = {
-  action: ContentListAction;
-  entries: ContentListEntries;
+export type MagicHealthCheckBase = {
+  /**
+   * Determines whether to run healthchecks for a tunnel.
+   *
+   * @default true
+   * @example true
+   */
+  enabled?: boolean;
+  /**
+   * How frequent the health check is run. The default value is `mid`.
+   *
+   * @default mid
+   * @example low
+   */
+  rate?: 'low' | 'mid' | 'high';
+  /**
+   * The destination address in a request type health check. After the healthcheck is decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded to this address. This field defaults to `customer_gre_endpoint address`. This field is ignored for bidirectional healthchecks as the interface_address (not assigned to the Cloudflare side of the tunnel) is used as the target. Must be in object form if the x-magic-new-hc-target header is set to true and string form if x-magic-new-hc-target is absent or set to false.
+   */
+  target?: MagicHealthCheckTarget | string;
+  /**
+   * The type of healthcheck to run, reply or request. The default value is `reply`.
+   *
+   * @default reply
+   * @example request
+   */
+  type?: 'reply' | 'request';
 };
 
 /**
- * The content type of the body. Must be one of the following: `text/plain`, `text/xml`, or `application/json`.
- *
- * @example text/xml
- * @maxLength 50
- */
-export type ContentType = string;
-
-/**
- * Configures cookie attributes for the waiting room cookie. This encrypted cookie stores a user's status in the waiting room, such as queue position.
+ * The destination address in a request type health check. After the healthcheck is decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded to this address. This field defaults to `customer_gre_endpoint address`. This field is ignored for bidirectional healthchecks as the interface_address (not assigned to the Cloudflare side of the tunnel) is used as the target.
  */
-export type CookieAttributes = {
+export type MagicHealthCheckTarget = {
   /**
-   * Configures the SameSite attribute on the waiting room cookie. Value `auto` will be translated to `lax` or `none` depending if **Always Use HTTPS** is enabled. Note that when using value `none`, the secure attribute cannot be set to `never`.
+   * The effective health check target. If 'saved' is empty, then this field will be populated with the calculated default value on GET requests. Ignored in POST, PUT, and PATCH requests.
    *
-   * @default auto
-   * @example auto
+   * @example 203.0.113.1
    */
-  samesite?: 'auto' | 'lax' | 'none' | 'strict';
+  effective?: string;
   /**
-   * Configures the Secure attribute on the waiting room cookie. Value `always` indicates that the Secure attribute will be set in the Set-Cookie header, `never` indicates that the Secure attribute will not be set, and `auto` will set the Secure attribute depending if **Always Use HTTPS** is enabled.
+   * The saved health check target. Setting the value to the empty string indicates that the calculated default value will be used.
    *
-   * @default auto
-   * @example auto
+   * @example 203.0.113.1
    */
-  secure?: 'auto' | 'always' | 'never';
-};
-
-export type CorsHeaders = {
-  allow_all_headers?: AllowAllHeaders;
-  allow_all_methods?: AllowAllMethods;
-  allow_all_origins?: AllowAllOrigins;
-  allow_credentials?: AllowCredentials;
-  allowed_headers?: AllowedHeaders;
-  allowed_methods?: AllowedMethods;
-  allowed_origins?: AllowedOrigins;
-  max_age?: MaxAge;
+  saved?: string;
 };
 
 /**
- * The number of items in the List.
+ * Identifier
  *
- * @example 20
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type Count = number;
+export type MagicIdentifier = string;
+
+export type MagicInterconnect = {
+  colo_name?: MagicComponentsSchemasName;
+  created_on?: MagicSchemasCreatedOn;
+  description?: MagicInterconnectComponentsSchemasDescription;
+  gre?: MagicGre;
+  health_check?: MagicInterconnectHealthCheck;
+  id?: MagicSchemasIdentifier;
+  interface_address?: MagicInterfaceAddress;
+  modified_on?: MagicSchemasModifiedOn;
+  mtu?: MagicSchemasMtu;
+  name?: MagicComponentsSchemasName;
+};
 
 /**
- * Total results returned based on your search parameters.
+ * An optional description of the interconnect.
  *
- * @example 1
+ * @example Tunnel for Interconnect to ORD
  */
-export type Count8disqZZW = number;
+export type MagicInterconnectComponentsSchemasDescription = string;
+
+export type MagicInterconnectHealthCheck = MagicHealthCheckBase;
+
+export type MagicInterconnectTunnelUpdateRequest = {
+  description?: MagicInterconnectComponentsSchemasDescription;
+  gre?: MagicGre;
+  health_check?: MagicInterconnectHealthCheck;
+  interface_address?: MagicInterfaceAddress;
+  mtu?: MagicSchemasMtu;
+};
 
 /**
- * Country, provided by the CSR
+ * A 31-bit prefix (/31 in CIDR notation) supporting two hosts, one for each side of the tunnel. Select the subnet from the following private IP space: 10.0.0.0–10.255.255.255, 172.16.0.0–172.31.255.255, 192.168.0.0–192.168.255.255.
  *
- * @example US
+ * @example 192.0.2.0/31
  */
-export type Country = string;
+export type MagicInterfaceAddress = string;
 
 /**
- * The country in which the user lives.
+ * A valid IPv4 address.
  *
- * @example US
- * @maxLength 30
+ * @example 192.0.2.1
  */
-export type CountryY1YJCISK = string | null;
+export type MagicIpAddress = string;
 
-export type CountryConfiguration = {
-  /**
-   * The configuration target. You must set the target to `country` when specifying a country code in the rule.
-   *
-   * @example country
-   */
-  target?: 'country';
-  /**
-   * The two-letter ISO-3166-1 alpha-2 code to match. For more information, refer to [IP Access rules: Parameters](https://developers.cloudflare.com/waf/tools/ip-access-rules/parameters/#country).
-   *
-   * @example US
-   */
-  value?: string;
+export type MagicIpsecTunnel = {
+  allow_null_cipher?: MagicAllowNullCipher;
+  cloudflare_endpoint: MagicCloudflareIpsecEndpoint;
+  created_on?: MagicSchemasCreatedOn;
+  customer_endpoint?: MagicCustomerIpsecEndpoint;
+  description?: MagicComponentsSchemasDescription;
+  health_check?: MagicTunnelHealthCheck;
+  id?: MagicSchemasIdentifier;
+  interface_address: MagicInterfaceAddress;
+  modified_on?: MagicSchemasModifiedOn;
+  name: MagicSchemasName;
+  psk_metadata?: MagicPskMetadata;
+  replay_protection?: MagicReplayProtection;
 };
 
-/**
- * A mapping of country codes to a list of pool IDs (ordered by their failover priority) for the given country. Any country not explicitly defined will fall back to using the corresponding region_pool mapping if it exists else to default_pools.
- *
- * @example {"GB":["abd90f38ced07c2e2f4df50b1f61d4194"],"US":["de90f38ced07c2e2f4df50b1f61d4194","00920f38ce07c2e2f4df50b1f61d4194"]}
- */
-export type CountryPools = Record<string, any>;
+export type MagicIpsecTunnelAddRequest = MagicIpsecTunnelAddSingleRequest;
 
-export type Create = {
-  email: EmailPuzf53IC;
-  /**
-   * Array of roles associated with this member.
-   */
-  roles: RoleComponentsSchemasIdentifier[];
-  /**
-   * @default pending
-   */
-  status?: 'accepted' | 'pending';
+export type MagicIpsecTunnelAddSingleRequest = {
+  cloudflare_endpoint: MagicCloudflareIpsecEndpoint;
+  customer_endpoint?: MagicCustomerIpsecEndpoint;
+  description?: MagicComponentsSchemasDescription;
+  health_check?: MagicTunnelHealthCheck;
+  interface_address: MagicInterfaceAddress;
+  name: MagicSchemasName;
+  psk?: MagicPsk;
+  replay_protection?: MagicReplayProtection;
 };
 
-export type CreateCustomProfileResponse = ApiResponseCollection & {
-  result?: CustomProfile[];
-};
+export type MagicIpsecTunnelUpdateRequest = MagicIpsecTunnelAddSingleRequest;
 
-export type CreateCustomProfiles = {
-  profiles: NewCustomProfile[];
+export type MagicLan = {
+  /**
+   * mark true to use this LAN for HA probing. only works for site with HA turned on. only one LAN can be set as the ha_link.
+   */
+  ha_link?: boolean;
+  id?: MagicIdentifier;
+  name?: string;
+  nat?: MagicNat;
+  physport?: MagicPort;
+  routed_subnets?: MagicRoutedSubnet[];
+  site_id?: MagicIdentifier;
+  static_addressing?: MagicLanStaticAddressing;
+  vlan_tag?: MagicVlanTag;
 };
 
-export type CreateDestinationAddressProperties = {
-  email: EmailQw65SH2N;
+export type MagicLanAclConfiguration = {
+  /**
+   * The identifier for the LAN you want to create an ACL policy with.
+   */
+  lan_id: string;
+  /**
+   * The name of the LAN based on the provided lan_id.
+   */
+  lan_name?: string;
+  /**
+   * Array of ports on the provided LAN that will be included in the ACL. If no ports are provided, communication on any port on this LAN is allowed.
+   */
+  ports?: MagicPort[];
+  /**
+   * Array of subnet IPs within the LAN that will be included in the ACL. If no subnets are provided, communication on any subnets on this LAN are allowed.
+   */
+  subnets?: MagicAclSubnet[];
 };
 
-export type CreateInputRequest = {
-  defaultCreator?: LiveInputDefaultCreator;
-  meta?: LiveInputMetadata;
-  recording?: LiveInputRecordingSettings;
+export type MagicLanDeletedResponse = MagicApiResponseSingle & {
+  result?: MagicLan;
 };
 
-export type CreateOutputRequest = {
-  enabled?: OutputEnabled;
-  streamKey: OutputStreamKey;
-  url: OutputUrl;
+export type MagicLanDhcpRelay = {
+  /**
+   * List of DHCP server IPs.
+   */
+  server_addresses?: MagicIpAddress[];
 };
 
-export type CreatePayload = {
-  condition?: Condition;
-  expires_on?: ExpiresOnZ3utPxP0;
-  name: NameZZnqpiZc;
-  not_before?: NotBefore;
-  policies: PoliciesJfEKIGCD;
+export type MagicLanDhcpServer = {
+  dhcp_pool_end?: MagicIpAddress;
+  dhcp_pool_start?: MagicIpAddress;
+  dns_server?: MagicIpAddress;
+  /**
+   * Mapping of MAC addresses to IP addresses
+   *
+   * @example {"00:11:22:33:44:55":"192.0.2.100","AA:BB:CC:DD:EE:FF":"192.168.1.101"}
+   */
+  reservations?: {
+    [key: string]: string;
+  };
 };
 
-export type CreateRenameNamespaceBody = {
-  title: NamespaceTitle;
+export type MagicLanModifiedResponse = MagicApiResponseSingle & {
+  result?: MagicLan;
 };
 
-export type CreateRequest = {
-  description?: Web3HostnameComponentsSchemasDescription;
-  dnslink?: Dnslink;
-  name: Web3HostnameComponentsSchemasName;
-  target: SchemasTarget;
+export type MagicLanSingleResponse = MagicApiResponseSingle & {
+  result?: MagicLan;
 };
 
-export type CreateResponse = ApiResponseSingleKLIlNaxV & {
-  result?: {
-    client_id?: ClientId;
-    client_secret?: ClientSecret;
-    created_at?: Timestamp;
-    /**
-     * The ID of the service token.
-     */
-    id?: void;
-    name?: ServiceTokensComponentsSchemasName;
-    updated_at?: Timestamp;
-  };
+/**
+ * If the site is not configured in high availability mode, this configuration is optional (if omitted, use DHCP). However, if in high availability mode, static_address is required along with secondary and virtual address.
+ */
+export type MagicLanStaticAddressing = {
+  address: MagicCidr;
+  dhcp_relay?: MagicLanDhcpRelay;
+  dhcp_server?: MagicLanDhcpServer;
+  secondary_address?: MagicCidr;
+  virtual_address?: MagicCidr;
 };
 
-export type CreateResponseEpcI3Ifk = ApiResponseSingleLarS7owG & {
-  result?: {
-    client_id?: ClientId;
-    client_secret?: ClientSecret;
-    created_at?: Timestamp;
-    /**
-     * The ID of the service token.
-     */
-    id?: void;
-    name?: ServiceTokensComponentsSchemasName;
-    updated_at?: Timestamp;
-  };
+export type MagicLanUpdateRequest = {
+  name?: string;
+  nat?: MagicNat;
+  physport?: MagicPort;
+  routed_subnets?: MagicRoutedSubnet[];
+  static_addressing?: MagicLanStaticAddressing;
+  vlan_tag?: MagicVlanTag;
 };
 
-export type CreateRule = {
-  action: RuleAction;
-  description?: RuleDescription;
-  enabled?: RuleEnabled;
-  expression: RuleExpression;
+export type MagicLansAddSingleRequest = {
+  /**
+   * mark true to use this LAN for HA probing. only works for site with HA turned on. only one LAN can be set as the ha_link.
+   */
+  ha_link?: boolean;
+  name?: string;
+  nat?: MagicNat;
+  physport: MagicPort;
+  routed_subnets?: MagicRoutedSubnet[];
+  static_addressing?: MagicLanStaticAddressing;
+  vlan_tag: MagicVlanTag;
 };
 
-export type CreateRuleProperties = {
-  actions: RuleActions;
-  enabled?: RuleEnabledXvrbaudJ;
-  matchers: RuleMatchers;
-  name?: RuleName;
-  priority?: RulePriority;
+export type MagicLansCollectionResponse = MagicApiResponseSingle & {
+  result?: MagicLan[];
 };
 
 /**
- * A ruleset object.
+ * Managed app defined by Cloudflare.
  */
-export type CreateRuleset = {
-  description?: RulesetsComponentsSchemasDescription;
-  kind: SchemasKind;
-  name: RulesetsComponentsSchemasName;
-  phase: Phase;
-  rules: CreateUpdateRules;
+export type MagicManagedApp = {
+  hostnames?: MagicAppHostnames;
+  ip_subnets?: MagicAppSubnets;
+  managed_app_id: MagicManagedAppId;
+  name?: MagicAppName;
+  type?: MagicAppType;
 };
 
 /**
- * A rule object.
+ * Managed app ID.
+ *
+ * @example cloudflare
  */
-export type CreateUpdateRule = {
-  action: RulesComponentsSchemasAction;
-  action_parameters?: ActionParameters;
-  description?: RulesComponentsSchemasDescription;
-  enabled?: RulesComponentsSchemasEnabled;
-  expression: SchemasExpression;
-  logging?: Logging;
-  ref?: ComponentsSchemasRef;
-};
+export type MagicManagedAppId = string;
 
-/**
- * The list of rules in the ruleset.
- */
-export type CreateUpdateRules = (CreateUpdateRule | void)[];
+export type MagicMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
 
 /**
- * When the device was created.
+ * When the route was last modified.
  *
- * @example 2017-06-14T00:00:00Z
+ * @example 2017-06-14T05:20:00Z
  * @format date-time
  */
-export type Created = string;
+export type MagicModifiedOn = string;
 
-/**
- * The date and time the destination address has been created.
- *
- * @example 2014-01-02T02:20:00Z
- * @format date-time
- */
-export type Created2OTGyXLU = string;
+export type MagicModifiedTunnelsCollectionResponse = MagicApiResponseSingle & {
+  result?: {
+    /**
+     * @example true
+     */
+    modified?: boolean;
+    modified_gre_tunnels?: MagicGreTunnel[];
+  };
+};
 
 /**
- * When the Application was created.
+ * Maximum Transmission Unit (MTU) in bytes for the GRE tunnel. The minimum value is 576.
  *
- * @example 2014-01-02T02:20:00Z
- * @format date-time
+ * @default 1476
  */
-export type CreatedJTk3Ehp3 = string;
+export type MagicMtu = number;
 
-/**
- * The date and time the media item was created.
- *
- * @example 2014-01-02T02:20:00Z
- * @format date-time
- */
-export type CreatedVKORkNvl = string;
+export type MagicMultipleRouteDeleteResponse = MagicApiResponseSingle & {
+  result?: {
+    /**
+     * @example true
+     */
+    deleted?: boolean;
+    deleted_routes?: MagicRoute[];
+  };
+};
 
-/**
- * @example 2014-01-01T05:20:00.12345Z
- * @format date-time
- */
-export type CreatedOn = string;
+export type MagicMultipleRouteModifiedResponse = MagicApiResponseSingle & {
+  result?: {
+    /**
+     * @example true
+     */
+    modified?: boolean;
+    modified_routes?: MagicRoute[];
+  };
+};
 
 /**
- * This is the time the hostname was created.
+ * The name of the tunnel. The name cannot contain spaces or special characters, must be 15 characters or less, and cannot share a name with another GRE tunnel.
  *
- * @example 2020-02-06T18:11:23.531995Z
- * @format date-time
+ * @example GRE_1
  */
-export type CreatedAt = string;
+export type MagicName = string;
+
+export type MagicNat = {
+  static_prefix?: MagicCidr;
+};
 
 /**
- * When the route was created.
+ * The next-hop IP Address for the static route.
  *
- * @example 2017-06-14T00:00:00Z
- * @format date-time
+ * @example 203.0.113.1
  */
-export type CreatedOn = string;
+export type MagicNexthop = string;
 
 /**
- * The timestamp of when the Page Rule was created.
- *
- * @example 2014-01-01T05:20:00.12345Z
- * @format date-time
+ * @example 1
  */
-export type CreatedOn1QmUCKgu = string;
+export type MagicPort = number;
 
 /**
- * The timestamp of when the rule was created.
+ * IP Prefix in Classless Inter-Domain Routing format.
  *
- * @example 2014-01-01T05:20:00.12345Z
- * @format date-time
+ * @example 192.0.2.0/24
  */
-export type CreatedOnSYnNp6TW = string;
+export type MagicPrefix = string;
 
 /**
- * When the script was created.
- *
- * @example 2017-01-01T00:00:00Z
- * @format date-time
+ * Priority of the static route.
  */
-export type CreatedOnLPNq9Pbi = string;
+export type MagicPriority = number;
 
 /**
- * A user-defined identifier for the media creator.
+ * A randomly generated or provided string for use in the IPsec tunnel.
  *
- * @example creator-id_abcde12345
- * @maxLength 64
+ * @example O3bwKSjnaoCxDoUxjcq4Rk8ZKkezQUiy
  */
-export type Creator = string;
-
-export type CronTriggerResponseCollection = {
-  errors: Messages;
-  messages: Messages;
-  result:
-    | {
-        schedules?: {
-          created_on?: void;
-          cron?: void;
-          modified_on?: void;
-        }[];
-      }
-    | any[]
-    | string;
-  /**
-   * Whether the API call was successful
-   *
-   * @example true
-   */
-  success: true;
-};
+export type MagicPsk = string;
 
-export type CrowdstrikeConfigRequest = {
-  /**
-   * The Crowdstrike API URL.
-   *
-   * @example https://api.us-2.crowdstrike.com
-   */
-  api_url: string;
-  /**
-   * The Crowdstrike client ID.
-   *
-   * @example example client id
-   */
-  client_id: string;
-  /**
-   * The Crowdstrike client secret.
-   *
-   * @example example client secret
-   */
-  client_secret: string;
-  /**
-   * The Crowdstrike customer ID.
-   *
-   * @example example customer id
-   */
-  customer_id: string;
+export type MagicPskGenerationResponse = MagicApiResponseSingle & {
+  result?: {
+    ipsec_tunnel_id?: MagicIdentifier;
+    psk?: MagicPsk;
+    psk_metadata?: MagicPskMetadata;
+  };
 };
 
 /**
- * The Certificate Signing Request (CSR). Must be newline-encoded.
- * 
- * @example -----BEGIN CERTIFICATE REQUEST-----
-MIICxzCCAa8CAQAwSDELMAkGA1UEBhMCVVMxFjAUBgNVBAgTDVNhbiBGcmFuY2lz
-Y28xCzAJBgNVBAcTAkNBMRQwEgYDVQQDEwtleGFtcGxlLm5ldDCCASIwDQYJKoZI
-hvcNAQEBBQADggEPADCCAQoCggEBALxejtu4b+jPdFeFi6OUsye8TYJQBm3WfCvL
-Hu5EvijMO/4Z2TImwASbwUF7Ir8OLgH+mGlQZeqyNvGoSOMEaZVXcYfpR1hlVak8
-4GGVr+04IGfOCqaBokaBFIwzclGZbzKmLGwIQioNxGfqFm6RGYGA3be2Je2iseBc
-N8GV1wYmvYE0RR+yWweJCTJ157exyRzu7sVxaEW9F87zBQLyOnwXc64rflXslRqi
-g7F7w5IaQYOl8yvmk/jEPCAha7fkiUfEpj4N12+oPRiMvleJF98chxjD4MH39c5I
-uOslULhrWunfh7GB1jwWNA9y44H0snrf+xvoy2TcHmxvma9Eln8CAwEAAaA6MDgG
-CSqGSIb3DQEJDjErMCkwJwYDVR0RBCAwHoILZXhhbXBsZS5uZXSCD3d3dy5leGFt
-cGxlLm5ldDANBgkqhkiG9w0BAQsFAAOCAQEAcBaX6dOnI8ncARrI9ZSF2AJX+8mx
-pTHY2+Y2C0VvrVDGMtbBRH8R9yMbqWtlxeeNGf//LeMkSKSFa4kbpdx226lfui8/
-auRDBTJGx2R1ccUxmLZXx4my0W5iIMxunu+kez+BDlu7bTT2io0uXMRHue4i6quH
-yc5ibxvbJMjR7dqbcanVE10/34oprzXQsJ/VmSuZNXtjbtSKDlmcpw6To/eeAJ+J
-hXykcUihvHyG4A1m2R6qpANBjnA0pHexfwM/SgfzvpbvUg0T1ubmer8BgTwCKIWs
-dcWYTthM51JIqRBfNqy4QcBnX+GY05yltEEswQI55wdiS3CjTTA67sdbcQ==
------END CERTIFICATE REQUEST-----
+ * The PSK metadata that includes when the PSK was generated.
  */
-export type Csr = string;
+export type MagicPskMetadata = {
+  last_generated_on?: MagicSchemasModifiedOn;
+};
 
 /**
- * The monetary unit in which pricing information is displayed.
+ * If `true`, then IPsec replay protection will be supported in the Cloudflare-to-customer direction.
  *
- * @example USD
+ * @default false
+ * @example false
  */
-export type Currency = string;
+export type MagicReplayProtection = boolean;
 
-/**
- * Cloudflare Images current usage.
- *
- * @example 1000
- */
-export type Current = number;
+export type MagicRoute = {
+  created_on?: MagicCreatedOn;
+  description?: MagicDescription;
+  id?: MagicIdentifier;
+  modified_on?: MagicModifiedOn;
+  nexthop: MagicNexthop;
+  prefix: MagicPrefix;
+  priority: MagicPriority;
+  scope?: MagicScope;
+  weight?: MagicWeight;
+};
 
-/**
- * The end of the current period and also when the next billing is due.
- *
- * @example 2014-03-31T12:20:00Z
- * @format date-time
- */
-export type CurrentPeriodEnd = string;
+export type MagicRouteAddSingleRequest = {
+  description?: MagicDescription;
+  nexthop: MagicNexthop;
+  prefix: MagicPrefix;
+  priority: MagicPriority;
+  scope?: MagicScope;
+  weight?: MagicWeight;
+};
 
-/**
- * When the current billing period started. May match initial_period_start if this is the first period.
- *
- * @example 2014-05-11T12:20:00Z
- * @format date-time
- */
-export type CurrentPeriodStart = string;
+export type MagicRouteDeleteId = {
+  id: MagicIdentifier;
+};
+
+export type MagicRouteDeleteManyRequest = {
+  routes: MagicRouteDeleteId[];
+};
+
+export type MagicRouteDeletedResponse = MagicApiResponseSingle & {
+  result?: {
+    /**
+     * @example true
+     */
+    deleted?: boolean;
+    deleted_route?: MagicRoute;
+  };
+};
+
+export type MagicRouteModifiedResponse = MagicApiResponseSingle & {
+  result?: {
+    /**
+     * @example true
+     */
+    modified?: boolean;
+    modified_route?: MagicRoute;
+  };
+};
+
+export type MagicRouteSingleResponse = MagicApiResponseSingle & {
+  result?: {
+    route?: MagicRoute;
+  };
+};
+
+export type MagicRouteUpdateManyRequest = {
+  routes: MagicRouteUpdateSingleRequest[];
+};
+
+export type MagicRouteUpdateRequest = MagicRouteAddSingleRequest;
+
+export type MagicRouteUpdateSingleRequest = {
+  id: MagicIdentifier;
+} & MagicRouteAddSingleRequest;
+
+export type MagicRoutedSubnet = {
+  nat?: MagicNat;
+  next_hop: MagicIpAddress;
+  prefix: MagicCidr;
+};
+
+export type MagicRoutesCollectionResponse = MagicApiResponseSingle & {
+  result?: {
+    routes?: MagicRoute[];
+  };
+};
 
 /**
- * Shows name of current registrar.
+ * The date and time the tunnel was created.
  *
- * @example Cloudflare
+ * @example 2017-06-14T00:00:00Z
+ * @format date-time
  */
-export type CurrentRegistrar = string;
+export type MagicSchemasCreatedOn = string;
 
 /**
- * Opaque token indicating the position from which to continue when requesting the next set of records if the amount of list results was limited by the limit parameter. A valid value for the cursor can be obtained from the cursors object in the result_info structure.
+ * An optional description of the GRE tunnel.
  *
- * @example 6Ck1la0VxJ0djhidm1MdX2FyDGxLKVeeHZZmORS_8XeSuhz9SjIJRaSa2lnsF01tQOHrfTGAP3R5X1Kv5iVUuMbNKhWNAXHOl6ePB0TUL8nw
+ * @example Tunnel for ISP X
  */
-export type Cursor = string;
-
-export type CustomCertificate = {
-  bundle_method: BundleMethod;
-  expires_on: ExpiresOn;
-  geo_restrictions?: GeoRestrictions;
-  hosts: Hosts;
-  id: Identifier;
-  issuer: Issuer;
-  keyless_server?: KeylessCertificate;
-  modified_on: ModifiedOnBXl82yTE;
-  policy?: Policy;
-  priority: PriorityOBYCnVp3;
-  signature: Signature;
-  status: Status6huN0ErS;
-  uploaded_on: UploadedOn;
-  zone_id: Identifier;
-};
-
-export type CustomCertificateRKdQQr58 = {
-  bundle_method: BundleMethod;
-  expires_on: ComponentsSchemasExpiresOnIEhoDYOo;
-  geo_restrictions?: GeoRestrictions;
-  hosts: Hosts;
-  id: CustomCertificateComponentsSchemasIdentifier;
-  issuer: Issuer;
-  keyless_server?: KeylessCertificateHXaxgAu6;
-  modified_on: SchemasModifiedOnRHJWTByl;
-  policy?: Policy;
-  priority: PriorityFZPZtZRb;
-  signature: Signature;
-  status: CustomCertificateComponentsSchemasStatus;
-  uploaded_on: UploadedOn;
-  zone_id: CommonComponentsSchemasIdentifier;
-};
-
-/**
- * Custom certificate settings for BYO-PKI.
- */
-export type CustomCertificateSettings = {
-  /**
-   * Certificate status (internal)
-   *
-   * @example pending_deployment
-   */
-  binding_status?: string;
-  /**
-   * Enable use of custom certificate authority for signing Gateway traffic
-   *
-   * @example true
-   */
-  enabled: boolean;
-  /**
-   * UUID of certificate (ID from MTLS certificate store)
-   *
-   * @example d1b364c5-1311-466e-a194-f0e943e0799f
-   */
-  id?: string;
-  /**
-   * @format date-time
-   */
-  updated_at?: string;
-};
+export type MagicSchemasDescription = string;
 
 /**
- * Custom certificate identifier tag.
+ * Tunnel identifier tag.
  *
- * @example 2458ce5a-0c35-4c7f-82c7-8e9487d3ff60
- * @maxLength 36
+ * @example c4a7362d577a6c3019a474fd6f485821
+ * @maxLength 32
  */
-export type CustomCertificateComponentsSchemasIdentifier = string;
+export type MagicSchemasIdentifier = string;
 
 /**
- * Status of the zone's custom SSL.
+ * The date and time the tunnel was last modified.
  *
- * @example active
+ * @example 2017-06-14T05:20:00Z
+ * @format date-time
  */
-export type CustomCertificateComponentsSchemasStatus = 'active' | 'expired' | 'deleted' | 'pending' | 'initializing';
-
-export type CustomErrorResponsesComponentsSchemasRule = {
-  /**
-   * @example serve_error
-   */
-  action?: void;
-  action_parameters?: ActionParametersServeError;
-  /**
-   * @example Change error response based on geolocation
-   */
-  description?: void;
-  /**
-   * @example ip.geoip.country eq "AL"
-   */
-  expression?: void;
-  /**
-   * @example 3a03d665bac047339bb530ecb439a90d
-   */
-  id?: void;
-  /**
-   * @example 1
-   */
-  version?: void;
-};
+export type MagicSchemasModifiedOn = string;
 
-export type CustomErrorResponsesComponentsSchemasRuleset = {
-  /**
-   * @example
-   */
-  description?: void;
-  /**
-   * @example 2f2feab2026849078ba485f918791bdc
-   */
-  id?: void;
-  /**
-   * @example zone
-   */
-  kind?: void;
-  /**
-   * @example default
-   */
-  name?: void;
-  /**
-   * @example http_custom_errors
-   */
-  phase?: void;
-  /**
-   * The rules in the ruleset.
-   */
-  rules?: CustomErrorResponsesComponentsSchemasRule[];
+export type MagicSchemasModifiedTunnelsCollectionResponse = MagicApiResponseSingle & {
+  result?: {
+    /**
+     * @example true
+     */
+    modified?: boolean;
+    modified_ipsec_tunnels?: MagicIpsecTunnel[];
+  };
 };
 
-export type CustomHostname = Customhostname;
-
-export type CustomHostnameLeshIZet = CustomhostnameCUApQClb;
-
 /**
- * Custom hostname identifier tag.
+ * The Maximum Transmission Unit (MTU) in bytes for the interconnect. The minimum value is 576.
  *
- * @example 0d89c70d-ad9f-4843-b99f-6cc0252067e9
- * @maxLength 36
- * @minLength 36
+ * @default 1476
  */
-export type CustomHostnameComponentsSchemasIdentifier = string;
+export type MagicSchemasMtu = number;
 
 /**
- * Status of the hostname's activation.
+ * The name of the IPsec tunnel. The name cannot share a name with other tunnels.
  *
- * @example pending
+ * @example IPsec_1
  */
-export type CustomHostnameComponentsSchemasStatus =
-  | 'active'
-  | 'pending'
-  | 'active_redeploying'
-  | 'moved'
-  | 'pending_deletion'
-  | 'deleted'
-  | 'pending_blocked'
-  | 'pending_migration'
-  | 'pending_provisioned'
-  | 'test_pending'
-  | 'test_active'
-  | 'test_active_apex'
-  | 'test_blocked'
-  | 'test_failed'
-  | 'provisioned'
-  | 'blocked';
+export type MagicSchemasName = string;
+
+export type MagicSchemasTunnelDeletedResponse = MagicApiResponseSingle & {
+  result?: {
+    /**
+     * @example true
+     */
+    deleted?: boolean;
+    deleted_ipsec_tunnel?: MagicIpsecTunnel;
+  };
+};
 
-/**
- * The name of the custom page type.
- *
- * @example basic_challenge
- */
-export type CustomPagesComponentsSchemasIdentifier =
-  | 'basic_challenge'
-  | 'managed_challenge'
-  | 'waf_block'
-  | 'ratelimit_block'
-  | 'country_challenge'
-  | 'ip_block'
-  | 'under_attack'
-  | '500_errors'
-  | '1000_errors';
+export type MagicSchemasTunnelModifiedResponse = MagicApiResponseSingle & {
+  result?: {
+    /**
+     * @example true
+     */
+    modified?: boolean;
+    modified_ipsec_tunnel?: MagicIpsecTunnel;
+  };
+};
 
-/**
- * The name of the custom page type.
- *
- * @example basic_challenge
- */
-export type CustomPagesComponentsSchemasIdentifier2 =
-  | 'basic_challenge'
-  | 'managed_challenge'
-  | 'waf_block'
-  | 'country_challenge'
-  | 'ip_block'
-  | 'under_attack'
-  | 'ratelimit_block'
-  | '500_errors'
-  | '1000_errors';
+export type MagicSchemasTunnelSingleResponse = MagicApiResponseSingle & {
+  result?: {
+    ipsec_tunnel?: MagicIpsecTunnel;
+  };
+};
 
-/**
- * The custom error message shown to a user when they are denied access to the application.
- */
-export type CustomDenyMessage = string;
+export type MagicSchemasTunnelsCollectionResponse = MagicApiResponseSingle & {
+  result?: {
+    ipsec_tunnels?: MagicIpsecTunnel[];
+  };
+};
 
 /**
- * The custom URL a user is redirected to when they are denied access to the application.
+ * Used only for ECMP routes.
  */
-export type CustomDenyUrl = string;
+export type MagicScope = {
+  colo_names?: MagicColoNames;
+  colo_regions?: MagicColoRegions;
+};
 
 /**
- * A custom entry that matches a profile
+ * Magic Connector identifier tag. Used when high availability mode is on.
+ *
+ * @example 8d67040d3835dbcf46ce29da440dc482
  */
-export type CustomEntry = {
-  created_at?: Timestamp;
+export type MagicSecondaryConnectorId = string;
+
+export type MagicSite = {
+  connector_id?: MagicConnectorId;
+  description?: string;
   /**
-   * Whether the entry is enabled or not.
+   * Site high availability mode. If set to true, the site can have two connectors and runs in high availability mode.
    *
    * @example true
    */
-  enabled?: boolean;
-  id?: EntryId;
+  ha_mode?: boolean;
+  id?: MagicIdentifier;
+  location?: MagicSiteLocation;
+  name?: MagicSiteName;
+  secondary_connector_id?: MagicSecondaryConnectorId;
+};
+
+/**
+ * Location of site in latitude and longitude.
+ */
+export type MagicSiteLocation = {
   /**
-   * The name of the entry.
+   * Latitude
    *
-   * @example Credit card (Visa)
+   * @example 37.6192
    */
-  name?: string;
-  pattern?: Pattern;
+  lat?: string;
   /**
-   * ID of the parent profile
+   * Longitude
+   *
+   * @example 122.3816
    */
-  profile_id?: void;
-  updated_at?: Timestamp;
+  lon?: string;
 };
 
 /**
- * A custom entry that matches a profile
+ * The name of the site.
+ *
+ * @example site_1
  */
-export type CustomEntryMPO16jNs = {
-  created_at?: Timestamp;
+export type MagicSiteName = string;
+
+export type MagicSiteDeletedResponse = MagicApiResponseSingle & {
+  result?: MagicSite;
+};
+
+export type MagicSiteModifiedResponse = MagicApiResponseSingle & {
+  result?: MagicSite;
+};
+
+export type MagicSiteSingleResponse = MagicApiResponseSingle & {
+  result?: MagicSite;
+};
+
+export type MagicSiteUpdateRequest = {
+  connector_id?: MagicConnectorId;
+  description?: string;
+  location?: MagicSiteLocation;
+  name?: MagicSiteName;
+  secondary_connector_id?: MagicSecondaryConnectorId;
+};
+
+export type MagicSitesAddSingleRequest = {
+  connector_id?: MagicConnectorId;
+  description?: string;
   /**
-   * Whether the entry is enabled or not.
+   * Site high availability mode. If set to true, the site can have two connectors and runs in high availability mode.
    *
    * @example true
    */
-  enabled?: boolean;
-  id?: EntryId;
+  ha_mode?: boolean;
+  location?: MagicSiteLocation;
+  name: MagicSiteName;
+  secondary_connector_id?: MagicSecondaryConnectorId;
+};
+
+export type MagicSitesCollectionResponse = MagicApiResponseSingle & {
+  result?: MagicSite[];
+};
+
+/**
+ * Time To Live (TTL) in number of hops of the GRE tunnel.
+ *
+ * @default 64
+ */
+export type MagicTtl = number;
+
+export type MagicTunnelDeletedResponse = MagicApiResponseSingle & {
+  result?: {
+    /**
+     * @example true
+     */
+    deleted?: boolean;
+    deleted_gre_tunnel?: MagicGreTunnel;
+  };
+};
+
+export type MagicTunnelHealthCheck = MagicHealthCheckBase & {
   /**
-   * The name of the entry.
+   * The direction of the flow of the healthcheck. Either unidirectional, where the probe comes to you via the tunnel and the result comes back to Cloudflare via the open Internet, or bidirectional where both the probe and result come and go via the tunnel.
    *
-   * @example Credit card (Visa)
+   * @default unidirectional
+   * @example bidirectional
    */
-  name?: string;
-  pattern?: ComponentsSchemasPattern;
-  /**
-   * ID of the parent profile
-   */
-  profile_id?: void;
-  updated_at?: Timestamp;
+  direction?: 'unidirectional' | 'bidirectional';
 };
 
-export type CustomHostnameResponseCollection = ApiResponseCollection & {
-  result?: CustomHostnameLeshIZet[];
+export type MagicTunnelModifiedResponse = MagicApiResponseSingle & {
+  result?: {
+    /**
+     * @example true
+     */
+    modified?: boolean;
+    modified_gre_tunnel?: MagicGreTunnel;
+  };
 };
 
-export type CustomHostnameResponseSingle = ApiResponseSingleZZHeSkIR & {
-  result?: CustomHostname;
+export type MagicTunnelSingleResponse = MagicApiResponseSingle & {
+  result?: {
+    gre_tunnel?: MagicGreTunnel;
+  };
 };
 
-export type CustomHostnameResponseSingleYSdaZAmS = ApiResponseSingleLarS7owG & {
-  result?: Record<string, any>;
+export type MagicTunnelsCollectionResponse = MagicApiResponseSingle & {
+  result?: {
+    gre_tunnels?: MagicGreTunnel[];
+  };
 };
 
 /**
- * These are per-hostname (customer) settings.
+ * VLAN port number.
+ *
+ * @example 0
  */
-export type CustomMetadata = {
+export type MagicVlanTag = number;
+
+export type MagicWan = {
   /**
-   * Unique metadata for this hostname.
+   * Magic WAN health check rate for tunnels created on this link. The default value is `mid`.
    *
-   * @example value
+   * @default mid
+   * @example low
    */
-  key?: string;
+  health_check_rate?: 'low' | 'mid' | 'high';
+  id?: MagicIdentifier;
+  name?: string;
+  physport?: MagicPort;
+  /**
+   * Priority of WAN for traffic loadbalancing.
+   */
+  priority?: number;
+  site_id?: MagicIdentifier;
+  static_addressing?: MagicWanStaticAddressing;
+  vlan_tag?: MagicVlanTag;
+};
+
+export type MagicWanDeletedResponse = MagicApiResponseSingle & {
+  result?: MagicWan;
+};
+
+export type MagicWanModifiedResponse = MagicApiResponseSingle & {
+  result?: MagicWan;
+};
+
+export type MagicWanSingleResponse = MagicApiResponseSingle & {
+  result?: MagicWan;
 };
 
 /**
- * a valid hostname that’s been added to your DNS zone as an A, AAAA, or CNAME record.
- *
- * @example origin2.example.com
+ * (optional) if omitted, use DHCP. Submit secondary_address when site is in high availability mode.
  */
-export type CustomOriginServer = string;
+export type MagicWanStaticAddressing = {
+  address: MagicCidr;
+  gateway_address: MagicIpAddress;
+  secondary_address?: MagicCidr;
+};
+
+export type MagicWanUpdateRequest = {
+  name?: string;
+  physport?: MagicPort;
+  priority?: number;
+  static_addressing?: MagicWanStaticAddressing;
+  vlan_tag?: MagicVlanTag;
+};
+
+export type MagicWansAddSingleRequest = {
+  name?: string;
+  physport: MagicPort;
+  priority?: number;
+  static_addressing?: MagicWanStaticAddressing;
+  vlan_tag: MagicVlanTag;
+};
+
+export type MagicWansCollectionResponse = MagicApiResponseSingle & {
+  result?: MagicWan[];
+};
 
 /**
- * A hostname that will be sent to your custom origin server as SNI for TLS handshake. This can be a valid subdomain of the zone or custom origin server name or the string ':request_host_header:' which will cause the host header in the request to be used as SNI. Not configurable with default/fallback origin server.
- *
- * @example sni.example.com
+ * Optional weight of the ECMP scope - if provided.
  */
-export type CustomOriginSni = string;
+export type MagicWeight = number;
 
 /**
- * Only available for the Waiting Room Advanced subscription. This is a template html file that will be rendered at the edge. If no custom_page_html is provided, the default waiting room will be used. The template is based on mustache ( https://mustache.github.io/ ). There are several variables that are evaluated by the Cloudflare edge:
- * 1. {{`waitTimeKnown`}} Acts like a boolean value that indicates the behavior to take when wait time is not available, for instance when queue_all is **true**.
- * 2. {{`waitTimeFormatted`}} Estimated wait time for the user. For example, five minutes. Alternatively, you can use:
- * 3. {{`waitTime`}} Number of minutes of estimated wait for a user.
- * 4. {{`waitTimeHours`}} Number of hours of estimated wait for a user (`Math.floor(waitTime/60)`).
- * 5. {{`waitTimeHourMinutes`}} Number of minutes above the `waitTimeHours` value (`waitTime%60`).
- * 6. {{`queueIsFull`}} Changes to **true** when no more people can be added to the queue.
+ * Account identifier
  *
- * To view the full list of variables, look at the `cfWaitingRoom` object described under the `json_response_enabled` property in other Waiting Room API calls.
- *
- * @default
- * @example {{#waitTimeKnown}} {{waitTime}} mins {{/waitTimeKnown}} {{^waitTimeKnown}} Queue all enabled {{/waitTimeKnown}}
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type CustomPageHtml = string;
+export type MconnAccountId = string;
+
+export type MconnAdminConnector = {
+  account_id: MconnAccountId;
+  activated: boolean;
+  cohort?: string;
+  desired_version?: string;
+  device_id?: MconnUuid;
+  id: MconnUuid;
+  interrupt_window_duration_hours: number;
+  interrupt_window_hour_of_day: number;
+  last_heartbeat?: string;
+  last_seen_version?: string;
+  last_updated: string;
+  notes: string;
+  pinned_version?: string;
+  timezone: string;
+  upgrade_asap: boolean;
+  upgrade_attempts: number;
+};
+
+export type MconnAdminConnectorCreateRequest = MconnAdminConnectorFields;
+
+export type MconnAdminConnectorCreateResponse = MconnGoodResponse & {
+  result?: MconnAdminConnector;
+};
+
+export type MconnAdminConnectorDeleteResponse = MconnGoodResponse & {
+  result?: MconnAdminConnector;
+};
+
+export type MconnAdminConnectorFetchResponse = MconnGoodResponse & {
+  result?: MconnAdminConnector;
+};
+
+export type MconnAdminConnectorFields = {
+  account_id?: number;
+  activated?: boolean;
+  cohort?: string;
+  desired_version?: string;
+  device_id?: string;
+  interrupt_window_duration_hours?: number;
+  interrupt_window_hour_of_day?: number;
+  last_heartbeat?: string;
+  last_seen_version?: string;
+  last_updated?: string;
+  notes?: string;
+  pinned_version?: string;
+  timezone?: string;
+  upgrade_asap?: boolean;
+  upgrade_attempts?: number;
+};
+
+export type MconnAdminConnectorListResponse = MconnGoodResponse & {
+  result?: MconnAdminConnector[];
+};
+
+export type MconnAdminConnectorReplaceRequest = MconnAdminConnectorFields;
+
+export type MconnAdminConnectorReplaceResponse = MconnGoodResponse & {
+  result?: MconnAdminConnector;
+};
+
+export type MconnAdminConnectorUpdateRequest = MconnAdminConnectorFields;
+
+export type MconnAdminConnectorUpdateResponse = MconnGoodResponse & {
+  result?: MconnAdminConnector;
+};
+
+export type MconnAdminDevice = {
+  crypt_key: string;
+  crypt_key_rotation_finished_at?: string;
+  crypt_key_rotation_output?: string;
+  crypt_key_rotation_started_at?: string;
+  crypt_key_rotation_status_code?: number;
+  ek_cert?: string;
+  id: MconnUuid;
+  imaged_at?: string;
+  last_crypt_key?: string;
+  last_updated: string;
+  license_key_sha256?: string;
+  metadata: string;
+  serial_number?: string;
+};
+
+export type MconnAdminDeviceCreateRequest = MconnAdminDeviceFields;
+
+export type MconnAdminDeviceCreateResponse = MconnGoodResponse & {
+  result?: MconnAdminDevice;
+};
+
+export type MconnAdminDeviceDeleteResponse = MconnGoodResponse & {
+  result?: MconnAdminDevice;
+};
+
+export type MconnAdminDeviceFetchResponse = MconnGoodResponse & {
+  result?: MconnAdminDevice;
+};
+
+export type MconnAdminDeviceFields = {
+  crypt_key?: string;
+  crypt_key_rotation_finished_at?: string;
+  crypt_key_rotation_output?: string;
+  crypt_key_rotation_started_at?: string;
+  crypt_key_rotation_status_code?: number;
+  ek_cert?: string;
+  imaged_at?: string;
+  last_crypt_key?: string;
+  last_updated?: string;
+  license_key_sha256?: string;
+  metadata?: string;
+  serial_number?: string;
+};
+
+export type MconnAdminDeviceListResponse = MconnGoodResponse & {
+  result?: MconnAdminDevice[];
+};
+
+export type MconnAdminDeviceReplaceRequest = MconnAdminDeviceFields;
+
+export type MconnAdminDeviceReplaceResponse = MconnGoodResponse & {
+  result?: MconnAdminDevice;
+};
+
+export type MconnAdminDeviceUpdateRequest = MconnAdminDeviceFields;
+
+export type MconnAdminDeviceUpdateResponse = MconnGoodResponse & {
+  result?: MconnAdminDevice;
+};
+
+export type MconnAdminFlare = {
+  id: MconnUuid;
+  triggered_at: string;
+};
+
+export type MconnAdminFlareReplaceResponse = MconnGoodResponse & {
+  result?: MconnAdminFlare;
+};
+
+export type MconnAdminMacrosDiagnoseConnectorResponse = MconnGoodResponse & {
+  result?: MconnAdminMacrosDiagnoseConnectorResult;
+};
+
+export type MconnAdminMacrosDiagnoseConnectorResult = {
+  connector?: MconnAdminConnector;
+  device?: MconnAdminDevice;
+  site?: MconnAdminSite;
+};
+
+export type MconnAdminMacrosProvisionLicensedConnectorResponse = MconnGoodResponse & {
+  result?: MconnAdminMacrosProvisionLicensedConnectorResult;
+};
+
+export type MconnAdminMacrosProvisionLicensedConnectorResult = {
+  connector: MconnAdminConnector;
+  device: MconnAdminDevice;
+  license_key: string;
+};
+
+export type MconnAdminMacrosProvisionPhysicalConnectorResponse = MconnGoodResponse & {
+  result?: MconnAdminMacrosProvisionPhysicalConnectorResult;
+};
+
+export type MconnAdminMacrosProvisionPhysicalConnectorResult = {
+  connector: MconnAdminConnector;
+};
+
+export type MconnAdminSite = {
+  id: MconnUuid;
+};
+
+export type MconnAdminUpgradeSlot = {
+  connector_id?: MconnUuid;
+  id: number;
+  started_at?: string;
+};
+
+export type MconnAdminUpgradeSlotsFetchResponse = MconnGoodResponse & {
+  result?: MconnAdminUpgradeSlot[];
+};
+
+export type MconnAdminUpgradeSlotsReplaceResponse = MconnGoodResponse & {
+  result?: MconnAdminUpgradeSlot[];
+};
+
+export type MconnBadResponse = MconnResponse & {
+  /**
+   * @minLength 1
+   */
+  errors?: MconnCodedMessage[];
+  result?: MconnNone;
+};
+
+export type MconnCodedMessage = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+};
+
+export type MconnConduitConnector = {
+  account_id: MconnAccountId;
+};
+
+export type MconnConduitFetchConnectorResponse = MconnGoodResponse & {
+  result?: MconnConduitFetchConnectorResult;
+};
+
+export type MconnConduitFetchConnectorResult = MconnConduitConnector;
+
+export type MconnControllerAttestationSession = {
+  ak_public: string;
+  connector?: MconnControllerConnectorIdentity;
+  device: MconnControllerDeviceIdentity;
+  nonce: string;
+};
+
+export type MconnControllerBeginAttestationSessionResponse = MconnGoodResponse & {
+  result?: MconnControllerBeginAttestationSessionResult;
+};
+
+export type MconnControllerBeginAttestationSessionResult = MconnControllerAttestationSession;
+
+export type MconnControllerConnector = {
+  account_id: MconnAccountId;
+  activated: boolean;
+  desired_version?: string;
+  id: MconnUuid;
+  interrupt_window_duration_hours: number;
+  interrupt_window_hour_of_day: number;
+  last_heartbeat?: string;
+  last_seen_version?: string;
+  pinned_version?: string;
+  timezone: string;
+  upgrade_asap: boolean;
+  upgrade_attempts: number;
+};
+
+export type MconnControllerConnectorIdentity = {
+  account_id: MconnAccountId;
+  activated: boolean;
+  id: MconnUuid;
+};
+
+export type MconnControllerDevice = {
+  crypt_key: string;
+  id: MconnUuid;
+  imaged_at?: string;
+  last_crypt_key?: string;
+  license_key_sha256?: string;
+  serial_number?: string;
+};
+
+export type MconnControllerDeviceIdentity = {
+  id: MconnUuid;
+  imaged_at?: string;
+  serial_number?: string;
+};
+
+export type MconnControllerEndAttestationSessionResponse = MconnGoodResponse & {
+  result?: MconnControllerEndAttestationSessionResult;
+};
+
+export type MconnControllerEndAttestationSessionResult = MconnControllerAttestationSession;
+
+export type MconnControllerFetchCloudflaredTokenResponse = MconnGoodResponse & {
+  result?: MconnControllerFetchCloudflaredTokenResult;
+};
+
+export type MconnControllerFetchCloudflaredTokenResult = string;
+
+export type MconnControllerFetchConnectorResponse = MconnGoodResponse & {
+  result?: MconnControllerFetchConnectorResult;
+};
+
+export type MconnControllerFetchConnectorResult = MconnControllerConnector;
+
+export type MconnControllerFetchDeviceResponse = MconnGoodResponse & {
+  result?: MconnControllerFetchDeviceResult;
+};
+
+export type MconnControllerFetchDeviceResult = MconnControllerDevice;
+
+export type MconnControllerFetchFlareResponse = MconnGoodResponse & {
+  result?: MconnControllerFetchFlareResult;
+};
+
+export type MconnControllerFetchFlareResult = MconnControllerFlare;
+
+export type MconnControllerFetchUpgradeSlotsResponse = MconnGoodResponse & {
+  result?: MconnControllerUpgradeSlot[];
+};
+
+export type MconnControllerFlare = {
+  triggered_at: string;
+};
+
+export type MconnControllerIdentifyEkCertResponse = MconnGoodResponse & {
+  result?: MconnControllerIdentifyEkCertResult;
+};
+
+export type MconnControllerIdentifyEkCertResult = {
+  connector?: MconnControllerConnectorIdentity;
+  device?: MconnControllerDeviceIdentity;
+};
+
+export type MconnControllerIdentifyLicenseKeyResponse = MconnGoodResponse & {
+  result?: MconnControllerIdentifyLicenseKeyResult;
+};
+
+export type MconnControllerIdentifyLicenseKeyResult = {
+  connector?: MconnControllerConnectorIdentity;
+  device?: MconnControllerDeviceIdentity;
+};
+
+export type MconnControllerUpdateConnectorResponse = MconnGoodResponse & {
+  result?: MconnControllerUpdateConnectorResult;
+};
 
-export type CustomPagesResponseCollection = ApiResponseCollection & {
-  result?: Record<string, any>[];
+export type MconnControllerUpdateConnectorResult = Record<string, any>;
+
+export type MconnControllerUpdateDeviceResponse = MconnGoodResponse & {
+  result?: MconnControllerUpdateDeviceResult;
 };
 
-export type CustomPagesResponseSingle = ApiResponseSingleLarS7owG & {
-  result?: Record<string, any>;
+export type MconnControllerUpdateDeviceResult = Record<string, any>;
+
+export type MconnControllerUpgradeSlot = {
+  connector_id?: MconnUuid;
+  id: number;
+  started_at?: string;
 };
 
-export type CustomProfile = {
-  allowed_match_count?: AllowedMatchCount;
-  created_at?: Timestamp;
-  /**
-   * The description of the profile.
-   *
-   * @example A standard CVV card number
-   */
-  description?: string;
-  /**
-   * The entries for this profile.
-   */
-  entries?: CustomEntryMPO16jNs[];
-  id?: ProfileId;
-  /**
-   * The name of the profile.
-   *
-   * @example Generic CVV Card Number
-   */
-  name?: string;
-  /**
-   * The type of the profile.
-   *
-   * @example custom
-   */
-  type?: 'custom';
-  updated_at?: Timestamp;
+export type MconnCreateAttestationSessionResponse = MconnGoodResponse & {
+  result?: MconnControllerAttestationSession;
 };
 
-export type CustomProfileResponse = ApiResponseSingleUypB4bgI & {
-  result?: CustomProfile;
+export type MconnCreateConnectorResponse = MconnGoodResponse & {
+  result?: MconnAdminConnector;
 };
 
-export type CustomProfileResponseY26KBuBX = ApiResponseSingleLarS7owG & {
-  result?: CustomProfile;
+export type MconnCustomerConnector = {
+  activated: boolean;
+  device?: MconnCustomerDevice;
+  id: MconnUuid;
+  interrupt_window_duration_hours: number;
+  interrupt_window_hour_of_day: number;
+  last_heartbeat?: string;
+  last_seen_version?: string;
+  last_updated: string;
+  notes: string;
+  timezone: string;
 };
 
-/**
- * A custom content type and reponse to return when the threshold is exceeded. The custom response configured in this object will override the custom error for the zone. This object is optional.
- * Notes: If you omit this object, Cloudflare will use the default HTML error page. If "mode" is "challenge", "managed_challenge", or "js_challenge", Cloudflare will use the zone challenge pages and you should not provide the "response" object.
- */
-export type CustomResponse = {
-  body?: Body;
-  content_type?: ContentType;
+export type MconnCustomerConnectorFetchResponse = MconnGoodResponse & {
+  result?: MconnCustomerConnector;
 };
 
-/**
- * The IP address assigned to the customer side of the GRE tunnel.
- *
- * @example 203.0.113.1
- */
-export type CustomerGreEndpoint = string;
+export type MconnCustomerConnectorFields = {
+  activated?: boolean;
+  interrupt_window_duration_hours?: number;
+  interrupt_window_hour_of_day?: number;
+  notes?: string;
+  timezone?: string;
+};
 
-/**
- * The IP address assigned to the customer side of the IPsec tunnel.
- *
- * @example 203.0.113.1
- */
-export type CustomerIpsecEndpoint = string;
-
-export type Customhostname = {
-  created_at?: CreatedAt;
-  custom_metadata?: CustomMetadata;
-  custom_origin_server?: CustomOriginServer;
-  custom_origin_sni?: CustomOriginSni;
-  hostname?: Hostname;
-  id?: Identifier;
-  ownership_verification?: OwnershipVerification;
-  ownership_verification_http?: OwnershipVerificationHttp;
-  ssl?: Ssl;
-  status?: ComponentsSchemasStatus;
-  verification_errors?: VerificationErrors;
-};
-
-export type CustomhostnameCUApQClb = {
-  created_at?: CreatedAt;
-  custom_metadata?: CustomMetadata;
-  custom_origin_server?: CustomOriginServer;
-  custom_origin_sni?: CustomOriginSni;
-  hostname?: Hostname;
-  id?: CustomHostnameComponentsSchemasIdentifier;
-  ownership_verification?: OwnershipVerification;
-  ownership_verification_http?: OwnershipVerificationHttp;
-  ssl?: SslReUR6bMS;
-  status?: CustomHostnameComponentsSchemasStatus;
-  verification_errors?: VerificationErrors;
+export type MconnCustomerConnectorListResponse = MconnGoodResponse & {
+  result?: MconnCustomerConnector[];
 };
 
-/**
- * Totals and timeseries data.
- */
-export type Dashboard = {
-  timeseries?: Timeseries;
-  totals?: Totals;
+export type MconnCustomerConnectorUpdateRequest = MconnCustomerConnectorFields;
+
+export type MconnCustomerConnectorUpdateResponse = MconnGoodResponse & {
+  result?: MconnCustomerConnector;
 };
 
-export type DashboardResponse = ApiResponseSingleLarS7owG & {
-  query?: QueryResponse;
-  result?: Dashboard;
+export type MconnCustomerDevice = {
+  id: MconnUuid;
+  serial_number?: string;
 };
 
-/**
- * Array with one row per combination of dimension values.
- */
-export type Data = {
-  /**
-   * Array of dimension values, representing the combination of dimension values corresponding to this row.
-   */
-  dimensions: string[];
-}[];
+export type MconnDeleteAttestationSessionResponse = MconnGoodResponse & {
+  result?: MconnControllerAttestationSession;
+};
 
-/**
- * The number of data points used for the threshold suggestion calculation.
- */
-export type DataPoints = number;
+export type MconnDeleteControllerFlareResponse = MconnGoodResponse & {
+  result?: MconnControllerFlare;
+};
 
-/**
- * A breakdown of all dashboard analytics data by co-locations. This is limited to Enterprise zones only.
- */
-export type Datacenters = {
+export type MconnGoodResponse = MconnResponse & {
   /**
-   * The airport code identifer for the co-location.
-   *
-   * @example SFO
+   * @maxLength 0
    */
-  colo_id?: string;
-  timeseries?: TimeseriesByColo;
-  totals?: TotalsByColo;
-}[];
+  errors?: MconnCodedMessage[];
+};
 
-/**
- * Name of the dataset.
- *
- * @example http_requests
- * @maxLength 256
- * @pattern ^[a-zA-Z0-9_\-]*$
- */
-export type Dataset = string | null;
+export type MconnHeartbeatResponse = MconnGoodResponse;
 
-/**
- * The number of days until the next key rotation.
- *
- * @example 1
- */
-export type DaysUntilNextRotation = number;
+export type MconnNone = Record<string, any> | null;
 
-/**
- * The action Access will take if a user matches this policy.
- *
- * @example allow
- */
-export type Decision = 'allow' | 'deny' | 'non_identity' | 'bypass';
+export type MconnPartnerDevice = {
+  id: MconnUuid;
+};
 
-/**
- * Whether the policy is the default policy for an account.
- *
- * @example false
- */
-export type Default = boolean;
+export type MconnPartnerDeviceRegisterResponse = MconnGoodResponse & {
+  result?: MconnPartnerDevice;
+};
+
+export type MconnReadControllerConnectorTokenResponse = MconnGoodResponse & {
+  result?: string;
+};
+
+export type MconnResponse = {
+  messages: MconnCodedMessage[];
+  success: boolean;
+};
+
+export type MconnUuid = string;
 
 /**
- * The default amount allocated.
- *
- * @example 5
+ * @example {"code":7003,"message":"No route for the URI"}
+ * @minLength 1
  */
-export type DefaultVg5XL96o = number;
-
-export type DefaultDeviceSettingsPolicy = {
-  allow_mode_switch?: AllowModeSwitch;
-  allow_updates?: AllowUpdates;
-  allowed_to_leave?: AllowedToLeave;
-  auto_connect?: AutoConnect;
-  captive_portal?: CaptivePortal;
-  /**
-   * Whether the policy will be applied to matching devices.
-   *
-   * @example true
-   */
-  ['default']?: boolean;
-  disable_auto_fallback?: DisableAutoFallback;
-  /**
-   * Whether the policy will be applied to matching devices.
-   *
-   * @example true
-   */
-  enabled?: boolean;
-  exclude?: ExcludeRjxLDhaP;
-  exclude_office_ips?: ExcludeOfficeIps;
-  fallback_domains?: FallbackDomains;
-  gateway_unique_id?: GatewayUniqueId;
-  include?: IncludeFVRZ2Ny8;
-  service_mode_v2?: ServiceModeV2;
-  support_url?: SupportUrl;
-  switch_locked?: SwitchLocked;
-};
-
-export type DefaultDeviceSettingsPolicyNayGa1J3 = {
-  allow_mode_switch?: AllowModeSwitch;
-  allow_updates?: AllowUpdates;
-  allowed_to_leave?: AllowedToLeave;
-  auto_connect?: AutoConnect;
-  captive_portal?: CaptivePortal;
+export type MqApiV4Error = {
   /**
-   * Whether the policy will be applied to matching devices.
-   *
-   * @example true
+   * @minimum 1000
    */
-  ['default']?: boolean;
-  disable_auto_fallback?: DisableAutoFallback;
+  code: number;
+  message: string;
+}[];
+
+export type MqApiV4Failure = {
+  errors?: MqApiV4Error;
+  messages?: MqApiV4Message;
   /**
-   * Whether the policy will be applied to matching devices.
+   * Indicates if the API call was successful or not.
    *
-   * @example true
+   * @example false
    */
-  enabled?: boolean;
-  exclude?: ComponentsSchemasExclude;
-  exclude_office_ips?: ExcludeOfficeIps;
-  fallback_domains?: FallbackDomains;
-  gateway_unique_id?: GatewayUniqueId;
-  include?: SchemasInclude;
-  service_mode_v2?: ServiceModeV2;
-  support_url?: SupportUrl;
-  switch_locked?: SwitchLocked;
+  success?: false;
 };
 
-export type DefaultDeviceSettingsResponse = ApiResponseCollection & {
-  result?: DefaultDeviceSettingsPolicyNayGa1J3;
+export type MqApiV4Message = string[];
+
+export type MqApiV4Success = {
+  errors?: MqApiV4Error;
+  messages?: MqApiV4Message;
+  /**
+   * Indicates if the API call was successful or not.
+   */
+  success?: true;
 };
 
 /**
- * The default action/mode of a rule.
+ * The maximum number of messages to include in a batch.
  *
- * @example block
+ * @example 50
  */
-export type DefaultMode = 'disable' | 'simulate' | 'block' | 'challenge';
+export type MqBatchSize = number;
 
-/**
- * A list of pool IDs ordered by their failover priority. Pools defined here are used by default, or when region_pools are not configured for a given region.
- *
- * @example 17b5962d775c646f3f9725cbc7a53df4
- * @example 9290f38c5d07c2e2f4df57b1f61d4196
- * @example 00920f38ce07c2e2f4df50b1f61d4194
- */
-export type DefaultPools = string[];
+export type MqConsumer = MqWorkerConsumer | MqHttpConsumer;
 
-export type DefaultResponse = ApiResponseSingleLarS7owG;
+export type MqHttpConsumer = {
+  consumer_id?: MqIdentifier;
+  created_on?: string;
+  queue_id?: MqIdentifier;
+  settings?: {
+    batch_size?: MqBatchSize;
+    max_retries?: MqMaxRetries;
+    retry_delay?: MqRetryDelay;
+    visibility_timeout_ms?: MqVisibilityTimeout;
+  };
+  type?: 'http_pull';
+};
 
 /**
- * If you have legacy TLS clients which do not send the TLS server name indicator, then you can specify one default SNI on the map. If Cloudflare receives a TLS handshake from a client without an SNI, it will respond with the default SNI on those IPs. The default SNI can be any valid zone or subdomain owned by the account.
+ * A Resource identifier.
  *
- * @example *.example.com
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type DefaultSni = string | null;
+export type MqIdentifier = string;
 
 /**
- * The language of the default page template. If no default_template_language is provided, then `en-US` (English) will be used.
+ * An ID that represents an "in-flight" message that has been pulled from a Queue. You must hold on to this ID and use it to acknowledge this message.
  *
- * @default en-US
- * @example es-ES
+ * @example eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIn0..Q8p21d7dceR6vUfwftONdQ.JVqZgAS-Zk7MqmqccYtTHeeMElNHaOMigeWdb8LyMOg.T2_HV99CYzGaQuhTyW8RsgbnpTRZHRM6N7UoSaAKeK0
  */
-export type DefaultTemplateLanguage =
-  | 'en-US'
-  | 'es-ES'
-  | 'de-DE'
-  | 'fr-FR'
-  | 'it-IT'
-  | 'ja-JP'
-  | 'ko-KR'
-  | 'pt-BR'
-  | 'zh-CN'
-  | 'zh-TW'
-  | 'nl-NL'
-  | 'pl-PL'
-  | 'id-ID'
-  | 'tr-TR'
-  | 'ar-EG'
-  | 'ru-RU'
-  | 'fa-IR';
+export type MqLeaseId = string;
 
 /**
- * Account identifier for the account to which prefix is being delegated.
+ * Maximum number of concurrent consumers that may consume from this Queue. Set to `null` to automatically opt in to the platform's maximum (recommended).
  *
- * @example b1946ac92492d2347c6235b4d2611184
- * @maxLength 32
+ * @example 10
  */
-export type DelegatedAccountIdentifier = string;
+export type MqMaxConcurrency = number;
 
 /**
- * Account identifier for the account to which prefix is being delegated.
+ * The maximum number of retries
  *
- * @example b1946ac92492d2347c6235b4d2611184
- * @maxLength 32
+ * @example 3
  */
-export type DelegatedAccountIdentifier4pd98LdN = string;
+export type MqMaxRetries = number;
 
 /**
- * Delegation identifier tag.
+ * The number of milliseconds to wait for a batch to fill up before attempting to deliver it
  *
- * @example d933b1530bc56c9953cf8ce166da8004
- * @maxLength 32
+ * @example 5000
  */
-export type DelegationIdentifier = string;
+export type MqMaxWaitTime = number;
 
-export type DeleteAdvancedCertificatePackResponseSingle = ApiResponseSingleZZHeSkIR & {
-  result?: {
-    id?: Identifier;
-  };
-};
+export type MqProducer = MqWorkerProducer | MqR2Producer;
 
-export type DeleteAdvancedCertificatePackResponseSingleJSlQkaZt = ApiResponseSingleLarS7owG & {
-  result?: {
-    id?: CertificatePacksComponentsSchemasIdentifier;
-  };
+export type MqQueue = {
+  consumers?: MqConsumer[];
+  consumers_total_count?: number;
+  created_on?: string;
+  modified_on?: string;
+  producers?: MqProducer[];
+  producers_total_count?: number;
+  queue_id?: string;
+  queue_name?: MqQueueName;
+  settings?: MqQueueSettings;
 };
 
-export type DeleteDnssecResponseSingle = ApiResponseSinglePOKosyfu & {
+export type MqQueueBatch = {
   /**
-   * @example
+   * @example 1
    */
-  result?: string;
-};
-
-/**
- * When true, indicates that Cloudflare should also delete the associated filter if there are no other firewall rules referencing the filter.
- */
-export type DeleteFilterIfUnused = boolean;
+  attempts?: number;
+  /**
+   * @example hello world
+   */
+  body?: string;
+  /**
+   * @example b01b5594f784d0165c2985833f5660dd
+   */
+  id?: string;
+  lease_id?: MqLeaseId;
+  /**
+   * @example {"CF-Content-Type":"text","CF-sourceMessageSource":"dash"}
+   */
+  metadata?: Record<string, any>;
+  /**
+   * @example 1710950954154
+   */
+  timestamp_ms?: number;
+}[];
 
 /**
- * True if the device was deleted.
- *
- * @example true
+ * @example example-queue
  */
-export type Deleted = boolean;
+export type MqQueueName = string;
 
-/**
- * When true, indicates that the firewall rule was deleted.
- *
- * @example true
- */
-export type DeletedRjQ7awe5 = boolean;
+export type MqQueueSettings = {
+  /**
+   * Number of seconds to delay delivery of all messages to consumers.
+   *
+   * @example 5
+   */
+  delivery_delay?: number;
+  /**
+   * Number of seconds after which an unconsumed message will be delayed.
+   *
+   * @example 345600
+   */
+  message_retention_period?: number;
+};
 
-export type DeletedFilter = {
-  deleted: DeletedRjQ7awe5;
-  id: FiltersComponentsSchemasId;
+export type MqR2Producer = {
+  bucket_name?: string;
+  type?: 'r2_bucket';
 };
 
 /**
- * Date of deletion, if any.
+ * The number of seconds to delay before making the message available for another attempt.
  *
- * @format date-time
+ * @example 10
  */
-export type DeletedAt = string | null;
+export type MqRetryDelay = number;
 
 /**
- * Timestamp of when the tunnel was deleted. If `null`, the tunnel has not been deleted.
+ * Name of a Worker
  *
- * @example 2009-11-10T23:00:00Z
- * @format date-time
+ * @example my-consumer-worker
  */
-export type DeletedAtYdpycuPv = string | null;
-
-export type DeletedResponse = ApiResponseSingleYdRGfgTy & {
-  /**
-   * @example ok
-   */
-  result?: string;
-};
+export type MqScriptName = string;
 
-export type DeletedResponseCeOmnPLd = ApiResponseSingleLarS7owG & {
-  /**
-   * @example {}
-   */
-  result?: Record<string, any>;
-};
-
-export type DeploymentListResponse = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | any[] | string;
-  /**
-   * Whether the API call was successful
-   *
-   * @example true
-   */
-  success: true;
-  result_info?: {
-    /**
-     * @example 1
-     */
-    count?: void;
-    /**
-     * @example 1
-     */
-    page?: void;
-    /**
-     * @example 100
-     */
-    per_page?: void;
-    /**
-     * @example 1
-     */
-    total_count?: void;
-  };
-};
+/**
+ * The number of milliseconds that a message is exclusively leased. After the timeout, the message becomes available for another attempt.
+ *
+ * @example 6000
+ */
+export type MqVisibilityTimeout = number;
 
-export type DeploymentNewDeployment = {
-  errors: Messages;
-  messages: Messages;
-  result: Deployments;
+export type MqWorkerConsumer = {
+  consumer_id?: MqIdentifier;
+  created_on?: string;
+  queue_id?: MqIdentifier;
   /**
-   * Whether the API call was successful
+   * Name of a Worker
    *
-   * @example true
+   * @example my-consumer-worker
    */
-  success: true;
-};
-
-export type DeploymentResponseDetails = {
-  errors: Messages;
-  messages: Messages;
-  result: Deployments;
+  script?: MqScriptName & string;
   /**
-   * Whether the API call was successful
+   * Name of a Worker
    *
-   * @example true
+   * @example my-consumer-worker
    */
-  success: true;
+  script_name?: MqScriptName & string;
+  settings?: {
+    batch_size?: MqBatchSize;
+    max_concurrency?: MqMaxConcurrency;
+    max_retries?: MqMaxRetries;
+    max_wait_time_ms?: MqMaxWaitTime;
+    retry_delay?: MqRetryDelay;
+  };
+  type?: 'worker';
 };
 
-export type DeploymentResponseLogs = {
-  errors: Messages;
-  messages: Messages;
-  /**
-   * @example {"data":[{"line":"Cloning repository...","ts":"2021-04-20T19:35:29.0749819Z"},{"line":"From https://github.com/cloudflare/example","ts":"2021-04-20T19:35:30.0749819Z"},{"line":" * branch            209c5bb11d89533f426b2f8469bcae12fdccf71b -> FETCH_HEAD","ts":"2021-04-20T19:35:30.0749819Z"},{"line":"","ts":"2021-04-20T19:35:30.0749819Z"},{"line":"HEAD is now at 209c5bb Update index.html","ts":"2021-04-20T19:35:30.0749819Z"},{"line":"","ts":"2021-04-20T19:35:30.0749819Z"},{"line":"","ts":"2021-04-20T19:35:30.0749819Z"},{"line":"Success: Finished cloning repository files","ts":"2021-04-20T19:35:30.0749819Z"},{"line":"Installing dependencies","ts":"2021-04-20T19:35:59.0749819Z"},{"line":"Python version set to 2.7","ts":"2021-04-20T19:35:59.0931208Z"},{"line":"v12.18.0 is already installed.","ts":"2021-04-20T19:36:02.2369501Z"},{"line":"Now using node v12.18.0 (npm v6.14.4)","ts":"2021-04-20T19:36:02.6028886Z"},{"line":"Started restoring cached build plugins","ts":"2021-04-20T19:36:02.624555Z"},{"line":"Finished restoring cached build plugins","ts":"2021-04-20T19:36:02.6340688Z"},{"line":"Attempting ruby version 2.7.1, read from environment","ts":"2021-04-20T19:36:02.963095Z"},{"line":"Using ruby version 2.7.1","ts":"2021-04-20T19:36:04.2236084Z"},{"line":"Using PHP version 5.6","ts":"2021-04-20T19:36:04.5450152Z"},{"line":"5.2 is already installed.","ts":"2021-04-20T19:36:04.5740509Z"},{"line":"Using Swift version 5.2","ts":"2021-04-20T19:36:04.577035Z"},{"line":"Installing Hugo 0.54.0","ts":"2021-04-20T19:36:04.5771615Z"},{"line":"Hugo Static Site Generator v0.54.0-B1A82C61A/extended linux/amd64 BuildDate: 2019-02-01T10:04:38Z","ts":"2021-04-20T19:36:05.4786868Z"},{"line":"Started restoring cached go cache","ts":"2021-04-20T19:36:05.4794366Z"},{"line":"Finished restoring cached go cache","ts":"2021-04-20T19:36:05.481977Z"},{"line":"go version go1.14.4 linux/amd64","ts":"2021-04-20T19:36:05.9049776Z"},{"line":"go version go1.14.4 linux/amd64","ts":"2021-04-20T19:36:05.9086053Z"},{"line":"Installing missing commands","ts":"2021-04-20T19:36:05.9163568Z"},{"line":"Verify run directory","ts":"2021-04-20T19:36:05.9163934Z"},{"line":"Executing user command: echo \"skipping build step: no build command specified\"","ts":"2021-04-20T19:36:05.9164636Z"},{"line":"skipping build step: no build command specified","ts":"2021-04-20T19:36:05.9165087Z"},{"line":"Finished","ts":"2021-04-20T19:36:05.917412Z"}],"includes_container_logs":true,"total":30}
-   */
-  result: Record<string, any> | any[] | string;
+export type MqWorkerProducer = {
+  script?: string;
+  type?: 'worker';
+};
+
+export type ObservatoryApiResponseCollection = ObservatoryApiResponseCommon;
+
+export type ObservatoryApiResponseCommon = {
+  errors: ObservatoryMessages;
+  messages: ObservatoryMessages;
   /**
-   * Whether the API call was successful
+   * Whether the API call was successful.
    *
    * @example true
    */
-  success: true;
+  success: boolean;
 };
 
-export type DeploymentResponseStageLogs = {
-  errors: Messages;
-  messages: Messages;
+export type ObservatoryApiResponseCommonFailure = {
   /**
-   * @example {"data":[{"id":15,"message":"Installing dependencies","timestamp":"2021-04-20T19:35:59.0749819Z"},{"id":16,"message":"Python version set to 2.7","timestamp":"2021-04-20T19:35:59.0931208Z"},{"id":17,"message":"v12.18.0 is already installed.","timestamp":"2021-04-20T19:36:02.2369501Z"},{"id":18,"message":"Now using node v12.18.0 (npm v6.14.4)","timestamp":"2021-04-20T19:36:02.6028886Z"},{"id":19,"message":"Started restoring cached build plugins","timestamp":"2021-04-20T19:36:02.624555Z"},{"id":20,"message":"Finished restoring cached build plugins","timestamp":"2021-04-20T19:36:02.6340688Z"},{"id":21,"message":"Attempting ruby version 2.7.1, read from environment","timestamp":"2021-04-20T19:36:02.963095Z"},{"id":22,"message":"Using ruby version 2.7.1","timestamp":"2021-04-20T19:36:04.2236084Z"},{"id":23,"message":"Using PHP version 5.6","timestamp":"2021-04-20T19:36:04.5450152Z"},{"id":24,"message":"5.2 is already installed.","timestamp":"2021-04-20T19:36:04.5740509Z"},{"id":25,"message":"Using Swift version 5.2","timestamp":"2021-04-20T19:36:04.577035Z"},{"id":26,"message":"Installing Hugo 0.54.0","timestamp":"2021-04-20T19:36:04.5771615Z"},{"id":27,"message":"Hugo Static Site Generator v0.54.0-B1A82C61A/extended linux/amd64 BuildDate: 2019-02-01T10:04:38Z","timestamp":"2021-04-20T19:36:05.4786868Z"},{"id":28,"message":"Started restoring cached go cache","timestamp":"2021-04-20T19:36:05.4794366Z"},{"id":29,"message":"Finished restoring cached go cache","timestamp":"2021-04-20T19:36:05.481977Z"},{"id":30,"message":"go version go1.14.4 linux/amd64","timestamp":"2021-04-20T19:36:05.9049776Z"},{"id":31,"message":"go version go1.14.4 linux/amd64","timestamp":"2021-04-20T19:36:05.9086053Z"},{"id":32,"message":"Installing missing commands","timestamp":"2021-04-20T19:36:05.9163568Z"},{"id":33,"message":"Verify run directory","timestamp":"2021-04-20T19:36:05.9163934Z"},{"id":34,"message":"Executing user command: echo \"skipping build step: no build command specified\"","timestamp":"2021-04-20T19:36:05.9164636Z"},{"id":35,"message":"skipping build step: no build command specified","timestamp":"2021-04-20T19:36:05.9165087Z"},{"id":36,"message":"Finished","timestamp":"2021-04-20T19:36:05.917412Z"}],"end":37,"ended_on":"2021-04-20T19:36:06.38889Z","name":"build","start":0,"started_on":"2021-04-20T19:35:58.238757Z","status":"success","total":37}
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
    */
-  result: Record<string, any> | any[] | string;
+  errors: ObservatoryMessages;
+  messages: ObservatoryMessages;
+  result: any | null;
   /**
    * Whether the API call was successful
    *
-   * @example true
+   * @example false
    */
-  success: true;
+  success: false;
 };
 
-/**
- * Configs for deployments in a project.
- */
-export type DeploymentConfigs = {
-  /**
-   * Configs for preview deploys.
-   */
-  preview?: DeploymentConfigsValues;
-  /**
-   * Configs for production deploys.
-   */
-  production?: DeploymentConfigsValues;
-};
+export type ObservatoryApiResponseSingle = ObservatoryApiResponseCommon;
 
-export type DeploymentConfigsValues = {
-  /**
-   * Compatibility date used for Pages Functions.
-   *
-   * @example 2022-01-01
-   */
-  compatibility_date?: string;
-  /**
-   * Compatibility flags used for Pages Functions.
-   *
-   * @example url_standard
-   */
-  compatibility_flags?: any[];
-  /**
-   * D1 databases used for Pages Functions.
-   */
-  d1_databases?: {
-    /**
-     * D1 binding.
-     *
-     * @example {"id":"445e2955-951a-43f8-a35b-a4d0c8138f63"}
-     */
-    D1_BINDING?: {
-      /**
-       * UUID of the D1 database.
-       *
-       * @example 445e2955-951a-43f8-a35b-a4d0c8138f63
-       */
-      id?: string;
-    };
-  } | null;
-  /**
-   * Durabble Object namespaces used for Pages Functions.
-   */
-  durable_object_namespaces?: {
+export type ObservatoryAvailabilities = {
+  quota?: {
     /**
-     * Durabble Object binding.
+     * Cloudflare plan.
      *
-     * @example {"namespace_id":"5eb63bbbe01eeed093cb22bb8f5acdc3"}
+     * @example free
      */
-    DO_BINDING?: {
-      /**
-       * ID of the Durabble Object namespace.
-       *
-       * @example 5eb63bbbe01eeed093cb22bb8f5acdc3
-       */
-      namespace_id?: string;
-    };
-  } | null;
-  /**
-   * Environment variables for build configs.
-   */
-  env_vars?: {
+    plan?: string;
     /**
-     * Environment variable.
-     *
-     * @example {"type":"plain_text","value":"hello world"}
+     * The number of tests available per plan.
      */
-    ENVIRONMENT_VARIABLE?: {
-      /**
-       * The type of environment variable (plain text or secret)
-       */
-      type?: 'plain_text' | 'secret_text';
-      /**
-       * Environment variable value.
-       */
-      value?: string;
+    quotasPerPlan?: {
+      value?: ObservatoryPlanPropertiesInfo;
     };
-  } | null;
-  /**
-   * KV namespaces used for Pages Functions.
-   */
-  kv_namespaces?: {
     /**
-     * KV binding.
+     * The number of remaining schedules available.
      *
-     * @example {"namespace_id":"5eb63bbbe01eeed093cb22bb8f5acdc3"}
+     * @example 1
      */
-    KV_BINDING?: {
-      /**
-       * ID of the KV namespace.
-       *
-       * @example 5eb63bbbe01eeed093cb22bb8f5acdc3
-       */
-      namespace_id?: string;
-    };
-  };
-  /**
-   * Queue Producer bindings used for Pages Functions.
-   */
-  queue_producers?: {
+    remainingSchedules?: number;
     /**
-     * Queue Producer binding.
+     * The number of remaining tests available.
      *
-     * @example {"name":"some-queue"}
+     * @example 30
      */
-    QUEUE_PRODUCER_BINDING?: {
-      /**
-       * Name of the Queue.
-       *
-       * @example some-queue
-       */
-      name?: string;
-    };
-  } | null;
-  /**
-   * R2 buckets used for Pages Functions.
-   */
-  r2_buckets?: {
+    remainingTests?: number;
     /**
-     * R2 binding.
-     *
-     * @example {"name":"some-bucket"}
+     * The number of schedules available per plan.
      */
-    R2_BINDING?: {
-      /**
-       * Name of the R2 bucket.
-       *
-       * @example some-bucket
-       */
-      name?: string;
+    scheduleQuotasPerPlan?: {
+      value?: ObservatoryPlanPropertiesInfo;
     };
-  } | null;
+  };
+  regions?: ObservatoryLabeledRegion[];
   /**
-   * Services used for Pages Functions.
+   * Available regions.
    */
-  service_bindings?: {
+  regionsPerPlan?: {
+    business?: ObservatoryLabeledRegion[];
+    enterprise?: ObservatoryLabeledRegion[];
+    free?: ObservatoryLabeledRegion[];
+    pro?: ObservatoryLabeledRegion[];
+  };
+};
+
+export type ObservatoryAvailabilitiesResponse = ObservatoryApiResponseSingle & {
+  result?: ObservatoryAvailabilities;
+};
+
+export type ObservatoryCountResponse = ObservatoryApiResponseSingle & {
+  result?: {
     /**
-     * Service binding.
+     * Number of items affected.
      *
-     * @example {"environment":"production","service":"example-worker"}
+     * @example 1
      */
-    SERVICE_BINDING?: {
-      /**
-       * The Service environment.
-       */
-      environment?: string;
-      /**
-       * The Service name.
-       */
-      service?: string;
-    };
-  } | null;
+    count?: number;
+  };
+};
+
+export type ObservatoryCreateScheduleResponse = ObservatoryApiResponseSingle & {
+  result?: {
+    schedule?: ObservatorySchedule;
+    test?: ObservatoryPageTest;
+  };
 };
 
 /**
- * @example bcf48806-b317-4351-9ee7-36e7d557d4de
- * @maxLength 36
+ * The type of device.
+ *
+ * @example DESKTOP
  */
-export type DeploymentIdentifier = string;
+export type ObservatoryDeviceType = 'DESKTOP' | 'MOBILE';
 
 /**
- * Deployment stage name.
+ * Identifier
  *
- * @example deploy
- * @pattern queued|initialize|clone_repo|build|deploy
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type DeploymentStageName = string;
+export type ObservatoryIdentifier = string;
 
-export type Deployments = {
+/**
+ * A test region with a label.
+ */
+export type ObservatoryLabeledRegion = {
   /**
-   * A list of alias URLs pointing to this deployment.
-   *
-   * @example https://branchname.projectname.pages.dev
+   * @example Iowa, USA
    */
-  aliases?: any[] | null;
-  build_config?: void;
+  label?: string;
+  value?: ObservatoryRegion;
+};
+
+/**
+ * The error code of the Lighthouse result.
+ *
+ * @example NOT_REACHABLE
+ */
+export type ObservatoryLighthouseErrorCode =
+  | 'NOT_REACHABLE'
+  | 'DNS_FAILURE'
+  | 'NOT_HTML'
+  | 'LIGHTHOUSE_TIMEOUT'
+  | 'UNKNOWN';
+
+/**
+ * The Lighthouse report.
+ */
+export type ObservatoryLighthouseReport = {
   /**
-   * When the deployment was created.
+   * Cumulative Layout Shift.
    *
-   * @example 2021-03-09T00:55:03.923456Z
-   * @format date-time
-   */
-  created_on?: string;
-  /**
-   * Info about what caused the deployment.
+   * @example 100
    */
-  deployment_trigger?: {
+  cls?: number;
+  deviceType?: ObservatoryDeviceType;
+  error?: {
+    code?: ObservatoryLighthouseErrorCode;
     /**
-     * Additional info about the trigger.
+     * Detailed error message.
+     *
+     * @example Details: net::ERR_CONNECTION_CLOSED
      */
-    metadata?: {
-      /**
-       * Where the trigger happened.
-       *
-       * @example main
-       */
-      branch?: string;
-      /**
-       * Hash of the deployment trigger commit.
-       *
-       * @example ad9ccd918a81025731e10e40267e11273a263421
-       */
-      commit_hash?: string;
-      /**
-       * Message of the deployment trigger commit.
-       *
-       * @example Update index.html
-       */
-      commit_message?: string;
-    };
+    detail?: string;
     /**
-     * What caused the deployment.
+     * The final URL displayed to the user.
      *
-     * @example ad_hoc
-     * @pattern push|ad_hoc
+     * @example example.com
      */
-    type?: string;
+    finalDisplayedUrl?: string;
   };
   /**
-   * A dict of env variables to build this deploy.
-   *
-   * @example {"BUILD_VERSION":{"value":"3.3"},"ENV":{"value":"STAGING"}}
-   */
-  env_vars?: Record<string, any>;
-  /**
-   * Type of deploy.
-   *
-   * @example preview
-   * @pattern preview|production
-   */
-  environment?: string;
-  /**
-   * Id of the deployment.
+   * First Contentful Paint.
    *
-   * @example f64788e9-fccd-4d4a-a28a-cb84f88f6
+   * @example 100
    */
-  id?: string;
+  fcp?: number;
   /**
-   * If the deployment has been skipped.
-   *
-   * @example true
+   * The URL to the full Lighthouse JSON report.
    */
-  is_skipped?: boolean;
-  latest_stage?: void;
+  jsonReportUrl?: string;
   /**
-   * When the deployment was last modified.
+   * Largest Contentful Paint.
    *
-   * @example 2021-03-09T00:58:59.045655
-   * @format date-time
+   * @example 100
    */
-  modified_on?: string;
+  lcp?: number;
   /**
-   * Id of the project.
+   * The Lighthouse performance score.
    *
-   * @example 7b162ea7-7367-4d67-bcde-1160995d5
+   * @example 90
    */
-  project_id?: string;
+  performanceScore?: number;
   /**
-   * Name of the project.
+   * Speed Index.
    *
-   * @example ninjakittens
+   * @example 100
    */
-  project_name?: string;
+  si?: number;
+  state?: ObservatoryLighthouseState;
   /**
-   * Short Id (8 character) of the deployment.
+   * Total Blocking Time.
    *
-   * @example f64788e9
+   * @example 100
    */
-  short_id?: string;
-  source?: void;
+  tbt?: number;
   /**
-   * List of past stages.
+   * Time To First Byte.
    *
-   * @example {"ended_on":"2021-06-03T15:39:03.134378Z","name":"queued","started_on":"2021-06-03T15:38:15.608194Z","status":"active"}
-   * @example {"ended_on":null,"name":"initialize","started_on":null,"status":"idle"}
-   * @example {"ended_on":null,"name":"clone_repo","started_on":null,"status":"idle"}
-   * @example {"ended_on":null,"name":"build","started_on":null,"status":"idle"}
-   * @example {"ended_on":null,"name":"deploy","started_on":null,"status":"idle"}
+   * @example 100
    */
-  stages?: Stage[];
+  ttfb?: number;
   /**
-   * The live URL to view this deployment.
+   * Time To Interactive.
    *
-   * @example https://f64788e9.ninjakittens.pages.dev
+   * @example 100
    */
-  url?: string;
+  tti?: number;
 };
 
-export type DeploymentsListResponse = ApiResponseCommon & {
-  /**
-   * @example {"id":"bcf48806-b317-4351-9ee7-36e7d557d4de","metadata":{"author_email":"user@example.com","author_id":"408cbcdfd4dda4617efef40b04d168a1","created_on":"2022-11-15T18:25:44.442097Z","modified_on":"2022-11-15T18:25:44.442097Z","source":"api"},"number":2}
-   * @example {"id":"18f97339-c287-4872-9bdd-e2135c07ec12","metadata":{"author_email":"user@example.com","author_id":"408cbcdfd4dda4617efef40b04d168a1","created_on":"2022-11-08T17:30:56.968096Z","modified_on":"2022-11-08T17:30:56.968096Z","source":"api"},"number":1}
-   */
-  items?: any[];
+/**
+ * The state of the Lighthouse report.
+ *
+ * @example COMPLETE
+ */
+export type ObservatoryLighthouseState = 'RUNNING' | 'COMPLETE' | 'FAILED';
+
+export type ObservatoryMessages = {
   /**
-   * @example {"id":"bcf48806-b317-4351-9ee7-36e7d557d4de","metadata":{"author_email":"user@example.com","author_id":"408cbcdfd4dda4617efef40b04d168a1","created_on":"2022-11-15T18:25:44.442097Z","modified_on":"2022-11-15T18:25:44.442097Z","source":"api"},"number":2,"resources":{"bindings":[{"json":"example_binding","name":"JSON_VAR","type":"json"}],"script":{"etag":"13a3240e8fb414561b0366813b0b8f42b3e6cfa0d9e70e99835dae83d0d8a794","handlers":["fetch"],"last_deployed_from":"api"},"script_runtime":{"usage_model":"bundled"}}}
+   * @minimum 1000
    */
-  latest?: Record<string, any>;
+  code: number;
+  message: string;
+}[];
+
+export type ObservatoryPageTestResponseCollection = ObservatoryApiResponseCollection & {
+  result?: ObservatoryPageTest[];
+} & {
+  result_info?: ObservatoryResultInfo;
+};
+
+export type ObservatoryPageTestResponseSingle = ObservatoryApiResponseSingle & {
+  result?: ObservatoryPageTest;
+};
+
+export type ObservatoryPageTest = {
+  date?: ObservatoryTimestamp;
+  desktopReport?: ObservatoryLighthouseReport;
+  id?: ObservatoryUuid;
+  mobileReport?: ObservatoryLighthouseReport;
+  region?: ObservatoryLabeledRegion;
+  scheduleFrequency?: ObservatoryScheduleFrequency;
+  url?: ObservatoryUrl;
+};
+
+export type ObservatoryPagesResponseCollection = ObservatoryApiResponseCollection & {
+  result?: {
+    region?: ObservatoryLabeledRegion;
+    scheduleFrequency?: ObservatoryScheduleFrequency;
+    tests?: ObservatoryPageTest[];
+    url?: ObservatoryUrl;
+  }[];
 };
 
-export type DeploymentsSingleResponse = ApiResponseCommon & {
+/**
+ * Counts per account plan.
+ */
+export type ObservatoryPlanPropertiesInfo = {
   /**
-   * @example 18f97339-c287-4872-9bdd-e2135c07ec12
+   * @example 1
    */
-  id?: string;
+  business?: number;
   /**
-   * @example {"author_email":"user@example.com","author_id":"408cbcdfd4dda4617efef40b04d168a1","created_on":"2022-11-08T17:19:29.176266Z","modified_on":"2022-11-08T17:19:29.176266Z","source":"api"}
+   * @example 1
    */
-  metadata?: Record<string, any>;
+  enterprise?: number;
   /**
    * @example 1
    */
-  number?: number;
+  free?: number;
   /**
-   * @example {"bindings":[{"json":"example_binding","name":"JSON_VAR","type":"json"}],"script":{"etag":"13a3240e8fb414561b0366813b0b8f42b3e6cfa0d9e70e99835dae83d0d8a794","handlers":["fetch"],"last_deployed_from":"api"},"script_runtime":{"usage_model":"bundled"}}
+   * @example 1
    */
-  resources?: Record<string, any>;
+  pro?: number;
 };
 
 /**
- * Deprecate the response to ANY requests.
- *
- * @example true
- */
-export type DeprecateAnyRequests = boolean;
-
-/**
- * Description of the prefix.
+ * A test region.
  *
- * @example Internal test prefix
- * @maxLength 1000
+ * @example us-central1
  */
-export type Description = string;
+export type ObservatoryRegion =
+  | 'asia-east1'
+  | 'asia-northeast1'
+  | 'asia-northeast2'
+  | 'asia-south1'
+  | 'asia-southeast1'
+  | 'australia-southeast1'
+  | 'europe-north1'
+  | 'europe-southwest1'
+  | 'europe-west1'
+  | 'europe-west2'
+  | 'europe-west3'
+  | 'europe-west4'
+  | 'europe-west8'
+  | 'europe-west9'
+  | 'me-west1'
+  | 'southamerica-east1'
+  | 'us-central1'
+  | 'us-east1'
+  | 'us-east4'
+  | 'us-south1'
+  | 'us-west1';
 
-/**
- * Object description.
- *
- * @example Login page monitor
- */
-export type Description329lsFZ7 = string;
+export type ObservatoryResultInfo = {
+  /**
+   * @example 5
+   */
+  count?: number;
+  /**
+   * @example 1
+   */
+  page?: number;
+  /**
+   * @example 5
+   */
+  per_page?: number;
+  /**
+   * @example 3
+   */
+  total_count?: number;
+};
 
 /**
- * A note that you can use to add more details about the waiting room.
- *
- * @default
- * @example Production - DO NOT MODIFY
+ * The test schedule.
  */
-export type DescriptionJIh6Lv2u = string;
+export type ObservatorySchedule = {
+  frequency?: ObservatoryScheduleFrequency;
+  region?: ObservatoryRegion;
+  url?: ObservatoryUrl;
+};
 
-/**
- * The description of the List.
- *
- * @example The serial numbers for administrators
- */
-export type DescriptionX9wAFqIk = string;
+export type ObservatoryScheduleResponseSingle = ObservatoryApiResponseSingle & {
+  result?: ObservatorySchedule;
+};
 
 /**
- * The description of the Device Posture Rule.
+ * The frequency of the test.
  *
- * @example The rule for admin serial numbers
+ * @example DAILY
  */
-export type DescriptionGpCjO3oV = string;
+export type ObservatoryScheduleFrequency = 'DAILY' | 'WEEKLY';
 
 /**
- * A human-readable description of the health check.
- *
- * @example Health check for www.example.com
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
  */
-export type DescriptionNNNUBbC7 = string;
+export type ObservatoryTimestamp = string;
 
-/**
- * An optional human provided description of the static route.
- *
- * @example New route for new prefix 203.0.113.1
- */
-export type DescriptionPhEFvENx = string;
+export type ObservatoryTrend = {
+  /**
+   * Cumulative Layout Shift trend.
+   */
+  cls?: (number | null)[];
+  /**
+   * First Contentful Paint trend.
+   */
+  fcp?: (number | null)[];
+  /**
+   * Largest Contentful Paint trend.
+   */
+  lcp?: (number | null)[];
+  /**
+   * The Lighthouse score trend.
+   */
+  performanceScore?: (number | null)[];
+  /**
+   * Speed Index trend.
+   */
+  si?: (number | null)[];
+  /**
+   * Total Blocking Time trend.
+   */
+  tbt?: (number | null)[];
+  /**
+   * Time To First Byte trend.
+   */
+  ttfb?: (number | null)[];
+  /**
+   * Time To Interactive trend.
+   */
+  tti?: (number | null)[];
+};
 
-/**
- * Description of role's permissions.
- *
- * @example Administrative access to the entire Organization
- */
-export type DescriptionWY1HJwZu = string;
+export type ObservatoryTrendResponse = ObservatoryApiResponseSingle & {
+  result?: ObservatoryTrend;
+};
 
 /**
- * A string to search for in the description of existing rules.
+ * A URL.
  *
- * @example abusive
+ * @example example.com
  */
-export type DescriptionSearch = string;
+export type ObservatoryUrl = string;
 
 /**
- * Destination address identifier.
+ * UUID
  *
- * @example ea95132c15732412d22c1476fa83f27a
- * @maxLength 32
+ * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
+ * @maxLength 36
  */
-export type DestinationAddressIdentifier = string;
+export type ObservatoryUuid = string;
 
-export type DestinationAddressProperties = {
-  created?: Created2OTGyXLU;
-  email?: EmailQw65SH2N;
-  modified?: ModifiedCBEhc8Ab;
-  tag?: DestinationAddressIdentifier;
-  verified?: Verified;
-};
-
-export type DestinationAddressResponseSingle = ApiResponseSingleSiIqFfOd & {
-  result?: Addresses;
+export type PageShieldApiGetResponseCollection = PageShieldApiResponseCommon & {
+  result?: Record<string, any> | null;
 };
 
-export type DestinationAddressesResponseCollection = ApiResponseCollection & {
-  result?: Addresses[];
-  result_info?: {
-    /**
-     * @example 1
-     */
-    count?: void;
-    /**
-     * @example 1
-     */
-    page?: void;
-    /**
-     * @example 20
-     */
-    per_page?: void;
-    /**
-     * @example 1
-     */
-    total_count?: void;
-  };
+export type PageShieldApiListResponseCollection = PageShieldApiResponseCommon & {
+  result_info: PageShieldResultInfo;
 };
 
-/**
- * Uniquely identifies a resource (such as an s3 bucket) where data will be pushed. Additional configuration parameters supported by the destination may be included.
- *
- * @example s3://mybucket/logs?region=us-west-2
- * @format uri
- * @maxLength 4096
- */
-export type DestinationConf = string;
-
-export type DestinationExistsResponse = {
-  errors: Messages;
-  messages: Messages;
-  result:
-    | {
-        /**
-         * @example false
-         */
-        exists?: boolean;
-      }
-    | any[]
-    | string
-    | null;
+export type PageShieldApiResponseCommon = {
+  errors?: PageShieldMessages;
+  messages?: PageShieldMessages;
   /**
    * Whether the API call was successful
    *
@@ -8577,6133 +27463,8114 @@ export type DestinationExistsResponse = {
   success: true;
 };
 
-/**
- * The mode that defines how rules within the package are evaluated during the course of a request. When a package uses anomaly detection mode (`anomaly` value), each rule is given a score when triggered. If the total score of all triggered rules exceeds the sensitivity defined in the WAF package, the action configured in the package will be performed. Traditional detection mode (`traditional` value) will decide the action to take when it is triggered by the request. If multiple rules are triggered, the action providing the highest protection will be applied (for example, a 'block' action will win over a 'challenge' action).
- *
- * @example traditional
- */
-export type DetectionMode = 'anomaly' | 'traditional';
-
-/**
- * Development Mode temporarily allows you to enter development mode for your websites if you need to make changes to your site. This will bypass Cloudflare's accelerated cache and slow down your site, but is useful if you are making changes to cacheable content (like images, css, or JavaScript) and would like to see those changes right away. Once entered, development mode will last for 3 hours and then automatically toggle off.
- */
-export type DevelopmentMode = {
+export type PageShieldApiResponseCommonFailure = {
+  errors: PageShieldMessages;
+  messages?: PageShieldMessages;
+  result?: any | null;
   /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   * Whether the API call was successful
    *
-   * @default true
+   * @example false
    */
-  editable?: true | false;
+  success: false;
+};
+
+export type PageShieldApiResponseSingle = PageShieldApiResponseCommon & {
+  result?: Record<string, any> | any[] | string;
+};
+
+export type PageShieldConnection = {
   /**
-   * ID of the zone setting.
-   *
-   * @example development_mode
+   * @example 2021-08-18T10:51:10.09615Z
+   * @format date-time
    */
-  id: 'development_mode';
+  added_at: string;
   /**
-   * last time this setting was modified.
-   *
-   * @example 2014-01-01T05:20:00.12345Z
+   * @example false
+   */
+  domain_reported_malicious?: boolean;
+  /**
+   * @example blog.cloudflare.com/page
+   */
+  first_page_url?: string;
+  /**
+   * @example 2021-08-18T10:51:08Z
    * @format date-time
    */
-  modified_on?: string | null;
+  first_seen_at: string;
   /**
-   * Current value of the zone setting.
-   *
-   * @example on
+   * @example blog.cloudflare.com
    */
-  value: DevelopmentModeValue;
+  host: string;
+  id: PageShieldId;
   /**
-   * Value of the zone setting.
-   * Notes: The interval (in seconds) from when development mode expires (positive integer) or last expired (negative integer) for the domain. If development mode has never been enabled, this value is false.
-   *
-   * @example 3600
+   * @example 2021-09-02T09:57:54Z
+   * @format date-time
    */
-  time_remaining?: number;
+  last_seen_at: string;
+  /**
+   * @example Malware
+   */
+  malicious_domain_categories?: string[];
+  /**
+   * @example Malware
+   */
+  malicious_url_categories?: string[];
+  /**
+   * @example blog.cloudflare.com/page1
+   * @example blog.cloudflare.com/page2
+   */
+  page_urls?: string[];
+  /**
+   * @example https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/js/bootstrap.min.js
+   */
+  url: string;
+  /**
+   * @example false
+   */
+  url_contains_cdn_cgi_path: boolean;
+  /**
+   * @example false
+   */
+  url_reported_malicious?: boolean;
 };
 
-/**
- * Value of the zone setting.
- *
- * @default off
- */
-export type DevelopmentModeValue = 'on' | 'off';
-
-/**
- * The configuration object which contains the details for the WARP client to conduct the test.
- *
- * @example {"host":"https://dash.cloudflare.com","kind":"http","method":"GET"}
- */
-export type DeviceDexTestSchemasData = {
+export type PageShieldCookie = {
+  /**
+   * @example cloudflare.com
+   */
+  domain_attribute?: string;
+  /**
+   * @example 2021-10-02T09:57:54Z
+   * @format date-time
+   */
+  expires_attribute?: string;
+  /**
+   * @example 2021-08-18T10:51:08Z
+   * @format date-time
+   */
+  first_seen_at: string;
+  /**
+   * @example blog.cloudflare.com
+   */
+  host: string;
+  /**
+   * @example true
+   */
+  http_only_attribute?: boolean;
+  id: PageShieldId;
+  /**
+   * @example 2021-09-02T09:57:54Z
+   * @format date-time
+   */
+  last_seen_at: string;
+  /**
+   * @example 3600
+   */
+  max_age_attribute?: number;
+  /**
+   * @example session_id
+   */
+  name: string;
   /**
-   * The desired endpoint to test.
-   *
-   * @example https://dash.cloudflare.com
+   * @example blog.cloudflare.com/page1
+   * @example blog.cloudflare.com/page2
    */
-  host?: string;
+  page_urls?: string[];
   /**
-   * The type of test.
-   *
-   * @example http
+   * @example /
    */
-  kind?: string;
+  path_attribute?: string;
   /**
-   * The HTTP request method type.
-   *
-   * @example GET
+   * @example strict
    */
-  method?: string;
+  same_site_attribute?: 'lax' | 'strict' | 'none';
+  /**
+   * @example true
+   */
+  secure_attribute?: boolean;
+  /**
+   * @example first_party
+   */
+  type: 'first_party' | 'unknown';
 };
 
 /**
- * Additional details about the test.
+ * The cryptomining score of the JavaScript content.
  *
- * @example Checks the dash endpoint every 30 minutes
+ * @maximum 99
+ * @minimum 1
  */
-export type DeviceDexTestSchemasDescription = string;
+export type PageShieldCryptominingScore = number | null;
 
 /**
- * Determines whether or not the test is active.
+ * The dataflow score of the JavaScript content.
  *
- * @example true
+ * @maximum 99
+ * @minimum 1
  */
-export type DeviceDexTestSchemasEnabled = boolean;
-
-export type DeviceDexTestSchemasHttp = {
-  data: DeviceDexTestSchemasData;
-  description?: DeviceDexTestSchemasDescription;
-  enabled: DeviceDexTestSchemasEnabled;
-  interval: DeviceDexTestSchemasInterval;
-  name: DeviceDexTestSchemasName;
-};
+export type PageShieldDataflowScore = number | null;
 
 /**
- * How often the test will run.
+ * When true, indicates that Page Shield is enabled.
  *
- * @example 30m
+ * @example true
  */
-export type DeviceDexTestSchemasInterval = string;
+export type PageShieldEnabled = boolean;
 
 /**
- * The name of the DEX test. Must be unique.
- *
- * @example HTTP dash health check
+ * The timestamp of when the script was last fetched.
  */
-export type DeviceDexTestSchemasName = string;
+export type PageShieldFetchedAt = string | null;
 
-export type DeviceManagedNetworks = {
-  config?: SchemasConfigResponse;
-  name?: DeviceManagedNetworksComponentsSchemasName;
-  network_id?: UuidUoyzrwvx;
-  type?: ComponentsSchemasType;
+export type PageShieldGetZoneConnectionResponse = PageShieldApiGetResponseCollection & {
+  result: PageShieldConnection;
 };
 
-export type DeviceManagedNetworksUgiuQAHC = {
-  config?: SchemasConfigResponse;
-  name?: DeviceManagedNetworksComponentsSchemasName;
-  network_id?: DeviceManagedNetworksComponentsSchemasUuid;
-  type?: DeviceManagedNetworksComponentsSchemasType;
+export type PageShieldGetZoneCookieResponse = PageShieldApiGetResponseCollection & {
+  result: PageShieldCookie;
 };
 
-/**
- * @example 699d98642c564d2e855e9661899b7252
- */
-export type DeviceManagedNetworksComponentsSchemasIdentifier = void;
-
-/**
- * The name of the Device Managed Network. Must be unique.
- *
- * @example managed-network-1
- */
-export type DeviceManagedNetworksComponentsSchemasName = string;
+export type PageShieldGetZonePolicyResponse = PageShieldApiGetResponseCollection & {
+  result: PageShieldPolicyWithId;
+};
 
-export type DeviceManagedNetworksComponentsSchemasResponseCollection = ApiResponseCollection & {
-  result?: DeviceManagedNetworksUgiuQAHC[];
+export type PageShieldGetZoneScriptResponse = PageShieldApiGetResponseCollection & {
+  result: PageShieldScript & {
+    /**
+     * @example {"cryptomining_score":20,"dataflow_score":2,"fetched_at":"2021-08-18T10:51:08Z","hash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b423","js_integrity_score":2,"magecart_score":10,"malware_score":5,"obfuscation_score":10}
+     */
+    versions?: PageShieldVersion[] | null;
+  };
 };
 
-export type DeviceManagedNetworksComponentsSchemasSingleResponse = ApiResponseSingleLarS7owG & {
-  result?: DeviceManagedNetworksUgiuQAHC;
+export type PageShieldGetZoneSettingsResponse = {
+  enabled: PageShieldEnabled;
+  updated_at: PageShieldUpdatedAt;
+  use_cloudflare_reporting_endpoint: PageShieldUseCloudflareReportingEndpoint;
+  use_connection_url_path: PageShieldUseConnectionUrlPath;
 };
 
 /**
- * The type of Device Managed Network.
+ * The computed hash of the analyzed script.
  *
- * @example tls
+ * @maxLength 64
+ * @minLength 64
  */
-export type DeviceManagedNetworksComponentsSchemasType = 'tls';
+export type PageShieldHash = string | null;
 
 /**
- * API uuid tag.
+ * Identifier
  *
- * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
- * @maxLength 36
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type PageShieldId = string;
+
+/**
+ * The integrity score of the JavaScript content.
+ *
+ * @maximum 99
+ * @minimum 1
  */
-export type DeviceManagedNetworksComponentsSchemasUuid = string;
+export type PageShieldJsIntegrityScore = number | null;
+
+export type PageShieldListZoneConnectionsResponse = PageShieldApiListResponseCollection & {
+  result?: PageShieldConnection[];
+};
 
-export type DevicePostureIntegrations = {
-  config?: ConfigResponse;
-  id?: UuidUoyzrwvx;
-  interval?: IntervalCy0QprOB;
-  name?: ComponentsSchemasNameKTVvRGKN;
-  type?: SchemasType;
+export type PageShieldListZoneCookiesResponse = PageShieldApiListResponseCollection & {
+  result: PageShieldCookie[];
 };
 
-export type DevicePostureIntegrations7AZ1Apoy = {
-  config?: ConfigResponse;
-  id?: DevicePostureIntegrationsComponentsSchemasUuid;
-  interval?: SchemasInterval;
-  name?: DevicePostureIntegrationsComponentsSchemasName;
-  type?: DevicePostureIntegrationsComponentsSchemasType;
+export type PageShieldListZonePoliciesResponse = PageShieldApiListResponseCollection & {
+  result: PageShieldPolicyWithId[];
 };
 
-export type DevicePostureIntegrationsComponentsSchemasIdResponse = ApiResponseSingleLarS7owG & {
-  result?: void | null;
+export type PageShieldListZoneScriptsResponse = PageShieldApiListResponseCollection & {
+  result: PageShieldScript[];
 };
 
 /**
- * @example 699d98642c564d2e855e9661899b7252
+ * The magecart score of the JavaScript content.
+ *
+ * @maximum 99
+ * @minimum 1
  */
-export type DevicePostureIntegrationsComponentsSchemasIdentifier = void;
+export type PageShieldMagecartScore = number | null;
 
 /**
- * The name of the Device Posture Integration.
+ * The malware score of the JavaScript content.
  *
- * @example My Workspace One Integration
+ * @maximum 99
+ * @minimum 1
  */
-export type DevicePostureIntegrationsComponentsSchemasName = string;
+export type PageShieldMalwareScore = number | null;
 
-export type DevicePostureIntegrationsComponentsSchemasResponseCollection = ApiResponseCollection & {
-  result?: DevicePostureIntegrations7AZ1Apoy[];
-};
+export type PageShieldMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+/**
+ * The obfuscation score of the JavaScript content.
+ *
+ * @maximum 99
+ * @minimum 1
+ */
+export type PageShieldObfuscationScore = number | null;
 
-export type DevicePostureIntegrationsComponentsSchemasSingleResponse = ApiResponseSingleLarS7owG & {
-  result?: DevicePostureIntegrations7AZ1Apoy;
+export type PageShieldPolicy = {
+  action: PageShieldPolicyAction;
+  description: PageShieldPolicyDescription;
+  enabled: PageShieldPolicyEnabled;
+  expression: PageShieldPolicyExpression;
+  value: PageShieldPolicyValue;
 };
 
 /**
- * The type of Device Posture Integration.
+ * The action to take if the expression matches
  *
- * @example workspace_one
+ * @example allow
  */
-export type DevicePostureIntegrationsComponentsSchemasType = 'workspace_one' | 'crowdstrike_s2s' | 'uptycs' | 'intune';
+export type PageShieldPolicyAction = 'allow' | 'log';
 
 /**
- * API uuid tag.
+ * A description for the policy
  *
- * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
- * @maxLength 36
+ * @example Checkout page CSP policy
  */
-export type DevicePostureIntegrationsComponentsSchemasUuid = string;
-
-export type DevicePostureRules = {
-  description?: DescriptionGpCjO3oV;
-  expiration?: Expiration;
-  id?: UuidUoyzrwvx;
-  input?: Input;
-  match?: Match;
-  name?: NameKU9Y1gf9;
-  schedule?: ScheduleVkuQMHl2;
-  type?: TypeS34NxojT;
-};
-
-export type DevicePostureRulesJXQaeA4J = {
-  description?: DevicePostureRulesComponentsSchemasDescription;
-  expiration?: SchemasExpiration;
-  id?: DevicePostureRulesComponentsSchemasUuid;
-  input?: InputZcd2nhY2;
-  match?: SchemasMatchPKnBbWyP;
-  name?: DevicePostureRulesComponentsSchemasName;
-  schedule?: ScheduleXq5rkQsP;
-  type?: DevicePostureRulesComponentsSchemasType;
-};
+export type PageShieldPolicyDescription = string;
 
 /**
- * The description of the Device Posture Rule.
+ * Whether the policy is enabled
  *
- * @example The rule for admin serial numbers
+ * @example true
  */
-export type DevicePostureRulesComponentsSchemasDescription = string;
-
-export type DevicePostureRulesComponentsSchemasIdResponse = ApiResponseSingleLarS7owG & {
-  result?: {
-    id?: DevicePostureRulesComponentsSchemasUuid;
-  };
-};
+export type PageShieldPolicyEnabled = boolean;
 
 /**
- * @example 699d98642c564d2e855e9661899b7252
+ * The expression which must match for the policy to be applied, using the Cloudflare Firewall rule expression syntax
+ *
+ * @example ends_with(http.request.uri.path, "/checkout")
  */
-export type DevicePostureRulesComponentsSchemasIdentifier = void;
+export type PageShieldPolicyExpression = string;
 
 /**
- * The name of the Device Posture Rule.
+ * The policy which will be applied
  *
- * @example Admin Serial Numbers
+ * @example script-src 'none';
  */
-export type DevicePostureRulesComponentsSchemasName = string;
+export type PageShieldPolicyValue = string;
+
+export type PageShieldPolicyWithId = PageShieldPolicy & {
+  id: PageShieldId;
+};
+
+export type PageShieldResultInfo = {
+  /**
+   * Total number of results for the requested service
+   *
+   * @example 1
+   */
+  count: number;
+  /**
+   * Current page within paginated list of results
+   *
+   * @example 1
+   */
+  page: number;
+  /**
+   * Number of results per page of results
+   *
+   * @example 20
+   */
+  per_page: number;
+  /**
+   * Total results available without any search parameters
+   *
+   * @example 2000
+   */
+  total_count: number;
+  /**
+   * Total number of pages
+   *
+   * @example 100
+   */
+  total_pages: number;
+};
 
-export type DevicePostureRulesComponentsSchemasResponseCollection = ApiResponseCollection & {
-  result?: DevicePostureRulesJXQaeA4J[];
+export type PageShieldScript = {
+  /**
+   * @example 2021-08-18T10:51:10.09615Z
+   * @format date-time
+   */
+  added_at: string;
+  cryptomining_score?: PageShieldCryptominingScore;
+  dataflow_score?: PageShieldDataflowScore;
+  /**
+   * @example false
+   */
+  domain_reported_malicious?: boolean;
+  fetched_at?: PageShieldFetchedAt;
+  /**
+   * @example blog.cloudflare.com/page
+   */
+  first_page_url?: string;
+  /**
+   * @example 2021-08-18T10:51:08Z
+   * @format date-time
+   */
+  first_seen_at: string;
+  hash?: PageShieldHash;
+  /**
+   * @example blog.cloudflare.com
+   */
+  host: string;
+  id: PageShieldId;
+  js_integrity_score?: PageShieldJsIntegrityScore;
+  /**
+   * @example 2021-09-02T09:57:54Z
+   * @format date-time
+   */
+  last_seen_at: string;
+  magecart_score?: PageShieldMagecartScore;
+  /**
+   * @example Malware
+   */
+  malicious_domain_categories?: string[];
+  /**
+   * @example Malware
+   */
+  malicious_url_categories?: string[];
+  malware_score?: PageShieldMalwareScore;
+  obfuscation_score?: PageShieldObfuscationScore;
+  /**
+   * @example blog.cloudflare.com/page1
+   * @example blog.cloudflare.com/page2
+   */
+  page_urls?: string[];
+  /**
+   * @example https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/js/bootstrap.min.js
+   */
+  url: string;
+  /**
+   * @example false
+   */
+  url_contains_cdn_cgi_path: boolean;
+  /**
+   * @example false
+   */
+  url_reported_malicious?: boolean;
 };
 
-export type DevicePostureRulesComponentsSchemasSingleResponse = ApiResponseSingleLarS7owG & {
-  result?: DevicePostureRulesJXQaeA4J;
+export type PageShieldUpdateZoneSettingsResponse = {
+  enabled: PageShieldEnabled;
+  updated_at: PageShieldUpdatedAt;
+  use_cloudflare_reporting_endpoint: PageShieldUseCloudflareReportingEndpoint;
+  use_connection_url_path: PageShieldUseConnectionUrlPath;
 };
 
 /**
- * The type of Device Posture Rule.
+ * The timestamp of when Page Shield was last updated.
  *
- * @example file
+ * @example 2022-10-12T17:56:52.083582+01:00
  */
-export type DevicePostureRulesComponentsSchemasType =
-  | 'file'
-  | 'application'
-  | 'serial_number'
-  | 'tanium'
-  | 'gateway'
-  | 'warp';
+export type PageShieldUpdatedAt = string;
 
 /**
- * API uuid tag.
+ * When true, CSP reports will be sent to https://csp-reporting.cloudflare.com/cdn-cgi/script_monitor/report
  *
- * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
- * @maxLength 36
+ * @example true
  */
-export type DevicePostureRulesComponentsSchemasUuid = string;
+export type PageShieldUseCloudflareReportingEndpoint = boolean;
 
 /**
- * The wirefilter expression to be used for device posture check matching.
+ * When true, the paths associated with connections URLs will also be analyzed.
  *
- * @example any(device_posture.checks.passed[*] in {"1308749e-fcfb-4ebc-b051-fe022b632644"})
+ * @example true
  */
-export type DevicePosture = string;
+export type PageShieldUseConnectionUrlPath = boolean;
 
-export type DeviceResponse = ApiResponseSingleI8cJ1fX8 & {
-  result?: Record<string, any>;
+/**
+ * The version of the analyzed script.
+ */
+export type PageShieldVersion = {
+  cryptomining_score?: PageShieldCryptominingScore;
+  dataflow_score?: PageShieldDataflowScore;
+  fetched_at?: PageShieldFetchedAt;
+  hash?: PageShieldHash;
+  js_integrity_score?: PageShieldJsIntegrityScore;
+  magecart_score?: PageShieldMagecartScore;
+  malware_score?: PageShieldMalwareScore;
+  obfuscation_score?: PageShieldObfuscationScore;
 };
 
-export type DeviceResponseYshSK9BF = ApiResponseSingleLarS7owG & {
+export type PageShieldZoneSettingsResponseSingle = PageShieldApiResponseSingle & {
   result?: Record<string, any>;
 };
 
-export type DeviceSettingsPolicy = {
-  allow_mode_switch?: AllowModeSwitch;
-  allow_updates?: AllowUpdates;
-  allowed_to_leave?: AllowedToLeave;
-  auto_connect?: AutoConnect;
-  captive_portal?: CaptivePortal;
-  ['default']?: Default;
-  description?: SchemasDescriptionTQ4Ivhfo;
-  disable_auto_fallback?: DisableAutoFallback;
+export type PagesApiResponseCommon = {
+  errors: PagesMessages;
+  messages: PagesMessages;
   /**
-   * Whether the policy will be applied to matching devices.
+   * Whether the API call was successful
    *
    * @example true
    */
-  enabled?: boolean;
-  exclude?: ExcludeRjxLDhaP;
-  exclude_office_ips?: ExcludeOfficeIps;
-  fallback_domains?: FallbackDomains;
-  gateway_unique_id?: GatewayUniqueId;
-  include?: IncludeFVRZ2Ny8;
-  match?: SchemasMatch;
+  success: false | true;
+};
+
+export type PagesApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI."}
+   * @minLength 1
+   */
+  errors: PagesMessages;
+  messages: PagesMessages;
+  result: Record<string, any> | null;
+  /**
+   * Whether the API call was successful.
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type PagesApiResponsePagination = {
+  result_info?: {
+    /**
+     * The number of items on the current page.
+     *
+     * @example 1
+     */
+    count: number;
+    /**
+     * The page currently being requested.
+     *
+     * @example 1
+     */
+    page: number;
+    /**
+     * The number of items per page being returned.
+     *
+     * @example 100
+     */
+    per_page: number;
+    /**
+     * The total count of items.
+     *
+     * @example 1
+     */
+    total_count: number;
+    /**
+     * The total count of pages.
+     *
+     * @example 1
+     */
+    total_pages?: number;
+  };
+};
+
+export type PagesApiResponseSingle = PagesApiResponseCommon & {
+  result?: Record<string, any> | null;
+};
+
+/**
+ * Configs for the project build process.
+ */
+export type PagesBuildConfig = {
+  /**
+   * Enable build caching for the project.
+   *
+   * @example true
+   */
+  build_caching?: boolean | null;
+  /**
+   * Command used to build project.
+   *
+   * @example npm run build
+   */
+  build_command?: string | null;
+  /**
+   * Output directory of the build.
+   *
+   * @example build
+   */
+  destination_dir?: string | null;
   /**
-   * The name of the device settings policy.
+   * Directory to run the command.
    *
-   * @example Allow Developers
-   * @maxLength 100
+   * @example /
    */
-  name?: string;
-  policy_id?: SchemasUuid4P4vJwxm;
-  precedence?: PrecedenceBOmzKeZm;
-  service_mode_v2?: ServiceModeV2;
-  support_url?: SupportUrl;
-  switch_locked?: SwitchLocked;
-};
-
-export type DeviceSettingsPolicy08gBee3x = {
-  allow_mode_switch?: AllowModeSwitch;
-  allow_updates?: AllowUpdates;
-  allowed_to_leave?: AllowedToLeave;
-  auto_connect?: AutoConnect;
-  captive_portal?: CaptivePortal;
-  ['default']?: SchemasDefault;
-  description?: DevicesComponentsSchemasDescription;
-  disable_auto_fallback?: DisableAutoFallback;
+  root_dir?: string | null;
   /**
-   * Whether the policy will be applied to matching devices.
+   * The classifying tag for analytics.
    *
-   * @example true
+   * @example cee1c73f6e4743d0b5e6bb1a0bcaabcc
    */
-  enabled?: boolean;
-  exclude?: ComponentsSchemasExclude;
-  exclude_office_ips?: ExcludeOfficeIps;
-  fallback_domains?: FallbackDomains;
-  gateway_unique_id?: GatewayUniqueId;
-  include?: SchemasInclude;
-  match?: ComponentsSchemasMatch;
+  web_analytics_tag?: string | null;
   /**
-   * The name of the device settings policy.
+   * The auth token for analytics.
    *
-   * @example Allow Developers
-   * @maxLength 100
+   * @example 021e1057c18547eca7b79f2516f06o7x
    */
-  name?: string;
-  policy_id?: Uuid;
-  precedence?: SchemasPrecedence;
-  service_mode_v2?: ServiceModeV2;
-  support_url?: SupportUrl;
-  switch_locked?: SwitchLocked;
-};
-
-export type DeviceSettingsResponse = ApiResponseCollection & {
-  result?: DeviceSettingsPolicy08gBee3x;
-};
-
-export type DeviceSettingsResponseCollection = ApiResponseCollection & {
-  result?: DeviceSettingsPolicy08gBee3x[];
-};
-
-export type Devices = {
-  created?: Created;
-  deleted?: Deleted;
-  device_type?: Platform;
-  id?: SchemasUuid4P4vJwxm;
-  ip?: IpMKmJkd3b;
-  key?: Key;
-  last_seen?: LastSeen;
-  mac_address?: MacAddress;
-  manufacturer?: Manufacturer;
-  model?: Model;
-  name?: SchemasNameLohsu7Gg;
-  os_distro_name?: OsDistroName;
-  os_distro_revision?: OsDistroRevision;
-  os_version?: OsVersion;
-  revoked_at?: RevokedAt;
-  serial_number?: SerialNumberJQ6wzAYC;
-  updated?: Updated;
-  user?: User;
-  version?: VersionLix2KSZT;
-};
-
-export type Devices9iMrlXhN = {
-  created?: SchemasCreated;
-  deleted?: SchemasDeleted;
-  device_type?: Platform;
-  id?: DevicesComponentsSchemasUuid;
-  ip?: ComponentsSchemasIp;
-  key?: SchemasKey;
-  last_seen?: LastSeen;
-  mac_address?: MacAddress;
-  manufacturer?: Manufacturer;
-  model?: Model;
-  name?: DevicesComponentsSchemasName;
-  os_distro_name?: OsDistroName;
-  os_distro_revision?: OsDistroRevision;
-  os_version?: OsVersion;
-  revoked_at?: RevokedAt;
-  serial_number?: ComponentsSchemasSerialNumberMLjjvVe3;
-  updated?: Updated;
-  user?: UserTCLIy2E3;
-  version?: DevicesComponentsSchemasVersion;
+  web_analytics_token?: string | null;
 };
 
-/**
- * A description of the policy.
- *
- * @example Policy for test teams.
- * @maxLength 500
- */
-export type DevicesComponentsSchemasDescription = string;
-
-/**
- * @example 699d98642c564d2e855e9661899b7252
- */
-export type DevicesComponentsSchemasIdentifier = void;
-
-/**
- * The device name.
- *
- * @example My mobile device
- */
-export type DevicesComponentsSchemasName = string;
-
-/**
- * Device ID.
- *
- * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
- * @maxLength 36
- */
-export type DevicesComponentsSchemasUuid = string;
-
-/**
- * The WARP client version.
- *
- * @example 1.0.0
- */
-export type DevicesComponentsSchemasVersion = string;
+export type PagesDeploymentListResponse = PagesApiResponseCommon &
+  PagesApiResponsePagination & {
+    result?: PagesDeployments[];
+  };
 
-export type DevicesResponse = ApiResponseCollection & {
-  result?: Devices9iMrlXhN[];
+export type PagesDeploymentNewDeployment = PagesApiResponseCommon & {
+  result?: PagesDeployments;
 };
 
-export type DexResponseCollection = ApiResponseCollectionCommon & {
-  result?: DeviceDexTestSchemasHttp[];
+export type PagesDeploymentResponseDetails = PagesApiResponseCommon & {
+  result?: PagesDeployments;
 };
 
-export type DexSingleResponse = ApiResponseSingleI8cJ1fX8 & {
-  result?: DeviceDexTestSchemasHttp;
+export type PagesDeploymentResponseLogs = PagesApiResponseCommon & {
+  /**
+   * @example {"data":[{"line":"Cloning repository...","ts":"2021-04-20T19:35:29.0749819Z"},{"line":"From https://github.com/cloudflare/example","ts":"2021-04-20T19:35:30.0749819Z"},{"line":" * branch            209c5bb11d89533f426b2f8469bcae12fdccf71b -> FETCH_HEAD","ts":"2021-04-20T19:35:30.0749819Z"},{"line":"","ts":"2021-04-20T19:35:30.0749819Z"},{"line":"HEAD is now at 209c5bb Update index.html","ts":"2021-04-20T19:35:30.0749819Z"},{"line":"","ts":"2021-04-20T19:35:30.0749819Z"},{"line":"","ts":"2021-04-20T19:35:30.0749819Z"},{"line":"Success: Finished cloning repository files","ts":"2021-04-20T19:35:30.0749819Z"},{"line":"Installing dependencies","ts":"2021-04-20T19:35:59.0749819Z"},{"line":"Python version set to 2.7","ts":"2021-04-20T19:35:59.0931208Z"},{"line":"v12.18.0 is already installed.","ts":"2021-04-20T19:36:02.2369501Z"},{"line":"Now using node v12.18.0 (npm v6.14.4)","ts":"2021-04-20T19:36:02.6028886Z"},{"line":"Started restoring cached build plugins","ts":"2021-04-20T19:36:02.624555Z"},{"line":"Finished restoring cached build plugins","ts":"2021-04-20T19:36:02.6340688Z"},{"line":"Attempting ruby version 2.7.1, read from environment","ts":"2021-04-20T19:36:02.963095Z"},{"line":"Using ruby version 2.7.1","ts":"2021-04-20T19:36:04.2236084Z"},{"line":"Using PHP version 5.6","ts":"2021-04-20T19:36:04.5450152Z"},{"line":"5.2 is already installed.","ts":"2021-04-20T19:36:04.5740509Z"},{"line":"Using Swift version 5.2","ts":"2021-04-20T19:36:04.577035Z"},{"line":"Installing Hugo 0.54.0","ts":"2021-04-20T19:36:04.5771615Z"},{"line":"Hugo Static Site Generator v0.54.0-B1A82C61A/extended linux/amd64 BuildDate: 2019-02-01T10:04:38Z","ts":"2021-04-20T19:36:05.4786868Z"},{"line":"Started restoring cached go cache","ts":"2021-04-20T19:36:05.4794366Z"},{"line":"Finished restoring cached go cache","ts":"2021-04-20T19:36:05.481977Z"},{"line":"go version go1.14.4 linux/amd64","ts":"2021-04-20T19:36:05.9049776Z"},{"line":"go version go1.14.4 linux/amd64","ts":"2021-04-20T19:36:05.9086053Z"},{"line":"Installing missing commands","ts":"2021-04-20T19:36:05.9163568Z"},{"line":"Verify run directory","ts":"2021-04-20T19:36:05.9163934Z"},{"line":"Executing user command: echo \"skipping build step: no build command specified\"","ts":"2021-04-20T19:36:05.9164636Z"},{"line":"skipping build step: no build command specified","ts":"2021-04-20T19:36:05.9165087Z"},{"line":"Finished","ts":"2021-04-20T19:36:05.917412Z"}],"includes_container_logs":true,"total":30}
+   */
+  result?: {
+    data?: {
+      line?: string;
+      ts?: string;
+    }[];
+    includes_container_logs?: boolean;
+    total?: number;
+  };
 };
 
-/**
- * Digest hash.
- *
- * @example 48E939042E82C22542CB377B580DFDC52A361CEFDC72E7F9107E2B6BD9306A45
- */
-export type Digest = string | null;
-
-/**
- * Type of digest algorithm.
- *
- * @example SHA256
- */
-export type DigestAlgorithm = string | null;
+export type PagesDeploymentResponseStageLogs = PagesApiResponseCommon & {
+  /**
+   * @example {"data":[{"id":15,"message":"Installing dependencies","timestamp":"2021-04-20T19:35:59.0749819Z"},{"id":16,"message":"Python version set to 2.7","timestamp":"2021-04-20T19:35:59.0931208Z"},{"id":17,"message":"v12.18.0 is already installed.","timestamp":"2021-04-20T19:36:02.2369501Z"},{"id":18,"message":"Now using node v12.18.0 (npm v6.14.4)","timestamp":"2021-04-20T19:36:02.6028886Z"},{"id":19,"message":"Started restoring cached build plugins","timestamp":"2021-04-20T19:36:02.624555Z"},{"id":20,"message":"Finished restoring cached build plugins","timestamp":"2021-04-20T19:36:02.6340688Z"},{"id":21,"message":"Attempting ruby version 2.7.1, read from environment","timestamp":"2021-04-20T19:36:02.963095Z"},{"id":22,"message":"Using ruby version 2.7.1","timestamp":"2021-04-20T19:36:04.2236084Z"},{"id":23,"message":"Using PHP version 5.6","timestamp":"2021-04-20T19:36:04.5450152Z"},{"id":24,"message":"5.2 is already installed.","timestamp":"2021-04-20T19:36:04.5740509Z"},{"id":25,"message":"Using Swift version 5.2","timestamp":"2021-04-20T19:36:04.577035Z"},{"id":26,"message":"Installing Hugo 0.54.0","timestamp":"2021-04-20T19:36:04.5771615Z"},{"id":27,"message":"Hugo Static Site Generator v0.54.0-B1A82C61A/extended linux/amd64 BuildDate: 2019-02-01T10:04:38Z","timestamp":"2021-04-20T19:36:05.4786868Z"},{"id":28,"message":"Started restoring cached go cache","timestamp":"2021-04-20T19:36:05.4794366Z"},{"id":29,"message":"Finished restoring cached go cache","timestamp":"2021-04-20T19:36:05.481977Z"},{"id":30,"message":"go version go1.14.4 linux/amd64","timestamp":"2021-04-20T19:36:05.9049776Z"},{"id":31,"message":"go version go1.14.4 linux/amd64","timestamp":"2021-04-20T19:36:05.9086053Z"},{"id":32,"message":"Installing missing commands","timestamp":"2021-04-20T19:36:05.9163568Z"},{"id":33,"message":"Verify run directory","timestamp":"2021-04-20T19:36:05.9163934Z"},{"id":34,"message":"Executing user command: echo \"skipping build step: no build command specified\"","timestamp":"2021-04-20T19:36:05.9164636Z"},{"id":35,"message":"skipping build step: no build command specified","timestamp":"2021-04-20T19:36:05.9165087Z"},{"id":36,"message":"Finished","timestamp":"2021-04-20T19:36:05.917412Z"}],"end":37,"ended_on":"2021-04-20T19:36:06.38889Z","name":"build","start":0,"started_on":"2021-04-20T19:35:58.238757Z","status":"success","total":37}
+   */
+  result?: Record<string, any>;
+};
 
 /**
- * Coded type for digest algorithm.
- *
- * @example 2
+ * Configs for deployments in a project.
  */
-export type DigestType = string | null;
+export type PagesDeploymentConfigs = {
+  /**
+   * Configs for preview deploys.
+   */
+  preview?: PagesDeploymentConfigsValues;
+  /**
+   * Configs for production deploys.
+   */
+  production?: PagesDeploymentConfigsValues;
+};
 
-/**
- * A comma-separated list of dimensions to group results by.
- *
- * @example queryType
- */
-export type Dimensions = string;
+export type PagesDeploymentConfigsValues = {
+  /**
+   * Constellation bindings used for Pages Functions.
+   *
+   * @example {"AI_BINDING":{"project_id":"some-project-id"}}
+   */
+  ai_bindings?: {
+    [key: string]: {
+      project_id?: string;
+    } | null;
+  } | null;
+  /**
+   * Analytics Engine bindings used for Pages Functions.
+   *
+   * @example {"ANALYTICS_ENGINE_BINDING":{"dataset":"api_analytics"}}
+   */
+  analytics_engine_datasets?: {
+    [key: string]: {
+      /**
+       * Name of the dataset.
+       *
+       * @example api_analytics
+       */
+      dataset?: string;
+    } | null;
+  } | null;
+  /**
+   * Browser bindings used for Pages Functions.
+   *
+   * @example {"BROWSER":{}}
+   */
+  browsers?: {
+    [key: string]: Record<string, any> | null;
+  } | null;
+  /**
+   * Compatibility date used for Pages Functions.
+   *
+   * @example 2022-01-01
+   */
+  compatibility_date?: string;
+  /**
+   * Compatibility flags used for Pages Functions.
+   *
+   * @example url_standard
+   */
+  compatibility_flags?: string[];
+  /**
+   * D1 databases used for Pages Functions.
+   *
+   * @example {"D1_BINDING":{"id":"445e2955-951a-43f8-a35b-a4d0c8138f63"}}
+   */
+  d1_databases?: {
+    [key: string]: {
+      /**
+       * UUID of the D1 database.
+       *
+       * @example 445e2955-951a-43f8-a35b-a4d0c8138f63
+       */
+      id?: string;
+    } | null;
+  } | null;
+  /**
+   * Durabble Object namespaces used for Pages Functions.
+   *
+   * @example {"DO_BINDING":{"namespace_id":"5eb63bbbe01eeed093cb22bb8f5acdc3"}}
+   */
+  durable_object_namespaces?: {
+    [key: string]: {
+      /**
+       * ID of the Durabble Object namespace.
+       *
+       * @example 5eb63bbbe01eeed093cb22bb8f5acdc3
+       */
+      namespace_id?: string;
+    } | null;
+  } | null;
+  /**
+   * Environment variables for build configs.
+   */
+  env_vars?: {
+    [key: string]: {
+      /**
+       * The type of environment variable.
+       */
+      type?: 'plain_text' | 'secret_text';
+      /**
+       * Environment variable value.
+       */
+      value: string;
+    } | null;
+  } | null;
+  /**
+   * Hyperdrive bindings used for Pages Functions.
+   *
+   * @example {"HYPERDRIVE":{"id":"a76a99bc342644deb02c38d66082262a"}}
+   */
+  hyperdrive_bindings?: {
+    [key: string]: {
+      /**
+       * @example a76a99bc342644deb02c38d66082262a
+       */
+      id?: string;
+    } | null;
+  } | null;
+  /**
+   * KV namespaces used for Pages Functions.
+   *
+   * @example {"KV_BINDING":{"namespace_id":"5eb63bbbe01eeed093cb22bb8f5acdc3"}}
+   */
+  kv_namespaces?: {
+    [key: string]: {
+      /**
+       * ID of the KV namespace.
+       *
+       * @example 5eb63bbbe01eeed093cb22bb8f5acdc3
+       */
+      namespace_id?: string;
+    } | null;
+  } | null;
+  /**
+   * mTLS bindings used for Pages Functions.
+   *
+   * @example {"MTLS":{"certificate_id":"d7cdd17c-916f-4cb7-aabe-585eb382ec4e"}}
+   */
+  mtls_certificates?: {
+    [key: string]: {
+      /**
+       * @example d7cdd17c-916f-4cb7-aabe-585eb382ec4e
+       */
+      certificate_id?: string;
+    } | null;
+  } | null;
+  /**
+   * Placement setting used for Pages Functions.
+   *
+   * @example {"mode":"smart"}
+   */
+  placement?: {
+    /**
+     * Placement mode.
+     *
+     * @example smart
+     */
+    mode?: string;
+  } | null;
+  /**
+   * Queue Producer bindings used for Pages Functions.
+   *
+   * @example {"QUEUE_PRODUCER_BINDING":{"name":"some-queue"}}
+   */
+  queue_producers?: {
+    [key: string]: {
+      /**
+       * Name of the Queue.
+       *
+       * @example some-queue
+       */
+      name?: string;
+    } | null;
+  } | null;
+  /**
+   * R2 buckets used for Pages Functions.
+   *
+   * @example {"R2_BINDING":{"name":"some-bucket"}}
+   */
+  r2_buckets?: {
+    [key: string]: {
+      /**
+       * Jurisdiction of the R2 bucket.
+       *
+       * @example eu
+       */
+      jurisdiction?: string | null;
+      /**
+       * Name of the R2 bucket.
+       *
+       * @example some-bucket
+       */
+      name?: string;
+    } | null;
+  } | null;
+  /**
+   * Services used for Pages Functions.
+   *
+   * @example {"SERVICE_BINDING":{"entrypoint":"MyHandler","environment":"production","service":"example-worker"}}
+   */
+  services?: {
+    [key: string]: {
+      /**
+       * The entrypoint to bind to.
+       */
+      entrypoint?: string | null;
+      /**
+       * The Service environment.
+       */
+      environment?: string;
+      /**
+       * The Service name.
+       */
+      service?: string;
+    } | null;
+  } | null;
+  /**
+   * Vectorize bindings used for Pages Functions.
+   *
+   * @example {"VECTORIZE":{"index_name":"my_index"}}
+   */
+  vectorize_bindings?: {
+    [key: string]: {
+      /**
+       * @example my_index
+       */
+      index_name?: string;
+    } | null;
+  } | null;
+};
 
 /**
- * Can be used to break down the data by given attributes. Options are:
- *
- * Dimension                 | Name                            | Example
- * --------------------------|---------------------------------|--------------------------
- * event                     | Connection Event                | connect, progress, disconnect, originError, clientFiltered
- * appID                     | Application ID                  | 40d67c87c6cd4b889a4fd57805225e85
- * coloName                  | Colo Name                       | SFO
- * ipVersion                 | IP version used by the client   | 4, 6.
+ * Deployment stage name.
  *
- * @example event
- * @example appID
+ * @example deploy
+ * @pattern queued|initialize|clone_repo|build|deploy
  */
-export type DimensionsHElZM7Gt = ('event' | 'appID' | 'coloName' | 'ipVersion')[];
+export type PagesDeploymentStageName = string;
 
-export type DirectUploadRequest = {
-  allowedOrigins?: AllowedOrigins;
-  creator?: Creator;
+export type PagesDeployments = {
+  /**
+   * A list of alias URLs pointing to this deployment.
+   *
+   * @example https://branchname.projectname.pages.dev
+   */
+  aliases?: string[] | null;
+  build_config?: PagesBuildConfig;
+  /**
+   * When the deployment was created.
+   *
+   * @example 2021-03-09T00:55:03.923456Z
+   * @format date-time
+   */
+  created_on?: string;
   /**
-   * The date and time after upload when videos will not be accepted.
+   * Info about what caused the deployment.
+   */
+  deployment_trigger?: {
+    /**
+     * Additional info about the trigger.
+     */
+    metadata?: {
+      /**
+       * Where the trigger happened.
+       *
+       * @example main
+       */
+      branch?: string;
+      /**
+       * Hash of the deployment trigger commit.
+       *
+       * @example ad9ccd918a81025731e10e40267e11273a263421
+       */
+      commit_hash?: string;
+      /**
+       * Message of the deployment trigger commit.
+       *
+       * @example Update index.html
+       */
+      commit_message?: string;
+    };
+    /**
+     * What caused the deployment.
+     *
+     * @example ad_hoc
+     * @pattern push|ad_hoc
+     */
+    type?: string;
+  };
+  /**
+   * A dict of env variables to build this deploy.
    *
-   * @default Now + 30 minutes
-   * @example 2021-01-02T02:20:00Z
-   * @format date-time
+   * @example {"BUILD_VERSION":{"value":"3.3"},"ENV":{"value":"STAGING"}}
    */
-  expiry?: string;
-  maxDurationSeconds: MaxDurationSeconds;
-  requireSignedURLs?: RequireSignedURLs;
-  thumbnailTimestampPct?: ThumbnailTimestampPct;
-  watermark?: WatermarkAtUpload;
-};
-
-export type DirectUploadRequestV2 = {
+  env_vars?: {
+    [key: string]: {
+      /**
+       * The type of environment variable.
+       */
+      type?: string;
+      /**
+       * Environment variable value.
+       */
+      value: string;
+    } | null;
+  };
   /**
-   * The date after which the upload will not be accepted. Minimum: Now + 2 minutes. Maximum: Now + 6 hours.
+   * Type of deploy.
    *
-   * @default Now + 30 minutes
-   * @example 2021-01-02T02:20:00Z
-   * @format date-time
+   * @example preview
+   * @pattern preview|production
    */
-  expiry?: string;
+  environment?: string;
   /**
-   * Optional Image Custom ID. Up to 1024 chars. Can include any number of subpaths, and utf8 characters. Cannot start nor end with a / (forward slash). Cannot be a UUID.
+   * Id of the deployment.
    *
-   * @example this/is/my-customid
-   * @maxLength 1024
+   * @example f64788e9-fccd-4d4a-a28a-cb84f88f6
    */
   id?: string;
   /**
-   * User modifiable key-value store. Can be used for keeping references to another system of record, for managing images.
+   * If the deployment has been skipped.
+   *
+   * @example true
    */
-  metadata?: Record<string, any>;
+  is_skipped?: boolean;
+  latest_stage?: PagesStage;
   /**
-   * Indicates whether the image requires a signature token to be accessed.
+   * When the deployment was last modified.
    *
-   * @default false
-   * @example true
+   * @example 2021-03-09T00:58:59.045655
+   * @format date-time
    */
-  requireSignedURLs?: boolean;
-};
-
-export type DirectUploadResponse = ApiResponseSingleYdRGfgTy & {
-  result?: {
-    uid?: IdentifierKW7g5KGL;
-    /**
-     * The URL an unauthenticated upload can use for a single `HTTP POST multipart/form-data` request.
-     *
-     * @example www.example.com/samplepath
-     */
-    uploadURL?: string;
-    watermark?: Watermarks;
-  };
-};
-
-export type DirectUploadResponseV2 = ApiResponseSingleLarS7owG & {
-  result?: {
-    /**
-     * Image unique identifier.
-     *
-     * @example e22e9e6b-c02b-42fd-c405-6c32af5fe600
-     * @maxLength 32
-     */
-    id?: string;
-    /**
-     * The URL the unauthenticated upload can be performed to using a single HTTP POST (multipart/form-data) request.
-     *
-     * @example https://upload.imagedelivery.net/FxUufywByo0m2v3xhKSiU8/e22e9e6b-c02b-42fd-c405-6c32af5fe600
-     */
-    uploadURL?: string;
-  };
-};
-
-/**
- * Direction to order DNS records in.
- *
- * @default asc
- */
-export type Direction = 'asc' | 'desc';
-
-/**
- * If the dns_server field of a fallback domain is not present, the client will fall back to a best guess of the default/system DNS resolvers, unless this policy option is set.
- *
- * @example true
- */
-export type DisableAutoFallback = boolean;
-
-export type DisableForTime = {
+  modified_on?: string;
   /**
-   * Override code that is valid for 1 hour.
+   * Id of the project.
    *
-   * @example 9106681
+   * @example 7b162ea7-7367-4d67-bcde-1160995d5
    */
-  ['1']?: void;
+  project_id?: string;
   /**
-   * Override code that is valid for 3 hours.
+   * Name of the project.
    *
-   * @example 5356247
+   * @example ninjakittens
    */
-  ['3']?: void;
+  project_name?: string;
   /**
-   * Override code that is valid for 6 hours.
+   * Short Id (8 character) of the deployment.
    *
-   * @example 9478972
+   * @example f64788e9
    */
-  ['6']?: void;
+  short_id?: string;
+  source?: PagesSource;
   /**
-   * Override code that is valid for 12 hour2.
+   * List of past stages.
    *
-   * @example 3424359
+   * @example {"ended_on":"2021-06-03T15:39:03.134378Z","name":"queued","started_on":"2021-06-03T15:38:15.608194Z","status":"active"}
+   * @example {"ended_on":null,"name":"initialize","started_on":null,"status":"idle"}
+   * @example {"ended_on":null,"name":"clone_repo","started_on":null,"status":"idle"}
+   * @example {"ended_on":null,"name":"build","started_on":null,"status":"idle"}
+   * @example {"ended_on":null,"name":"deploy","started_on":null,"status":"idle"}
    */
-  ['12']?: void;
+  stages?: PagesStage[];
   /**
-   * Override code that is valid for 24 hour.2.
+   * The live URL to view this deployment.
    *
-   * @example 2887634
+   * @example https://f64788e9.ninjakittens.pages.dev
    */
-  ['24']?: void;
+  url?: string;
 };
 
-/**
- * Only available for the Waiting Room Advanced subscription. Disables automatic renewal of session cookies. If `true`, an accepted user will have session_duration minutes to browse the site. After that, they will have to go through the waiting room again. If `false`, a user's session cookie will be automatically renewed on every request.
- *
- * @default false
- * @example false
- */
-export type DisableSessionRenewal = boolean;
-
-export type DisableTransferResponse = ApiResponseSingleWkFwqHKI & {
-  result?: DisableTransferResult;
+export type PagesDomainObject = {
+  /**
+   * @example lets_encrypt
+   */
+  certificate_authority?: 'google' | 'lets_encrypt';
+  created_on?: string;
+  domain_id?: string;
+  id?: string;
+  /**
+   * @example example.com
+   */
+  name?: string;
+  status?: 'initializing' | 'pending' | 'active' | 'deactivated' | 'blocked' | 'error';
+  validation_data?: {
+    error_message?: string;
+    method?: 'http' | 'txt';
+    status?: 'initializing' | 'pending' | 'active' | 'deactivated' | 'error';
+    txt_name?: string;
+    txt_value?: string;
+  };
+  verification_data?: {
+    error_message?: string;
+    status?: 'pending' | 'active' | 'deactivated' | 'blocked' | 'error';
+  };
+  zone_tag?: string;
 };
 
-/**
- * The zone transfer status of a primary zone
- *
- * @example Disabled
- */
-export type DisableTransferResult = string;
+export type PagesDomainResponseCollection = PagesApiResponseCommon &
+  PagesApiResponsePagination & {
+    result?: PagesDomainObject[];
+  };
 
-/**
- * When true, indicates that the rate limit is currently disabled.
- *
- * @example false
- */
-export type Disabled = boolean;
+export type PagesDomainResponseSingle = PagesApiResponseSingle & {
+  result?: PagesDomainObject;
+};
 
 /**
- * This field shows up only if the origin is disabled. This field is set with the time the origin was disabled.
+ * Name of the domain.
  *
- * @format date-time
+ * @example this-is-my-domain-01.com
+ * @pattern ^[a-z0-9][a-z0-9-]*$
  */
-export type DisabledAt = string;
+export type PagesDomainName = string;
 
-/**
- * Alert type name.
- *
- * @example Origin Error Rate Alert
- */
-export type DisplayName = string;
+export type PagesDomainsPost = {
+  /**
+   * @example example.com
+   */
+  name?: string;
+};
 
 /**
- * @example example-dlq
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type DlqName = string;
+export type PagesIdentifier = string;
 
-/**
- * The name and type of DNS record for the Spectrum application.
- */
-export type Dns = {
-  name?: DnsName;
-  type?: DnsType;
-};
+export type PagesMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
 
-export type DnsFirewall = {
-  attack_mitigation?: AttackMitigation;
-  deprecate_any_requests: DeprecateAnyRequests;
-  dns_firewall_ips: DnsFirewallIps;
-  ecs_fallback: EcsFallback;
-  id: Identifier;
-  maximum_cache_ttl: MaximumCacheTtl;
-  minimum_cache_ttl: MinimumCacheTtl;
-  modified_on: ModifiedOn;
-  name: Name;
-  negative_cache_ttl?: NegativeCacheTtl;
+export type PagesProjectObject = {
+  build_config?: PagesBuildConfig;
+  /**
+   * Most recent deployment to the repo.
+   */
+  canonical_deployment?: PagesDeployments & (Record<string, any> | null);
   /**
-   * Deprecated alias for "upstream_ips".
+   * When the project was created.
    *
-   * @deprecated true
+   * @example 2017-01-01T00:00:00Z
+   * @format date-time
    */
-  origin_ips?: void;
-  ratelimit?: Ratelimit;
-  retries?: Retries;
-  upstream_ips: UpstreamIps;
-};
-
-export type DnsRecord =
-  | ARecord
-  | AAAARecord
-  | CAARecord
-  | CERTRecord
-  | CNAMERecord
-  | DNSKEYRecord
-  | DSRecord
-  | HTTPSRecord
-  | LOCRecord
-  | MXRecord
-  | NAPTRRecord
-  | NSRecord
-  | PTRRecord
-  | SMIMEARecord
-  | SRVRecord
-  | SSHFPRecord
-  | SVCBRecord
-  | TLSARecord
-  | TXTRecord
-  | URIRecord;
-
-/**
- * List of records needed to enable an Email Routing zone.
- */
-export type DnsRecordM1zJRhSs = {
+  created_on?: string;
+  deployment_configs?: PagesDeploymentConfigs;
   /**
-   * DNS record content.
+   * A list of associated custom domains for the project.
    *
-   * @example route1.mx.cloudflare.net
+   * @example customdomain.com
+   * @example customdomain.org
    */
-  content?: string;
+  domains?: string[];
   /**
-   * DNS record name (or @ for the zone apex).
+   * Id of the project.
    *
-   * @example example.com
-   * @maxLength 255
+   * @example 7b162ea7-7367-4d67-bcde-1160995d5
    */
-  name?: string;
+  id?: string;
   /**
-   * Required for MX, SRV and URI records. Unused by other record types. Records with lower priorities are preferred.
+   * Most recent deployment to the repo.
+   */
+  latest_deployment?: PagesDeployments & (Record<string, any> | null);
+  /**
+   * Name of the project.
    *
-   * @example 12
-   * @maximum 65535
-   * @minimum 0
+   * @example NextJS Blog
    */
-  priority?: number;
+  name?: string;
   /**
-   * Time to live, in seconds, of the DNS record. Must be between 60 and 86400, or 1 for 'automatic'.
+   * Production branch of the project. Used to identify production deployments.
    *
-   * @example 1
+   * @example main
    */
-  ttl?: number | 1;
+  production_branch?: string;
+  source?: PagesSource;
   /**
-   * DNS record type.
+   * The Cloudflare subdomain associated with the project.
    *
-   * @example NS
+   * @example helloworld.pages.dev
    */
-  type?:
-    | 'A'
-    | 'AAAA'
-    | 'CNAME'
-    | 'HTTPS'
-    | 'TXT'
-    | 'SRV'
-    | 'LOC'
-    | 'MX'
-    | 'NS'
-    | 'CERT'
-    | 'DNSKEY'
-    | 'DS'
-    | 'NAPTR'
-    | 'SMIMEA'
-    | 'SSHFP'
-    | 'SVCB'
-    | 'TLSA'
-    | 'URI';
-};
-
-export type DnsSecondarySecondaryZone = {
-  auto_refresh_seconds: AutoRefreshSeconds;
-  id: Identifier6txek3jw;
-  name: NameSjz7boGi;
-  peers: Peers;
-};
-
-export type DnsSettingsResponseCollection = ApiResponseCollection & {
-  result?: DnsRecordM1zJRhSs[];
+  subdomain?: string;
 };
 
 /**
- * @example 203.0.113.1
- * @example 203.0.113.254
- * @example 2001:DB8:AB::CF
- * @example 2001:DB8:CD::CF
+ * @example {"deployment_configs":{"production":{"compatibility_date":"2022-01-01","compatibility_flags":["url_standard"],"env_vars":{"BUILD_VERSION":{"value":"3.3"},"delete_this_env_var":null,"secret_var":{"type":"secret_text","value":"A_CMS_API_TOKEN"}}}}}
  */
-export type DnsFirewallIps = (string | string)[];
-
-export type DnsFirewallResponseCollection = ApiResponseCollection & {
-  result?: DnsFirewall[];
-};
+export type PagesProjectPatch = PagesProjectObject & Record<string, any>;
 
-export type DnsFirewallSingleResponse = ApiResponseSingleCIiIMb72 & {
-  result?: DnsFirewall;
+export type PagesProjectResponse = PagesApiResponseCommon & {
+  result?: PagesProjectObject;
 };
 
 /**
- * The name of the DNS record associated with the application.
+ * Name of the project.
  *
- * @example ssh.example.com
- * @format hostname
+ * @example this-is-my-project-01
+ * @pattern ^[a-z0-9][a-z0-9-]*$
  */
-export type DnsName = string;
-
-export type DnsResponseCollection = ApiResponseCollection & {
-  result?: DnsRecord[];
-};
+export type PagesProjectName = string;
 
-export type DnsResponseImportScan = ApiResponseSingle8TQHeyma & {
-  result?: {
-    /**
-     * Number of DNS records added.
-     *
-     * @example 5
-     */
-    recs_added?: number;
-    /**
-     * Total number of DNS records parsed.
-     *
-     * @example 5
-     */
-    total_records_parsed?: number;
+export type PagesProjectsResponse = PagesApiResponseCommon &
+  PagesApiResponsePagination & {
+    result?: PagesDeployments[];
   };
-  timing?: {
-    /**
-     * When the file parsing ended.
-     *
-     * @example 2014-03-01T12:20:01Z
-     * @format date-time
-     */
-    end_time?: string;
-    /**
-     * Processing time of the file in seconds.
-     *
-     * @example 1
-     */
-    process_time?: number;
-    /**
-     * When the file parsing started.
-     *
-     * @example 2014-03-01T12:20:00Z
-     * @format date-time
-     */
-    start_time?: string;
+
+export type PagesSource = {
+  config?: {
+    deployments_enabled?: boolean;
+    owner?: string;
+    path_excludes?: string[];
+    path_includes?: string[];
+    pr_comments_enabled?: boolean;
+    preview_branch_excludes?: string[];
+    preview_branch_includes?: string[];
+    preview_deployment_setting?: 'all' | 'none' | 'custom';
+    production_branch?: string;
+    production_deployments_enabled?: boolean;
+    repo_name?: string;
   };
+  type?: string;
 };
 
-export type DnsResponseSingle = ApiResponseSingle8TQHeyma & {
-  result?: DnsRecord;
+/**
+ * The status of the deployment.
+ */
+export type PagesStage = {
+  /**
+   * When the stage ended.
+   *
+   * @example 2021-03-09T00:58:59.045655
+   * @format date-time
+   */
+  ended_on?: string | null;
+  /**
+   * The current build stage.
+   *
+   * @example deploy
+   * @pattern queued|initialize|clone_repo|build|deploy
+   */
+  name?: string;
+  /**
+   * When the stage started.
+   *
+   * @example 2021-03-09T00:55:03.923456Z
+   * @format date-time
+   */
+  started_on?: string | null;
+  /**
+   * State of the current stage.
+   *
+   * @example success
+   * @pattern success|idle|active|failure|canceled
+   */
+  status?: string;
 };
 
 /**
- * The TTL of our resolution of your DNS record in seconds.
+ * Account ID
  *
- * @minimum 600
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type DnsTtl = number;
+export type R2AccountIdentifier = string;
 
 /**
- * The type of DNS record associated with the application.
- *
- * @example CNAME
+ * @example {"domain":"prefix.example-domain.com","enabled":true,"zoneId":"36ca64a6d92827b8a6b90be344bb1bfd"}
  */
-export type DnsType = 'CNAME' | 'ADDRESS';
+export type R2AddCustomDomainRequest = {
+  /**
+   * Name of the custom domain to be added
+   */
+  domain: string;
+  /**
+   * Whether to enable public bucket access at the custom domain. If undefined, the domain will be enabled.
+   */
+  enabled: boolean;
+  /**
+   * Minimum TLS Version the custom domain will accept for incoming connections. If not set, defaults to 1.0.
+   */
+  minTLS?: '1.0' | '1.1' | '1.2' | '1.3';
+  /**
+   * Zone ID of the custom domain
+   */
+  zoneId: string;
+};
 
 /**
- * DNSLink value used if the target is ipfs.
- *
- * @example /ipns/onboarding.ipfs.cloudflare.com
+ * @example {"domain":"example-domain.com","enabled":true}
  */
-export type Dnslink = string;
+export type R2AddCustomDomainResponse = {
+  /**
+   * Domain name of the affected custom domain
+   */
+  domain: string;
+  /**
+   * Whether this bucket is publicly accessible at the specified custom domain
+   */
+  enabled: boolean;
+  /**
+   * Minimum TLS Version the custom domain will accept for incoming connections. If not set, defaults to 1.0.
+   */
+  minTLS?: '1.0' | '1.1' | '1.2' | '1.3';
+};
 
-export type Dnssec = {
-  algorithm?: Algorithm;
-  digest?: Digest;
-  digest_algorithm?: DigestAlgorithm;
-  digest_type?: DigestType;
-  ds?: Ds;
-  flags?: Flags;
-  key_tag?: KeyTag;
-  key_type?: KeyType;
-  modified_on?: ModifiedOn4CdIXZup;
-  public_key?: PublicKeyAH0a9AtA;
-  status?: Status7l7v1BCo;
+/**
+ * A single R2 bucket
+ */
+export type R2Bucket = {
+  /**
+   * Creation timestamp
+   */
+  creation_date?: string;
+  location?: R2BucketLocation;
+  name?: R2BucketName;
+  storage_class?: R2StorageClass;
 };
 
-export type DnssecResponseSingle = ApiResponseSinglePOKosyfu & {
-  result?: Dnssec;
+export type R2BucketConfig = {
+  /**
+   * Name of the bucket.
+   */
+  bucketName?: string;
+  /**
+   * List of queues associated with the bucket.
+   */
+  queues?: R2QueuesConfig[];
 };
 
 /**
- * The domain and path that Access will secure.
- *
- * @example test.example.com/admin
+ * Location of the bucket
  */
-export type Domain = string;
+export type R2BucketLocation = 'apac' | 'eeur' | 'enam' | 'weur' | 'wnam';
 
-export type DomainSjfI1GKj = {
-  environment?: Environment;
-  hostname?: ComponentsSchemasHostname;
-  id?: DomainIdentifier;
-  service?: SchemasService;
-  zone_id?: ZoneIdentifier;
-  zone_name?: ZoneName;
-};
-
-export type DomainHistory = {
-  categorizations?: {
-    /**
-     * @example {"id":155,"name":"Technology"}
-     */
-    categories?: void;
-    /**
-     * @example 2021-04-30
-     * @format date
-     */
-    end?: string;
-    /**
-     * @example 2021-04-01
-     * @format date
-     */
-    start?: string;
-  }[];
-  domain?: SchemasDomainName;
-};
+/**
+ * Name of the bucket
+ *
+ * @example example-bucket
+ * @maxLength 64
+ * @minLength 3
+ * @pattern ^[a-z0-9][a-z0-9-]*[a-z0-9]
+ */
+export type R2BucketName = string;
 
-export type DomainResponseCollection = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | any[] | string;
+export type R2CorsRule = {
   /**
-   * Whether the API call was successful
-   *
-   * @example true
+   * Object specifying allowed origins, methods and headers for this CORS rule.
    */
-  success: true;
-  result_info?: {
-    /**
-     * @example 1
-     */
-    count?: void;
+  allowed: {
     /**
-     * @example 1
+     * Specifies the value for the Access-Control-Allow-Headers header R2 sets when requesting objects in this bucket from a browser. Cross-origin requests that include custom headers (e.g. x-user-id) should specify these headers as AllowedHeaders.
      */
-    page?: void;
+    headers?: string[];
     /**
-     * @example 100
+     * Specifies the value for the Access-Control-Allow-Methods header R2 sets when requesting objects in a bucket from a browser.
      */
-    per_page?: void;
+    methods: ('GET' | 'PUT' | 'POST' | 'DELETE' | 'HEAD')[];
     /**
-     * @example 1
+     * Specifies the value for the Access-Control-Allow-Origin header R2 sets when requesting objects in a bucket from a browser.
      */
-    total_count?: void;
+    origins: string[];
   };
-};
-
-export type DomainResponseCollectionZmR2fzja = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | any[] | string;
   /**
-   * Whether the API call was successful
+   * Specifies the headers that can be exposed back, and accessed by, the JavaScript making the cross-origin request. If you need to access headers beyond the safelisted response headers, such as Content-Encoding or cf-cache-status, you must specify it here.
+   */
+  exposeHeaders?: string[];
+  /**
+   * Identifier for this rule
    *
-   * @example true
+   * @example Allow Local Development
    */
-  success: true;
-};
-
-export type DomainResponseSingle = ApiResponseSingleSJaluEU5 & {
-  result?: Record<string, any>;
-};
-
-export type DomainResponseSingleFb0rsuc8 = {
-  errors: Messages;
-  messages: Messages;
-  result: DomainSjfI1GKj;
+  id?: string;
   /**
-   * Whether the API call was successful
+   * Specifies the amount of time (in seconds) browsers are allowed to cache CORS preflight responses. Browsers may limit this to 2 hours or less, even if the maximum value (86400) is specified.
    *
-   * @example true
+   * @example 3600
    */
-  success: true;
-};
-
-export type DomainComponentsSchemasDomain = {
-  additional_information?: AdditionalInformation;
-  application?: ApplicationIDJD2oSO;
-  content_categories?: ContentCategories;
-  domain?: SchemasDomainName;
-  popularity_rank?: PopularityRank;
-  resolves_to_refs?: ResolvesToRefs;
-  risk_score?: RiskScore;
-  risk_types?: RiskTypes;
-};
-
-export type DomainComponentsSchemasSingleResponse = ApiResponseSingleLarS7owG & {
-  result?: DomainComponentsSchemasDomain;
+  maxAgeSeconds?: number;
 };
 
 /**
- * Identifer of the Worker Domain.
+ * Name of the custom domain
  *
- * @example dbe10b4bc17c295377eabd600e1787fd
+ * @example example-domain/custom-domain.com
  */
-export type DomainIdentifier = void;
+export type R2DomainName = string;
 
 /**
- * Name of the domain.
- *
- * @example this-is-my-domain-01.com
- * @pattern ^[a-z0-9][a-z0-9-]*$
+ * @example {"enabled":true,"minTLS":"1.2"}
  */
-export type DomainName = string;
+export type R2EditCustomDomainRequest = {
+  /**
+   * Whether to enable public bucket access at the specified custom domain
+   */
+  enabled?: boolean;
+  /**
+   * Minimum TLS Version the custom domain will accept for incoming connections. If not set, defaults to previous value.
+   */
+  minTLS?: '1.0' | '1.1' | '1.2' | '1.3';
+};
 
 /**
- * Domain name.
- *
- * @example cloudflare.com
+ * @example {"domain":"example-domain.com","enabled":true}
  */
-export type DomainNamePfybr7Cq = string;
+export type R2EditCustomDomainResponse = {
+  /**
+   * Domain name of the affected custom domain
+   */
+  domain: string;
+  /**
+   * Whether this bucket is publicly accessible at the specified custom domain
+   */
+  enabled?: boolean;
+  /**
+   * Minimum TLS Version the custom domain will accept for incoming connections. If not set, defaults to 1.0.
+   */
+  minTLS?: '1.0' | '1.1' | '1.2' | '1.3';
+};
 
 /**
- * List of domain names.
- *
- * @example cloudflare.com
- * @example cloudflare.net
+ * @example {"enabled":true}
  */
-export type DomainNames = string[];
-
-export type DomainProperties = {
-  available?: SchemasAvailable;
-  can_register?: CanRegister;
-  created_at?: ComponentsSchemasCreatedAt;
-  current_registrar?: CurrentRegistrar;
-  expires_at?: ExpiresAt;
-  id?: SchemasDomainIdentifier;
-  locked?: Locked;
-  registrant_contact?: RegistrantContact;
-  registry_statuses?: RegistryStatuses;
-  supported_tld?: SupportedTld;
-  transfer_in?: TransferIn;
-  updated_at?: ComponentsSchemasUpdatedAt;
-};
-
-export type DomainResponseCollection = ApiResponseCollection & {
-  result?: Domains[];
-};
-
-export type DomainResponseSingle = ApiResponseSingleLarS7owG & {
-  result?: Record<string, any>;
+export type R2EditManagedDomainRequest = {
+  /**
+   * Whether to enable public bucket access at the r2.dev domain
+   */
+  enabled: boolean;
 };
 
-/**
- * Match an entire email domain.
- */
-export type DomainRule = {
-  email_domain: {
+export type R2EnableSippyAws = {
+  /**
+   * R2 bucket to copy objects to
+   */
+  destination?: {
     /**
-     * The email domain to match.
+     * 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).
      *
-     * @example example.com
+     * 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?: string;
+    provider?: 'r2';
+    /**
+     * 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?: string;
+  };
+  /**
+   * AWS S3 bucket to copy objects from
+   */
+  source?: {
+    /**
+     * Access Key ID of an IAM credential (ideally scoped to a single S3 bucket)
+     */
+    accessKeyId?: string;
+    /**
+     * Name of the AWS S3 bucket
+     */
+    bucket?: string;
+    provider?: 'aws';
+    /**
+     * Name of the AWS availability zone
+     */
+    region?: string;
+    /**
+     * Secret Access Key of an IAM credential (ideally scoped to a single S3 bucket)
      */
-    domain: string;
+    secretAccessKey?: string;
   };
 };
 
-export type DomainUpdateProperties = {
-  auto_renew?: AutoRenew;
-  locked?: Locked;
-  name_servers?: NameServers;
-  privacy?: Privacy;
+export type R2EnableSippyGcs = {
+  /**
+   * R2 bucket to copy objects to
+   */
+  destination?: {
+    /**
+     * 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?: string;
+    provider?: 'r2';
+    /**
+     * 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?: string;
+  };
+  /**
+   * GCS bucket to copy objects from
+   */
+  source?: {
+    /**
+     * Name of the GCS bucket
+     */
+    bucket?: string;
+    /**
+     * Client email of an IAM credential (ideally scoped to a single GCS bucket)
+     */
+    clientEmail?: string;
+    /**
+     * Private Key of an IAM credential (ideally scoped to a single GCS bucket)
+     */
+    privateKey?: string;
+    provider?: 'gcs';
+  };
 };
 
-export type Domains = DomainProperties;
-
-/**
- * @example {"name":"example.com"}
- */
-export type DomainsPost = void;
+export type R2Errors = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
 
 /**
- * The source URL for a downloaded image. If the watermark profile was created via direct upload, this field is null.
- *
- * @example https://company.com/logo.png
+ * @example {"domain":"prefix.example-domain.one.com","enabled":false,"status":{"ownership":"deactivated","ssl":"pending"},"zoneId":"36ca64a6d92827b8a6b90be344bb1bfd","zoneName":"example-domain.one.com"}
  */
-export type DownloadedFrom = string;
-
-export type DownloadsResponse = ApiResponseSingleYdRGfgTy & {
-  result?: Record<string, any>;
+export type R2GetCustomDomainResponse = {
+  /**
+   * Domain name of the custom domain to be added
+   */
+  domain: string;
+  /**
+   * Whether this bucket is publicly accessible at the specified custom domain
+   */
+  enabled: boolean;
+  /**
+   * Minimum TLS Version the custom domain will accept for incoming connections. If not set, defaults to 1.0.
+   */
+  minTLS?: '1.0' | '1.1' | '1.2' | '1.3';
+  status: {
+    /**
+     * Ownership status of the domain
+     */
+    ownership: 'pending' | 'active' | 'deactivated' | 'blocked' | 'error' | 'unknown';
+    /**
+     * SSL certificate status
+     */
+    ssl: 'initializing' | 'pending' | 'active' | 'deactivated' | 'error' | 'unknown';
+  };
+  /**
+   * Zone ID of the custom domain resides in
+   */
+  zoneId?: string;
+  /**
+   * Zone that the custom domain resides in
+   */
+  zoneName?: string;
 };
 
 /**
- * Full DS record.
- *
- * @example example.com. 3600 IN DS 16953 13 2 48E939042E82C22542CB377B580DFDC52A361CEFDC72E7F9107E2B6BD9306A45
+ * Condition for lifecycle transitions to apply after an object reaches an age in seconds
  */
-export type Ds = string | null;
+export type R2LifecycleAgeCondition = {
+  maxAge: number;
+  type: 'Age';
+};
 
-/**
- * The duration of the video in seconds. A value of `-1` means the duration is unknown. The duration becomes available after the upload and before the video is ready.
- */
-export type Duration = number;
+export type R2LifecycleConfig = {
+  rules?: R2LifecycleRule[];
+};
 
 /**
- * The duration of the plan subscription.
- *
- * @example 1
+ * Condition for lifecycle transitions to apply on a specific date
  */
-export type DurationUvPDdO2C = number;
+export type R2LifecycleDateCondition = {
+  /**
+   * @format date
+   */
+  date: string;
+  type: 'Date';
+};
 
-export type DynamicRedirectRulesComponentsSchemasRule = {
+export type R2LifecycleRule = {
   /**
-   * @example redirect
+   * Transition to abort ongoing multipart uploads
    */
-  action?: void;
-  action_parameters?: ComponentsSchemasActionParameters;
+  abortMultipartUploadsTransition?: {
+    /**
+     * Condition for lifecycle transitions to apply after an object reaches an age in seconds
+     */
+    condition?: R2LifecycleAgeCondition;
+  };
   /**
-   * @example Blog redirect
+   * Conditions that apply to all transitions of this rule
    */
-  description?: void;
+  conditions: {
+    /**
+     * Transitions will only apply to objects/uploads in the bucket that start with the given prefix, an empty prefix can be provided to scope rule to all objects/uploads
+     */
+    prefix: string;
+  };
   /**
-   * @example http.request.uri.path == "/blog"
+   * Transition to delete objects
    */
-  expression?: void;
+  deleteObjectsTransition?: {
+    condition?: R2LifecycleAgeCondition | R2LifecycleDateCondition;
+  };
   /**
-   * @example 3a03d665bac047339bb530ecb439a90d
+   * Whether or not this rule is in effect
    */
-  id?: void;
+  enabled: boolean;
   /**
-   * @example 1
+   * Unique identifier for this rule
+   *
+   * @example Expire all objects older than 24 hours
    */
-  version?: void;
+  id: string;
+  /**
+   * Transitions to change the storage class of objects
+   */
+  storageClassTransitions?: R2LifecycleStorageTransition[];
+};
+
+export type R2LifecycleStorageTransition = {
+  condition: R2LifecycleAgeCondition | R2LifecycleDateCondition;
+  storageClass: 'InfrequentAccess';
 };
 
 /**
- * When enabled, Cloudflare will attempt to speed up overall page loads by serving `103` responses with `Link` headers from the final response. Refer to [Early Hints](https://developers.cloudflare.com/cache/about/early-hints) for more information.
+ * @example {"domains":[{"domain":"prefix.example-domain.one.com","enabled":false,"status":{"ownership":"deactivated","ssl":"pending"},"zoneId":"36ca64a6d92827b8a6b90be344bb1bfd","zoneName":"example-domain.one.com"},{"domain":"prefix.example-domain.two.com","enabled":true,"status":{"ownership":"active","ssl":"active"},"zoneId":"d9d28585d5f8f5b0f857b055bf574f19"}]}
  */
-export type EarlyHints = {
-  /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
-   *
-   * @default true
-   */
-  editable?: true | false;
+export type R2ListCustomDomainsResponse = {
+  domains: {
+    /**
+     * Domain name of the custom domain to be added
+     */
+    domain: string;
+    /**
+     * Whether this bucket is publicly accessible at the specified custom domain
+     */
+    enabled: boolean;
+    /**
+     * Minimum TLS Version the custom domain will accept for incoming connections. If not set, defaults to 1.0.
+     */
+    minTLS?: '1.0' | '1.1' | '1.2' | '1.3';
+    status: {
+      /**
+       * Ownership status of the domain
+       */
+      ownership: 'pending' | 'active' | 'deactivated' | 'blocked' | 'error' | 'unknown';
+      /**
+       * SSL certificate status
+       */
+      ssl: 'initializing' | 'pending' | 'active' | 'deactivated' | 'error' | 'unknown';
+    };
+    /**
+     * Zone ID of the custom domain resides in
+     */
+    zoneId?: string;
+    /**
+     * Zone that the custom domain resides in
+     */
+    zoneName?: string;
+  }[];
+};
+
+/**
+ * @example {"bucketId":"0113a9e4549cf9b1ff1bf56e04da0cef","domain":"pub-0113a9e4549cf9b1ff1bf56e04da0cef.r2.dev","enabled":true}
+ */
+export type R2ManagedDomainResponse = {
   /**
-   * ID of the zone setting.
+   * Bucket ID
    *
-   * @example early_hints
+   * @maxLength 32
    */
-  id: 'early_hints';
+  bucketId: string;
   /**
-   * last time this setting was modified.
-   *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * Domain name of the bucket's r2.dev domain
    */
-  modified_on?: string | null;
+  domain: string;
   /**
-   * Current value of the zone setting.
-   *
-   * @example on
+   * Whether this bucket is publicly accessible at the r2.dev domain
    */
-  value: EarlyHintsValue;
+  enabled: boolean;
 };
 
-/**
- * Value of the zone setting.
- *
- * @default off
- */
-export type EarlyHintsValue = 'on' | 'off';
+export type R2Messages = string[];
 
 /**
- * Set if the location needs to resolve EDNS queries.
+ * Queue ID
  *
- * @example false
+ * @example 11111aa1-11aa-111a-a1a1-a1a111a11a11
+ * @maxLength 32
  */
-export type EcsSupport = boolean;
+export type R2QueueIdentifier = string;
 
-/**
- * Forward client IP (resolver) subnet if no EDNS Client Subnet is sent.
- *
- * @example false
- */
-export type EcsFallback = boolean;
+export type R2QueuesConfig = {
+  /**
+   * Queue ID
+   *
+   * @example 11111aa1-11aa-111a-a1a1-a1a111a11a11
+   */
+  queueId?: string;
+  /**
+   * Name of the queue
+   *
+   * @example first-queue
+   */
+  queueName?: string;
+  rules?: {
+    /**
+     * Array of R2 object actions that will trigger notifications
+     *
+     * @example PutObject
+     * @example CopyObject
+     * @uniqueItems true
+     */
+    actions: R2R2Action[];
+    /**
+     * A description that can be used to identify the event notification rule after creation
+     *
+     * @example Notifications from source bucket to queue
+     */
+    description?: string;
+    /**
+     * Notifications will be sent only for objects with this prefix
+     *
+     * @example img/
+     */
+    prefix?: string;
+    /**
+     * Notifications will be sent only for objects with this suffix
+     *
+     * @example .jpeg
+     */
+    suffix?: string;
+    /**
+     * Timestamp when the rule was created
+     *
+     * @example 2024-09-19T21:54:48.405Z
+     */
+    createdAt?: string;
+    /**
+     * Rule ID
+     *
+     * @example 11111aa1-11aa-111a-a1a1-a1a111a11a11
+     */
+    ruleId?: string;
+  }[];
+};
+
+export type R2R2Action = 'PutObject' | 'CopyObject' | 'DeleteObject' | 'CompleteMultipartUpload' | 'LifecycleDeletion';
 
 /**
- * Time (in seconds) that a resource will be ensured to remain on Cloudflare's cache servers.
+ * @example {"domain":"example-domain/custom-domain.com"}
  */
-export type EdgeCacheTtl = {
+export type R2RemoveCustomDomainResponse = {
   /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   * Name of the removed custom domain
+   */
+  domain: string;
+};
+
+export type R2ResultInfo = {
+  /**
+   * A continuation token that should be used to fetch the next page of results
    *
-   * @default true
+   * @example 1-JTdCJTIydiUyMiUzQTElMkMlMjJzdGFydEFmdGVyJTIyJTNBJTIyZGF2aWRwdWJsaWMlMjIlN0Q=
    */
-  editable?: true | false;
+  cursor?: string;
   /**
-   * ID of the zone setting.
+   * Maximum number of results on this page
    *
-   * @example edge_cache_ttl
+   * @example 20
    */
-  id: 'edge_cache_ttl';
+  per_page?: number;
+};
+
+export type R2Rule = {
   /**
-   * last time this setting was modified.
+   * Array of R2 object actions that will trigger notifications
    *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * @example PutObject
+   * @example CopyObject
+   * @uniqueItems true
    */
-  modified_on?: string | null;
+  actions: R2R2Action[];
   /**
-   * Current value of the zone setting.
+   * A description that can be used to identify the event notification rule after creation
    *
-   * @example on
+   * @example Notifications from source bucket to queue
    */
-  value: EdgeCacheTtlValue;
-};
-
-/**
- * Value of the zone setting.
- * Notes: The minimum TTL available depends on the plan level of the zone. (Enterprise = 30, Business = 1800, Pro = 3600, Free = 7200)
- *
- * @default 7200
- */
-export type EdgeCacheTtlValue =
-  | 30
-  | 60
-  | 300
-  | 1200
-  | 1800
-  | 3600
-  | 7200
-  | 10800
-  | 14400
-  | 18000
-  | 28800
-  | 43200
-  | 57600
-  | 72000
-  | 86400
-  | 172800
-  | 259200
-  | 345600
-  | 432000
-  | 518400
-  | 604800;
-
-/**
- * The anycast edge IP configuration for the hostname of this application.
- *
- * @default {"connectivity":"all","type":"dynamic"}
- */
-export type EdgeIps =
-  | {
-      /**
-       * The IP versions supported for inbound connections on Spectrum anycast IPs.
-       *
-       * @example all
-       */
-      connectivity?: 'all' | 'ipv4' | 'ipv6';
-      /**
-       * The type of edge IP configuration specified. Dynamically allocated edge IPs use Spectrum anycast IPs in accordance with the connectivity you specify. Only valid with CNAME DNS names.
-       *
-       * @example dynamic
-       */
-      type?: 'dynamic';
-    }
-  | {
-      /**
-       * The array of customer owned IPs we broadcast via anycast for this hostname and application.
-       *
-       * @example 192.0.2.1
-       */
-      ips?: string[];
-      /**
-       * The type of edge IP configuration specified. Statically allocated edge IPs use customer IPs in accordance with the ips array you specify. Only valid with ADDRESS DNS names.
-       *
-       * @example static
-       */
-      type?: 'static';
-    };
+  description?: string;
+  /**
+   * Notifications will be sent only for objects with this prefix
+   *
+   * @example img/
+   */
+  prefix?: string;
+  /**
+   * Notifications will be sent only for objects with this suffix
+   *
+   * @example .jpeg
+   */
+  suffix?: string;
+};
+
+export type R2Sippy = {
+  /**
+   * Details about the configured destination bucket
+   */
+  destination?: {
+    /**
+     * ID of the Cloudflare API token used when writing objects to this
+     * bucket
+     */
+    accessKeyId?: string;
+    account?: string;
+    /**
+     * Name of the bucket on the provider
+     */
+    bucket?: string;
+    provider?: 'r2';
+  };
+  /**
+   * State of Sippy for this bucket
+   */
+  enabled?: boolean;
+  /**
+   * Details about the configured source bucket
+   */
+  source?: {
+    /**
+     * Name of the bucket on the provider
+     */
+    bucket?: string;
+    provider?: 'aws' | 'gcs';
+    /**
+     * Region where the bucket resides (AWS only)
+     */
+    region?: string | null;
+  };
+};
 
 /**
- * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+ * Storage class for newly uploaded objects, unless specified otherwise.
  *
- * @default true
+ * @default Standard
  */
-export type Editable = true | false;
+export type R2StorageClass = 'Standard' | 'InfrequentAccess';
 
 /**
- * Allow or deny operations against the resources.
- *
- * @example allow
+ * @example {"bucket":"example-bucket","objects":["example-object"],"parentAccessKeyId":"example-access-key-id","permission":"object-read-write","prefixes":["example-prefix/"],"ttlSeconds":3600}
  */
-export type Effect = 'allow' | 'deny';
-
-export type EgsPagination = {
+export type R2TempAccessCredsRequest = {
   /**
-   * The page number of paginated results.
-   *
-   * @default 1
-   * @minimum 1
+   * Name of the R2 bucket
    */
-  page?: number;
+  bucket: string;
+  /**
+   * Optional object paths to scope the credentials to
+   */
+  objects?: string[];
+  /**
+   * The parent access key id to use for signing
+   */
+  parentAccessKeyId: string;
+  /**
+   * Permissions allowed on the credentials
+   */
+  permission: 'admin-read-write' | 'admin-read-only' | 'object-read-write' | 'object-read-only';
+  /**
+   * Optional prefix paths to scope the credentials to
+   */
+  prefixes?: string[];
   /**
-   * The maximum number of results per page. You can only set the value to `1` or to a multiple of 5 such as `5`, `10`, `15`, or `20`.
+   * How long the credentials will live for in seconds
    *
-   * @default 20
-   * @maximum 1000
-   * @minimum 1
+   * @default 900
+   * @maximum 604800
    */
-  per_page?: number;
-};
-
-export type EitherProfileResponse = ApiResponseSingleUypB4bgI & {
-  result?: PredefinedProfile | CustomProfile | IntegrationProfile;
+  ttlSeconds: number;
 };
 
-export type EitherProfileResponseLHJWqKkQ = ApiResponseSingleLarS7owG & {
-  result?: PredefinedProfile | CustomProfile;
+/**
+ * @example {"accessKeyId":"example-access-key-id","secretAccessKey":"example-secret-key","sessionToken":"example-session-token"}
+ */
+export type R2TempAccessCredsResponse = {
+  /**
+   * ID for new access key
+   */
+  accessKeyId?: string;
+  /**
+   * Secret access key
+   */
+  secretAccessKey?: string;
+  /**
+   * Security token
+   */
+  sessionToken?: string;
 };
 
-export type Eligibility = {
-  eligible?: Eligible;
-  ready?: Ready;
-  type?: EligibilityComponentsSchemasType;
+export type R2V4Response = {
+  errors: R2Errors;
+  messages: R2Messages;
+  result: Record<string, any>;
+  /**
+   * Whether the API call was successful
+   */
+  success: true;
 };
 
-export type EligibilityComponentsSchemasResponseCollection = ApiResponseCollection & {
+export type R2V4ResponseFailure = {
+  errors: R2Errors;
+  messages: R2Messages;
+  result: any | null;
   /**
-   * @example {"email":{"eligible":true,"ready":true,"type":"email"}}
+   * Whether the API call was successful
+   *
+   * @example false
    */
-  result?: {
-    [key: string]: Eligibility[];
-  };
+  success: false;
 };
 
-/**
- * Determines type of delivery mechanism.
- *
- * @example email
- */
-export type EligibilityComponentsSchemasType = 'email' | 'pagerduty' | 'webhook';
+export type R2V4ResponseList = R2V4Response & {
+  result_info?: R2ResultInfo;
+};
 
 /**
- * Determines whether or not the account is eligible for the delivery mechanism.
+ * Address.
  *
- * @example true
+ * @example 123 Sesame St.
  */
-export type Eligible = boolean;
+export type RegistrarApiAddress = string;
 
 /**
- * The email address of the authenticating user.
+ * Optional address line for unit, floor, suite, etc.
  *
- * @example user@example.com
- * @format email
+ * @example Suite 430
  */
-export type Email = string;
+export type RegistrarApiAddress2 = string;
 
-/**
- * The contact email address of the user.
- *
- * @example user@example.com
- * @maxLength 90
- */
-export type EmailHj6ruiEO = string;
+export type RegistrarApiApiResponseCollection = {
+  errors: RegistrarApiMessages;
+  messages: RegistrarApiMessages;
+  result: Record<string, any> | Record<string, any>[] | string | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+  result_info?: RegistrarApiResultInfo;
+};
+
+export type RegistrarApiApiResponseCommon = {
+  errors: RegistrarApiMessages;
+  messages: RegistrarApiMessages;
+  result: Record<string, any> | Record<string, any>[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type RegistrarApiApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: RegistrarApiMessages;
+  messages: RegistrarApiMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type RegistrarApiApiResponseSingle = {
+  errors: RegistrarApiMessages;
+  messages: RegistrarApiMessages;
+  result: Record<string, any> | Record<string, any>[] | string | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
 
 /**
- * The contact email address of the user.
+ * Auto-renew controls whether subscription is automatically renewed upon domain expiration.
  *
- * @example user@example.com
- * @maxLength 90
+ * @example true
  */
-export type EmailPuzf53IC = string;
+export type RegistrarApiAutoRenew = boolean;
 
 /**
- * The contact email address of the user.
+ * Shows if a domain is available for transferring into Cloudflare Registrar.
  *
- * @example user@example.com
- * @maxLength 90
+ * @example false
  */
-export type EmailQw65SH2N = string;
+export type RegistrarApiAvailable = boolean;
 
 /**
- * The date and time the settings have been created.
+ * Indicates if the domain can be registered as a new domain.
  *
- * @example 2014-01-02T02:20:00Z
- * @format date-time
+ * @example false
  */
-export type EmailSettingCreated = string;
+export type RegistrarApiCanRegister = boolean;
 
 /**
- * State of the zone settings for Email Routing.
+ * City.
  *
- * @default true
- * @example true
+ * @example Austin
  */
-export type EmailSettingEnabled = true | false;
+export type RegistrarApiCity = string;
 
 /**
- * Email Routing settings identifier.
+ * Contact Identifier.
  *
- * @example 75610dab9e69410a82cf7e400a09ecec
+ * @example ea95132c15732412d22c1476fa83f27a
  * @maxLength 32
  */
-export type EmailSettingIdentifier = string;
+export type RegistrarApiContactIdentifier = string;
 
-/**
- * The date and time the settings have been modified.
- *
- * @example 2014-01-02T02:20:00Z
- * @format date-time
- */
-export type EmailSettingModified = string;
+export type RegistrarApiContactProperties = {
+  address: RegistrarApiAddress;
+  address2?: RegistrarApiAddress2;
+  city: RegistrarApiCity;
+  country: RegistrarApiCountry;
+  email?: RegistrarApiEmail;
+  fax?: RegistrarApiFax;
+  first_name: RegistrarApiFirstName;
+  id?: RegistrarApiContactIdentifier;
+  last_name: RegistrarApiLastName;
+  organization: RegistrarApiOrganization;
+  phone: RegistrarApiTelephone;
+  state: RegistrarApiState;
+  zip: RegistrarApiZipcode;
+};
+
+export type RegistrarApiContacts = RegistrarApiContactProperties;
 
 /**
- * Domain of your zone.
+ * The country in which the user lives.
  *
- * @example example.net
+ * @example US
+ * @maxLength 30
  */
-export type EmailSettingName = string;
+export type RegistrarApiCountry = string | null;
 
 /**
- * Flag to check if the user skipped the configuration wizard.
+ * Shows time of creation.
  *
- * @default true
- * @example true
+ * @example 2018-08-28T17:26:26Z
+ * @format date-time
  */
-export type EmailSettingSkipWizard = true | false;
+export type RegistrarApiCreatedAt = string;
 
 /**
- * Show the state of your account, and the type or configuration error.
+ * Shows name of current registrar.
  *
- * @example ready
+ * @example Cloudflare
  */
-export type EmailSettingStatus = 'ready' | 'unconfigured' | 'misconfigured' | 'misconfigured/locked' | 'unlocked';
-
-export type EmailSettingsProperties = {
-  created?: EmailSettingCreated;
-  enabled?: EmailSettingEnabled;
-  modified?: EmailSettingModified;
-  name?: EmailSettingName;
-  skip_wizard?: EmailSettingSkipWizard;
-  status?: EmailSettingStatus;
-  tag?: EmailSettingIdentifier;
-};
-
-export type EmailSettingsResponseSingle = ApiResponseSingleSiIqFfOd & {
-  result?: SettingsPG6mq1EP;
-};
+export type RegistrarApiCurrentRegistrar = string;
 
 /**
- * Encrypt email adresses on your web page from bots, while keeping them visible to humans. (https://support.cloudflare.com/hc/en-us/articles/200170016).
+ * Domain identifier.
+ *
+ * @example ea95132c15732412d22c1476fa83f27a
+ * @maxLength 32
  */
-export type EmailObfuscation = {
-  /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
-   *
-   * @default true
-   */
-  editable?: true | false;
-  /**
-   * ID of the zone setting.
-   *
-   * @example email_obfuscation
-   */
-  id: 'email_obfuscation';
-  /**
-   * last time this setting was modified.
-   *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
-   */
-  modified_on?: string | null;
-  /**
-   * Current value of the zone setting.
-   *
-   * @example on
-   */
-  value: EmailObfuscationValue;
-};
+export type RegistrarApiDomainIdentifier = string;
 
 /**
- * Value of the zone setting.
+ * Domain name.
  *
- * @default on
+ * @example cloudflare.com
  */
-export type EmailObfuscationValue = 'on' | 'off';
+export type RegistrarApiDomainName = string;
 
-/**
- * Matches a specific email.
- */
-export type EmailRule = {
-  email: {
-    /**
-     * The email of the user.
-     *
-     * @example test@example.com
-     * @format email
-     */
-    email: string;
-  };
+export type RegistrarApiDomainProperties = {
+  available?: RegistrarApiAvailable;
+  can_register?: RegistrarApiCanRegister;
+  created_at?: RegistrarApiCreatedAt;
+  current_registrar?: RegistrarApiCurrentRegistrar;
+  expires_at?: RegistrarApiExpiresAt;
+  id?: RegistrarApiDomainIdentifier;
+  locked?: RegistrarApiLocked;
+  registrant_contact?: RegistrarApiRegistrantContact;
+  registry_statuses?: RegistrarApiRegistryStatuses;
+  supported_tld?: RegistrarApiSupportedTld;
+  transfer_in?: RegistrarApiTransferIn;
+  updated_at?: RegistrarApiUpdatedAt;
 };
 
-export type EmptyResponse = {
-  /**
-   * @example true
-   */
-  result?: true | false;
-  /**
-   * @example true
-   */
-  success?: true | false;
+export type RegistrarApiDomainResponseCollection = RegistrarApiApiResponseCollection & {
+  result?: RegistrarApiDomains[];
 };
 
-export type EmptyResponseCbHVcloB = ApiResponseCollection & {
-  /**
-   * @maxItems 0
-   */
-  result?: any[];
+export type RegistrarApiDomainResponseSingle = RegistrarApiApiResponseSingle & {
+  result?: Record<string, any>;
 };
 
-export type EmptyResponseXlOHTEms = ApiResponseSingleVxjnpV7r & {
-  result?: Record<string, any>;
+export type RegistrarApiDomainUpdateProperties = {
+  auto_renew?: RegistrarApiAutoRenew;
+  locked?: RegistrarApiLocked;
+  privacy?: RegistrarApiPrivacy;
 };
 
+export type RegistrarApiDomains = RegistrarApiDomainProperties;
+
 /**
- * Enables the binding cookie, which increases security against compromised authorization tokens and CSRF attacks.
+ * The contact email address of the user.
  *
- * @default false
+ * @example user@example.com
+ * @maxLength 90
  */
-export type EnableBindingCookie = boolean;
+export type RegistrarApiEmail = string;
 
-export type EnableTransferResponse = ApiResponseSingleWkFwqHKI & {
-  result?: EnableTransferResult;
-};
+/**
+ * Shows when domain name registration expires.
+ *
+ * @example 2019-08-28T23:59:59Z
+ * @format date-time
+ */
+export type RegistrarApiExpiresAt = string;
 
 /**
- * The zone transfer status of a primary zone
+ * Contact fax number.
  *
- * @example Enabled
+ * @example 123-867-5309
  */
-export type EnableTransferResult = string;
+export type RegistrarApiFax = string;
 
 /**
- * When true, indicates that Page Shield is enabled.
+ * User's first name
  *
- * @example true
+ * @example John
+ * @maxLength 60
  */
-export type Enabled = boolean;
+export type RegistrarApiFirstName = string | null;
 
 /**
- * Whether or not the Keyless SSL is on or off.
+ * Identifier
  *
- * @example false
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type Enabled3YyasMQY = boolean;
+export type RegistrarApiIdentifier = string;
 
 /**
- * Whether or not the Keyless SSL is on or off.
+ * User's last name
  *
- * @example false
+ * @example Appleseed
+ * @maxLength 60
  */
-export type EnabledJNPAumTy = boolean;
+export type RegistrarApiLastName = string | null;
 
 /**
- * Flag that indicates if the job is enabled.
+ * Shows whether a registrar lock is in place for a domain.
  *
  * @example false
  */
-export type EnabledKv09N7E6 = boolean;
+export type RegistrarApiLocked = boolean;
+
+export type RegistrarApiMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
 
 /**
- * Whether to enable (the default) or disable this pool. Disabled pools will not receive traffic and are excluded from health checks. Disabling a pool will cause any load balancers using it to failover to the next pool (if any).
+ * Name of organization.
  *
- * @default true
- * @example false
+ * @example Cloudflare, Inc.
  */
-export type EnabledMECT4zDK = boolean;
+export type RegistrarApiOrganization = string;
 
 /**
- * Whether the Address Map is enabled or not. Cloudflare's DNS will not respond with IP addresses on an Address Map until the map is enabled.
+ * Privacy option controls redacting WHOIS information.
  *
- * @default false
  * @example true
  */
-export type EnabledMHW1g4wi = boolean | null;
+export type RegistrarApiPrivacy = boolean;
 
 /**
- * Set if the rule is enabled.
- *
- * @example true
+ * Shows contact information for domain registrant.
  */
-export type EnabledQcoBB5YJ = boolean;
+export type RegistrarApiRegistrantContact = RegistrarApiContacts;
 
 /**
- * Set to enable antivirus scan on downloads.
+ * A comma-separated list of registry status codes. A full list of status codes can be found at [EPP Status Codes](https://www.icann.org/resources/pages/epp-status-codes-2014-06-16-en).
  *
- * @example false
+ * @example ok,serverTransferProhibited
  */
-export type EnabledDownloadPhase = boolean;
-
-export type EnabledResponse = ApiResponseSingleZZHeSkIR & {
-  result?: {
-    enabled?: ZoneAuthenticatedOriginPullComponentsSchemasEnabled;
-  };
-};
+export type RegistrarApiRegistryStatuses = string;
 
-export type EnabledResponse1PjNFSXh = ApiResponseSingleLarS7owG & {
-  result?: {
-    enabled?: ZoneAuthenticatedOriginPullComponentsSchemasEnabled;
-  };
+export type RegistrarApiResultInfo = {
+  /**
+   * Total number of results for the requested service
+   *
+   * @example 1
+   */
+  count?: number;
+  /**
+   * Current page within paginated list of results
+   *
+   * @example 1
+   */
+  page?: number;
+  /**
+   * Number of results per page of results
+   *
+   * @example 20
+   */
+  per_page?: number;
+  /**
+   * Total results available without any search parameters
+   *
+   * @example 2000
+   */
+  total_count?: number;
 };
 
 /**
- * Set to enable antivirus scan on uploads.
+ * State.
  *
- * @example false
+ * @example TX
  */
-export type EnabledUploadPhase = boolean;
+export type RegistrarApiState = string;
 
 /**
- * Whether or not the Keyless SSL is on or off.
+ * Whether a particular TLD is currently supported by Cloudflare Registrar. Refer to [TLD Policies](https://www.cloudflare.com/tld-policies/) for a list of supported TLDs.
  *
- * @deprecated true
- * @example false
+ * @example true
  */
-export type EnabledWrite = boolean;
+export type RegistrarApiSupportedTld = boolean;
 
 /**
- * Sets the (exclusive) end of the requested time frame. This can be a unix timestamp (in seconds or nanoseconds), or an absolute timestamp that conforms to RFC 3339. `end` must be at least five minutes earlier than now and must be later than `start`. Difference between `start` and `end` must be not greater than one hour.
+ * User's telephone number
  *
- * @example 2018-05-20T10:01:00Z
+ * @example +1 123-123-1234
+ * @maxLength 20
  */
-export type End = string | number;
+export type RegistrarApiTelephone = string | null;
 
 /**
- * Specifies the end time for the video clip in seconds.
+ * Statuses for domain transfers into Cloudflare Registrar.
  */
-export type EndTimeSeconds = number;
+export type RegistrarApiTransferIn = {
+  /**
+   * Form of authorization has been accepted by the registrant.
+   *
+   * @example needed
+   */
+  accept_foa?: 'needed' | 'ok';
+  /**
+   * Shows transfer status with the registry.
+   *
+   * @example unknown
+   */
+  approve_transfer?: 'needed' | 'ok' | 'pending' | 'trying' | 'rejected' | 'unknown';
+  /**
+   * Indicates if cancellation is still possible.
+   *
+   * @example true
+   */
+  can_cancel_transfer?: boolean;
+  /**
+   * Privacy guards are disabled at the foreign registrar.
+   *
+   * @example ok
+   */
+  disable_privacy?: 'needed' | 'ok' | 'unknown';
+  /**
+   * Auth code has been entered and verified.
+   *
+   * @example needed
+   */
+  enter_auth_code?: 'needed' | 'ok' | 'pending' | 'trying' | 'rejected';
+  /**
+   * Domain is unlocked at the foreign registrar.
+   *
+   * @example ok
+   */
+  unlock_domain?: 'needed' | 'ok' | 'pending' | 'trying' | 'unknown';
+};
 
 /**
- * The endpoint which can contain path parameter templates in curly braces, each will be replaced from left to right with {varN}, starting with {var1}, during insertion. This will further be Cloudflare-normalized upon insertion. See: https://developers.cloudflare.com/rules/normalization/how-it-works/.
+ * Last updated.
  *
- * @example /api/v1/users/{var1}
- * @format uri-template
- * @maxLength 4096
- * @pattern ^/.*$
+ * @example 2018-08-28T17:26:26Z
+ * @format date-time
  */
-export type Endpoint = string;
+export type RegistrarApiUpdatedAt = string;
 
 /**
- * UUID
+ * The zipcode or postal code where the user lives.
  *
- * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
- * @maxLength 36
+ * @example 12345
+ * @maxLength 20
+ */
+export type RegistrarApiZipcode = string | null;
+
+export type RequestTracerAccountIdentifier = RequestTracerIdentifier;
+
+export type RequestTracerApiResponseCommon = {
+  errors: RequestTracerMessages;
+  messages: RequestTracerMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type RequestTracerApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: RequestTracerMessages;
+  messages: RequestTracerMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type EntryId = Uuid;
+export type RequestTracerIdentifier = string;
+
+export type RequestTracerMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+export type RequestTracerTrace = {
+  /**
+   * If step type is rule, then action performed by this rule
+   *
+   * @example execute
+   * @pattern ^[a-z_]+$
+   */
+  action?: string;
+  /**
+   * If step type is rule, then action parameters of this rule as JSON
+   *
+   * @example {"id":"4814384a9e5d4991b9815dcfc25d2f1f"}
+   */
+  action_parameters?: Record<string, any>;
+  /**
+   * If step type is rule or ruleset, the description of this entity
+   *
+   * @example some rule
+   */
+  description?: string;
+  /**
+   * If step type is rule, then expression used to match for this rule
+   *
+   * @example ip.src ne 1.1.1.1
+   */
+  expression?: string;
+  /**
+   * If step type is ruleset, then kind of this ruleset
+   *
+   * @example zone
+   */
+  kind?: string;
+  /**
+   * Whether tracing step affected tracing request/response
+   *
+   * @example true
+   */
+  matched?: boolean;
+  /**
+   * If step type is ruleset, then name of this ruleset
+   *
+   * @example some ruleset name
+   */
+  name?: string;
+  /**
+   * Tracing step identifying name
+   *
+   * @example rule_id01
+   */
+  step_name?: string;
+  trace?: RequestTracerTrace;
+  /**
+   * Tracing step type
+   *
+   * @example rule
+   */
+  type?: string;
+}[];
 
 /**
- * Worker environment associated with the zone and hostname.
+ * Account identifier.
  *
- * @example production
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type Environment = string;
+export type ResourceSharingAccountId = string;
 
 /**
- * Errors resulting from collecting traceroute from colo to target.
+ * The display name of an account.
  *
- * @example
+ * @example Account A
  */
-export type Error =
-  | ''
-  | 'Could not gather traceroute data: Code 1'
-  | 'Could not gather traceroute data: Code 2'
-  | 'Could not gather traceroute data: Code 3'
-  | 'Could not gather traceroute data: Code 4';
+export type ResourceSharingAccountName = string;
+
+export type ResourceSharingApiResponseCollection = {
+  errors: ResourceSharingV4errors;
+  result?: Record<string, any> | any[] | string | null;
+  /**
+   * Whether the API call was successful.
+   *
+   * @example true
+   */
+  success: boolean;
+  result_info?: ResourceSharingResultInfo;
+};
+
+export type ResourceSharingApiResponseCommon = {
+  errors: ResourceSharingV4errors;
+  result?: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful.
+   *
+   * @example true
+   */
+  success: boolean;
+};
+
+export type ResourceSharingApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: ResourceSharingV4errors;
+  result: any | null;
+  /**
+   * Whether the API call was successful.
+   *
+   * @example false
+   */
+  success: boolean;
+};
 
 /**
- * Specifies why the video failed to encode. This field is empty if the video is not in an `error` state. Preferred for programmatic use.
- *
- * @example ERR_NON_VIDEO
+ * Account or organization ID must be provided.
  */
-export type ErrorReasonCode = string;
+export type ResourceSharingCreateShareRecipientRequest = {
+  account_id?: ResourceSharingAccountId;
+  organization_id?: ResourceSharingOrganizationId;
+};
+
+export type ResourceSharingCreateShareRequest = {
+  name: ResourceSharingShareName;
+  recipients: ResourceSharingCreateShareRecipientRequest[];
+  resources: ResourceSharingCreateShareResourceRequest[];
+};
+
+export type ResourceSharingCreateShareResourceRequest = {
+  meta: ResourceSharingResourceMeta;
+  resource_account_id: ResourceSharingAccountId;
+  resource_id: ResourceSharingResourceResourceId;
+  resource_type: ResourceSharingResourceType;
+};
 
 /**
- * Specifies why the video failed to encode using a human readable error message in English. This field is empty if the video is not in an `error` state.
+ * When the share was created.
  *
- * @example The file was not recognized as a valid video file.
+ * @example 2023-09-21T18:56:32.624632Z
+ * @format date-time
  */
-export type ErrorReasonText = string;
+export type ResourceSharingCreated = string;
 
 /**
- * If not null, the job is currently failing. Failures are usually repetitive (example: no permissions to write to destination bucket). Only the last failure is recorded. On successful execution of a job the error_message and last_error are set to null.
+ * When the share was modified.
  *
+ * @example 2023-09-21T18:56:32.624632Z
  * @format date-time
  */
-export type ErrorMessage = string | null;
-
-export type EstimatedQueuedUsers = number;
-
-export type EstimatedTotalActiveUsers = number;
+export type ResourceSharingModified = string;
 
 /**
- * A digest of the IP data. Useful for determining if the data has changed.
+ * Organization identifier.
  *
- * @example a8e453d9d129a3769407127936edfdb0
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type Etag = string;
+export type ResourceSharingOrganizationId = string;
 
 /**
- * Hashed script content, can be used in a If-None-Match header when updating.
- *
- * @example ea95132c15732412d22c1476fa83f27a
+ * Share Recipient association status.
  */
-export type EtagCXrJI57j = string;
+export type ResourceSharingRecipientAssociationStatus =
+  | 'associating'
+  | 'associated'
+  | 'disassociating'
+  | 'disassociated';
 
 /**
- * If set, the event will override the waiting room's `custom_page_html` property while it is active. If null, the event will inherit it.
+ * Share Recipient identifier tag.
  *
- * @example {{#waitTimeKnown}} {{waitTime}} mins {{/waitTimeKnown}} {{^waitTimeKnown}} Event is prequeueing / Queue all enabled {{/waitTimeKnown}}
+ * @example 3fd85f74b32742f1bff64a85009dda07
+ * @maxLength 32
  */
-export type EventCustomPageHtml = string | null;
+export type ResourceSharingRecipientId = string;
 
 /**
- * A note that you can use to add more details about the event.
+ * Share Recipient status message.
  *
- * @default
- * @example Production event - DO NOT MODIFY
+ * @example Cannot share to account that owns the resource
  */
-export type EventDescription = string;
+export type ResourceSharingRecipientStatusMessage = string;
 
 /**
- * @example {{#waitTimeKnown}} {{waitTime}} mins {{/waitTimeKnown}} {{^waitTimeKnown}} Event is prequeueing / Queue all enabled {{/waitTimeKnown}}
+ * Share Resource identifier.
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type EventDetailsCustomPageHtml = string;
+export type ResourceSharingResourceId = string;
 
 /**
- * @example false
+ * Resource Metadata.
  */
-export type EventDetailsDisableSessionRenewal = boolean;
-
-export type EventDetailsNewUsersPerMinute = number;
+export type ResourceSharingResourceMeta = Record<string, any>;
 
 /**
- * @example random
+ * Share Resource identifier.
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type EventDetailsQueueingMethod = string;
-
-export type EventDetailsResponse = ApiResponseSinglePn9rJJNX & {
-  result?: EventDetailsResult;
-};
-
-export type EventDetailsResult = {
-  created_on?: Timestamp;
-  custom_page_html?: EventDetailsCustomPageHtml;
-  description?: EventDescription;
-  disable_session_renewal?: EventDetailsDisableSessionRenewal;
-  event_end_time?: EventEndTime;
-  event_start_time?: EventStartTime;
-  id?: EventId;
-  modified_on?: Timestamp;
-  name?: EventName;
-  new_users_per_minute?: EventDetailsNewUsersPerMinute;
-  prequeue_start_time?: EventPrequeueStartTime;
-  queueing_method?: EventDetailsQueueingMethod;
-  session_duration?: EventDetailsSessionDuration;
-  shuffle_at_event_start?: EventShuffleAtEventStart;
-  suspended?: EventSuspended;
-  total_active_users?: EventDetailsTotalActiveUsers;
-};
-
-export type EventDetailsSessionDuration = number;
-
-export type EventDetailsTotalActiveUsers = number;
+export type ResourceSharingResourceResourceId = string;
 
 /**
- * If set, the event will override the waiting room's `disable_session_renewal` property while it is active. If null, the event will inherit it.
+ * Resource Status.
  */
-export type EventDisableSessionRenewal = boolean | null;
+export type ResourceSharingResourceStatus = 'active' | 'deleting' | 'deleted';
 
 /**
- * An ISO 8601 timestamp that marks the end of the event.
- *
- * @example 2021-09-28T17:00:00.000Z
+ * Resource Type.
  */
-export type EventEndTime = string;
+export type ResourceSharingResourceType = 'custom-ruleset' | 'widget';
 
 /**
- * @example 25756b2dfe6e378a06b033b670413757
+ * Resource Version.
  */
-export type EventId = void;
+export type ResourceSharingResourceVersion = number;
 
-export type EventIdResponse = ApiResponseSinglePn9rJJNX & {
-  result?: {
-    id?: EventId;
-  };
+export type ResourceSharingResultInfo = {
+  /**
+   * Total number of results for the requested service.
+   *
+   * @example 1
+   */
+  count?: number;
+  /**
+   * Current page within paginated list of results.
+   *
+   * @example 1
+   */
+  page?: number;
+  /**
+   * Number of results per page of results.
+   *
+   * @example 20
+   */
+  per_page?: number;
+  /**
+   * Total results available without any search parameters.
+   *
+   * @example 2000
+   */
+  total_count?: number;
+  /**
+   * Total number of pages using the given per page.
+   *
+   * @example 50
+   */
+  total_pages?: number;
 };
 
 /**
- * A unique name to identify the event. Only alphanumeric characters, hyphens and underscores are allowed.
+ * Share identifier tag.
  *
- * @example production_webinar_event
+ * @example 3fd85f74b32742f1bff64a85009dda07
+ * @maxLength 32
  */
-export type EventName = string;
+export type ResourceSharingShareId = string;
 
-/**
- * If set, the event will override the waiting room's `new_users_per_minute` property while it is active. If null, the event will inherit it. This can only be set if the event's `total_active_users` property is also set.
- *
- * @maximum 2147483647
- * @minimum 200
- */
-export type EventNewUsersPerMinute = number | null;
+export type ResourceSharingShareKind = 'sent' | 'received';
 
 /**
- * An ISO 8601 timestamp that marks when to begin queueing all users before the event starts. The prequeue must start at least five minutes before `event_start_time`.
+ * The name of the share.
  *
- * @example 2021-09-28T15:00:00.000Z
+ * @example My Shared WAF Managed Rule
  */
-export type EventPrequeueStartTime = string | null;
+export type ResourceSharingShareName = string;
 
-/**
- * If set, the event will override the waiting room's `queueing_method` property while it is active. If null, the event will inherit it.
- *
- * @example random
- */
-export type EventQueueingMethod = string | null;
+export type ResourceSharingShareObject = {
+  account_id: ResourceSharingAccountId;
+  account_name: ResourceSharingAccountName;
+  created: ResourceSharingCreated;
+  id: ResourceSharingShareId;
+  kind?: ResourceSharingShareKind;
+  modified: ResourceSharingModified;
+  name: ResourceSharingShareName;
+  organization_id: ResourceSharingOrganizationId;
+  status: ResourceSharingShareStatus;
+  target_type: ResourceSharingShareTargetType;
+};
 
-export type EventResponse = ApiResponseSinglePn9rJJNX & {
-  result?: EventResult;
+export type ResourceSharingShareRecipientObject = {
+  account_id: ResourceSharingAccountId;
+  association_status: ResourceSharingRecipientAssociationStatus;
+  created: ResourceSharingCreated;
+  id: ResourceSharingRecipientId;
+  modified: ResourceSharingModified;
+  status_message: ResourceSharingRecipientStatusMessage;
 };
 
-export type EventResponseCollection = ApiResponseCollection & {
-  result?: EventResult[];
+export type ResourceSharingShareRecipientResponseCollection = ResourceSharingApiResponseCollection & {
+  result?: ResourceSharingShareRecipientObject[];
 };
 
-export type EventResult = {
-  created_on?: Timestamp;
-  custom_page_html?: EventCustomPageHtml;
-  description?: EventDescription;
-  disable_session_renewal?: EventDisableSessionRenewal;
-  event_end_time?: EventEndTime;
-  event_start_time?: EventStartTime;
-  id?: EventId;
-  modified_on?: Timestamp;
-  name?: EventName;
-  new_users_per_minute?: EventNewUsersPerMinute;
-  prequeue_start_time?: EventPrequeueStartTime;
-  queueing_method?: EventQueueingMethod;
-  session_duration?: EventSessionDuration;
-  shuffle_at_event_start?: EventShuffleAtEventStart;
-  suspended?: EventSuspended;
-  total_active_users?: EventTotalActiveUsers;
+export type ResourceSharingShareRecipientResponseSingle = {
+  errors: ResourceSharingV4errors;
+  result?: ResourceSharingShareRecipientObject;
+  /**
+   * Whether the API call was successful.
+   *
+   * @example true
+   */
+  success: boolean;
 };
 
-/**
- * If set, the event will override the waiting room's `session_duration` property while it is active. If null, the event will inherit it.
- *
- * @maximum 30
- * @minimum 1
- */
-export type EventSessionDuration = number | null;
+export type ResourceSharingShareResourceObject = {
+  created: ResourceSharingCreated;
+  id: ResourceSharingResourceId;
+  meta: ResourceSharingResourceMeta;
+  modified: ResourceSharingModified;
+  resource_account_id: ResourceSharingAccountId;
+  resource_id: ResourceSharingResourceResourceId;
+  resource_type: ResourceSharingResourceType;
+  resource_version: ResourceSharingResourceVersion;
+  status: ResourceSharingResourceStatus;
+};
 
-/**
- * If enabled, users in the prequeue will be shuffled randomly at the `event_start_time`. Requires that `prequeue_start_time` is not null. This is useful for situations when many users will join the event prequeue at the same time and you want to shuffle them to ensure fairness. Naturally, it makes the most sense to enable this feature when the `queueing_method` during the event respects ordering such as **fifo**, or else the shuffling may be unnecessary.
- *
- * @default false
- */
-export type EventShuffleAtEventStart = boolean;
+export type ResourceSharingShareResourceResponseCollection = ResourceSharingApiResponseCollection & {
+  result?: ResourceSharingShareResourceObject[];
+};
 
-/**
- * An ISO 8601 timestamp that marks the start of the event. At this time, queued users will be processed with the event's configuration. The start time must be at least one minute before `event_end_time`.
- *
- * @example 2021-09-28T15:30:00.000Z
- */
-export type EventStartTime = string;
+export type ResourceSharingShareResourceResponseSingle = {
+  errors: ResourceSharingV4errors;
+  result?: ResourceSharingShareResourceObject;
+  /**
+   * Whether the API call was successful.
+   *
+   * @example true
+   */
+  success: boolean;
+};
 
-/**
- * Suspends or allows an event. If set to `true`, the event is ignored and traffic will be handled based on the waiting room configuration.
- *
- * @default false
- */
-export type EventSuspended = boolean;
+export type ResourceSharingShareResponseCollection = ResourceSharingApiResponseCollection & {
+  result?: ResourceSharingShareObject[];
+};
+
+export type ResourceSharingShareResponseSingle = {
+  errors: ResourceSharingV4errors;
+  result?: ResourceSharingShareObject;
+  /**
+   * Whether the API call was successful.
+   *
+   * @example true
+   */
+  success: boolean;
+};
+
+export type ResourceSharingShareStatus = 'active' | 'deleting' | 'deleted';
+
+export type ResourceSharingShareTargetType = 'account' | 'organization';
+
+export type ResourceSharingUpdateShareRequest = {
+  name: ResourceSharingShareName;
+};
+
+export type ResourceSharingUpdateShareResourceRequest = {
+  meta: ResourceSharingResourceMeta;
+};
+
+export type ResourceSharingV4error = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+};
+
+export type ResourceSharingV4errors = ResourceSharingV4error[];
 
 /**
- * If set, the event will override the waiting room's `total_active_users` property while it is active. If null, the event will inherit it. This can only be set if the event's `new_users_per_minute` property is also set.
+ * The unique ID of the account.
  *
- * @maximum 2147483647
- * @minimum 200
+ * @example abf9b32d38c5f572afde3336ec0ce302
+ * @pattern ^[0-9a-f]{32}$
  */
-export type EventTotalActiveUsers = number | null;
+export type RulesetsAccountId = string;
 
-/**
- * Matches everyone.
- */
-export type EveryoneRule = {
+export type RulesetsBlockRule = {
+  action?: RulesetsRuleAction;
+  /**
+   * The parameters configuring the rule's action.
+   */
+  action_parameters?: {
+    /**
+     * The response to show when the block is applied.
+     */
+    response?: {
+      /**
+             * The content to return.
+             *
+             * @example {
+              "success": false,
+              "error": "you have been blocked"
+            }
+             * @minLength 1
+             */
+      content: string;
+      /**
+       * The type of the content to return.
+       *
+       * @example application/json
+       * @minLength 1
+       */
+      content_type: string;
+      /**
+       * The status code to return.
+       *
+       * @maximum 499
+       * @minimum 400
+       */
+      status_code: number;
+    };
+  };
+  /**
+   * The categories of the rule.
+   *
+   * @example directory-traversal
+   * @example header
+   * @minItems 1
+   * @uniqueItems true
+   */
+  categories?: RulesetsRuleCategory[];
+  /**
+   * An informative description of the rule.
+   *
+   * @default
+   * @example Block when the IP address is not 1.1.1.1
+   */
+  description?: string;
+  /**
+   * Whether the rule should be executed.
+   *
+   * @example true
+   * @default true
+   */
+  enabled?: RulesetsRuleEnabled & void;
+  /**
+   * Configure checks for exposed credentials.
+   */
+  exposed_credential_check?: {
+    /**
+     * Expression that selects the password used in the credentials check.
+     *
+     * @example url_decode(http.request.body.form[\"password\"][0])
+     */
+    password_expression: string;
+    /**
+     * Expression that selects the user ID used in the credentials check.
+     *
+     * @example url_decode(http.request.body.form[\"username\"][0])
+     */
+    username_expression: string;
+  };
+  /**
+   * The expression defining which traffic will match the rule.
+   *
+   * @example ip.src ne 1.1.1.1
+   * @minLength 1
+   */
+  expression?: string;
+  id?: RulesetsRuleId;
+  /**
+   * The timestamp of when the rule was last modified.
+   *
+   * @example 2000-01-01T00:00:00.000000Z
+   * @format date-time
+   */
+  last_updated: string;
+  /**
+   * An object configuring the rule's logging behavior.
+   */
+  logging?: {
+    /**
+     * Whether to generate a log when the rule matches.
+     *
+     * @example true
+     */
+    enabled: boolean;
+  };
+  /**
+   * An object configuring the rule's ratelimit behavior.
+   */
+  ratelimit?: {
+    /**
+     * Characteristics of the request on which the ratelimiter counter will be incremented.
+     *
+     * @example ip.src
+     * @minLength 1
+     */
+    characteristics: string[];
+    /**
+     * Defines when the ratelimit counter should be incremented. It is optional and defaults to the same as the rule's expression.
+     *
+     * @example http.request.body.raw eq "abcd"
+     */
+    counting_expression?: string;
+    /**
+     * Period of time in seconds after which the action will be disabled following its first execution.
+     *
+     * @example 600
+     */
+    mitigation_timeout?: number;
+    /**
+     * Period in seconds over which the counter is being incremented.
+     *
+     * @example 60
+     */
+    period: 10 | 60 | 600 | 3600;
+    /**
+     * The threshold of requests per period after which the action will be executed for the first time.
+     *
+     * @example 1000
+     */
+    requests_per_period?: number;
+    /**
+     * Defines if ratelimit counting is only done when an origin is reached.
+     *
+     * @example true
+     */
+    requests_to_origin?: boolean;
+    /**
+     * The score threshold per period for which the action will be executed the first time.
+     *
+     * @example 400
+     */
+    score_per_period?: number;
+    /**
+     * The response header name provided by the origin which should contain the score to increment ratelimit counter on.
+     *
+     * @example my-score
+     */
+    score_response_header_name?: string;
+  };
+  /**
+   * The reference of the rule (the rule ID by default).
+   *
+   * @example my_ref
+   * @minLength 1
+   */
+  ref?: string;
+  /**
+   * The version of the rule.
+   *
+   * @example 1
+   * @pattern ^[0-9]+$
+   */
+  version: string;
+};
+
+export type RulesetsChallengeRule = {
+  action?: RulesetsRuleAction;
+  /**
+   * The parameters configuring the rule's action.
+   */
+  action_parameters?: Record<string, any>;
+  /**
+   * The categories of the rule.
+   *
+   * @example directory-traversal
+   * @example header
+   * @minItems 1
+   * @uniqueItems true
+   */
+  categories?: RulesetsRuleCategory[];
   /**
-   * An empty object which matches on all users.
+   * An informative description of the rule.
    *
-   * @example {}
+   * @default
+   * @example Issue an Interactive Challenge if the visitor had not solved an Interactive Challenge prior to the request when the address is not 1.1.1.1
    */
-  everyone: Record<string, any>;
-};
-
-/**
- * Rules evaluated with a NOT logical operator. To match a policy, a user cannot meet any of the Exclude rules.
- */
-export type Exclude = Rule[];
-
-/**
- * Rules evaluated with a NOT logical operator. To match a policy, a user cannot meet any of the Exclude rules.
- */
-export type ExcludeW6GORlYf = RuleComponentsSchemasRule[];
-
-export type ExcludeRjxLDhaP = SplitTunnel[];
-
-/**
- * Whether to add Microsoft IPs to split tunnel exclusions.
- *
- * @example true
- */
-export type ExcludeOfficeIps = boolean;
-
-/**
- * If provided, include only tunnels that were created (and not deleted) before this time.
- *
- * @example 2019-10-12T07:20:50.52Z
- * @format date-time
- */
-export type ExistedAt = string;
-
-/**
- * A case-insensitive sub-string to look for in the response body. If this string is not found, the origin will be marked as unhealthy. This parameter is only valid for HTTP and HTTPS monitors.
- *
- * @example alive
- */
-export type ExpectedBody = string;
-
-/**
- * The expected HTTP response code or code range of the health check. This parameter is only valid for HTTP and HTTPS monitors.
- *
- * @default 200
- * @example 2xx
- */
-export type ExpectedCodes = string;
-
-/**
- * Sets the expiration time for a posture check result. If empty, the result remains valid until it is overwritten by new data from the WARP client.
- *
- * @example 1h
- */
-export type Expiration = string;
-
-/**
- * The time, measured in number of seconds since the UNIX epoch, at which the key should expire.
- *
- * @example 1578435000
- */
-export type Expiration4507z3vp = number;
-
-/**
- * The number of seconds for which the key should be visible before it expires. At least 60.
- *
- * @example 300
- */
-export type ExpirationTtl = number;
-
-/**
- * Date that the Client Certificate expires
- *
- * @example 2033-02-20T23:18:00Z
- */
-export type ExpiredOn = string;
-
-/**
- * Shows when domain name registration expires.
- *
- * @example 2019-08-28T23:59:59Z
- * @format date-time
- */
-export type ExpiresAt = string;
-
-/**
- * When the certificate from the authority expires.
- *
- * @example 2016-01-01T05:20:00Z
- * @format date-time
- */
-export type ExpiresOn = string;
-
-/**
- * The expiration time on or after which the JWT MUST NOT be accepted for processing.
- *
- * @example 2020-01-01T00:00:00Z
- * @format date-time
- */
-export type ExpiresOnZ3utPxP0 = string;
-
-/**
- * The filter expression. For more information, refer to [Expressions](https://developers.cloudflare.com/ruleset-engine/rules-language/expressions/).
- *
- * @example (http.request.uri.path ~ ".*wp-login.php" or http.request.uri.path ~ ".*xmlrpc.php") and ip.addr ne 172.16.22.155
- */
-export type Expression = string;
-
-/**
- * Indicates whether this plan is managed externally.
- *
- * @default false
- * @example false
- */
-export type ExternallyManaged = boolean;
-
-export type Facebook = {
+  description?: string;
   /**
-   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   * Whether the rule should be executed.
+   *
+   * @example true
+   * @default true
    */
-  config: GenericOauthConfig;
-  id?: Uuid;
-  name: SchemasNameIXVfNmuB;
+  enabled?: RulesetsRuleEnabled & void;
   /**
-   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   * Configure checks for exposed credentials.
    */
-  scim_config?: {
+  exposed_credential_check?: {
     /**
-     * A flag to enable or disable SCIM for the identity provider.
+     * Expression that selects the password used in the credentials check.
+     *
+     * @example url_decode(http.request.body.form[\"password\"][0])
      */
-    enabled?: boolean;
+    password_expression: string;
     /**
-     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
+     * Expression that selects the user ID used in the credentials check.
+     *
+     * @example url_decode(http.request.body.form[\"username\"][0])
      */
-    group_member_deprovision?: boolean;
+    username_expression: string;
+  };
+  /**
+   * The expression defining which traffic will match the rule.
+   *
+   * @example ip.src ne 1.1.1.1
+   * @minLength 1
+   */
+  expression?: string;
+  id?: RulesetsRuleId;
+  /**
+   * The timestamp of when the rule was last modified.
+   *
+   * @example 2000-01-01T00:00:00.000000Z
+   * @format date-time
+   */
+  last_updated: string;
+  /**
+   * An object configuring the rule's logging behavior.
+   */
+  logging?: {
     /**
-     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     * Whether to generate a log when the rule matches.
+     *
+     * @example true
      */
-    seat_deprovision?: boolean;
+    enabled: boolean;
+  };
+  /**
+   * An object configuring the rule's ratelimit behavior.
+   */
+  ratelimit?: {
     /**
-     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     * Characteristics of the request on which the ratelimiter counter will be incremented.
+     *
+     * @example ip.src
+     * @minLength 1
      */
-    secret?: string;
+    characteristics: string[];
     /**
-     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     * Defines when the ratelimit counter should be incremented. It is optional and defaults to the same as the rule's expression.
+     *
+     * @example http.request.body.raw eq "abcd"
      */
-    user_deprovision?: boolean;
+    counting_expression?: string;
+    /**
+     * Period of time in seconds after which the action will be disabled following its first execution.
+     *
+     * @example 600
+     */
+    mitigation_timeout?: number;
+    /**
+     * Period in seconds over which the counter is being incremented.
+     *
+     * @example 60
+     */
+    period: 10 | 60 | 600 | 3600;
+    /**
+     * The threshold of requests per period after which the action will be executed for the first time.
+     *
+     * @example 1000
+     */
+    requests_per_period?: number;
+    /**
+     * Defines if ratelimit counting is only done when an origin is reached.
+     *
+     * @example true
+     */
+    requests_to_origin?: boolean;
+    /**
+     * The score threshold per period for which the action will be executed the first time.
+     *
+     * @example 400
+     */
+    score_per_period?: number;
+    /**
+     * The response header name provided by the origin which should contain the score to increment ratelimit counter on.
+     *
+     * @example my-score
+     */
+    score_response_header_name?: string;
   };
   /**
-   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   * The reference of the rule (the rule ID by default).
    *
-   * @example onetimepin
+   * @example my_ref
+   * @minLength 1
    */
-  type: string;
+  ref?: string;
+  /**
+   * The version of the rule.
+   *
+   * @example 1
+   * @pattern ^[0-9]+$
+   */
+  version: string;
 };
 
-/**
- * Block requests for files that cannot be scanned.
- *
- * @example false
- */
-export type FailClosed = boolean;
-
-export type FailedLoginResponse = ApiResponseCollection & {
-  result?: {
-    expiration?: number;
+export type RulesetsCompressResponseRule = {
+  action?: RulesetsRuleAction;
+  /**
+   * The parameters configuring the rule's action.
+   */
+  action_parameters?: {
     /**
-     * @example {"app_name":"Test App","aud":"39691c1480a2352a18ece567debc2b32552686cbd38eec0887aa18d5d3f00c04","datetime":"2022-02-02T21:54:34.914Z","ray_id":"6d76a8a42ead4133","user_email":"test@cloudflare.com","user_uuid":"57171132-e453-4ee8-b2a5-8cbaad333207"}
+     * Custom order for compression algorithms.
+     *
+     * @example {"name":"none"}
      */
-    metadata?: Record<string, any>;
-  }[];
+    algorithms?: {
+      /**
+       * Name of compression algorithm to enable.
+       */
+      name?: 'none' | 'auto' | 'default' | 'gzip' | 'brotli';
+    }[];
+  };
+  /**
+   * The categories of the rule.
+   *
+   * @example directory-traversal
+   * @example header
+   * @minItems 1
+   * @uniqueItems true
+   */
+  categories?: RulesetsRuleCategory[];
+  /**
+   * An informative description of the rule.
+   *
+   * @default
+   * @example Disable compression when address is not 1.1.1.1
+   */
+  description?: string;
+  /**
+   * Whether the rule should be executed.
+   *
+   * @example true
+   * @default true
+   */
+  enabled?: RulesetsRuleEnabled & void;
+  /**
+   * Configure checks for exposed credentials.
+   */
+  exposed_credential_check?: {
+    /**
+     * Expression that selects the password used in the credentials check.
+     *
+     * @example url_decode(http.request.body.form[\"password\"][0])
+     */
+    password_expression: string;
+    /**
+     * Expression that selects the user ID used in the credentials check.
+     *
+     * @example url_decode(http.request.body.form[\"username\"][0])
+     */
+    username_expression: string;
+  };
+  /**
+   * The expression defining which traffic will match the rule.
+   *
+   * @example ip.src ne 1.1.1.1
+   * @minLength 1
+   */
+  expression?: string;
+  id?: RulesetsRuleId;
+  /**
+   * The timestamp of when the rule was last modified.
+   *
+   * @example 2000-01-01T00:00:00.000000Z
+   * @format date-time
+   */
+  last_updated: string;
+  /**
+   * An object configuring the rule's logging behavior.
+   */
+  logging?: {
+    /**
+     * Whether to generate a log when the rule matches.
+     *
+     * @example true
+     */
+    enabled: boolean;
+  };
+  /**
+   * An object configuring the rule's ratelimit behavior.
+   */
+  ratelimit?: {
+    /**
+     * Characteristics of the request on which the ratelimiter counter will be incremented.
+     *
+     * @example ip.src
+     * @minLength 1
+     */
+    characteristics: string[];
+    /**
+     * Defines when the ratelimit counter should be incremented. It is optional and defaults to the same as the rule's expression.
+     *
+     * @example http.request.body.raw eq "abcd"
+     */
+    counting_expression?: string;
+    /**
+     * Period of time in seconds after which the action will be disabled following its first execution.
+     *
+     * @example 600
+     */
+    mitigation_timeout?: number;
+    /**
+     * Period in seconds over which the counter is being incremented.
+     *
+     * @example 60
+     */
+    period: 10 | 60 | 600 | 3600;
+    /**
+     * The threshold of requests per period after which the action will be executed for the first time.
+     *
+     * @example 1000
+     */
+    requests_per_period?: number;
+    /**
+     * Defines if ratelimit counting is only done when an origin is reached.
+     *
+     * @example true
+     */
+    requests_to_origin?: boolean;
+    /**
+     * The score threshold per period for which the action will be executed the first time.
+     *
+     * @example 400
+     */
+    score_per_period?: number;
+    /**
+     * The response header name provided by the origin which should contain the score to increment ratelimit counter on.
+     *
+     * @example my-score
+     */
+    score_response_header_name?: string;
+  };
+  /**
+   * The reference of the rule (the rule ID by default).
+   *
+   * @example my_ref
+   * @minLength 1
+   */
+  ref?: string;
+  /**
+   * The version of the rule.
+   *
+   * @example 1
+   * @pattern ^[0-9]+$
+   */
+  version: string;
 };
 
-/**
- * The current failure reason if status is unhealthy.
- *
- * @example
- */
-export type FailureReason = string;
-
-export type FallbackDomain = {
+export type RulesetsDDoSDynamicRule = {
+  action?: RulesetsRuleAction;
   /**
-   * A description of the fallback domain, displayed in the client UI.
+   * The parameters configuring the rule's action.
+   */
+  action_parameters?: Record<string, any>;
+  /**
+   * The categories of the rule.
    *
-   * @example Domain bypass for local development
-   * @maxLength 100
+   * @example directory-traversal
+   * @example header
+   * @minItems 1
+   * @uniqueItems true
    */
-  description?: string;
+  categories?: RulesetsRuleCategory[];
   /**
-   * A list of IP addresses to handle domain resolution.
+   * An informative description of the rule.
+   *
+   * @default
+   * @example Performs a specific action according to a set of internal guidelines defined by Cloudflare.
    */
-  dns_server?: any[];
+  description?: string;
   /**
-   * The domain suffix to match when resolving locally.
+   * Whether the rule should be executed.
    *
-   * @example example.com
+   * @example true
+   * @default true
    */
-  suffix: string;
-};
-
-export type FallbackDomainResponseCollection = ApiResponseCollection & {
-  result?: FallbackDomain[];
-};
-
-export type FallbackDomains = FallbackDomain[];
-
-export type FallbackOriginResponse = ApiResponseSingleZZHeSkIR & {
-  result?: Record<string, any>;
-};
-
-export type FallbackOriginResponse8FEJU4mq = ApiResponseSingleLarS7owG & {
-  result?: Record<string, any>;
-};
-
-/**
- * The pool ID to use when all other pools are detected as unhealthy.
- */
-export type FallbackPool = void;
-
-/**
- * Contact fax number.
- *
- * @example 123-867-5309
- */
-export type Fax = string;
-
-export type FeatureAppProps = {
-  allowed_idps?: AllowedIdps;
-  auto_redirect_to_identity?: SchemasAutoRedirectToIdentity;
-  domain?: Domain;
-  name?: AppsComponentsSchemasName;
-  session_duration?: SessionDuration;
-  type: TypeOK1aJkK3;
-};
-
-export type FeatureAppPropsC4QFi3fN = {
-  allowed_idps?: AllowedIdps;
-  auto_redirect_to_identity?: AutoRedirectToIdentityB0IhfGBw;
-  domain?: SchemasDomainA7q0ZzCX;
-  name?: AppsComponentsSchemasName;
-  session_duration?: SessionDuration;
-  type?: AppsComponentsSchemasType;
-};
-
-export type Features = Thresholds | ParameterSchemas;
-
-/**
- * The timestamp of when the script was last fetched.
- */
-export type FetchedAt = string | null;
-
-/**
- * Comma-separated list of fields.
- *
- * @example ClientIP,ClientRequestHost,ClientRequestMethod,ClientRequestURI,EdgeEndTimestamp,EdgeResponseBytes,EdgeResponseStatus,EdgeStartTimestamp,RayID
- */
-export type Fields = string;
-
-export type FieldsResponse = {
+  enabled?: RulesetsRuleEnabled & void;
   /**
-   * @example value
+   * Configure checks for exposed credentials.
    */
-  key?: string;
-};
-
-/**
- * Image file name.
- *
- * @example logo.png
- * @maxLength 32
- */
-export type Filename = string;
-
-/**
- * Filters to drill down into specific events.
- *
- * @example {"where":{"and":[{"key":"ClientCountry","operator":"neq","value":"ca"}]}}
- */
-export type Filter = string;
-
-export type FilterDeleteResponseCollection = ApiResponseCollection & {
-  result?: {
-    description?: FiltersComponentsSchemasDescription;
-    expression?: Expression;
-    id: FiltersComponentsSchemasId;
-    paused?: FiltersComponentsSchemasPaused;
-    ref?: SchemasRef;
-  }[];
-};
-
-export type FilterDeleteResponseSingle = ApiResponseSingleLarS7owG & {
-  result: {
-    description?: FiltersComponentsSchemasDescription;
-    expression?: Expression;
-    id: FiltersComponentsSchemasId;
-    paused?: FiltersComponentsSchemasPaused;
-    ref?: SchemasRef;
+  exposed_credential_check?: {
+    /**
+     * Expression that selects the password used in the credentials check.
+     *
+     * @example url_decode(http.request.body.form[\"password\"][0])
+     */
+    password_expression: string;
+    /**
+     * Expression that selects the user ID used in the credentials check.
+     *
+     * @example url_decode(http.request.body.form[\"username\"][0])
+     */
+    username_expression: string;
   };
-};
-
-export type FilterNoId = {
-  enabled: FiltersComponentsSchemasEnabled;
-  pattern: SchemasPattern;
-};
-
-export type FilterResponseCollection = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | any[] | string;
   /**
-   * Whether the API call was successful
+   * The expression defining which traffic will match the rule.
    *
-   * @example true
+   * @example ip.src ne 1.1.1.1
+   * @minLength 1
    */
-  success: true;
-};
-
-export type FilterResponseSingle = ApiResponseSingleLarS7owG & {
-  result?: FiltersGBQgbSgB;
-};
-
-export type FilterRuleBase = {
-  action?: ComponentsSchemasAction;
-  description?: FirewallRulesComponentsSchemasDescription;
-  id?: FirewallRulesComponentsSchemasId;
-  paused?: ComponentsSchemasPaused;
-  priority?: FirewallRulesComponentsSchemasPriority;
-  products?: Products;
-  ref?: Ref;
-};
-
-export type FilterRuleResponse = FilterRuleBase & {
-  filter?: FilterYvYniAZC | DeletedFilter;
-};
-
-export type FilterRulesResponseCollection = ApiResponseCollection & {
-  result: (FilterRuleResponse & Record<string, any>)[];
-};
-
-export type FilterRulesResponseCollectionDelete = ApiResponseCollection & {
-  result: (FilterRuleResponse & Record<string, any>)[];
-};
-
-export type FilterRulesSingleResponse = ApiResponseSingleLarS7owG & {
-  result: FilterRuleResponse & Record<string, any>;
-};
-
-export type FilterRulesSingleResponseDelete = ApiResponseSingleLarS7owG & {
-  result: FilterRuleResponse & Record<string, any>;
-};
-
-export type FilterYvYniAZC = {
-  description?: FiltersComponentsSchemasDescription;
-  expression?: Expression;
-  id?: FiltersComponentsSchemasId;
-  paused?: FiltersComponentsSchemasPaused;
-  ref?: SchemasRef;
-};
-
-/**
- * Filter options for a particular resource type (pool or origin). Use null to reset.
- */
-export type FilterOptions = {
+  expression?: string;
+  id?: RulesetsRuleId;
   /**
-   * If set true, disable notifications for this type of resource (pool or origin).
+   * The timestamp of when the rule was last modified.
    *
-   * @default false
+   * @example 2000-01-01T00:00:00.000000Z
+   * @format date-time
    */
-  disable?: boolean;
+  last_updated: string;
   /**
-   * If present, send notifications only for this health status (e.g. false for only DOWN events). Use null to reset (all events).
+   * An object configuring the rule's logging behavior.
    */
-  healthy?: boolean | null;
-} | null;
-
-/**
- * Segmentation filter in 'attribute operator value' format.
- *
- * @example responseCode==NOERROR,queryType==A
- */
-export type Filters = string;
-
-/**
- * The protocol or layer to evaluate the traffic, identity, and device posture expressions.
- *
- * @example http
- */
-export type FiltersUTAknCFs = ('http' | 'dns' | 'l4' | 'egress')[];
-
-export type FiltersGBQgbSgB = {
-  enabled: FiltersComponentsSchemasEnabled;
-  id: CommonComponentsSchemasIdentifier;
-  pattern: SchemasPattern;
-};
-
-/**
- * An informative summary of the filter.
- *
- * @example Restrict access from these browsers on this address range.
- * @maxLength 500
- */
-export type FiltersComponentsSchemasDescription = string;
-
-/**
- * @example true
- */
-export type FiltersComponentsSchemasEnabled = boolean;
-
-/**
- * The unique identifier of the filter.
- *
- * @example 372e67954025e0ba6aaa6d586b9e0b61
- * @maxLength 32
- * @minLength 32
- */
-export type FiltersComponentsSchemasId = string;
-
-/**
- * When true, indicates that the filter is currently paused.
- *
- * @example false
- */
-export type FiltersComponentsSchemasPaused = boolean;
-
-/**
- * The MD5 fingerprint of the certificate.
- *
- * @example MD5 Fingerprint=1E:80:0F:7A:FD:31:55:96:DE:D5:CB:E2:F0:91:F6:91
- */
-export type Fingerprint = string;
-
-/**
- * Unique identifier of the Client Certificate
- *
- * @example 256c24690243359fb8cf139a125bd05ebf1d968b71e4caf330718e9f5c8a89ea
- */
-export type FingerprintSha256 = string;
-
-/**
- * FIPS settings.
- */
-export type FipsSettings = {
+  logging?: {
+    /**
+     * Whether to generate a log when the rule matches.
+     *
+     * @example true
+     */
+    enabled: boolean;
+  };
   /**
-   * Enable only cipher suites and TLS versions compliant with FIPS 140-2.
-   *
-   * @example true
+   * An object configuring the rule's ratelimit behavior.
    */
-  tls?: boolean;
-};
-
-/**
- * An informative summary of the firewall rule.
- *
- * @example Blocks traffic identified during investigation for MIR-31
- * @maxLength 500
- */
-export type FirewallRulesComponentsSchemasDescription = string;
-
-/**
- * The unique identifier of the firewall rule.
- *
- * @example 372e67954025e0ba6aaa6d586b9e0b60
- * @maxLength 32
- */
-export type FirewallRulesComponentsSchemasId = string;
-
-/**
- * The priority of the rule. Optional value used to define the processing order. A lower number indicates a higher priority. If not provided, rules with a defined priority will be processed before rules without a priority.
- *
- * @example 50
- * @maximum 2147483647
- * @minimum 0
- */
-export type FirewallRulesComponentsSchemasPriority = number;
-
-export type Firewalluablock = {
-  configuration?: ComponentsSchemasConfiguration;
-  description?: UaRulesComponentsSchemasDescription;
-  id?: UaRulesComponentsSchemasId;
-  mode?: UaRulesComponentsSchemasMode;
-  paused?: SchemasPaused;
-};
-
-export type FirewalluablockResponseCollection = ApiResponseCollection & {
-  result?: UaRules[];
-};
-
-export type FirewalluablockResponseSingle = ApiResponseSingleLarS7owG & {
-  result?: Record<string, any>;
-};
-
-/**
- * User's first name
- *
- * @example John
- * @maxLength 60
- */
-export type FirstName = string | null;
-
-/**
- * The fit property describes how the width and height dimensions should be interpreted.
- *
- * @example scale-down
- */
-export type Fit = 'scale-down' | 'contain' | 'cover' | 'crop' | 'pad';
-
-/**
- * The log retention flag for Logpull API.
- *
- * @example true
- */
-export type Flag = boolean;
-
-export type FlagResponse = ApiResponseSingleLarS7owG & {
-  result?: {
+  ratelimit?: {
+    /**
+     * Characteristics of the request on which the ratelimiter counter will be incremented.
+     *
+     * @example ip.src
+     * @minLength 1
+     */
+    characteristics: string[];
+    /**
+     * Defines when the ratelimit counter should be incremented. It is optional and defaults to the same as the rule's expression.
+     *
+     * @example http.request.body.raw eq "abcd"
+     */
+    counting_expression?: string;
+    /**
+     * Period of time in seconds after which the action will be disabled following its first execution.
+     *
+     * @example 600
+     */
+    mitigation_timeout?: number;
+    /**
+     * Period in seconds over which the counter is being incremented.
+     *
+     * @example 60
+     */
+    period: 10 | 60 | 600 | 3600;
+    /**
+     * The threshold of requests per period after which the action will be executed for the first time.
+     *
+     * @example 1000
+     */
+    requests_per_period?: number;
     /**
+     * Defines if ratelimit counting is only done when an origin is reached.
+     *
      * @example true
      */
-    flag?: boolean;
+    requests_to_origin?: boolean;
+    /**
+     * The score threshold per period for which the action will be executed the first time.
+     *
+     * @example 400
+     */
+    score_per_period?: number;
+    /**
+     * The response header name provided by the origin which should contain the score to increment ratelimit counter on.
+     *
+     * @example my-score
+     */
+    score_response_header_name?: string;
   };
+  /**
+   * The reference of the rule (the rule ID by default).
+   *
+   * @example my_ref
+   * @minLength 1
+   */
+  ref?: string;
+  /**
+   * The version of the rule.
+   *
+   * @example 1
+   * @pattern ^[0-9]+$
+   */
+  version: string;
 };
 
 /**
- * Flag for DNSSEC record.
- *
- * @example 257
- */
-export type Flags = number | null;
-
-/**
- * Follow redirects if returned by the origin. This parameter is only valid for HTTP and HTTPS monitors.
- *
- * @default false
- * @example true
- */
-export type FollowRedirects = boolean;
-
-export type ForceResponse = ApiResponseSingleWkFwqHKI & {
-  result?: ForceResult;
-};
-
-/**
- * When force_axfr query parameter is set to true, the response is a simple string
- *
- * @example OK
- */
-export type ForceResult = string;
-
-/**
- * The frequency at which Cloudflare sends batches of logs to your destination. Setting frequency to high sends your logs in larger quantities of smaller files. Setting frequency to low sends logs in smaller quantities of larger files.
- *
- * @default high
- * @example high
- */
-export type Frequency = 'high' | 'low' | null;
-
-/**
- * How often the subscription is renewed automatically.
- *
- * @example monthly
+ * A list of error messages.
  */
-export type FrequencyATMhv5XI = 'weekly' | 'monthly' | 'quarterly' | 'yearly';
+export type RulesetsErrors = RulesetsMessage[];
 
-export type FullResponse = ApiResponseSingleZ04EBmfK & {
-  result?: AddressMaps & {
-    ips?: SchemasIps;
-    memberships?: Memberships;
-  };
-};
-
-export type FullResponseVrSr0rHM = ApiResponseSingleLarS7owG & {
-  result?: AddressMapsTAVtBJaW & {
-    ips?: Ips9iuFUAPm;
-    memberships?: Memberships;
+export type RulesetsExecuteRule = {
+  action?: RulesetsRuleAction;
+  /**
+   * The parameters configuring the rule's action.
+   */
+  action_parameters?: {
+    /**
+     * The ID of the ruleset to execute.
+     *
+     * @example 4814384a9e5d4991b9815dcfc25d2f1f
+     * @pattern ^[0-9a-f]{32}$
+     */
+    id: RulesetsRulesetId & void;
+    /**
+     * The configuration to use for matched data logging.
+     */
+    matched_data?: {
+      /**
+       * The public key to encrypt matched data logs with.
+       *
+       * @example iGqBmyIUxuWt1rvxoAharN9FUXneUBxA/Y19PyyrEG0=
+       * @minLength 1
+       */
+      public_key: string;
+    };
+    /**
+     * A set of overrides to apply to the target ruleset.
+     *
+     * @minProperties 1
+     */
+    overrides?: {
+      /**
+       * An action to override all rules with. This option has lower precedence than rule and category overrides.
+       *
+       * @pattern ^[a-z]+$
+       * @example log
+       */
+      action?: RulesetsRuleAction & void;
+      /**
+       * A list of category-level overrides. This option has the second-highest precedence after rule-level overrides.
+       *
+       * @minItems 1
+       * @uniqueItems true
+       */
+      categories?: {
+        /**
+         * The action to override rules in the category with.
+         *
+         * @pattern ^[a-z]+$
+         * @example log
+         */
+        action?: RulesetsRuleAction & void;
+        /**
+         * The name of the category to override.
+         *
+         * @example directory-traversal
+         * @minLength 1
+         */
+        category: RulesetsRuleCategory & void;
+        /**
+         * Whether to enable execution of rules in the category.
+         *
+         * @example true
+         */
+        enabled?: RulesetsRuleEnabled & void;
+        /**
+         * The sensitivity level to use for rules in the category.
+         */
+        sensitivity_level?: RulesetsExecuteSensitivityLevel & void;
+      }[];
+      /**
+       * Whether to enable execution of all rules. This option has lower precedence than rule and category overrides.
+       *
+       * @example true
+       */
+      enabled?: RulesetsRuleEnabled & void;
+      /**
+       * A list of rule-level overrides. This option has the highest precedence.
+       *
+       * @minItems 1
+       * @uniqueItems true
+       */
+      rules?: {
+        /**
+         * The action to override the rule with.
+         *
+         * @pattern ^[a-z]+$
+         * @example log
+         */
+        action?: RulesetsRuleAction & void;
+        /**
+         * Whether to enable execution of the rule.
+         *
+         * @example true
+         */
+        enabled?: RulesetsRuleEnabled & void;
+        /**
+         * The ID of the rule to override.
+         *
+         * @example 8ac8bc2a661e475d940980f9317f28e1
+         * @pattern ^[0-9a-f]{32}$
+         */
+        id: RulesetsRuleId & void;
+        /**
+         * The score threshold to use for the rule.
+         */
+        score_threshold?: number;
+        /**
+         * The sensitivity level to use for the rule.
+         */
+        sensitivity_level?: RulesetsExecuteSensitivityLevel & void;
+      }[];
+      /**
+       * A sensitivity level to set for all rules. This option has lower precedence than rule and category overrides and is only applicable for DDoS phases.
+       */
+      sensitivity_level?: RulesetsExecuteSensitivityLevel & void;
+    };
   };
-};
-
-export type GatewayAccountDeviceSettings = {
   /**
-   * Enable gateway proxy filtering on TCP.
+   * The categories of the rule.
    *
-   * @example true
+   * @example directory-traversal
+   * @example header
+   * @minItems 1
+   * @uniqueItems true
    */
-  gateway_proxy_enabled?: boolean;
+  categories?: RulesetsRuleCategory[];
   /**
-   * Enable gateway proxy filtering on UDP.
+   * An informative description of the rule.
    *
-   * @example true
+   * @default
+   * @example Execute the OWASP ruleset when the IP address is not 1.1.1.1
    */
-  gateway_udp_proxy_enabled?: boolean;
-};
-
-export type GatewayAccountDeviceSettingsResponse = ApiResponseSingleI8cJ1fX8 & {
-  result?: GatewayAccountDeviceSettings;
-};
-
-export type GatewayAccountLoggingSettings = {
+  description?: string;
   /**
-   * Redact personally identifiable information from activity logging (PII fields are: source IP, user email, user ID, device ID, URL, referrer, user agent).
+   * Whether the rule should be executed.
    *
    * @example true
+   * @default true
    */
-  redact_pii?: boolean;
+  enabled?: RulesetsRuleEnabled & void;
   /**
-   * Logging settings by rule type.
+   * Configure checks for exposed credentials.
    */
-  settings_by_rule_type?: {
-    /**
-     * Logging settings for DNS firewall.
-     */
-    dns?: Record<string, any>;
+  exposed_credential_check?: {
     /**
-     * Logging settings for HTTP/HTTPS firewall.
+     * Expression that selects the password used in the credentials check.
+     *
+     * @example url_decode(http.request.body.form[\"password\"][0])
      */
-    http?: Record<string, any>;
+    password_expression: string;
     /**
-     * Logging settings for Network firewall.
+     * Expression that selects the user ID used in the credentials check.
+     *
+     * @example url_decode(http.request.body.form[\"username\"][0])
      */
-    l4?: Record<string, any>;
+    username_expression: string;
   };
-};
-
-export type GatewayAccountLoggingSettingsResponse = ApiResponseSingleVxjnpV7r & {
-  result?: GatewayAccountLoggingSettings;
-};
-
-/**
- * account settings.
- */
-export type GatewayAccountSettings = {
   /**
-   * account settings.
+   * The expression defining which traffic will match the rule.
+   *
+   * @example ip.src ne 1.1.1.1
+   * @minLength 1
    */
-  settings?: {
-    activity_log?: ActivityLogSettings;
-    antivirus?: AntiVirusSettings;
-    block_page?: BlockPageSettings;
-    body_scanning?: BodyScanningSettings;
-    browser_isolation?: BrowserIsolationSettings;
-    custom_certificate?: CustomCertificateSettings;
-    fips?: FipsSettings;
-    tls_decrypt?: TlsSettings;
-  };
-};
-
-export type GatewayAccount = ApiResponseSingleVxjnpV7r & {
-  result?: {
-    gateway_tag?: GatewayTag;
-    id?: CfAccountId;
-    provider_name?: ProviderName;
-  };
-};
-
-export type GatewayAccountConfig = ApiResponseSingleVxjnpV7r & {
+  expression?: string;
+  id?: RulesetsRuleId;
+  /**
+   * The timestamp of when the rule was last modified.
+   *
+   * @example 2000-01-01T00:00:00.000000Z
+   * @format date-time
+   */
+  last_updated: string;
   /**
-   * account settings.
+   * An object configuring the rule's logging behavior.
    */
-  result?: GatewayAccountSettings & {
-    created_at?: Timestamp;
-    updated_at?: Timestamp;
+  logging?: {
+    /**
+     * Whether to generate a log when the rule matches.
+     *
+     * @example true
+     */
+    enabled: boolean;
   };
-};
-
-/**
- * True if the seat is part of Gateway.
- *
- * @example false
- */
-export type GatewaySeat = boolean;
-
-/**
- * Gateway internal id.
- *
- * @example f174e90afafe4643bbbc4a0ed4fc8415
- * @maxLength 32
- */
-export type GatewayTag = string;
-
-/**
- * @example 699d98642c564d2e855e9661899b7252
- */
-export type GatewayUniqueId = string;
-
-export type GenericOauthConfig = {
   /**
-   * Your OAuth Client ID
-   *
-   * @example <your client id>
+   * An object configuring the rule's ratelimit behavior.
    */
-  client_id?: string;
+  ratelimit?: {
+    /**
+     * Characteristics of the request on which the ratelimiter counter will be incremented.
+     *
+     * @example ip.src
+     * @minLength 1
+     */
+    characteristics: string[];
+    /**
+     * Defines when the ratelimit counter should be incremented. It is optional and defaults to the same as the rule's expression.
+     *
+     * @example http.request.body.raw eq "abcd"
+     */
+    counting_expression?: string;
+    /**
+     * Period of time in seconds after which the action will be disabled following its first execution.
+     *
+     * @example 600
+     */
+    mitigation_timeout?: number;
+    /**
+     * Period in seconds over which the counter is being incremented.
+     *
+     * @example 60
+     */
+    period: 10 | 60 | 600 | 3600;
+    /**
+     * The threshold of requests per period after which the action will be executed for the first time.
+     *
+     * @example 1000
+     */
+    requests_per_period?: number;
+    /**
+     * Defines if ratelimit counting is only done when an origin is reached.
+     *
+     * @example true
+     */
+    requests_to_origin?: boolean;
+    /**
+     * The score threshold per period for which the action will be executed the first time.
+     *
+     * @example 400
+     */
+    score_per_period?: number;
+    /**
+     * The response header name provided by the origin which should contain the score to increment ratelimit counter on.
+     *
+     * @example my-score
+     */
+    score_response_header_name?: string;
+  };
   /**
-   * Your OAuth Client Secret
+   * The reference of the rule (the rule ID by default).
    *
-   * @example <your client secret>
+   * @example my_ref
+   * @minLength 1
    */
-  client_secret?: string;
-};
-
-/**
- * Specify the region where your private key can be held locally for optimal TLS performance. HTTPS connections to any excluded data center will still be fully encrypted, but will incur some latency while Keyless SSL is used to complete the handshake with the nearest allowed data center. Options allow distribution to only to U.S. data centers, only to E.U. data centers, or only to highest security data centers. Default distribution is to all Cloudflare datacenters, for optimal performance.
- */
-export type GeoRestrictions = {
+  ref?: string;
   /**
-   * @example us
+   * The version of the rule.
+   *
+   * @example 1
+   * @pattern ^[0-9]+$
    */
-  label?: 'us' | 'eu' | 'highest_security';
+  version: string;
 };
 
-export type GetZoneConnectionResponse = Connection;
+export type RulesetsExecuteSensitivityLevel = 'default' | 'medium' | 'low' | 'eoff';
 
-export type GetZonePolicyResponse = PageshieldPolicy;
-
-export type GetZoneScriptResponse = Script & {
+export type RulesetsForceConnectionCloseRule = {
+  action?: RulesetsRuleAction;
   /**
-   * @example {"fetched_at":"2021-08-18T10:51:08Z","hash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b423","js_integrity_score":2}
+   * The parameters configuring the rule's action.
    */
-  versions?: Version[] | null;
-};
-
-export type GetZoneSettingsResponse = {
-  enabled?: Enabled;
-  updated_at?: UpdatedAt;
-  use_cloudflare_reporting_endpoint?: UseCloudflareReportingEndpoint;
-  use_connection_url_path?: UseConnectionUrlPath;
-};
-
-export type GetOwnershipResponse = {
-  errors: Messages;
-  messages: Messages;
-  result:
-    | {
-        /**
-         * @example logs/challenge-filename.txt
-         */
-        filename?: string;
-        /**
-         * @example
-         */
-        message?: string;
-        /**
-         * @example true
-         */
-        valid?: boolean;
-      }
-    | any[]
-    | string
-    | null;
+  action_parameters?: Record<string, any>;
+  /**
+   * The categories of the rule.
+   *
+   * @example directory-traversal
+   * @example header
+   * @minItems 1
+   * @uniqueItems true
+   */
+  categories?: RulesetsRuleCategory[];
   /**
-   * Whether the API call was successful
+   * An informative description of the rule.
+   *
+   * @default
+   * @example Closes ongoing HTTP connections. This action does not block a request, but it forces the client to reconnect. For HTTP/2 and HTTP/3 connections, the connection will be closed even if it breaks other requests running on the same connection.
+   */
+  description?: string;
+  /**
+   * Whether the rule should be executed.
    *
    * @example true
+   * @default true
    */
-  success: true;
-};
-
-export type GetResponse = ApiResponseCollection & ZoneMetadata;
-
-export type GetSettingsResponse = ApiResponseSingleUypB4bgI & {
-  result?: {
+  enabled?: RulesetsRuleEnabled & void;
+  /**
+   * Configure checks for exposed credentials.
+   */
+  exposed_credential_check?: {
     /**
-     * @example EmpOvSXw8BfbrGCi0fhGiD/3yXk2SiV1Nzg2lru3oj0=
+     * Expression that selects the password used in the credentials check.
+     *
+     * @example url_decode(http.request.body.form[\"password\"][0])
      */
-    public_key: string | null;
-  };
-};
-
-export type GetSettingsResponseGLRUxD06 = ApiResponseSingleLarS7owG & {
-  result?: {
+    password_expression: string;
     /**
-     * @example EmpOvSXw8BfbrGCi0fhGiD/3yXk2SiV1Nzg2lru3oj0=
+     * Expression that selects the user ID used in the credentials check.
+     *
+     * @example url_decode(http.request.body.form[\"username\"][0])
      */
-    public_key: string | null;
+    username_expression: string;
   };
-};
-
-export type Github = {
   /**
-   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   * The expression defining which traffic will match the rule.
+   *
+   * @example ip.src ne 1.1.1.1
+   * @minLength 1
    */
-  config: GenericOauthConfig;
-  id?: Uuid;
-  name: SchemasNameIXVfNmuB;
+  expression?: string;
+  id?: RulesetsRuleId;
   /**
-   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   * The timestamp of when the rule was last modified.
+   *
+   * @example 2000-01-01T00:00:00.000000Z
+   * @format date-time
    */
-  scim_config?: {
+  last_updated: string;
+  /**
+   * An object configuring the rule's logging behavior.
+   */
+  logging?: {
     /**
-     * A flag to enable or disable SCIM for the identity provider.
+     * Whether to generate a log when the rule matches.
+     *
+     * @example true
      */
-    enabled?: boolean;
+    enabled: boolean;
+  };
+  /**
+   * An object configuring the rule's ratelimit behavior.
+   */
+  ratelimit?: {
     /**
-     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
+     * Characteristics of the request on which the ratelimiter counter will be incremented.
+     *
+     * @example ip.src
+     * @minLength 1
      */
-    group_member_deprovision?: boolean;
+    characteristics: string[];
     /**
-     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     * Defines when the ratelimit counter should be incremented. It is optional and defaults to the same as the rule's expression.
+     *
+     * @example http.request.body.raw eq "abcd"
      */
-    seat_deprovision?: boolean;
+    counting_expression?: string;
     /**
-     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     * Period of time in seconds after which the action will be disabled following its first execution.
+     *
+     * @example 600
      */
-    secret?: string;
+    mitigation_timeout?: number;
     /**
-     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     * Period in seconds over which the counter is being incremented.
+     *
+     * @example 60
      */
-    user_deprovision?: boolean;
-  };
-  /**
-   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
-   *
-   * @example onetimepin
-   */
-  type: string;
-};
-
-/**
- * Matches a Github organization.
- * Requires a Github identity provider.
- */
-export type GithubOrganizationRule = {
-  ['github-organization']: {
+    period: 10 | 60 | 600 | 3600;
     /**
-     * The ID of your Github identity provider.
+     * The threshold of requests per period after which the action will be executed for the first time.
      *
-     * @example ea85612a-29c8-46c2-bacb-669d65136971
+     * @example 1000
      */
-    connection_id: string;
+    requests_per_period?: number;
     /**
-     * The name of the organization.
+     * Defines if ratelimit counting is only done when an origin is reached.
      *
-     * @example cloudflare
+     * @example true
      */
-    name: string;
+    requests_to_origin?: boolean;
+    /**
+     * The score threshold per period for which the action will be executed the first time.
+     *
+     * @example 400
+     */
+    score_per_period?: number;
+    /**
+     * The response header name provided by the origin which should contain the score to increment ratelimit counter on.
+     *
+     * @example my-score
+     */
+    score_response_header_name?: string;
   };
+  /**
+   * The reference of the rule (the rule ID by default).
+   *
+   * @example my_ref
+   * @minLength 1
+   */
+  ref?: string;
+  /**
+   * The version of the rule.
+   *
+   * @example 1
+   * @pattern ^[0-9]+$
+   */
+  version: string;
 };
 
-export type Google = {
+export type RulesetsJsChallengeRule = {
+  action?: RulesetsRuleAction;
   /**
-   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   * The parameters configuring the rule's action.
    */
-  config: GenericOauthConfig;
-  id?: Uuid;
-  name: SchemasNameIXVfNmuB;
+  action_parameters?: Record<string, any>;
   /**
-   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   * The categories of the rule.
+   *
+   * @example directory-traversal
+   * @example header
+   * @minItems 1
+   * @uniqueItems true
    */
-  scim_config?: {
-    /**
-     * A flag to enable or disable SCIM for the identity provider.
-     */
-    enabled?: boolean;
-    /**
-     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
-     */
-    group_member_deprovision?: boolean;
-    /**
-     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
-     */
-    seat_deprovision?: boolean;
+  categories?: RulesetsRuleCategory[];
+  /**
+   * An informative description of the rule.
+   *
+   * @default
+   * @example Issue a non-interactive Javascript Challenge if the visitor had not solved a Interactive Challenge, Managed Challenge, or Javascript Challenge prior to the request when the address is not 1.1.1.1
+   */
+  description?: string;
+  /**
+   * Whether the rule should be executed.
+   *
+   * @example true
+   * @default true
+   */
+  enabled?: RulesetsRuleEnabled & void;
+  /**
+   * Configure checks for exposed credentials.
+   */
+  exposed_credential_check?: {
     /**
-     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     * Expression that selects the password used in the credentials check.
+     *
+     * @example url_decode(http.request.body.form[\"password\"][0])
      */
-    secret?: string;
+    password_expression: string;
     /**
-     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     * Expression that selects the user ID used in the credentials check.
+     *
+     * @example url_decode(http.request.body.form[\"username\"][0])
      */
-    user_deprovision?: boolean;
+    username_expression: string;
   };
   /**
-   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   * The expression defining which traffic will match the rule.
    *
-   * @example onetimepin
+   * @example ip.src ne 1.1.1.1
+   * @minLength 1
    */
-  type: string;
-};
-
-export type GoogleApps = {
+  expression?: string;
+  id?: RulesetsRuleId;
   /**
-   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   * The timestamp of when the rule was last modified.
+   *
+   * @example 2000-01-01T00:00:00.000000Z
+   * @format date-time
+   */
+  last_updated: string;
+  /**
+   * An object configuring the rule's logging behavior.
    */
-  config: GenericOauthConfig & {
+  logging?: {
     /**
-     * Your companies TLD
+     * Whether to generate a log when the rule matches.
      *
-     * @example mycompany.com
+     * @example true
      */
-    apps_domain?: string;
+    enabled: boolean;
   };
-  id?: Uuid;
-  name: SchemasNameIXVfNmuB;
   /**
-   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   * An object configuring the rule's ratelimit behavior.
    */
-  scim_config?: {
+  ratelimit?: {
     /**
-     * A flag to enable or disable SCIM for the identity provider.
+     * Characteristics of the request on which the ratelimiter counter will be incremented.
+     *
+     * @example ip.src
+     * @minLength 1
      */
-    enabled?: boolean;
+    characteristics: string[];
     /**
-     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
+     * Defines when the ratelimit counter should be incremented. It is optional and defaults to the same as the rule's expression.
+     *
+     * @example http.request.body.raw eq "abcd"
      */
-    group_member_deprovision?: boolean;
+    counting_expression?: string;
     /**
-     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     * Period of time in seconds after which the action will be disabled following its first execution.
+     *
+     * @example 600
      */
-    seat_deprovision?: boolean;
+    mitigation_timeout?: number;
     /**
-     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     * Period in seconds over which the counter is being incremented.
+     *
+     * @example 60
      */
-    secret?: string;
+    period: 10 | 60 | 600 | 3600;
     /**
-     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     * The threshold of requests per period after which the action will be executed for the first time.
+     *
+     * @example 1000
      */
-    user_deprovision?: boolean;
+    requests_per_period?: number;
+    /**
+     * Defines if ratelimit counting is only done when an origin is reached.
+     *
+     * @example true
+     */
+    requests_to_origin?: boolean;
+    /**
+     * The score threshold per period for which the action will be executed the first time.
+     *
+     * @example 400
+     */
+    score_per_period?: number;
+    /**
+     * The response header name provided by the origin which should contain the score to increment ratelimit counter on.
+     *
+     * @example my-score
+     */
+    score_response_header_name?: string;
   };
   /**
-   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   * The reference of the rule (the rule ID by default).
    *
-   * @example onetimepin
-   */
-  type: string;
-};
-
-/**
- * @example {"read":true,"write":false}
- */
-export type Grants = {
-  /**
-   * @example true
+   * @example my_ref
+   * @minLength 1
    */
-  read?: boolean;
+  ref?: string;
   /**
-   * @example true
+   * The version of the rule.
+   *
+   * @example 1
+   * @pattern ^[0-9]+$
    */
-  write?: boolean;
+  version: string;
 };
 
-/**
- * The configuration specific to GRE interconnects.
- */
-export type Gre = {
+export type RulesetsLogCustomFieldRule = {
+  action?: RulesetsRuleAction;
   /**
-   * The IP address assigned to the Cloudflare side of the GRE tunnel created as part of the Interconnect.
+   * The parameters configuring the rule's action.
    *
-   * @example 203.0.113.1
+   * @minProperties 1
    */
-  cloudflare_endpoint?: string;
-};
-
-export type GreTunnel = {
-  cloudflare_gre_endpoint: CloudflareGreEndpoint;
-  created_on?: SchemasCreatedOn;
-  customer_gre_endpoint: CustomerGreEndpoint;
-  description?: SchemasDescriptionVR40R5E7;
-  health_check?: HealthCheck;
-  id?: SchemasIdentifierRYBwrxr7;
-  interface_address: InterfaceAddress;
-  modified_on?: SchemasModifiedOn;
-  mtu?: Mtu;
-  name: NameBTvYm8cQ;
-  ttl?: Ttl;
-};
-
-export type Group = {
-  description?: GroupComponentsSchemasDescription;
-  id?: GroupComponentsSchemasIdentifier;
-  modified_rules_count?: ModifiedRulesCount;
-  name?: GroupComponentsSchemasName;
-  package_id?: PackageComponentsSchemasIdentifier;
-  rules_count?: RulesCount;
-};
-
-/**
- * An informative summary of what the rule group does.
- *
- * @example Group designed to protect against IP addresses that are a threat and typically used to launch DDoS attacks
- */
-export type GroupComponentsSchemasDescription = string | null;
-
-/**
- * The unique identifier of the rule group.
- *
- * @example de677e5818985db1285d0e80225f06e5
- * @maxLength 32
- */
-export type GroupComponentsSchemasIdentifier = string;
-
-/**
- * The name of the rule group.
- *
- * @example Project Honey Pot
- */
-export type GroupComponentsSchemasName = string;
-
-export type Groups = {
-  created_at?: Timestamp;
-  exclude?: Exclude;
-  id?: SchemasUuid;
-  include?: Include;
-  name?: ComponentsSchemasNameUYr2s0a0;
-  require?: Require;
-  updated_at?: Timestamp;
-};
-
-/**
- * An object that allows you to enable or disable WAF rule groups for the current WAF override. Each key of this object must be the ID of a WAF rule group, and each value must be a valid WAF action (usually `default` or `disable`). When creating a new URI-based WAF override, you must provide a `groups` object or a `rules` object.
- *
- * @example {"ea8687e59929c1fd05ba97574ad43f77":"default"}
- */
-export type Groups19vIuPeV = {
-  [key: string]: any;
-};
-
-export type GroupsComponentsSchemasIdResponse = ApiResponseSingleLarS7owG & {
-  result?: {
-    id?: SchemasUuid;
-  };
-};
-
-/**
- * The name of the Access group.
- *
- * @example Allow devs
- */
-export type GroupsComponentsSchemasName = string;
-
-export type GroupsComponentsSchemasResponseCollection = ApiResponseCollection & {
-  result?: SchemasGroups[];
-};
-
-export type GroupsComponentsSchemasSingleResponse = ApiResponseSingleLarS7owG & {
-  result?: SchemasGroups;
-};
-
-/**
- * Matches a group in Google Workspace.
- * Requires a Google Workspace identity provider.
- */
-export type GsuiteGroupRule = {
-  gsuite: {
+  action_parameters?: {
+    /**
+     * The cookie fields to log.
+     *
+     * @example {"name":"cookie_name_1"}
+     * @minItems 1
+     */
+    cookie_fields?: {
+      /**
+       * The name of the field.
+       *
+       * @example cookie_name_1
+       * @minLength 1
+       */
+      name: string;
+    }[];
+    /**
+     * The request fields to log.
+     *
+     * @example {"name":"http_request_header_name_1_in_lower_case"}
+     * @minItems 1
+     */
+    request_fields?: {
+      /**
+       * The name of the field.
+       *
+       * @example http_request_header_name_1_in_lower_case
+       * @minLength 1
+       */
+      name: string;
+    }[];
     /**
-     * The ID of your Google Workspace identity provider.
+     * The response fields to log.
      *
-     * @example ea85612a-29c8-46c2-bacb-669d65136971
+     * @example {"name":"http_response_header_name_1_in_lower_case"}
+     * @minItems 1
+     */
+    response_fields?: {
+      /**
+       * The name of the field.
+       *
+       * @example http_response_header_name_1_in_lower_case
+       * @minLength 1
+       */
+      name: string;
+    }[];
+  };
+  /**
+   * The categories of the rule.
+   *
+   * @example directory-traversal
+   * @example header
+   * @minItems 1
+   * @uniqueItems true
+   */
+  categories?: RulesetsRuleCategory[];
+  /**
+   * An informative description of the rule.
+   *
+   * @default
+   * @example Log custom field when the IP address is not 1.1.1.1
+   */
+  description?: string;
+  /**
+   * Whether the rule should be executed.
+   *
+   * @example true
+   * @default true
+   */
+  enabled?: RulesetsRuleEnabled & void;
+  /**
+   * Configure checks for exposed credentials.
+   */
+  exposed_credential_check?: {
+    /**
+     * Expression that selects the password used in the credentials check.
+     *
+     * @example url_decode(http.request.body.form[\"password\"][0])
      */
-    connection_id: string;
+    password_expression: string;
     /**
-     * The email of the Google Workspace group.
+     * Expression that selects the user ID used in the credentials check.
      *
-     * @example devs@cloudflare.com
+     * @example url_decode(http.request.body.form[\"username\"][0])
      */
-    email: string;
+    username_expression: string;
   };
-};
-
-/**
- * HTTP/2 Edge Prioritization optimises the delivery of resources served through HTTP/2 to improve page load performance. It also supports fine control of content delivery when used in conjunction with Workers.
- */
-export type H2Prioritization = {
   /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   * The expression defining which traffic will match the rule.
    *
-   * @default true
+   * @example ip.src ne 1.1.1.1
+   * @minLength 1
    */
-  editable?: true | false;
+  expression?: string;
+  id?: RulesetsRuleId;
   /**
-   * ID of the zone setting.
+   * The timestamp of when the rule was last modified.
    *
-   * @example h2_prioritization
+   * @example 2000-01-01T00:00:00.000000Z
+   * @format date-time
    */
-  id: 'h2_prioritization';
+  last_updated: string;
   /**
-   * last time this setting was modified.
+   * An object configuring the rule's logging behavior.
+   */
+  logging?: {
+    /**
+     * Whether to generate a log when the rule matches.
+     *
+     * @example true
+     */
+    enabled: boolean;
+  };
+  /**
+   * An object configuring the rule's ratelimit behavior.
+   */
+  ratelimit?: {
+    /**
+     * Characteristics of the request on which the ratelimiter counter will be incremented.
+     *
+     * @example ip.src
+     * @minLength 1
+     */
+    characteristics: string[];
+    /**
+     * Defines when the ratelimit counter should be incremented. It is optional and defaults to the same as the rule's expression.
+     *
+     * @example http.request.body.raw eq "abcd"
+     */
+    counting_expression?: string;
+    /**
+     * Period of time in seconds after which the action will be disabled following its first execution.
+     *
+     * @example 600
+     */
+    mitigation_timeout?: number;
+    /**
+     * Period in seconds over which the counter is being incremented.
+     *
+     * @example 60
+     */
+    period: 10 | 60 | 600 | 3600;
+    /**
+     * The threshold of requests per period after which the action will be executed for the first time.
+     *
+     * @example 1000
+     */
+    requests_per_period?: number;
+    /**
+     * Defines if ratelimit counting is only done when an origin is reached.
+     *
+     * @example true
+     */
+    requests_to_origin?: boolean;
+    /**
+     * The score threshold per period for which the action will be executed the first time.
+     *
+     * @example 400
+     */
+    score_per_period?: number;
+    /**
+     * The response header name provided by the origin which should contain the score to increment ratelimit counter on.
+     *
+     * @example my-score
+     */
+    score_response_header_name?: string;
+  };
+  /**
+   * The reference of the rule (the rule ID by default).
    *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * @example my_ref
+   * @minLength 1
    */
-  modified_on?: string | null;
+  ref?: string;
   /**
-   * Current value of the zone setting.
+   * The version of the rule.
    *
-   * @example on
+   * @example 1
+   * @pattern ^[0-9]+$
    */
-  value: H2PrioritizationValue;
+  version: string;
 };
 
-/**
- * Value of the zone setting.
- *
- * @default off
- */
-export type H2PrioritizationValue = 'on' | 'off' | 'custom';
-
-/**
- * The computed hash of the analyzed script.
- *
- * @maxLength 64
- * @minLength 64
- */
-export type Hash = string | null;
-
-/**
- * The HTTP request headers to send in the health check. It is recommended you set a Host header by default. The User-Agent header cannot be overridden. This parameter is only valid for HTTP and HTTPS monitors.
- *
- * @example {"Host":["example.com"],"X-App-ID":["abc123"]}
- */
-export type Header = Record<string, any>;
-
-/**
- * The name of the response header to match.
- *
- * @example Cf-Cache-Status
- */
-export type HeaderName = string;
-
-/**
- * The operator used when matching: `eq` means "equal" and `ne` means "not equal".
- *
- * @example ne
- */
-export type HeaderOp = 'eq' | 'ne';
-
-/**
- * The value of the response header, which must match exactly.
- *
- * @example HIT
- */
-export type HeaderValue = string;
-
-export type HealthCheck = {
+export type RulesetsLogRule = {
+  action?: RulesetsRuleAction;
   /**
-   * Determines whether to run healthchecks for a tunnel.
+   * The parameters configuring the rule's action.
+   */
+  action_parameters?: Record<string, any>;
+  /**
+   * The categories of the rule.
    *
-   * @default true
-   * @example true
+   * @example directory-traversal
+   * @example header
+   * @minItems 1
+   * @uniqueItems true
    */
-  enabled?: boolean;
+  categories?: RulesetsRuleCategory[];
   /**
-   * How frequent the health check is run. The default value is `mid`.
+   * An informative description of the rule.
    *
-   * @default mid
-   * @example low
+   * @default
+   * @example Log when the IP address is not 1.1.1.1
    */
-  rate?: 'low' | 'mid' | 'high';
+  description?: string;
   /**
-   * The destination address in a request type health check. After the healthcheck is decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded to this address. This field defaults to `customer_gre_endpoint address`.
+   * Whether the rule should be executed.
    *
-   * @example 203.0.113.1
+   * @example true
+   * @default true
    */
-  target?: string;
+  enabled?: RulesetsRuleEnabled & void;
   /**
-   * The type of healthcheck to run, reply or request. The default value is `reply`.
+   * Configure checks for exposed credentials.
+   */
+  exposed_credential_check?: {
+    /**
+     * Expression that selects the password used in the credentials check.
+     *
+     * @example url_decode(http.request.body.form[\"password\"][0])
+     */
+    password_expression: string;
+    /**
+     * Expression that selects the user ID used in the credentials check.
+     *
+     * @example url_decode(http.request.body.form[\"username\"][0])
+     */
+    username_expression: string;
+  };
+  /**
+   * The expression defining which traffic will match the rule.
    *
-   * @default reply
-   * @example request
+   * @example ip.src ne 1.1.1.1
+   * @minLength 1
    */
-  type?: 'reply' | 'request';
-};
-
-export type HealthDetails = ApiResponseSingleUl1k90Mw & {
+  expression?: string;
+  id?: RulesetsRuleId;
   /**
-   * A list of regions from which to run health checks. Null means every Cloudflare data center.
+   * The timestamp of when the rule was last modified.
    *
-   * @example {"pool_id":"17b5962d775c646f3f9725cbc7a53df4","pop_health":{"Amsterdam, NL":{"healthy":true,"origins":[{"2001:DB8::5":{"failure_reason":"No failures","healthy":true,"response_code":401,"rtt":"12.1ms"}}]}}}
+   * @example 2000-01-01T00:00:00.000000Z
+   * @format date-time
    */
-  result?: Record<string, any>;
-};
-
-export type HealthDetailsQWO9Uxvr = ApiResponseSingleLarS7owG & {
+  last_updated: string;
   /**
-   * A list of regions from which to run health checks. Null means every Cloudflare data center.
+   * An object configuring the rule's logging behavior.
+   */
+  logging?: {
+    /**
+     * Whether to generate a log when the rule matches.
+     *
+     * @example true
+     */
+    enabled: boolean;
+  };
+  /**
+   * An object configuring the rule's ratelimit behavior.
+   */
+  ratelimit?: {
+    /**
+     * Characteristics of the request on which the ratelimiter counter will be incremented.
+     *
+     * @example ip.src
+     * @minLength 1
+     */
+    characteristics: string[];
+    /**
+     * Defines when the ratelimit counter should be incremented. It is optional and defaults to the same as the rule's expression.
+     *
+     * @example http.request.body.raw eq "abcd"
+     */
+    counting_expression?: string;
+    /**
+     * Period of time in seconds after which the action will be disabled following its first execution.
+     *
+     * @example 600
+     */
+    mitigation_timeout?: number;
+    /**
+     * Period in seconds over which the counter is being incremented.
+     *
+     * @example 60
+     */
+    period: 10 | 60 | 600 | 3600;
+    /**
+     * The threshold of requests per period after which the action will be executed for the first time.
+     *
+     * @example 1000
+     */
+    requests_per_period?: number;
+    /**
+     * Defines if ratelimit counting is only done when an origin is reached.
+     *
+     * @example true
+     */
+    requests_to_origin?: boolean;
+    /**
+     * The score threshold per period for which the action will be executed the first time.
+     *
+     * @example 400
+     */
+    score_per_period?: number;
+    /**
+     * The response header name provided by the origin which should contain the score to increment ratelimit counter on.
+     *
+     * @example my-score
+     */
+    score_response_header_name?: string;
+  };
+  /**
+   * The reference of the rule (the rule ID by default).
    *
-   * @example {"pool_id":"17b5962d775c646f3f9725cbc7a53df4","pop_health":{"Amsterdam, NL":{"healthy":true,"origins":[{"2001:DB8::5":{"failure_reason":"No failures","healthy":true,"response_code":401,"rtt":"12.1ms"}}]}}}
+   * @example my_ref
+   * @minLength 1
    */
-  result?: Record<string, any>;
-};
-
-export type Healthchecks = {
-  address?: Address;
-  check_regions?: CheckRegions;
-  consecutive_fails?: ConsecutiveFails;
-  consecutive_successes?: ConsecutiveSuccesses;
-  created_on?: Timestamp;
-  description?: DescriptionNNNUBbC7;
-  failure_reason?: FailureReason;
-  http_config?: HttpConfig;
-  id?: Identifier;
-  interval?: Interval;
-  modified_on?: Timestamp;
-  name?: Name8NztOXJ3;
-  retries?: RetriesZPd5bYtZ;
-  status?: Status;
-  suspended?: Suspended;
-  tcp_config?: TcpConfig;
-  timeout?: Timeout;
-  type?: Type;
-};
-
-/**
- * The height of the image in pixels.
- */
-export type Height = number;
-
-/**
- * Maximum height in image pixels.
- *
- * @example 768
- * @minimum 1
- */
-export type HeightHdzALmvb = number;
-
-/**
- * URI to hero variant for an image.
- *
- * @example https://imagedelivery.net/MTt4OTd0b0w5aj/107b9558-dd06-4bbd-5fef-9c2c16bb7900/hero
- * @format uri
- */
-export type HeroUrl = string;
-
-export type History = {
-  alert_body?: AlertBody;
-  alert_type?: SchemasAlertType;
-  description?: HistoryComponentsSchemasDescription;
-  id?: Uuid;
-  mechanism?: Mechanism;
-  mechanism_type?: MechanismType;
-  name?: HistoryComponentsSchemasName;
-  sent?: Sent;
-};
-
-/**
- * Description of the notification policy (if present).
- *
- * @example Universal Certificate validation status, issuance, renewal, and expiration notices
- */
-export type HistoryComponentsSchemasDescription = string;
-
-/**
- * Name of the policy.
- *
- * @example SSL Notification Event Policy
- */
-export type HistoryComponentsSchemasName = string;
-
-/**
- * Number of items per page.
- *
- * @default 25
- * @maximum 1000
- * @minimum 5
- */
-export type HistoryComponentsSchemasPerPage = number;
+  ref?: string;
+  /**
+   * The version of the rule.
+   *
+   * @example 1
+   * @pattern ^[0-9]+$
+   */
+  version: string;
+};
 
-export type HistoryComponentsSchemasResponseCollection = ApiResponseCollection & {
+export type RulesetsManagedChallengeRule = {
+  action?: RulesetsRuleAction;
   /**
-   * @example {"alert_body":"SSL certificate has expired","alert_type":"universal_ssl_event_type","description":"Universal Certificate validation status, issuance, renewal, and expiration notices.","id":"f174e90a-fafe-4643-bbbc-4a0ed4fc8415","mechanism":"test@example.com","mechanism_type":"email","name":"SSL Notification Event Policy","sent":"2021-10-08T17:52:17.571336Z"}
+   * The parameters configuring the rule's action.
    */
-  result?: History[];
+  action_parameters?: Record<string, any>;
   /**
-   * @example {"count":1,"page":1,"per_page":20}
+   * The categories of the rule.
+   *
+   * @example directory-traversal
+   * @example header
+   * @minItems 1
+   * @uniqueItems true
    */
-  result_info?: Record<string, any>;
-};
-
-export type HopResult = {
+  categories?: RulesetsRuleCategory[];
   /**
-   * An array of node objects.
+   * An informative description of the rule.
+   *
+   * @default
+   * @example Issue a Managed Challenge if the visitor had not solved a Managed Challenge or Interactive Challenge prior to the request when the address is not 1.1.1.1
    */
-  nodes?: NodeResult[];
-  packets_lost?: PacketsLost;
-  packets_sent?: PacketsSent;
-  packets_ttl?: PacketsTtl;
-};
-
-/**
- * The keyless SSL name.
- *
- * @example example.com
- * @format hostname
- * @maxLength 253
- */
-export type Host = string;
-
-/**
- * RFC3986-compliant host.
- *
- * @example www.example.com
- * @format hostname
- * @maxLength 255
- */
-export type HostD2DhpgVX = string;
-
-/**
- * The host name to which the waiting room will be applied (no wildcards). Please do not include the scheme (http:// or https://). The host and path combination must be unique.
- *
- * @example shop.example.com
- */
-export type HostB3JrS1Yy = string;
-
-/**
- * The custom hostname that will point to your hostname via CNAME.
- *
- * @example app.example.com
- * @maxLength 255
- */
-export type Hostname = string;
-
-export type HostnameAuthenticatedOriginPull = HostnameCertidObject;
-
-export type HostnameAuthenticatedOriginPull7j0VlcSx = HostnameCertidObjectBCFXjAw3;
-
-/**
- * The hostname certificate.
- * 
- * @example -----BEGIN CERTIFICATE-----
-MIIDtTCCAp2gAwIBAgIJAMHAwfXZ5/PWMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV
-BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX
-aWRnaXRzIFB0eSBMdGQwHhcNMTYwODI0MTY0MzAxWhcNMTYxMTIyMTY0MzAxWjBF
-MQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50
-ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
-CgKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmGdtcGbg/1
-CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKnabIRuGvB
-KwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpidtnKX/a+5
-0GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+pyFxIXjbEI
-dZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pEewooaeO2
-izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABo4GnMIGkMB0GA1UdDgQWBBT/LbE4
-9rWf288N6sJA5BRb6FJIGDB1BgNVHSMEbjBsgBT/LbE49rWf288N6sJA5BRb6FJI
-GKFJpEcwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNV
-BAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZIIJAMHAwfXZ5/PWMAwGA1UdEwQF
-MAMBAf8wDQYJKoZIhvcNAQELBQADggEBAHHFwl0tH0quUYZYO0dZYt4R7SJ0pCm2
-2satiyzHl4OnXcHDpekAo7/a09c6Lz6AU83cKy/+x3/djYHXWba7HpEu0dR3ugQP
-Mlr4zrhd9xKZ0KZKiYmtJH+ak4OM4L3FbT0owUZPyjLSlhMtJVcoRp5CJsjAMBUG
-SvD8RX+T01wzox/Qb+lnnNnOlaWpqu8eoOenybxKp1a9ULzIVvN/LAcc+14vioFq
-2swRWtmocBAs8QR9n4uvbpiYvS8eYueDCWMM4fvFfBhaDZ3N9IbtySh3SpFdQDhw
-YbjM2rxXiyLGxB4Bol7QTv4zHif7Zt89FReT/NBy4rzaskDJY5L6xmY=
------END CERTIFICATE-----
- */
-export type HostnameAuthenticatedOriginPullComponentsSchemasCertificate = string;
-
-export type HostnameAuthenticatedOriginPullComponentsSchemasCertificateResponseCollection = ApiResponseCollection & {
-  result?: HostnameAuthenticatedOriginPull7j0VlcSx[];
-};
-
-/**
- * Indicates whether hostname-level authenticated origin pulls is enabled. A null value voids the association.
- *
- * @example true
- */
-export type HostnameAuthenticatedOriginPullComponentsSchemasEnabled = boolean | null;
-
-/**
- * The date when the certificate expires.
- *
- * @example 2100-01-01T05:20:00Z
- * @format date-time
- */
-export type HostnameAuthenticatedOriginPullComponentsSchemasExpiresOn = string;
-
-/**
- * Certificate identifier tag.
- *
- * @example 2458ce5a-0c35-4c7f-82c7-8e9487d3ff60
- * @maxLength 36
- */
-export type HostnameAuthenticatedOriginPullComponentsSchemasIdentifier = string;
-
-/**
- * Status of the certificate or the association.
- *
- * @example active
- */
-export type HostnameAuthenticatedOriginPullComponentsSchemasStatus =
-  | 'initializing'
-  | 'pending_deployment'
-  | 'pending_deletion'
-  | 'active'
-  | 'deleted'
-  | 'deployment_timed_out'
-  | 'deletion_timed_out';
-
-export type HostnameAopResponseCollection = ApiResponseCollection & {
-  result?: HostnameAuthenticatedOriginPull7j0VlcSx[];
-};
-
-export type HostnameAopSingleResponse = ApiResponseSingleZZHeSkIR & {
-  result?: HostnameCertidObject;
-};
-
-export type HostnameAopSingleResponseYzEPUGqk = ApiResponseSingleLarS7owG & {
-  result?: HostnameCertidObjectBCFXjAw3;
-};
-
-export type HostnameAssociation = {
-  hostnames?: string[];
-};
-
-export type HostnameAssociationsResponse = ApiResponseSingleZZHeSkIR & {
-  result?: HostnameAssociation;
-};
-
-export type HostnameCertidInput = {
-  cert_id?: CertId;
-  enabled?: HostnameAuthenticatedOriginPullComponentsSchemasEnabled;
-  hostname?: SchemasHostname;
-};
-
-export type HostnameCertidInputKYvlDdSs = {
-  cert_id?: HostnameAuthenticatedOriginPullComponentsSchemasIdentifier;
-  enabled?: HostnameAuthenticatedOriginPullComponentsSchemasEnabled;
-  hostname?: SchemasHostname;
-};
-
-export type HostnameCertidObject = {
-  cert_id?: Identifier;
-  cert_status?: HostnameAuthenticatedOriginPullComponentsSchemasStatus;
-  cert_updated_at?: UpdatedAt2oKeN2sz;
-  cert_uploaded_on?: ComponentsSchemasUploadedOn;
-  certificate?: HostnameAuthenticatedOriginPullComponentsSchemasCertificate;
-  created_at?: SchemasCreatedAt;
-  enabled?: HostnameAuthenticatedOriginPullComponentsSchemasEnabled;
-  expires_on?: HostnameAuthenticatedOriginPullComponentsSchemasExpiresOn;
-  hostname?: SchemasHostname;
-  issuer?: Issuer;
-  serial_number?: SerialNumber;
-  signature?: Signature;
-  status?: HostnameAuthenticatedOriginPullComponentsSchemasStatus;
-  updated_at?: UpdatedAt2oKeN2sz;
-};
-
-export type HostnameCertidObjectBCFXjAw3 = {
-  cert_id?: HostnameAuthenticatedOriginPullComponentsSchemasIdentifier;
-  cert_status?: HostnameAuthenticatedOriginPullComponentsSchemasStatus;
-  cert_updated_at?: UpdatedAtOvRg3NFi;
-  cert_uploaded_on?: ComponentsSchemasUploadedOn;
-  certificate?: HostnameAuthenticatedOriginPullComponentsSchemasCertificate;
-  created_at?: SchemasCreatedAt;
-  enabled?: HostnameAuthenticatedOriginPullComponentsSchemasEnabled;
-  expires_on?: HostnameAuthenticatedOriginPullComponentsSchemasExpiresOn;
-  hostname?: SchemasHostname;
-  issuer?: Issuer;
-  serial_number?: SerialNumber;
-  signature?: Signature;
-  status?: HostnameAuthenticatedOriginPullComponentsSchemasStatus;
-  updated_at?: UpdatedAtOvRg3NFi;
-};
-
-/**
- * The custom hostname that will point to your hostname via CNAME.
- *
- * @example app.example.com
- * @maxLength 255
- */
-export type HostnamePost = string;
-
-/**
- * Array of hostnames or wildcard names (e.g., *.example.com) bound to the certificate.
- *
- * @example example.com
- * @example *.example.com
- */
-export type Hostnames = any[];
-
-export type Hosts = string[];
-
-/**
- * When enabled, the Hotlink Protection option ensures that other sites cannot suck up your bandwidth by building pages that use images hosted on your site. Anytime a request for an image on your site hits Cloudflare, we check to ensure that it's not another site requesting them. People will still be able to download and view images from your page, but other sites won't be able to steal them for use on their own pages. (https://support.cloudflare.com/hc/en-us/articles/200170026).
- */
-export type HotlinkProtection = {
+  description?: string;
   /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   * Whether the rule should be executed.
    *
+   * @example true
    * @default true
    */
-  editable?: true | false;
+  enabled?: RulesetsRuleEnabled & void;
   /**
-   * ID of the zone setting.
+   * Configure checks for exposed credentials.
+   */
+  exposed_credential_check?: {
+    /**
+     * Expression that selects the password used in the credentials check.
+     *
+     * @example url_decode(http.request.body.form[\"password\"][0])
+     */
+    password_expression: string;
+    /**
+     * Expression that selects the user ID used in the credentials check.
+     *
+     * @example url_decode(http.request.body.form[\"username\"][0])
+     */
+    username_expression: string;
+  };
+  /**
+   * The expression defining which traffic will match the rule.
    *
-   * @example hotlink_protection
+   * @example ip.src ne 1.1.1.1
+   * @minLength 1
    */
-  id: 'hotlink_protection';
+  expression?: string;
+  id?: RulesetsRuleId;
   /**
-   * last time this setting was modified.
+   * The timestamp of when the rule was last modified.
    *
-   * @example 2014-01-01T05:20:00.12345Z
+   * @example 2000-01-01T00:00:00.000000Z
    * @format date-time
    */
-  modified_on?: string | null;
+  last_updated: string;
   /**
-   * Current value of the zone setting.
+   * An object configuring the rule's logging behavior.
+   */
+  logging?: {
+    /**
+     * Whether to generate a log when the rule matches.
+     *
+     * @example true
+     */
+    enabled: boolean;
+  };
+  /**
+   * An object configuring the rule's ratelimit behavior.
+   */
+  ratelimit?: {
+    /**
+     * Characteristics of the request on which the ratelimiter counter will be incremented.
+     *
+     * @example ip.src
+     * @minLength 1
+     */
+    characteristics: string[];
+    /**
+     * Defines when the ratelimit counter should be incremented. It is optional and defaults to the same as the rule's expression.
+     *
+     * @example http.request.body.raw eq "abcd"
+     */
+    counting_expression?: string;
+    /**
+     * Period of time in seconds after which the action will be disabled following its first execution.
+     *
+     * @example 600
+     */
+    mitigation_timeout?: number;
+    /**
+     * Period in seconds over which the counter is being incremented.
+     *
+     * @example 60
+     */
+    period: 10 | 60 | 600 | 3600;
+    /**
+     * The threshold of requests per period after which the action will be executed for the first time.
+     *
+     * @example 1000
+     */
+    requests_per_period?: number;
+    /**
+     * Defines if ratelimit counting is only done when an origin is reached.
+     *
+     * @example true
+     */
+    requests_to_origin?: boolean;
+    /**
+     * The score threshold per period for which the action will be executed the first time.
+     *
+     * @example 400
+     */
+    score_per_period?: number;
+    /**
+     * The response header name provided by the origin which should contain the score to increment ratelimit counter on.
+     *
+     * @example my-score
+     */
+    score_response_header_name?: string;
+  };
+  /**
+   * The reference of the rule (the rule ID by default).
    *
-   * @example on
+   * @example my_ref
+   * @minLength 1
+   */
+  ref?: string;
+  /**
+   * The version of the rule.
+   *
+   * @example 1
+   * @pattern ^[0-9]+$
    */
-  value: HotlinkProtectionValue;
+  version: string;
 };
 
 /**
- * Value of the zone setting.
- *
- * @default off
- */
-export type HotlinkProtectionValue = 'on' | 'off';
-
-/**
- * HTTP2 enabled for this zone.
+ * A Managed Transform object.
  */
-export type Http2 = {
+export type RulesetsManagedTransform = {
   /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
-   *
-   * @default true
+   * The Managed Transforms that this Managed Transform conflicts with.
    */
-  editable?: true | false;
+  conflicts_with?: (RulesetsManagedTransformId & void)[];
   /**
-   * ID of the zone setting.
+   * Whether the Managed Transform is enabled.
    *
-   * @example http2
+   * @example true
    */
-  id: 'http2';
+  enabled: boolean;
   /**
-   * last time this setting was modified.
+   * Whether the Managed Transform conflicts with the currently-enabled Managed Transforms.
    *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * @example false
    */
-  modified_on?: string | null;
+  has_conflict: boolean;
+  id: RulesetsManagedTransformId;
+};
+
+/**
+ * The human-readable identifier of the Managed Transform.
+ *
+ * @minLength 1
+ */
+export type RulesetsManagedTransformId = string;
+
+/**
+ * A Managed Transforms object.
+ */
+export type RulesetsManagedTransforms = {
   /**
-   * Current value of the zone setting.
-   *
-   * @example on
+   * The list of Managed Request Transforms.
    */
-  value: Http2Value;
+  managed_request_headers: {
+    /**
+     * The Managed Transforms that this Managed Transform conflicts with.
+     */
+    conflicts_with?: (RulesetsManagedTransformId & void)[];
+    /**
+     * Whether the Managed Transform is enabled.
+     *
+     * @example true
+     */
+    enabled: boolean;
+    /**
+     * Whether the Managed Transform conflicts with the currently-enabled Managed Transforms.
+     *
+     * @example false
+     */
+    has_conflict: boolean;
+    /**
+     * @example add_bot_protection_headers
+     */
+    id: RulesetsManagedTransformId;
+  }[];
+  /**
+   * The list of Managed Response Transforms.
+   */
+  managed_response_headers: {
+    /**
+     * The Managed Transforms that this Managed Transform conflicts with.
+     */
+    conflicts_with?: (RulesetsManagedTransformId & void)[];
+    /**
+     * Whether the Managed Transform is enabled.
+     *
+     * @example true
+     */
+    enabled: boolean;
+    /**
+     * Whether the Managed Transform conflicts with the currently-enabled Managed Transforms.
+     *
+     * @example false
+     */
+    has_conflict: boolean;
+    /**
+     * @example add_security_headers
+     */
+    id: RulesetsManagedTransformId;
+  }[];
 };
 
 /**
- * Value of the HTTP2 setting.
- *
- * @default off
- */
-export type Http2Value = 'on' | 'off';
-
-/**
- * HTTP3 enabled for this zone.
+ * A message.
  */
-export type Http3 = {
-  /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
-   *
-   * @default true
-   */
-  editable?: true | false;
+export type RulesetsMessage = {
   /**
-   * ID of the zone setting.
+   * A unique code for this message.
    *
-   * @example http3
+   * @example 10000
    */
-  id: 'http3';
+  code?: number;
   /**
-   * last time this setting was modified.
+   * A text description of this message.
    *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * @example something bad happened
+   * @minLength 1
    */
-  modified_on?: string | null;
+  message: string;
   /**
-   * Current value of the zone setting.
-   *
-   * @example on
+   * The source of this message.
    */
-  value: Http3Value;
+  source?: {
+    /**
+     * A JSON pointer to the field that is the source of the message.
+     *
+     * @example /rules/0/action
+     * @minLength 1
+     */
+    pointer: string;
+  };
 };
 
 /**
- * Value of the HTTP3 setting.
- *
- * @default off
+ * A list of warning messages.
  */
-export type Http3Value = 'on' | 'off';
+export type RulesetsMessages = RulesetsMessage[];
 
-/**
- * Parameters specific to an HTTP or HTTPS health check.
- */
-export type HttpConfig = {
+export type RulesetsRedirectRule = {
+  action?: RulesetsRuleAction;
   /**
-   * Do not validate the certificate when the health check uses HTTPS.
-   *
-   * @default false
+   * The parameters configuring the rule's action.
    */
-  allow_insecure?: boolean;
+  action_parameters?: {
+    /**
+     * Serve a redirect based on a bulk list lookup.
+     */
+    from_list?: {
+      /**
+       * Expression that evaluates to the list lookup key.
+       *
+       * @example http.request.full_uri
+       * @minLength 1
+       */
+      key?: string;
+      /**
+       * The name of the list to match against.
+       *
+       * @example list1
+       * @maxLength 50
+       * @pattern ^[a-zA-Z0-9_]+$
+       */
+      name?: string;
+    };
+    /**
+     * Serve a redirect based on the request properties.
+     */
+    from_value?: {
+      /**
+       * Keep the query string of the original request.
+       */
+      preserve_query_string?: boolean;
+      /**
+       * The status code to be used for the redirect.
+       */
+      status_code?: 301 | 302 | 303 | 307 | 308;
+      /**
+       * The URL to redirect the request to.
+       *
+       * @example {"expression":"concat(\"https://m.example.com\", http.request.uri.path)"}
+       */
+      target_url?:
+        | {
+            /**
+             * The URL to redirect the request to.
+             *
+             * @minLength 1
+             */
+            value?: string;
+          }
+        | {
+            /**
+             * An expression to evaluate to get the URL to redirect the request to.
+             *
+             * @minLength 1
+             */
+            expression?: string;
+          };
+    };
+  };
   /**
-   * A case-insensitive sub-string to look for in the response body. If this string is not found, the origin will be marked as unhealthy.
+   * The categories of the rule.
    *
-   * @example success
+   * @example directory-traversal
+   * @example header
+   * @minItems 1
+   * @uniqueItems true
    */
-  expected_body?: string;
+  categories?: RulesetsRuleCategory[];
   /**
-   * The expected HTTP response codes (e.g. "200") or code ranges (e.g. "2xx" for all codes starting with 2) of the health check.
+   * An informative description of the rule.
    *
-   * @default 200
-   * @example 2xx
-   * @example 302
+   * @default
+   * @example Redirect when IP address is not 1.1.1.1
    */
-  expected_codes?: string[] | null;
+  description?: string;
   /**
-   * Follow redirects if the origin returns a 3xx status code.
+   * Whether the rule should be executed.
    *
-   * @default false
+   * @example true
+   * @default true
    */
-  follow_redirects?: boolean;
+  enabled?: RulesetsRuleEnabled & void;
   /**
-   * The HTTP request headers to send in the health check. It is recommended you set a Host header by default. The User-Agent header cannot be overridden.
-   *
-   * @example {"Host":["example.com"],"X-App-ID":["abc123"]}
+   * Configure checks for exposed credentials.
    */
-  header?: Record<string, any> | null;
+  exposed_credential_check?: {
+    /**
+     * Expression that selects the password used in the credentials check.
+     *
+     * @example url_decode(http.request.body.form[\"password\"][0])
+     */
+    password_expression: string;
+    /**
+     * Expression that selects the user ID used in the credentials check.
+     *
+     * @example url_decode(http.request.body.form[\"username\"][0])
+     */
+    username_expression: string;
+  };
   /**
-   * The HTTP method to use for the health check.
+   * The expression defining which traffic will match the rule.
    *
-   * @default GET
+   * @example ip.src ne 1.1.1.1
+   * @minLength 1
    */
-  method?: 'GET' | 'HEAD';
+  expression?: string;
+  id?: RulesetsRuleId;
   /**
-   * The endpoint path to health check against.
+   * The timestamp of when the rule was last modified.
    *
-   * @default /
-   * @example /health
+   * @example 2000-01-01T00:00:00.000000Z
+   * @format date-time
    */
-  path?: string;
+  last_updated: string;
   /**
-   * Port number to connect to for the health check. Defaults to 80 if type is HTTP or 443 if type is HTTPS.
-   *
-   * @default 80
+   * An object configuring the rule's logging behavior.
    */
-  port?: number;
-} | null;
-
-/**
- * Enables the HttpOnly cookie attribute, which increases security against XSS attacks.
- *
- * @default true
- * @example true
- */
-export type HttpOnlyCookieAttribute = boolean;
-
-/**
- * Unique id of the job.
- *
- * @minimum 1
- */
-export type Id = number;
-
-/**
- * The ID of the CA.
- *
- * @example 7eddae4619b50ab1361ba8ae9bd72269a432fea041529ed9
- * @maxLength 48
- */
-export type Id4G7SFJfZ = string;
-
-/**
- * The identifier for this category. There is only one category per id.
- */
-export type IdWr4kBzDa = number;
-
-/**
- * Identifier of a recommedation result.
- *
- * @example ssl_recommendation
- */
-export type IdBt8zQIzG = string;
-
-export type IdResponse = ApiResponseSingleZ04EBmfK & {
-  result?: {
-    id?: DelegationIdentifier;
-  };
-};
-
-export type IdResponse0zYv01t8 = ApiResponseSingleUl1k90Mw & {
-  result?: {
-    id?: IdentifierYmSdxGUH;
-  };
-};
-
-export type IdResponse49rxVYCd = ApiResponseSingleI8cJ1fX8 & {
-  result?: {
-    id?: UuidUoyzrwvx;
-  };
-};
-
-export type IdResponseBkIvko3W = ApiResponseSingleWkFwqHKI & {
-  result?: {
-    id?: Identifier6txek3jw;
-  };
-};
-
-export type IdResponseBBq1dCvd = ApiResponseSingleLarS7owG & {
-  result?: {
-    id?: MonitorComponentsSchemasIdentifier;
-  };
-};
-
-export type IdResponseI7tw1Lck = ApiResponseSingleO4T7cMiV & {
-  result?: {
-    id?: Identifier;
-  };
-};
-
-export type IdResponseQOfcO1so = ApiResponseSingleKLIlNaxV & {
-  result?: {
-    id?: SchemasUuid;
+  logging?: {
+    /**
+     * Whether to generate a log when the rule matches.
+     *
+     * @example true
+     */
+    enabled: boolean;
   };
-};
-
-/**
- * Identifier
- *
- * @example 023e105f4ecef8ad9ca31a8372d0c353
- * @maxLength 32
- */
-export type Identifier = string;
-
-/**
- * @example 699d98642c564d2e855e9661899b7252
- */
-export type Identifier4iUVdVcr = void;
-
-/**
- * @example 269d8f4853475ca241c4e730be286b20
- */
-export type Identifier6txek3jw = void;
-
-/**
- * Policy identifier.
- *
- * @example f267e341f3dd4697bd3b9f71dd96247f
- */
-export type IdentifierEhp5XJwv = string;
-
-/**
- * A Cloudflare-generated unique identifier for a media item.
- *
- * @example ea95132c15732412d22c1476fa83f27a
- * @maxLength 32
- */
-export type IdentifierKW7g5KGL = string;
-
-/**
- * Identifier
- *
- * @example 023e105f4ecef8ad9ca31a8372d0c353
- * @maxLength 32
- */
-export type IdentifierY35LcWMV = string;
-
-/**
- * @example f1aba936b94213e5b8dca0c0dbf1f9cc
- */
-export type IdentifierYmSdxGUH = void;
-
-export type IdentifierA7Wi2jzJ = string;
-
-/**
- * @example 699d98642c564d2e855e9661899b7252
- */
-export type IdentifierOTCaIgPs = void;
-
-/**
- * Account identifier tag.
- *
- * @example 372e67954025e0ba6aaa6d586b9e0b59
- * @maxLength 32
- */
-export type IdentifierQ5PXAdjT = string;
-
-/**
- * @example 699d98642c564d2e855e9661899b7252
- */
-export type IdentifierUwBKGNkE = void;
-
-/**
- * The wirefilter expression to be used for identity matching.
- *
- * @example any(identity.groups.name[*] in {"finance"})
- */
-export type Identity = string;
-
-export type IdentityProvider = {
-  /**
-   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
-   */
-  config: Record<string, any>;
-  id?: Uuid;
-  name: SchemasNameIXVfNmuB;
   /**
-   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   * An object configuring the rule's ratelimit behavior.
    */
-  scim_config?: {
+  ratelimit?: {
     /**
-     * A flag to enable or disable SCIM for the identity provider.
+     * Characteristics of the request on which the ratelimiter counter will be incremented.
+     *
+     * @example ip.src
+     * @minLength 1
      */
-    enabled?: boolean;
+    characteristics: string[];
+    /**
+     * Defines when the ratelimit counter should be incremented. It is optional and defaults to the same as the rule's expression.
+     *
+     * @example http.request.body.raw eq "abcd"
+     */
+    counting_expression?: string;
     /**
-     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
+     * Period of time in seconds after which the action will be disabled following its first execution.
+     *
+     * @example 600
+     */
+    mitigation_timeout?: number;
+    /**
+     * Period in seconds over which the counter is being incremented.
+     *
+     * @example 60
+     */
+    period: 10 | 60 | 600 | 3600;
+    /**
+     * The threshold of requests per period after which the action will be executed for the first time.
+     *
+     * @example 1000
      */
-    group_member_deprovision?: boolean;
+    requests_per_period?: number;
     /**
-     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     * Defines if ratelimit counting is only done when an origin is reached.
+     *
+     * @example true
      */
-    seat_deprovision?: boolean;
+    requests_to_origin?: boolean;
     /**
-     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     * The score threshold per period for which the action will be executed the first time.
+     *
+     * @example 400
      */
-    secret?: string;
+    score_per_period?: number;
     /**
-     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     * The response header name provided by the origin which should contain the score to increment ratelimit counter on.
+     *
+     * @example my-score
      */
-    user_deprovision?: boolean;
+    score_response_header_name?: string;
   };
   /**
-   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   * The reference of the rule (the rule ID by default).
    *
-   * @example onetimepin
+   * @example my_ref
+   * @minLength 1
    */
-  type: string;
+  ref?: string;
+  /**
+   * The version of the rule.
+   *
+   * @example 1
+   * @pattern ^[0-9]+$
+   */
+  version: string;
 };
 
-export type IdentityProviders =
-  | AzureAD
-  | Centrify
-  | Facebook
-  | Github
-  | Google
-  | GoogleApps
-  | Linkedin
-  | Oidc
-  | Okta
-  | Onelogin
-  | Pingone
-  | Saml
-  | Yandex;
-
-export type IdentityProvidersD6lP78R4 = {
-  config?: SchemasConfig;
-  id?: Uuid;
-  name?: IdentityProvidersComponentsSchemasName;
-  type?: IdentityProvidersComponentsSchemasType;
-};
+export type RulesetsRequestRule =
+  | (Omit<RulesetsBlockRule, 'action'> & {
+      action: 'block';
+    })
+  | (Omit<RulesetsChallengeRule, 'action'> & {
+      action: 'challenge';
+    })
+  | (Omit<RulesetsCompressResponseRule, 'action'> & {
+      action: 'compress_response';
+    })
+  | (Omit<RulesetsExecuteRule, 'action'> & {
+      action: 'execute';
+    })
+  | (Omit<RulesetsJsChallengeRule, 'action'> & {
+      action: 'js_challenge';
+    })
+  | (Omit<RulesetsLogRule, 'action'> & {
+      action: 'log';
+    })
+  | (Omit<RulesetsManagedChallengeRule, 'action'> & {
+      action: 'managed_challenge';
+    })
+  | (Omit<RulesetsRedirectRule, 'action'> & {
+      action: 'redirect';
+    })
+  | (Omit<RulesetsRewriteRule, 'action'> & {
+      action: 'rewrite';
+    })
+  | (Omit<RulesetsRouteRule, 'action'> & {
+      action: 'route';
+    })
+  | (Omit<RulesetsScoreRule, 'action'> & {
+      action: 'score';
+    })
+  | (Omit<RulesetsServeErrorRule, 'action'> & {
+      action: 'serve_error';
+    })
+  | (Omit<RulesetsSetConfigRule, 'action'> & {
+      action: 'set_config';
+    })
+  | (Omit<RulesetsSkipRule, 'action'> & {
+      action: 'skip';
+    })
+  | (Omit<RulesetsSetCacheSettingsRule, 'action'> & {
+      action: 'set_cache_settings';
+    })
+  | (Omit<RulesetsLogCustomFieldRule, 'action'> & {
+      action: 'log_custom_field';
+    })
+  | (Omit<RulesetsDDoSDynamicRule, 'action'> & {
+      action: 'ddos_dynamic';
+    })
+  | (Omit<RulesetsForceConnectionCloseRule, 'action'> & {
+      action: 'force_connection_close';
+    });
 
 /**
- * The name of the identity provider, shown to users on the login page.
- *
- * @example Widget Corps OTP
+ * The list of rules in the ruleset.
  */
-export type IdentityProvidersComponentsSchemasName = string;
+export type RulesetsRequestRules = RulesetsRequestRule[];
 
-export type IdentityProvidersComponentsSchemasResponseCollection = ApiResponseCollection & {
-  result?: (
-    | SchemasAzureAD
-    | SchemasCentrify
-    | SchemasFacebook
-    | SchemasGithub
-    | SchemasGoogle
-    | SchemasGoogleApps
-    | SchemasLinkedin
-    | SchemasOidc
-    | SchemasOkta
-    | SchemasOnelogin
-    | SchemasPingone
-    | SchemasSaml
-    | SchemasYandex
-  )[];
-};
-
-export type IdentityProvidersComponentsSchemasResponseCollectionBXesFUJJ = ApiResponseCollection & {
-  result?: IdentityProvidersD6lP78R4[];
-};
-
-export type IdentityProvidersComponentsSchemasSingleResponse = ApiResponseSingleKLIlNaxV & {
-  result?: SchemasIdentityProviders;
+/**
+ * A response object.
+ */
+export type RulesetsResponse = {
+  errors: RulesetsErrors;
+  messages: RulesetsMessages;
+  /**
+   * A result.
+   */
+  result: void;
+  /**
+   * Whether the API call was successful.
+   */
+  success: boolean;
 };
 
-export type IdentityProvidersComponentsSchemasSingleResponseIlfaxGl3 = ApiResponseSingleLarS7owG & {
-  result?: IdentityProvidersD6lP78R4;
-};
+export type RulesetsResponseRule = RulesetsRequestRule & void;
 
 /**
- * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
- *
- * @example onetimepin
+ * The list of rules in the ruleset.
  */
-export type IdentityProvidersComponentsSchemasType = string;
+export type RulesetsResponseRules = RulesetsResponseRule[];
 
-export type ImageBasicUploadViaUrl = {
+export type RulesetsRewriteRule = {
+  action?: RulesetsRuleAction;
   /**
-   * User modifiable key-value store. Can use used for keeping references to another system of record for managing images.
+   * The parameters configuring the rule's action.
    */
-  metadata?: Record<string, any>;
+  action_parameters?: {
+    /**
+     * Map of request headers to modify.
+     *
+     * @example {"client-http-version":{"expression":"http.request.version","operation":"set"}}
+     */
+    headers?: {
+      [key: string]:
+        | {
+            operation: 'remove';
+          }
+        | {
+            operation: 'set';
+            /**
+             * Static value for the header.
+             *
+             * @example static-header-value
+             * @minLength 1
+             */
+            value: string;
+          }
+        | {
+            /**
+             * Expression for the header value.
+             *
+             * @example ip.src
+             * @minLength 1
+             */
+            expression: string;
+            operation: 'set';
+          };
+    };
+    /**
+     * URI to rewrite the request to.
+     */
+    uri?: {
+      /**
+       * Path portion rewrite.
+       *
+       * @example {"expression":"regex_replace(http.request.uri.path, \"/bar$\", \"/baz\")"}
+       */
+      path?: void & RulesetsRewriteUriPart;
+      /**
+       * Query portion rewrite.
+       *
+       * @example {"expression":"regex_replace(http.request.uri.query, \"foo=bar\", \"\")"}
+       */
+      query?: void & RulesetsRewriteUriPart;
+    };
+  };
   /**
-   * Indicates whether the image requires a signature token for the access.
+   * The categories of the rule.
    *
-   * @default false
-   * @example true
+   * @example directory-traversal
+   * @example header
+   * @minItems 1
+   * @uniqueItems true
    */
-  requireSignedURLs?: boolean;
+  categories?: RulesetsRuleCategory[];
   /**
-   * A URL to fetch an image from origin.
+   * An informative description of the rule.
    *
-   * @example https://example.com/path/to/logo.png
-   */
-  url: string;
-};
-
-export type ImagePatchRequest = {
-  /**
-   * User modifiable key-value store. Can be used for keeping references to another system of record for managing images. No change if not specified.
+   * @default
+   * @example Add a header when the IP address is not 1.1.1.1
    */
-  metadata?: Record<string, any>;
+  description?: string;
   /**
-   * Indicates whether the image can be accessed using only its UID. If set to `true`, a signed token needs to be generated with a signing key to view the image. Returns a new UID on a change. No change if not specified.
+   * Whether the rule should be executed.
    *
    * @example true
-   */
-  requireSignedURLs?: boolean;
-};
-
-/**
- * Image Resizing provides on-demand resizing, conversion and optimisation for images served through Cloudflare's network. Refer to the [Image Resizing documentation](https://developers.cloudflare.com/images/) for more information.
- */
-export type ImageResizing = {
-  /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
-   *
    * @default true
    */
-  editable?: true | false;
+  enabled?: RulesetsRuleEnabled & void;
   /**
-   * ID of the zone setting.
-   *
-   * @example image_resizing
+   * Configure checks for exposed credentials.
    */
-  id: 'image_resizing';
+  exposed_credential_check?: {
+    /**
+     * Expression that selects the password used in the credentials check.
+     *
+     * @example url_decode(http.request.body.form[\"password\"][0])
+     */
+    password_expression: string;
+    /**
+     * Expression that selects the user ID used in the credentials check.
+     *
+     * @example url_decode(http.request.body.form[\"username\"][0])
+     */
+    username_expression: string;
+  };
   /**
-   * last time this setting was modified.
+   * The expression defining which traffic will match the rule.
    *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * @example ip.src ne 1.1.1.1
+   * @minLength 1
    */
-  modified_on?: string | null;
+  expression?: string;
+  id?: RulesetsRuleId;
   /**
-   * Current value of the zone setting.
+   * The timestamp of when the rule was last modified.
    *
-   * @example on
+   * @example 2000-01-01T00:00:00.000000Z
+   * @format date-time
    */
-  value: ImageResizingValue;
-};
-
-/**
- * Whether the feature is enabled, disabled, or enabled in `open proxy` mode.
- *
- * @default off
- */
-export type ImageResizingValue = 'on' | 'off' | 'open';
-
-/**
- * @example <image blob data>
- */
-export type ImageResponseBlob = string | Record<string, any>;
-
-export type ImageResponseCollection = ApiResponseCollection & {
-  result?: Images[];
-};
-
-export type ImageResponseSingle = ApiResponseSingleLarS7owG & {
-  result?: Record<string, any>;
-};
-
-export type Images = {
-  filename?: Filename;
-  id?: ImagesComponentsSchemasIdentifier;
-  metadata?: Metadata;
-  requireSignedURLs?: RequireSignedURLsT5ww2QVG;
-  uploaded?: UploadedYGkLPeev;
-  variants?: SchemasVariants;
-};
-
-/**
- * Image unique identifier.
- *
- * @example 107b9558-dd06-4bbd-5fef-9c2c16bb7900
- * @maxLength 32
- */
-export type ImagesComponentsSchemasIdentifier = string;
-
-export type ImagesCount = {
-  allowed?: Allowed26ctRtQW;
-  current?: Current;
-};
-
-export type ImagesStats = {
-  count?: ImagesCount;
-};
-
-/**
- * Rules evaluated with an OR logical operator. A user needs to meet only one of the Include rules.
- */
-export type Include = Rule[];
-
-/**
- * Rules evaluated with an OR logical operator. A user needs to meet only one of the Include rules.
- */
-export type IncludeRuTbCgSD = RuleComponentsSchemasRule[];
-
-export type IncludeFVRZ2Ny8 = SplitTunnelInclude[];
-
-/**
- * The value to be checked against.
- */
-export type Input = {
-  checkDisks?: CheckDisks;
-  id?: UuidUoyzrwvx;
-  requireAll?: RequireAll;
-};
-
-export type InputOZLZZB6G = {
+  last_updated: string;
   /**
-   * The video height in pixels. A value of `-1` means the height is unknown. The value becomes available after the upload and before the video is ready.
+   * An object configuring the rule's logging behavior.
    */
-  height?: number;
+  logging?: {
+    /**
+     * Whether to generate a log when the rule matches.
+     *
+     * @example true
+     */
+    enabled: boolean;
+  };
   /**
-   * The video width in pixels. A value of `-1` means the width is unknown. The value becomes available after the upload and before the video is ready.
+   * An object configuring the rule's ratelimit behavior.
    */
-  width?: number;
-};
-
-/**
- * The value to be checked against.
- */
-export type InputZcd2nhY2 = {
-  id?: DevicePostureRulesComponentsSchemasUuid;
-};
-
-/**
- * Details for streaming to an live input using RTMPS.
- */
-export type InputRtmps = {
-  streamKey?: InputRtmpsStreamKey;
-  url?: InputRtmpsUrl;
-};
-
-/**
- * The secret key to use when streaming via RTMPS to a live input.
- *
- * @example 2fb3cb9f17e68a2568d6ebed8d5505eak3ceaf8c9b1f395e1b76b79332497cada
- */
-export type InputRtmpsStreamKey = string;
-
-/**
- * The RTMPS URL you provide to the broadcaster, which they stream live video to.
- *
- * @example rtmps://live.cloudflare.com:443/live/
- */
-export type InputRtmpsUrl = string;
-
-/**
- * Details for streaming to a live input using SRT.
- */
-export type InputSrt = {
-  passphrase?: InputSrtStreamPassphrase;
-  streamId?: InputSrtStreamId;
-  url?: InputSrtUrl;
-};
-
-/**
- * The identifier of the live input to use when streaming via SRT.
- *
- * @example f256e6ea9341d51eea64c9454659e576
- */
-export type InputSrtStreamId = string;
-
-/**
- * The secret key to use when streaming via SRT to a live input.
- *
- * @example 2fb3cb9f17e68a2568d6ebed8d5505eak3ceaf8c9b1f395e1b76b79332497cada
- */
-export type InputSrtStreamPassphrase = string;
-
-/**
- * The SRT URL you provide to the broadcaster, which they stream live video to.
- *
- * @example srt://live.cloudflare.com:778
- */
-export type InputSrtUrl = string;
-
-/**
- * Details for streaming to a live input using WebRTC.
- */
-export type InputWebrtc = {
-  url?: InputWebrtcUrl;
-};
-
-/**
- * The WebRTC URL you provide to the broadcaster, which they stream live video to.
- *
- * @example https://customer-m033z5x00ks6nunl.cloudflarestream.com/b236bde30eb07b9d01318940e5fc3edake34a3efb3896e18f2dc277ce6cc993ad/webRTC/publish
- */
-export type InputWebrtcUrl = string;
-
-/**
- * app install id.
- */
-export type InstallId = string;
-
-export type InstantLogsJob = {
-  destination_conf?: SchemasDestinationConf;
-  fields?: Fields;
-  filter?: Filter;
-  sample?: Sample;
-  session_id?: SessionId;
-} | null;
-
-export type InstantLogsJobResponseCollection = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | any[] | string;
+  ratelimit?: {
+    /**
+     * Characteristics of the request on which the ratelimiter counter will be incremented.
+     *
+     * @example ip.src
+     * @minLength 1
+     */
+    characteristics: string[];
+    /**
+     * Defines when the ratelimit counter should be incremented. It is optional and defaults to the same as the rule's expression.
+     *
+     * @example http.request.body.raw eq "abcd"
+     */
+    counting_expression?: string;
+    /**
+     * Period of time in seconds after which the action will be disabled following its first execution.
+     *
+     * @example 600
+     */
+    mitigation_timeout?: number;
+    /**
+     * Period in seconds over which the counter is being incremented.
+     *
+     * @example 60
+     */
+    period: 10 | 60 | 600 | 3600;
+    /**
+     * The threshold of requests per period after which the action will be executed for the first time.
+     *
+     * @example 1000
+     */
+    requests_per_period?: number;
+    /**
+     * Defines if ratelimit counting is only done when an origin is reached.
+     *
+     * @example true
+     */
+    requests_to_origin?: boolean;
+    /**
+     * The score threshold per period for which the action will be executed the first time.
+     *
+     * @example 400
+     */
+    score_per_period?: number;
+    /**
+     * The response header name provided by the origin which should contain the score to increment ratelimit counter on.
+     *
+     * @example my-score
+     */
+    score_response_header_name?: string;
+  };
   /**
-   * Whether the API call was successful
+   * The reference of the rule (the rule ID by default).
    *
-   * @example true
+   * @example my_ref
+   * @minLength 1
    */
-  success: true;
+  ref?: string;
+  /**
+   * The version of the rule.
+   *
+   * @example 1
+   * @pattern ^[0-9]+$
+   */
+  version: string;
 };
 
-export type InstantLogsJobResponseSingle = ApiResponseSingleJE9eFdPt & {
-  result?: InstantLogsJob;
-};
+export type RulesetsRewriteUriPart =
+  | {
+      /**
+       * Predefined replacement value.
+       *
+       * @example /images
+       * @minLength 1
+       */
+      value: string;
+    }
+  | {
+      /**
+       * Expression to evaluate for the replacement value.
+       *
+       * @example regex_replace(http.request.uri.path, "/bar$", "/baz")
+       * @minLength 1
+       */
+      expression: string;
+    };
 
-/**
- * An entry derived from an integration
- */
-export type IntegrationEntry = {
-  created_at?: Timestamp;
+export type RulesetsRouteRule = {
+  action?: RulesetsRuleAction;
   /**
-   * Whether the entry is enabled or not.
+   * The parameters configuring the rule's action.
+   */
+  action_parameters?: {
+    /**
+     * Rewrite the HTTP Host header.
+     *
+     * @example static.example.com
+     * @minLength 1
+     */
+    host_header?: string;
+    /**
+     * Override the IP/TCP destination.
+     */
+    origin?: {
+      /**
+       * Override the resolved hostname.
+       *
+       * @example static.example.com
+       * @minLength 1
+       */
+      host?: string;
+      /**
+       * Override the destination port.
+       *
+       * @maximum 65535
+       * @minimum 1
+       */
+      port?: number;
+    };
+    /**
+     * Override the Server Name Indication (SNI).
+     */
+    sni?: {
+      /**
+       * The SNI override.
+       *
+       * @example static.example.com
+       * @minLength 1
+       */
+      value: string;
+    };
+  };
+  /**
+   * The categories of the rule.
+   *
+   * @example directory-traversal
+   * @example header
+   * @minItems 1
+   * @uniqueItems true
+   */
+  categories?: RulesetsRuleCategory[];
+  /**
+   * An informative description of the rule.
+   *
+   * @default
+   * @example Select origin server when IP address is not 1.1.1.1
+   */
+  description?: string;
+  /**
+   * Whether the rule should be executed.
    *
    * @example true
+   * @default true
    */
-  enabled?: boolean;
-  id?: EntryId;
+  enabled?: RulesetsRuleEnabled & void;
   /**
-   * The name of the entry.
+   * Configure checks for exposed credentials.
+   */
+  exposed_credential_check?: {
+    /**
+     * Expression that selects the password used in the credentials check.
+     *
+     * @example url_decode(http.request.body.form[\"password\"][0])
+     */
+    password_expression: string;
+    /**
+     * Expression that selects the user ID used in the credentials check.
+     *
+     * @example url_decode(http.request.body.form[\"username\"][0])
+     */
+    username_expression: string;
+  };
+  /**
+   * The expression defining which traffic will match the rule.
    *
-   * @example Top Secret
+   * @example ip.src ne 1.1.1.1
+   * @minLength 1
    */
-  name?: string;
+  expression?: string;
+  id?: RulesetsRuleId;
   /**
-   * ID of the parent profile
+   * The timestamp of when the rule was last modified.
+   *
+   * @example 2000-01-01T00:00:00.000000Z
+   * @format date-time
    */
-  profile_id?: void;
-  updated_at?: Timestamp;
-};
-
-export type IntegrationProfile = {
-  created_at?: Timestamp;
+  last_updated: string;
   /**
-   * The description of the profile.
+   * An object configuring the rule's logging behavior.
    */
-  description?: string;
+  logging?: {
+    /**
+     * Whether to generate a log when the rule matches.
+     *
+     * @example true
+     */
+    enabled: boolean;
+  };
   /**
-   * The entries for this profile.
+   * An object configuring the rule's ratelimit behavior.
    */
-  entries?: IntegrationEntry[];
-  id?: ProfileId;
+  ratelimit?: {
+    /**
+     * Characteristics of the request on which the ratelimiter counter will be incremented.
+     *
+     * @example ip.src
+     * @minLength 1
+     */
+    characteristics: string[];
+    /**
+     * Defines when the ratelimit counter should be incremented. It is optional and defaults to the same as the rule's expression.
+     *
+     * @example http.request.body.raw eq "abcd"
+     */
+    counting_expression?: string;
+    /**
+     * Period of time in seconds after which the action will be disabled following its first execution.
+     *
+     * @example 600
+     */
+    mitigation_timeout?: number;
+    /**
+     * Period in seconds over which the counter is being incremented.
+     *
+     * @example 60
+     */
+    period: 10 | 60 | 600 | 3600;
+    /**
+     * The threshold of requests per period after which the action will be executed for the first time.
+     *
+     * @example 1000
+     */
+    requests_per_period?: number;
+    /**
+     * Defines if ratelimit counting is only done when an origin is reached.
+     *
+     * @example true
+     */
+    requests_to_origin?: boolean;
+    /**
+     * The score threshold per period for which the action will be executed the first time.
+     *
+     * @example 400
+     */
+    score_per_period?: number;
+    /**
+     * The response header name provided by the origin which should contain the score to increment ratelimit counter on.
+     *
+     * @example my-score
+     */
+    score_response_header_name?: string;
+  };
   /**
-   * The name of the profile.
+   * The reference of the rule (the rule ID by default).
    *
-   * @example MIP Sensitivity Labels: Profile 1
+   * @example my_ref
+   * @minLength 1
    */
-  name?: string;
+  ref?: string;
   /**
-   * The type of the profile.
+   * The version of the rule.
    *
-   * @example integration
+   * @example 1
+   * @pattern ^[0-9]+$
    */
-  type?: 'integration';
-  updated_at?: Timestamp;
-};
-
-export type Interconnect = {
-  colo_name?: ComponentsSchemasName;
-  created_on?: SchemasCreatedOn;
-  description?: InterconnectComponentsSchemasDescription;
-  gre?: Gre;
-  health_check?: SchemasHealthCheck;
-  id?: SchemasIdentifierRYBwrxr7;
-  interface_address?: InterfaceAddress;
-  modified_on?: SchemasModifiedOn;
-  mtu?: SchemasMtu;
-  name?: ComponentsSchemasName;
+  version: string;
 };
 
-/**
- * An optional description of the interconnect.
- *
- * @example Tunnel for Interconnect to ORD
- */
-export type InterconnectComponentsSchemasDescription = string;
-
-/**
- * A 31-bit prefix (/31 in CIDR notation) supporting two hosts, one for each side of the tunnel. Select the subnet from the following private IP space: 10.0.0.0–10.255.255.255, 172.16.0.0–172.31.255.255, 192.168.0.0–192.168.255.255.
- *
- * @example 192.0.2.0/31
- */
-export type InterfaceAddress = string;
-
-/**
- * The interval between each health check. Shorter intervals may give quicker notifications if the origin status changes, but will increase load on the origin as we check from multiple locations.
- *
- * @default 60
- */
-export type Interval = number;
-
-/**
- * The interval between each posture check with the third party API. Use "m" for minutes (e.g. "5m") and "h" for hours (e.g. "12h").
- *
- * @example 10m
- */
-export type IntervalCy0QprOB = string;
-
-/**
- * The interval between each health check. Shorter intervals may improve failover time, but will increase load on the origins as we check from multiple locations.
- *
- * @default 60
- */
-export type IntervalHvanFWV2 = number;
-
-/**
- * The interval between each health check. Shorter intervals may improve failover time, but will increase load on the origins as we check from multiple locations.
- *
- * @default 60
- */
-export type IntervalLx3GfHR3 = number;
-
-export type IntuneConfigRequest = {
+export type RulesetsRule = {
+  action?: RulesetsRuleAction;
   /**
-   * The Intune client ID.
+   * The parameters configuring the rule's action.
+   */
+  action_parameters?: Record<string, any>;
+  /**
+   * The categories of the rule.
    *
-   * @example example client id
+   * @example directory-traversal
+   * @example header
+   * @minItems 1
+   * @uniqueItems true
    */
-  client_id: string;
+  categories?: RulesetsRuleCategory[];
   /**
-   * The Intune client secret.
+   * An informative description of the rule.
    *
-   * @example example client secret
+   * @default
    */
-  client_secret: string;
+  description?: string;
   /**
-   * The Intune customer ID.
+   * Whether the rule should be executed.
    *
-   * @example example customer id
+   * @example true
+   * @default true
    */
-  customer_id: string;
+  enabled?: RulesetsRuleEnabled & void;
+  /**
+   * Configure checks for exposed credentials.
+   */
+  exposed_credential_check?: {
+    /**
+     * Expression that selects the password used in the credentials check.
+     *
+     * @example url_decode(http.request.body.form[\"password\"][0])
+     */
+    password_expression: string;
+    /**
+     * Expression that selects the user ID used in the credentials check.
+     *
+     * @example url_decode(http.request.body.form[\"username\"][0])
+     */
+    username_expression: string;
+  };
+  /**
+   * The expression defining which traffic will match the rule.
+   *
+   * @example ip.src ne 1.1.1.1
+   * @minLength 1
+   */
+  expression?: string;
+  id?: RulesetsRuleId;
+  /**
+   * The timestamp of when the rule was last modified.
+   *
+   * @example 2000-01-01T00:00:00.000000Z
+   * @format date-time
+   */
+  last_updated: string;
+  /**
+   * An object configuring the rule's logging behavior.
+   */
+  logging?: {
+    /**
+     * Whether to generate a log when the rule matches.
+     *
+     * @example true
+     */
+    enabled: boolean;
+  };
+  /**
+   * An object configuring the rule's ratelimit behavior.
+   */
+  ratelimit?: {
+    /**
+     * Characteristics of the request on which the ratelimiter counter will be incremented.
+     *
+     * @example ip.src
+     * @minLength 1
+     */
+    characteristics: string[];
+    /**
+     * Defines when the ratelimit counter should be incremented. It is optional and defaults to the same as the rule's expression.
+     *
+     * @example http.request.body.raw eq "abcd"
+     */
+    counting_expression?: string;
+    /**
+     * Period of time in seconds after which the action will be disabled following its first execution.
+     *
+     * @example 600
+     */
+    mitigation_timeout?: number;
+    /**
+     * Period in seconds over which the counter is being incremented.
+     *
+     * @example 60
+     */
+    period: 10 | 60 | 600 | 3600;
+    /**
+     * The threshold of requests per period after which the action will be executed for the first time.
+     *
+     * @example 1000
+     */
+    requests_per_period?: number;
+    /**
+     * Defines if ratelimit counting is only done when an origin is reached.
+     *
+     * @example true
+     */
+    requests_to_origin?: boolean;
+    /**
+     * The score threshold per period for which the action will be executed the first time.
+     *
+     * @example 400
+     */
+    score_per_period?: number;
+    /**
+     * The response header name provided by the origin which should contain the score to increment ratelimit counter on.
+     *
+     * @example my-score
+     */
+    score_response_header_name?: string;
+  };
+  /**
+   * The reference of the rule (the rule ID by default).
+   *
+   * @example my_ref
+   * @minLength 1
+   */
+  ref?: string;
+  /**
+   * The version of the rule.
+   *
+   * @example 1
+   * @pattern ^[0-9]+$
+   */
+  version: string;
 };
 
-export type Invite = OrganizationInvite;
-
-/**
- * Invite identifier tag.
- *
- * @example 4f5f0c14a2a41d5063dd301b2f829f04
- * @maxLength 32
- */
-export type InviteComponentsSchemasIdentifier = string;
-
-/**
- * The email address of the user who created the invite.
- *
- * @example user@example.com
- * @maxLength 90
- */
-export type InvitedBy = string;
-
 /**
- * Email address of the user to add to the organization.
- *
- * @example user@example.com
- * @maxLength 90
+ * The action to perform when the rule matches.
+ *
+ * @pattern ^[a-z]+$
  */
-export type InvitedMemberEmail = string;
+export type RulesetsRuleAction = string;
 
 /**
- * When the invite was sent.
+ * A category of the rule.
  *
- * @example 2014-01-01T05:20:00Z
- * @format date-time
+ * @example directory-traversal
+ * @minLength 1
  */
-export type InvitedOn = string;
+export type RulesetsRuleCategory = string;
 
 /**
- * An IPv4 or IPv6 address.
+ * Whether the rule should be executed.
  *
- * @example 192.0.2.1
+ * @example true
  */
-export type Ip = string;
+export type RulesetsRuleEnabled = boolean;
 
 /**
- * IPv4/IPv6 address of primary or secondary nameserver, depending on what zone this peer is linked to. For primary zones this IP defines the IP of the secondary nameserver Cloudflare will NOTIFY upon zone changes. For secondary zones this IP defines the IP of the primary nameserver Cloudflare will send AXFR/IXFR requests to.
+ * The unique ID of the rule.
  *
- * @example 192.0.2.53
+ * @example 3a03d665bac047339bb530ecb439a90d
+ * @pattern ^[0-9a-f]{32}$
  */
-export type Ip6EYJJOTh = string;
+export type RulesetsRuleId = string;
 
 /**
- * IPV6 destination ip assigned to this location. DNS requests sent to this IP will counted as the request under this location. (auto-generated).
- *
- * @example 2001:0db8:85a3:0000:0000:8a2e:0370:7334
+ * An object configuring where the rule will be placed.
  */
-export type IpCcOd8dAo = string;
+export type RulesetsRulePosition = Record<string, any>;
 
-export type IpList = {
+/**
+ * A ruleset object.
+ */
+export type RulesetsRuleset = {
+  /**
+   * An informative description of the ruleset.
+   *
+   * @default
+   * @example My ruleset to execute managed rulesets
+   */
   description?: string;
-  id?: number;
   /**
-   * @example Malware
+   * The unique ID of the ruleset.
+   *
+   * @example 2f2feab2026849078ba485f918791bdc
+   * @pattern ^[0-9a-f]{32}$
+   */
+  id: RulesetsRulesetId & void;
+  /**
+   * The timestamp of when the ruleset was last modified.
+   *
+   * @example 2000-01-01T00:00:00.000000Z
+   * @format date-time
+   */
+  last_updated: string;
+  /**
+   * The human-readable name of the ruleset.
+   *
+   * @example My ruleset
+   * @minLength 1
    */
   name?: string;
+  /**
+   * The version of the ruleset.
+   *
+   * @example 1
+   * @pattern ^[0-9]+$
+   */
+  version: RulesetsRulesetVersion & void;
 };
 
 /**
- * IPv4 or IPv6 address.
+ * The unique ID of the ruleset.
  *
- * @example 1.1.1.1
+ * @example 2f2feab2026849078ba485f918791bdc
+ * @pattern ^[0-9a-f]{32}$
  */
-export type IpMKmJkd3b = string;
+export type RulesetsRulesetId = string;
 
 /**
- * The IP address of the authenticating user.
+ * The kind of the ruleset.
  *
- * @example 198.41.129.166
+ * @example root
  */
-export type IpRSepkSnX = string;
+export type RulesetsRulesetKind = 'managed' | 'custom' | 'root' | 'zone';
 
 /**
- * An IPv4 or IPv6 address.
+ * The phase of the ruleset.
  *
- * @example 192.0.2.1
+ * @example http_request_firewall_custom
+ */
+export type RulesetsRulesetPhase =
+  | 'ddos_l4'
+  | 'ddos_l7'
+  | 'http_config_settings'
+  | 'http_custom_errors'
+  | 'http_log_custom_fields'
+  | 'http_ratelimit'
+  | 'http_request_cache_settings'
+  | 'http_request_dynamic_redirect'
+  | 'http_request_firewall_custom'
+  | 'http_request_firewall_managed'
+  | 'http_request_late_transform'
+  | 'http_request_origin'
+  | 'http_request_redirect'
+  | 'http_request_sanitize'
+  | 'http_request_sbfm'
+  | 'http_request_transform'
+  | 'http_response_compression'
+  | 'http_response_firewall_managed'
+  | 'http_response_headers_transform'
+  | 'magic_transit'
+  | 'magic_transit_ids_managed'
+  | 'magic_transit_managed'
+  | 'magic_transit_ratelimit';
+
+/**
+ * The version of the ruleset.
+ *
+ * @example 1
+ * @pattern ^[0-9]+$
  */
-export type IpAddress = string;
+export type RulesetsRulesetVersion = string;
 
-export type IpComponentsSchemasIp = {
+export type RulesetsScoreRule = {
+  action?: RulesetsRuleAction;
   /**
-   * Specifies a reference to the autonomous systems (AS) that the IP address belongs to.
+   * The parameters configuring the rule's action.
+   *
+   * @example {"increment":3}
+   * @minProperties 1
    */
-  belongs_to_ref?: {
+  action_parameters?: {
+    /**
+     * Increment contains the delta to change the score and can be either positive or negative.
+     *
+     * @example 3
+     */
+    increment?: number;
+  };
+  /**
+   * The categories of the rule.
+   *
+   * @example directory-traversal
+   * @example header
+   * @minItems 1
+   * @uniqueItems true
+   */
+  categories?: RulesetsRuleCategory[];
+  /**
+   * An informative description of the rule.
+   *
+   * @default
+   * @example Increment score when the IP address is not 1.1.1.1
+   */
+  description?: string;
+  /**
+   * Whether the rule should be executed.
+   *
+   * @example true
+   * @default true
+   */
+  enabled?: RulesetsRuleEnabled & void;
+  /**
+   * Configure checks for exposed credentials.
+   */
+  exposed_credential_check?: {
+    /**
+     * Expression that selects the password used in the credentials check.
+     *
+     * @example url_decode(http.request.body.form[\"password\"][0])
+     */
+    password_expression: string;
+    /**
+     * Expression that selects the user ID used in the credentials check.
+     *
+     * @example url_decode(http.request.body.form[\"username\"][0])
+     */
+    username_expression: string;
+  };
+  /**
+   * The expression defining which traffic will match the rule.
+   *
+   * @example ip.src ne 1.1.1.1
+   * @minLength 1
+   */
+  expression?: string;
+  id?: RulesetsRuleId;
+  /**
+   * The timestamp of when the rule was last modified.
+   *
+   * @example 2000-01-01T00:00:00.000000Z
+   * @format date-time
+   */
+  last_updated: string;
+  /**
+   * An object configuring the rule's logging behavior.
+   */
+  logging?: {
+    /**
+     * Whether to generate a log when the rule matches.
+     *
+     * @example true
+     */
+    enabled: boolean;
+  };
+  /**
+   * An object configuring the rule's ratelimit behavior.
+   */
+  ratelimit?: {
+    /**
+     * Characteristics of the request on which the ratelimiter counter will be incremented.
+     *
+     * @example ip.src
+     * @minLength 1
+     */
+    characteristics: string[];
+    /**
+     * Defines when the ratelimit counter should be incremented. It is optional and defaults to the same as the rule's expression.
+     *
+     * @example http.request.body.raw eq "abcd"
+     */
+    counting_expression?: string;
+    /**
+     * Period of time in seconds after which the action will be disabled following its first execution.
+     *
+     * @example 600
+     */
+    mitigation_timeout?: number;
+    /**
+     * Period in seconds over which the counter is being incremented.
+     *
+     * @example 60
+     */
+    period: 10 | 60 | 600 | 3600;
+    /**
+     * The threshold of requests per period after which the action will be executed for the first time.
+     *
+     * @example 1000
+     */
+    requests_per_period?: number;
+    /**
+     * Defines if ratelimit counting is only done when an origin is reached.
+     *
+     * @example true
+     */
+    requests_to_origin?: boolean;
+    /**
+     * The score threshold per period for which the action will be executed the first time.
+     *
+     * @example 400
+     */
+    score_per_period?: number;
+    /**
+     * The response header name provided by the origin which should contain the score to increment ratelimit counter on.
+     *
+     * @example my-score
+     */
+    score_response_header_name?: string;
+  };
+  /**
+   * The reference of the rule (the rule ID by default).
+   *
+   * @example my_ref
+   * @minLength 1
+   */
+  ref?: string;
+  /**
+   * The version of the rule.
+   *
+   * @example 1
+   * @pattern ^[0-9]+$
+   */
+  version: string;
+};
+
+export type RulesetsServeErrorRule = {
+  action?: RulesetsRuleAction;
+  /**
+   * The parameters configuring the rule's action.
+   */
+  action_parameters?: {
+    /**
+     * Error response content.
+     *
+     * @example {"error": "1xxx error occurred"}
+     * @maxLength 10240
+     * @minLength 1
+     */
+    content?: string;
+    /**
+     * Content-type header to set with the response.
+     *
+     * @example application/json
+     */
+    content_type?: 'application/json' | 'text/xml' | 'text/plain' | 'text/html';
+    /**
+     * The status code to use for the error.
+     *
+     * @example 500
+     * @maximum 999
+     * @minimum 400
+     */
+    status_code?: number;
+  };
+  /**
+   * The categories of the rule.
+   *
+   * @example directory-traversal
+   * @example header
+   * @minItems 1
+   * @uniqueItems true
+   */
+  categories?: RulesetsRuleCategory[];
+  /**
+   * An informative description of the rule.
+   *
+   * @default
+   * @example Serve a JSON response to api users on error
+   */
+  description?: string;
+  /**
+   * Whether the rule should be executed.
+   *
+   * @example true
+   * @default true
+   */
+  enabled?: RulesetsRuleEnabled & void;
+  /**
+   * Configure checks for exposed credentials.
+   */
+  exposed_credential_check?: {
+    /**
+     * Expression that selects the password used in the credentials check.
+     *
+     * @example url_decode(http.request.body.form[\"password\"][0])
+     */
+    password_expression: string;
+    /**
+     * Expression that selects the user ID used in the credentials check.
+     *
+     * @example url_decode(http.request.body.form[\"username\"][0])
+     */
+    username_expression: string;
+  };
+  /**
+   * The expression defining which traffic will match the rule.
+   *
+   * @example ip.src ne 1.1.1.1
+   * @minLength 1
+   */
+  expression?: string;
+  id?: RulesetsRuleId;
+  /**
+   * The timestamp of when the rule was last modified.
+   *
+   * @example 2000-01-01T00:00:00.000000Z
+   * @format date-time
+   */
+  last_updated: string;
+  /**
+   * An object configuring the rule's logging behavior.
+   */
+  logging?: {
+    /**
+     * Whether to generate a log when the rule matches.
+     *
+     * @example true
+     */
+    enabled: boolean;
+  };
+  /**
+   * An object configuring the rule's ratelimit behavior.
+   */
+  ratelimit?: {
+    /**
+     * Characteristics of the request on which the ratelimiter counter will be incremented.
+     *
+     * @example ip.src
+     * @minLength 1
+     */
+    characteristics: string[];
+    /**
+     * Defines when the ratelimit counter should be incremented. It is optional and defaults to the same as the rule's expression.
+     *
+     * @example http.request.body.raw eq "abcd"
+     */
+    counting_expression?: string;
+    /**
+     * Period of time in seconds after which the action will be disabled following its first execution.
+     *
+     * @example 600
+     */
+    mitigation_timeout?: number;
+    /**
+     * Period in seconds over which the counter is being incremented.
+     *
+     * @example 60
+     */
+    period: 10 | 60 | 600 | 3600;
+    /**
+     * The threshold of requests per period after which the action will be executed for the first time.
+     *
+     * @example 1000
+     */
+    requests_per_period?: number;
+    /**
+     * Defines if ratelimit counting is only done when an origin is reached.
+     *
+     * @example true
+     */
+    requests_to_origin?: boolean;
+    /**
+     * The score threshold per period for which the action will be executed the first time.
+     *
+     * @example 400
+     */
+    score_per_period?: number;
+    /**
+     * The response header name provided by the origin which should contain the score to increment ratelimit counter on.
+     *
+     * @example my-score
+     */
+    score_response_header_name?: string;
+  };
+  /**
+   * The reference of the rule (the rule ID by default).
+   *
+   * @example my_ref
+   * @minLength 1
+   */
+  ref?: string;
+  /**
+   * The version of the rule.
+   *
+   * @example 1
+   * @pattern ^[0-9]+$
+   */
+  version: string;
+};
+
+export type RulesetsSetCacheSettingsRule = {
+  action?: RulesetsRuleAction;
+  /**
+   * The parameters configuring the rule's action.
+   */
+  action_parameters?: {
+    /**
+     * List of additional ports that caching can be enabled on.
+     */
+    additional_cacheable_ports?: number[];
+    /**
+         * Specify how long client browsers should cache the response. Cloudflare cache purge will not purge content cached on client browsers, so high browser TTLs may lead to stale content.
+         *
+         * @example {
+            "mode": "override_origin",
+            "default": 1000
+        }
+         */
+    browser_ttl?: {
+      /**
+       * The TTL (in seconds) if you choose override_origin mode.
+       */
+      ['default']?: number;
+      /**
+       * Determines which browser ttl mode to use.
+       */
+      mode: 'respect_origin' | 'bypass_by_default' | 'override_origin';
+    };
+    /**
+     * Mark whether the request’s response from origin is eligible for caching. Caching itself will still depend on the cache-control header and your other caching configurations.
+     */
+    cache?: boolean;
     /**
-     * @example US
+     * Define which components of the request are included or excluded from the cache key Cloudflare uses to store the response in cache.
      */
-    country?: string;
+    cache_key?: {
+      /**
+       * Separate cached content based on the visitor’s device type
+       */
+      cache_by_device_type?: boolean;
+      /**
+       * Protect from web cache deception attacks while allowing static assets to be cached
+       */
+      cache_deception_armor?: boolean;
+      /**
+       * Customize which components of the request are included or excluded from the cache key.
+       */
+      custom_key?: {
+        /**
+         * The cookies to include in building the cache key.
+         */
+        cookie?: {
+          /**
+           * Checks for the presence of these cookie names. The presence of these cookies is used in building the cache key.
+           */
+          check_presence?: string[];
+          /**
+           * Include these cookies' names and their values.
+           */
+          include?: string[];
+        };
+        /**
+         * The header names and values to include in building the cache key.
+         */
+        header?: {
+          /**
+           * Checks for the presence of these header names. The presence of these headers is used in building the cache key.
+           */
+          check_presence?: string[];
+          /**
+           * For each header name and list of values combination, check if the request header contains any of the values provided. The presence of the request header and whether any of the values provided are contained in the request header value is used in building the cache key.
+           */
+          contains?: {
+            [key: string]: string[];
+          };
+          /**
+           * Whether or not to include the origin header. A value of true will exclude the origin header in the cache key.
+           */
+          exclude_origin?: boolean;
+          /**
+           * Include these headers' names and their values.
+           */
+          include?: string[];
+        };
+        /**
+         * Whether to use the original host or the resolved host in the cache key.
+         */
+        host?: {
+          /**
+           * Use the resolved host in the cache key. A value of true will use the resolved host, while a value or false will use the original host.
+           *
+           * @example true
+           */
+          resolved?: boolean;
+        };
+        /**
+         * Use the presence or absence of parameters in the query string to build the cache key.
+         */
+        query_string?: {
+          /**
+           * build the cache key using all query string parameters EXCECPT these excluded parameters
+           */
+          exclude?: {
+            /**
+             * Exclude all query string parameters from use in building the cache key.
+             */
+            all?: boolean;
+            /**
+             * A list of query string parameters NOT used to build the cache key. All parameters present in the request but missing in this list will be used to build the cache key.
+             */
+            list?: string[];
+          };
+          /**
+           * build the cache key using a list of query string parameters that ARE in the request.
+           */
+          include?: {
+            /**
+             * Use all query string parameters in the cache key.
+             */
+            all?: boolean;
+            /**
+             * A list of query string parameters used to build the cache key.
+             */
+            list?: string[];
+          };
+        };
+        /**
+         * Characteristics of the request user agent used in building the cache key.
+         */
+        user?: {
+          /**
+           * Use the user agent's device type in the cache key.
+           */
+          device_type?: boolean;
+          /**
+           * Use the user agents's country in the cache key.
+           */
+          geo?: boolean;
+          /**
+           * Use the user agent's language in the cache key.
+           */
+          lang?: boolean;
+        };
+      };
+      /**
+       * Treat requests with the same query parameters the same, regardless of the order those query parameters are in. A value of true ignores the query strings' order.
+       */
+      ignore_query_strings_order?: boolean;
+    };
     /**
-     * @example CLOUDFLARENET
+     * Mark whether the request's response from origin is eligible for  Cache Reserve (requires a Cache Reserve add-on plan).
      */
-    description?: string;
+    cache_reserve?: {
+      /**
+             * Determines whether cache reserve is enabled. If this is true and a request meets eligibility criteria, Cloudflare will write the resource to cache reserve.
+             *
+             * @example {
+                "eligible": true,
+                "minimum_file_size": 100000
+            }
+             */
+      eligible: boolean;
+      /**
+       * The minimum file size eligible for store in cache reserve.
+       */
+      minimum_file_size: number;
+    };
     /**
-     * @example autonomous-system--2fa28d71-3549-5a38-af05-770b79ad6ea8
+         * TTL (Time to Live) specifies the maximum time to cache a resource in the Cloudflare edge network.
+         *
+         * @example {
+            "status_code_ttl": [
+                {
+                    "status_code_range": {
+                        "to": 299
+                    },
+                    "value": 86400
+                },
+                {
+                    "status_code_range": {
+                        "from": 300,
+                        "to": 499
+                    },
+                    "value": 0
+                },
+                {
+                    "status_code_range": {
+                        "from": 500
+                    },
+                    "value": -1
+                }
+            ],
+            "mode": "respect_origin"
+        }
+         */
+    edge_ttl?: {
+      /**
+       * The TTL (in seconds) if you choose override_origin mode.
+       *
+       * @maximum 9223372036854776000
+       * @minimum 0
+       */
+      ['default']: number;
+      /**
+       * edge ttl options
+       */
+      mode: 'respect_origin' | 'bypass_by_default' | 'override_origin';
+      /**
+       * List of single status codes, or status code ranges to apply the selected mode
+       */
+      status_code_ttl: {
+        /**
+         * The range of status codes used to apply the selected mode.
+         */
+        status_code_range?: {
+          /**
+           * response status code lower bound
+           */
+          from: number;
+          /**
+           * response status code upper bound
+           */
+          to: number;
+        };
+        /**
+         * Set the ttl for responses with this specific status code
+         */
+        status_code_value?: number;
+        /**
+         * Time to cache a response (in seconds). A value of 0 is equivalent to setting the Cache-Control header with the value "no-cache". A value of -1 is equivalent to setting Cache-Control header with the value of "no-store".
+         */
+        value: number;
+      }[];
+    };
+    /**
+     * When enabled, Cloudflare will aim to strictly adhere to RFC 7234.
      */
-    id?: void;
+    origin_cache_control?: boolean;
     /**
-     * Infrastructure type of this ASN.
+     * Generate Cloudflare error pages from issues sent from the origin server. When on, error pages will trigger for issues from the origin
+     */
+    origin_error_page_passthru?: boolean;
+    /**
+     * Define a timeout value between two successive read operations to your origin server. Historically, the timeout value between two read options from Cloudflare to an origin server is 100 seconds. If you are attempting to reduce HTTP 524 errors because of timeouts from an origin server, try increasing this timeout value.
      *
-     * @example hosting_provider
+     * @example 900
      */
-    type?: 'hosting_provider' | 'isp' | 'organization';
-    value?: string;
+    read_timeout?: number;
+    /**
+     * Specify whether or not Cloudflare should respect strong ETag (entity tag) headers. When off, Cloudflare converts strong ETag headers to weak ETag headers.
+     */
+    respect_strong_etags?: boolean;
+    /**
+     * Define if Cloudflare should serve stale content while getting the latest content from the origin. If on, Cloudflare will not serve stale content while getting the latest content from the origin.
+     */
+    serve_stale?: {
+      /**
+       * Defines whether Cloudflare should serve stale content while updating. If true, Cloudflare will not serve stale content while getting the latest content from the origin.
+       */
+      disable_stale_while_updating: boolean;
+    };
   };
-  ip?: CommonComponentsSchemasIp;
-  /**
-   * @example {"id":131,"name":"Phishing","super_category_id":21}
-   */
-  risk_types?: void;
-};
-
-export type IpConfiguration = {
   /**
-   * The configuration target. You must set the target to `ip` when specifying an IP address in the rule.
+   * The categories of the rule.
    *
-   * @example ip
+   * @example directory-traversal
+   * @example header
+   * @minItems 1
+   * @uniqueItems true
    */
-  target?: 'ip';
+  categories?: RulesetsRuleCategory[];
   /**
-   * The IP address to match. This address will be compared to the IP address of incoming requests.
+   * An informative description of the rule.
    *
-   * @example 198.51.100.4
+   * @default
+   * @example Set cache settings when the hostname  address is not example.com
    */
-  value?: string;
-};
-
-/**
- * Enables IP Access Rules for this application.
- * Notes: Only available for TCP applications.
- *
- * @example true
- */
-export type IpFirewall = boolean;
-
-/**
- * Enable IP Geolocation to have Cloudflare geolocate visitors to your website and pass the country code to you. (https://support.cloudflare.com/hc/en-us/articles/200168236).
- */
-export type IpGeolocation = {
+  description?: string;
   /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   * Whether the rule should be executed.
    *
+   * @example true
    * @default true
    */
-  editable?: true | false;
+  enabled?: RulesetsRuleEnabled & void;
   /**
-   * ID of the zone setting.
+   * Configure checks for exposed credentials.
+   */
+  exposed_credential_check?: {
+    /**
+     * Expression that selects the password used in the credentials check.
+     *
+     * @example url_decode(http.request.body.form[\"password\"][0])
+     */
+    password_expression: string;
+    /**
+     * Expression that selects the user ID used in the credentials check.
+     *
+     * @example url_decode(http.request.body.form[\"username\"][0])
+     */
+    username_expression: string;
+  };
+  /**
+   * The expression defining which traffic will match the rule.
    *
-   * @example ip_geolocation
+   * @example ip.src ne 1.1.1.1
+   * @minLength 1
    */
-  id: 'ip_geolocation';
+  expression?: string;
+  id?: RulesetsRuleId;
   /**
-   * last time this setting was modified.
+   * The timestamp of when the rule was last modified.
    *
-   * @example 2014-01-01T05:20:00.12345Z
+   * @example 2000-01-01T00:00:00.000000Z
    * @format date-time
    */
-  modified_on?: string | null;
+  last_updated: string;
   /**
-   * Current value of the zone setting.
-   *
-   * @example on
+   * An object configuring the rule's logging behavior.
    */
-  value: IpGeolocationValue;
-};
-
-/**
- * Value of the zone setting.
- *
- * @default on
- */
-export type IpGeolocationValue = 'on' | 'off';
-
-/**
- * Matches an IP address from a list.
- */
-export type IpListRule = {
-  ip_list: {
+  logging?: {
     /**
-     * The ID of a previously created IP list.
+     * Whether to generate a log when the rule matches.
      *
-     * @example aa0a4aab-672b-4bdb-bc33-a59f1130a11f
+     * @example true
      */
-    id: string;
+    enabled: boolean;
   };
-};
-
-/**
- * The private IPv4 or IPv6 range connected by the route, in CIDR notation.
- *
- * @example 172.16.0.0/16
- */
-export type IpNetwork = string;
-
-/**
- * IP/CIDR range in URL-encoded format
- *
- * @example 172.16.0.0%2F16
- */
-export type IpNetworkEncoded = string;
-
-/**
- * Allowed IPv4/IPv6 address range of primary or secondary nameservers. This will be applied for the entire account. The IP range is used to allow additional NOTIFY IPs for secondary zones and IPs Cloudflare allows AXFR/IXFR requests from for primary zones. CIDRs are limited to a maximum of /24 for IPv4 and /64 for IPv6 respectively.
- *
- * @example 192.0.2.53/28
- */
-export type IpRange = string;
-
-/**
- * A single IP address range to search for in existing rules.
- *
- * @example 1.2.3.0/16
- */
-export type IpRangeSearch = string;
-
-/**
- * Matches an IP address block.
- */
-export type IpRule = {
-  ip: {
+  /**
+   * An object configuring the rule's ratelimit behavior.
+   */
+  ratelimit?: {
     /**
-     * An IPv4 or IPv6 CIDR block.
+     * Characteristics of the request on which the ratelimiter counter will be incremented.
      *
-     * @example 2400:cb00:21:10a::/64
+     * @example ip.src
+     * @minLength 1
      */
-    ip: string;
-  };
-};
-
-/**
- * A single IP address to search for in existing rules.
- *
- * @example 1.2.3.4
- */
-export type IpSearch = string;
-
-export type IpamDelegations = {
-  cidr?: Cidr;
-  created_at?: Timestamp;
-  delegated_account_id?: DelegatedAccountIdentifier;
-  id?: DelegationIdentifier;
-  modified_at?: Timestamp;
-  parent_prefix_id?: Identifier;
-};
-
-export type IpamDelegationsGltFXre0 = {
-  cidr?: Cidr;
-  created_at?: Timestamp;
-  delegated_account_id?: DelegatedAccountIdentifier4pd98LdN;
-  id?: DelegationIdentifier;
-  modified_at?: Timestamp;
-  parent_prefix_id?: CommonComponentsSchemasIdentifier;
-};
-
-export type IpamDelegationsComponentsSchemasIdResponse = ApiResponseSingleLarS7owG & {
-  result?: {
-    id?: DelegationIdentifier;
-  };
-};
-
-export type IpamDelegationsComponentsSchemasResponseCollection = ApiResponseCollection & {
-  result?: IpamDelegationsGltFXre0[];
-};
-
-export type IpamDelegationsComponentsSchemasSingleResponse = ApiResponseSingleLarS7owG & {
-  result?: IpamDelegationsGltFXre0;
-};
-
-export type IpamPrefixes = {
-  account_id?: Identifier;
-  advertised?: Advertised;
-  advertised_modified_at?: ModifiedAtNullable;
-  approved?: Approved;
-  asn?: Asn;
-  cidr?: Cidr;
-  created_at?: Timestamp;
-  description?: Description;
-  id?: Identifier;
-  loa_document_id?: LoaDocumentIdentifier;
-  modified_at?: Timestamp;
-  on_demand_enabled?: OnDemandEnabled;
-  on_demand_locked?: OnDemandLocked;
-};
-
-export type IpamPrefixesUvf9zgla = {
-  account_id?: CommonComponentsSchemasIdentifier;
-  advertised?: Advertised;
-  advertised_modified_at?: ModifiedAtNullable;
-  approved?: Approved;
-  asn?: AsnT2U9T8kj;
-  cidr?: Cidr;
-  created_at?: Timestamp;
-  description?: IpamPrefixesComponentsSchemasDescription;
-  id?: CommonComponentsSchemasIdentifier;
-  loa_document_id?: LoaDocumentIdentifierGtDvyfh0;
-  modified_at?: Timestamp;
-  on_demand_enabled?: OnDemandEnabled;
-  on_demand_locked?: OnDemandLocked;
-};
-
-/**
- * Description of the prefix.
- *
- * @example Internal test prefix
- * @maxLength 1000
- */
-export type IpamPrefixesComponentsSchemasDescription = string;
-
-export type IpamPrefixesComponentsSchemasResponseCollection = ApiResponseCollection & {
-  result?: IpamPrefixesUvf9zgla[];
-};
-
-export type IpamPrefixesComponentsSchemasSingleResponse = ApiResponseSingleLarS7owG & {
-  result?: IpamPrefixesUvf9zgla;
-};
-
-export type Ips = {
+    characteristics: string[];
+    /**
+     * Defines when the ratelimit counter should be incremented. It is optional and defaults to the same as the rule's expression.
+     *
+     * @example http.request.body.raw eq "abcd"
+     */
+    counting_expression?: string;
+    /**
+     * Period of time in seconds after which the action will be disabled following its first execution.
+     *
+     * @example 600
+     */
+    mitigation_timeout?: number;
+    /**
+     * Period in seconds over which the counter is being incremented.
+     *
+     * @example 60
+     */
+    period: 10 | 60 | 600 | 3600;
+    /**
+     * The threshold of requests per period after which the action will be executed for the first time.
+     *
+     * @example 1000
+     */
+    requests_per_period?: number;
+    /**
+     * Defines if ratelimit counting is only done when an origin is reached.
+     *
+     * @example true
+     */
+    requests_to_origin?: boolean;
+    /**
+     * The score threshold per period for which the action will be executed the first time.
+     *
+     * @example 400
+     */
+    score_per_period?: number;
+    /**
+     * The response header name provided by the origin which should contain the score to increment ratelimit counter on.
+     *
+     * @example my-score
+     */
+    score_response_header_name?: string;
+  };
   /**
-   * A digest of the IP data. Useful for determining if the data has changed.
+   * The reference of the rule (the rule ID by default).
    *
-   * @example a8e453d9d129a3769407127936edfdb0
-   */
-  etag?: string;
-  /**
-   * List of Cloudflare IPv4 CIDR addresses.
+   * @example my_ref
+   * @minLength 1
    */
-  ipv4_cidrs?: string[];
+  ref?: string;
   /**
-   * List of Cloudflare IPv6 CIDR addresses.
+   * The version of the rule.
+   *
+   * @example 1
+   * @pattern ^[0-9]+$
    */
-  ipv6_cidrs?: string[];
+  version: string;
 };
 
-/**
- * The set of IPs on the Address Map.
- */
-export type Ips9iuFUAPm = AddressMapsIpSOzzPbBz[];
-
-/**
- * A list of CIDRs to restrict ingress connections.
- */
-export type IpsFDl19jsa = string[];
-
-export type IpsJdcloud = {
-  etag?: Etag;
-  ipv4_cidrs?: Ipv4Cidrs;
-  ipv6_cidrs?: Ipv6Cidrs;
+export type RulesetsSetConfigRule = {
+  action?: RulesetsRuleAction;
   /**
-   * List IPv4 and IPv6 CIDRs, only popoulated if `?networks=jdcloud` is used.
+   * The parameters configuring the rule's action.
    */
-  jdcloud_cidrs?: string[];
-};
-
-export type IpsecTunnel = {
-  allow_null_cipher?: AllowNullCipher;
-  cloudflare_endpoint: CloudflareIpsecEndpoint;
-  created_on?: SchemasCreatedOn;
-  customer_endpoint?: CustomerIpsecEndpoint;
-  description?: ComponentsSchemasDescription;
-  id?: SchemasIdentifierRYBwrxr7;
-  interface_address: InterfaceAddress;
-  modified_on?: SchemasModifiedOn;
-  name: SchemasName;
-  psk_metadata?: PskMetadata;
-  tunnel_health_check?: TunnelHealthCheck;
-};
-
-/**
- * @example 192.0.2.0
- * @format ipv4
- */
-export type Ipv4 = string;
-
-/**
- * List of Cloudflare IPv4 CIDR addresses.
- */
-export type Ipv4Cidrs = string[];
-
-/**
- * Enable IPv6 on all subdomains that are Cloudflare enabled.  (https://support.cloudflare.com/hc/en-us/articles/200168586).
- */
-export type Ipv6 = {
+  action_parameters?: {
+    /**
+     * Turn on or off Automatic HTTPS Rewrites.
+     */
+    automatic_https_rewrites?: boolean;
+    /**
+     * Select which file extensions to minify automatically.
+     */
+    autominify?: {
+      /**
+       * Minify CSS files.
+       */
+      css?: boolean;
+      /**
+       * Minify HTML files.
+       */
+      html?: boolean;
+      /**
+       * Minify JS files.
+       */
+      js?: boolean;
+    };
+    /**
+     * Turn on or off Browser Integrity Check.
+     */
+    bic?: boolean;
+    /**
+     * Turn off all active Cloudflare Apps.
+     */
+    disable_apps?: true;
+    /**
+     * Turn off Real User Monitoring (RUM).
+     */
+    disable_rum?: true;
+    /**
+     * Turn off Zaraz.
+     */
+    disable_zaraz?: true;
+    /**
+     * Turn on or off Email Obfuscation.
+     */
+    email_obfuscation?: boolean;
+    /**
+     * Turn on or off Cloudflare Fonts.
+     */
+    fonts?: boolean;
+    /**
+     * Turn on or off the Hotlink Protection.
+     */
+    hotlink_protection?: boolean;
+    /**
+     * Turn on or off Mirage.
+     */
+    mirage?: boolean;
+    /**
+     * Turn on or off Opportunistic Encryption.
+     */
+    opportunistic_encryption?: boolean;
+    /**
+     * Configure the Polish level.
+     */
+    polish?: 'off' | 'lossless' | 'lossy';
+    /**
+     * Turn on or off Rocket Loader
+     */
+    rocket_loader?: boolean;
+    /**
+     * Configure the Security Level.
+     */
+    security_level?: 'off' | 'essentially_off' | 'low' | 'medium' | 'high' | 'under_attack';
+    /**
+     * Turn on or off Server Side Excludes.
+     */
+    server_side_excludes?: boolean;
+    /**
+     * Configure the SSL level.
+     */
+    ssl?: 'off' | 'flexible' | 'full' | 'strict' | 'origin_pull';
+    /**
+     * Turn on or off Signed Exchanges (SXG).
+     */
+    sxg?: boolean;
+  };
   /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   * The categories of the rule.
    *
-   * @default true
+   * @example directory-traversal
+   * @example header
+   * @minItems 1
+   * @uniqueItems true
    */
-  editable?: true | false;
+  categories?: RulesetsRuleCategory[];
   /**
-   * ID of the zone setting.
+   * An informative description of the rule.
    *
-   * @example ipv6
+   * @default
+   * @example Disable Zaraz when IP address is not 1.1.1.1
    */
-  id: 'ipv6';
+  description?: string;
   /**
-   * last time this setting was modified.
+   * Whether the rule should be executed.
    *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * @example true
+   * @default true
    */
-  modified_on?: string | null;
+  enabled?: RulesetsRuleEnabled & void;
   /**
-   * Current value of the zone setting.
-   *
-   * @example on
+   * Configure checks for exposed credentials.
    */
-  value: Ipv6Value;
-};
-
-/**
- * @example 2001:0DB8::
- * @format ipv6
- */
-export type Ipv6Dw2g7BEM = string;
-
-/**
- * List of Cloudflare IPv6 CIDR addresses.
- */
-export type Ipv6Cidrs = string[];
-
-export type Ipv6Configuration = {
+  exposed_credential_check?: {
+    /**
+     * Expression that selects the password used in the credentials check.
+     *
+     * @example url_decode(http.request.body.form[\"password\"][0])
+     */
+    password_expression: string;
+    /**
+     * Expression that selects the user ID used in the credentials check.
+     *
+     * @example url_decode(http.request.body.form[\"username\"][0])
+     */
+    username_expression: string;
+  };
   /**
-   * The configuration target. You must set the target to `ip6` when specifying an IPv6 address in the rule.
+   * The expression defining which traffic will match the rule.
    *
-   * @example ip6
+   * @example ip.src ne 1.1.1.1
+   * @minLength 1
    */
-  target?: 'ip6';
+  expression?: string;
+  id?: RulesetsRuleId;
   /**
-   * The IPv6 address to match.
+   * The timestamp of when the rule was last modified.
    *
-   * @example 2001:DB8:100::CF
+   * @example 2000-01-01T00:00:00.000000Z
+   * @format date-time
    */
-  value?: string;
-};
-
-/**
- * Value of the zone setting.
- *
- * @default off
- */
-export type Ipv6Value = 'off' | 'on';
-
-/**
- * If `true`, this virtual network is the default for the account.
- *
- * @example true
- */
-export type IsDefaultNetwork = boolean;
-
-/**
- * Cloudflare continues to track connections for several minutes after they disconnect. This is an optimization to improve latency and reliability of reconnecting.  If `true`, the connection has disconnected but is still being tracked. If `false`, the connection is actively serving traffic.
- *
- * @example false
- */
-export type IsPendingReconnect = boolean;
-
-/**
- * Indicates whether you are currently subscribed to this plan.
- *
- * @default false
- * @example false
- */
-export type IsSubscribed = boolean;
-
-/**
- * Lock all settings as Read-Only in the Dashboard, regardless of user permission. Updates may only be made via the API or Terraform for this account when enabled.
- *
- * @example false
- */
-export type IsUiReadOnly = boolean;
-
-/**
- * Require this application to be served in an isolated browser for users matching this policy.
- *
- * @default false
- * @example false
- */
-export type IsolationRequired = boolean;
-
-/**
- * Date that the Client Certificate was issued by the Certificate Authority
- *
- * @example 2023-02-23T23:18:00Z
- */
-export type IssuedOn = string;
-
-/**
- * The time on which the token was created.
- *
- * @example 2018-07-01T05:20:00Z
- * @format date-time
- */
-export type IssuedOnHmshAtfd = string;
-
-/**
- * The certificate authority that issued the certificate.
- *
- * @example GlobalSign
- */
-export type Issuer = string;
-
-/**
- * @example {"comment":"Private IP address","created_on":"2020-01-01T08:00:00Z","id":"2c0fc9fa937b11eaa1b71c4d701ab86e","ip":"10.0.0.1","modified_on":"2020-01-10T14:00:00Z"}
- */
-export type Item =
-  | {
-      comment?: ItemComment;
-      /**
-       * The RFC 3339 timestamp of when the item was created.
-       *
-       * @example 2020-01-01T08:00:00Z
-       */
-      created_on?: string;
-      hostname?: ItemHostname;
-      id?: ListId;
-      ip: ItemIp;
-      /**
-       * The RFC 3339 timestamp of when the item was last modified.
-       *
-       * @example 2020-01-10T14:00:00Z
-       */
-      modified_on?: string;
-      redirect?: ItemRedirect;
-    }
-  | {
-      comment?: ItemComment;
-      /**
-       * The RFC 3339 timestamp of when the item was created.
-       *
-       * @example 2020-01-01T08:00:00Z
-       */
-      created_on?: string;
-      hostname?: ItemHostname;
-      id?: ListId;
-      ip?: ItemIp;
-      /**
-       * The RFC 3339 timestamp of when the item was last modified.
-       *
-       * @example 2020-01-10T14:00:00Z
-       */
-      modified_on?: string;
-      redirect: ItemRedirect;
-    }
-  | {
-      comment?: ItemComment;
-      /**
-       * The RFC 3339 timestamp of when the item was created.
-       *
-       * @example 2020-01-01T08:00:00Z
-       */
-      created_on?: string;
-      hostname: ItemHostname;
-      id?: ListId;
-      ip?: ItemIp;
-      /**
-       * The RFC 3339 timestamp of when the item was last modified.
-       *
-       * @example 2020-01-10T14:00:00Z
-       */
-      modified_on?: string;
-      redirect?: ItemRedirect;
-    };
-
-export type ItemResponseCollection = ApiResponseCollection & {
-  result?: Item;
-};
-
-/**
- * An informative summary of the list item.
- *
- * @example Private IP address
- */
-export type ItemComment = string;
-
-/**
- * Valid characters for hostnames are ASCII(7) letters from a to z, the digits from 0 to 9, wildcards (*), and the hyphen (-).
- */
-export type ItemHostname = string;
-
-/**
- * The unique ID of the item in the List.
- *
- * @example 34b12448945f11eaa1b71c4d701ab86e
- */
-export type ItemId = string;
-
-/**
- * An IPv4 address, an IPv4 CIDR, or an IPv6 CIDR. IPv6 CIDRs are limited to a maximum of /64.
- *
- * @example 10.0.0.1
- */
-export type ItemIp = string;
+  last_updated: string;
+  /**
+   * An object configuring the rule's logging behavior.
+   */
+  logging?: {
+    /**
+     * Whether to generate a log when the rule matches.
+     *
+     * @example true
+     */
+    enabled: boolean;
+  };
+  /**
+   * An object configuring the rule's ratelimit behavior.
+   */
+  ratelimit?: {
+    /**
+     * Characteristics of the request on which the ratelimiter counter will be incremented.
+     *
+     * @example ip.src
+     * @minLength 1
+     */
+    characteristics: string[];
+    /**
+     * Defines when the ratelimit counter should be incremented. It is optional and defaults to the same as the rule's expression.
+     *
+     * @example http.request.body.raw eq "abcd"
+     */
+    counting_expression?: string;
+    /**
+     * Period of time in seconds after which the action will be disabled following its first execution.
+     *
+     * @example 600
+     */
+    mitigation_timeout?: number;
+    /**
+     * Period in seconds over which the counter is being incremented.
+     *
+     * @example 60
+     */
+    period: 10 | 60 | 600 | 3600;
+    /**
+     * The threshold of requests per period after which the action will be executed for the first time.
+     *
+     * @example 1000
+     */
+    requests_per_period?: number;
+    /**
+     * Defines if ratelimit counting is only done when an origin is reached.
+     *
+     * @example true
+     */
+    requests_to_origin?: boolean;
+    /**
+     * The score threshold per period for which the action will be executed the first time.
+     *
+     * @example 400
+     */
+    score_per_period?: number;
+    /**
+     * The response header name provided by the origin which should contain the score to increment ratelimit counter on.
+     *
+     * @example my-score
+     */
+    score_response_header_name?: string;
+  };
+  /**
+   * The reference of the rule (the rule ID by default).
+   *
+   * @example my_ref
+   * @minLength 1
+   */
+  ref?: string;
+  /**
+   * The version of the rule.
+   *
+   * @example 1
+   * @pattern ^[0-9]+$
+   */
+  version: string;
+};
 
-/**
- * The definition of the redirect.
- */
-export type ItemRedirect = {
+export type RulesetsSkipRule = {
+  action?: RulesetsRuleAction;
   /**
-   * @default false
+   * The parameters configuring the rule's action.
+   *
+   * @example {"ruleset":"current"}
+   * @minProperties 1
    */
-  include_subdomains?: boolean;
+  action_parameters?: {
+    /**
+     * A list of phases to skip the execution of. This option is incompatible with the ruleset and rulesets options.
+     *
+     * @minItems 1
+     * @uniqueItems true
+     */
+    phases?: (RulesetsRulesetPhase & void)[];
+    /**
+     * A list of legacy security products to skip the execution of.
+     *
+     * @minItems 1
+     * @uniqueItems true
+     */
+    products?: ('bic' | 'hot' | 'rateLimit' | 'securityLevel' | 'uaBlock' | 'waf' | 'zoneLockdown')[];
+    /**
+     * A mapping of ruleset IDs to a list of rule IDs in that ruleset to skip the execution of. This option is incompatible with the ruleset option.
+     *
+     * @example {"4814384a9e5d4991b9815dcfc25d2f1f":["8ac8bc2a661e475d940980f9317f28e1"]}
+     * @minProperties 1
+     */
+    rules?: {
+      [key: string]: (RulesetsRuleId & void)[];
+    };
+    /**
+     * A ruleset to skip the execution of. This option is incompatible with the rulesets, rules and phases options.
+     */
+    ruleset?: 'current';
+    /**
+     * A list of ruleset IDs to skip the execution of. This option is incompatible with the ruleset and phases options.
+     *
+     * @minItems 1
+     * @uniqueItems true
+     */
+    rulesets?: (RulesetsRulesetId & void)[];
+  };
+  /**
+   * The categories of the rule.
+   *
+   * @example directory-traversal
+   * @example header
+   * @minItems 1
+   * @uniqueItems true
+   */
+  categories?: RulesetsRuleCategory[];
+  /**
+   * An informative description of the rule.
+   *
+   * @default
+   * @example Skip the current ruleset when the IP address is not 1.1.1.1
+   */
+  description?: string;
   /**
+   * Whether the rule should be executed.
+   *
+   * @example true
    * @default true
    */
-  preserve_path_suffix?: boolean;
+  enabled?: RulesetsRuleEnabled & void;
   /**
-   * @default false
+   * Configure checks for exposed credentials.
    */
-  preserve_query_string?: boolean;
+  exposed_credential_check?: {
+    /**
+     * Expression that selects the password used in the credentials check.
+     *
+     * @example url_decode(http.request.body.form[\"password\"][0])
+     */
+    password_expression: string;
+    /**
+     * Expression that selects the user ID used in the credentials check.
+     *
+     * @example url_decode(http.request.body.form[\"username\"][0])
+     */
+    username_expression: string;
+  };
   /**
-   * @example example.com/arch
+   * The expression defining which traffic will match the rule.
+   *
+   * @example ip.src ne 1.1.1.1
+   * @minLength 1
    */
-  source_url: string;
+  expression?: string;
+  id?: RulesetsRuleId;
   /**
-   * @default 301
+   * The timestamp of when the rule was last modified.
+   *
+   * @example 2000-01-01T00:00:00.000000Z
+   * @format date-time
    */
-  status_code?: 301 | 302 | 307 | 308;
+  last_updated: string;
   /**
-   * @default false
+   * An object configuring the rule's logging behavior.
    */
-  subpath_matching?: boolean;
+  logging?: {
+    /**
+     * Whether to generate a log when the rule matches.
+     *
+     * @example true
+     */
+    enabled: boolean;
+  };
   /**
-   * @example https://archlinux.org/
+   * An object configuring the rule's ratelimit behavior.
    */
-  target_url: string;
-};
-
-/**
- * The items in the List.
- */
-export type Items = {
-  created_at?: Timestamp;
-  value?: ValueBmHGW0nn;
-}[];
-
-export type ItemsListResponseCollection = ApiResponseCollection & {
-  result?: ItemsYDMk5o9K;
-  result_info?: {
-    cursors?: {
-      /**
-       * @example yyy
-       */
-      after?: string;
-      /**
-       * @example xxx
-       */
-      before?: string;
-    };
+  ratelimit?: {
+    /**
+     * Characteristics of the request on which the ratelimiter counter will be incremented.
+     *
+     * @example ip.src
+     * @minLength 1
+     */
+    characteristics: string[];
+    /**
+     * Defines when the ratelimit counter should be incremented. It is optional and defaults to the same as the rule's expression.
+     *
+     * @example http.request.body.raw eq "abcd"
+     */
+    counting_expression?: string;
+    /**
+     * Period of time in seconds after which the action will be disabled following its first execution.
+     *
+     * @example 600
+     */
+    mitigation_timeout?: number;
+    /**
+     * Period in seconds over which the counter is being incremented.
+     *
+     * @example 60
+     */
+    period: 10 | 60 | 600 | 3600;
+    /**
+     * The threshold of requests per period after which the action will be executed for the first time.
+     *
+     * @example 1000
+     */
+    requests_per_period?: number;
+    /**
+     * Defines if ratelimit counting is only done when an origin is reached.
+     *
+     * @example true
+     */
+    requests_to_origin?: boolean;
+    /**
+     * The score threshold per period for which the action will be executed the first time.
+     *
+     * @example 400
+     */
+    score_per_period?: number;
+    /**
+     * The response header name provided by the origin which should contain the score to increment ratelimit counter on.
+     *
+     * @example my-score
+     */
+    score_response_header_name?: string;
   };
+  /**
+   * The reference of the rule (the rule ID by default).
+   *
+   * @example my_ref
+   * @minLength 1
+   */
+  ref?: string;
+  /**
+   * The version of the rule.
+   *
+   * @example 1
+   * @pattern ^[0-9]+$
+   */
+  version: string;
 };
 
-export type ItemsUpdateRequestCollection = (
-  | {
-      comment?: ItemComment;
-      ip: ItemIp;
-      redirect?: ItemRedirect;
-    }
-  | {
-      comment?: ItemComment;
-      ip?: ItemIp;
-      redirect: ItemRedirect;
-    }
-  | {
-      comment?: ItemComment;
-      ip?: ItemIp;
-      redirect?: ItemRedirect;
-    }
-)[];
-
-export type ItemsYDMk5o9K = Item[];
-
 /**
- * Enable IXFR transfer protocol, default is AXFR. Only applicable to secondary zones.
- *
- * @example false
+ * A URL Normalization object.
  */
-export type IxfrEnable = boolean;
+export type RulesetsUrlNormalization = {
+  /**
+   * The scope of the URL normalization.
+   *
+   * @example incoming
+   */
+  scope: 'incoming' | 'both';
+  /**
+   * The type of URL normalization performed by Cloudflare.
+   *
+   * @example cloudflare
+   */
+  type: 'cloudflare' | 'rfc3986';
+};
 
 /**
- * The integrity score of the JavaScript content.
+ * The unique ID of the zone.
  *
- * @maximum 99
- * @minimum 1
+ * @example 9f1839b6152d298aca64c4e906b6d074
+ * @pattern ^[0-9a-f]{32}$
  */
-export type JsIntegrityScore = number | null;
+export type RulesetsZoneId = string;
 
-/**
- * Only available for the Waiting Room Advanced subscription. If `true`, requests to the waiting room with the header `Accept: application/json` will receive a JSON response object with information on the user's status in the waiting room as opposed to the configured static HTML page. This JSON response object has one property `cfWaitingRoom` which is an object containing the following fields:
- * 1. `inWaitingRoom`: Boolean indicating if the user is in the waiting room (always **true**).
- * 2. `waitTimeKnown`: Boolean indicating if the current estimated wait times are accurate. If **false**, they are not available.
- * 3. `waitTime`: Valid only when `waitTimeKnown` is **true**. Integer indicating the current estimated time in minutes the user will wait in the waiting room. When `queueingMethod` is **random**, this is set to `waitTime50Percentile`.
- * 4. `waitTime25Percentile`: Valid only when `queueingMethod` is **random** and `waitTimeKnown` is **true**. Integer indicating the current estimated maximum wait time for the 25% of users that gain entry the fastest (25th percentile).
- * 5. `waitTime50Percentile`: Valid only when `queueingMethod` is **random** and `waitTimeKnown` is **true**. Integer indicating the current estimated maximum wait time for the 50% of users that gain entry the fastest (50th percentile). In other words, half of the queued users are expected to let into the origin website before `waitTime50Percentile` and half are expected to be let in after it.
- * 6. `waitTime75Percentile`: Valid only when `queueingMethod` is **random** and `waitTimeKnown` is **true**. Integer indicating the current estimated maximum wait time for the 75% of users that gain entry the fastest (75th percentile).
- * 7. `waitTimeFormatted`: String displaying the `waitTime` formatted in English for users. If `waitTimeKnown` is **false**, `waitTimeFormatted` will display **unavailable**.
- * 8. `queueIsFull`: Boolean indicating if the waiting room's queue is currently full and not accepting new users at the moment.
- * 9. `queueAll`: Boolean indicating if all users will be queued in the waiting room and no one will be let into the origin website.
- * 10. `lastUpdated`: String displaying the timestamp as an ISO 8601 string of the user's last attempt to leave the waiting room and be let into the origin website. The user is able to make another attempt after `refreshIntervalSeconds` past this time. If the user makes a request too soon, it will be ignored and `lastUpdated` will not change.
- * 11. `refreshIntervalSeconds`: Integer indicating the number of seconds after `lastUpdated` until the user is able to make another attempt to leave the waiting room and be let into the origin website. When the `queueingMethod` is `reject`, there is no specified refresh time — it will always be **zero**.
- * 12. `queueingMethod`: The queueing method currently used by the waiting room. It is either **fifo**, **random**, **passthrough**, or **reject**.
- * 13. `isFIFOQueue`: Boolean indicating if the waiting room uses a FIFO (First-In-First-Out) queue.
- * 14. `isRandomQueue`: Boolean indicating if the waiting room uses a Random queue where users gain access randomly.
- * 15. `isPassthroughQueue`: Boolean indicating if the waiting room uses a passthrough queue. Keep in mind that when passthrough is enabled, this JSON response will only exist when `queueAll` is **true** or `isEventPrequeueing` is **true** because in all other cases requests will go directly to the origin.
- * 16. `isRejectQueue`: Boolean indicating if the waiting room uses a reject queue.
- * 17. `isEventActive`: Boolean indicating if an event is currently occurring. Events are able to change a waiting room's behavior during a specified period of time. For additional information, look at the event properties `prequeue_start_time`, `event_start_time`, and `event_end_time` in the documentation for creating waiting room events. Events are considered active between these start and end times, as well as during the prequeueing period if it exists.
- * 18. `isEventPrequeueing`: Valid only when `isEventActive` is **true**. Boolean indicating if an event is currently prequeueing users before it starts.
- * 19. `timeUntilEventStart`: Valid only when `isEventPrequeueing` is **true**. Integer indicating the number of minutes until the event starts.
- * 20. `timeUntilEventStartFormatted`: String displaying the `timeUntilEventStart` formatted in English for users. If `isEventPrequeueing` is **false**, `timeUntilEventStartFormatted` will display **unavailable**.
- * 21. `timeUntilEventEnd`: Valid only when `isEventActive` is **true**. Integer indicating the number of minutes until the event ends.
- * 22. `timeUntilEventEndFormatted`: String displaying the `timeUntilEventEnd` formatted in English for users. If `isEventActive` is **false**, `timeUntilEventEndFormatted` will display **unavailable**.
- * 23. `shuffleAtEventStart`: Valid only when `isEventActive` is **true**. Boolean indicating if the users in the prequeue are shuffled randomly when the event starts.
- *
- * An example cURL to a waiting room could be:
- *
- * 	curl -X GET "https://example.com/waitingroom" \
- * 		-H "Accept: application/json"
- *
- * If `json_response_enabled` is **true** and the request hits the waiting room, an example JSON response when `queueingMethod` is **fifo** and no event is active could be:
- *
- * 	{
- * 		"cfWaitingRoom": {
- * 			"inWaitingRoom": true,
- * 			"waitTimeKnown": true,
- * 			"waitTime": 10,
- * 			"waitTime25Percentile": 0,
- * 			"waitTime50Percentile": 0,
- * 			"waitTime75Percentile": 0,
- * 			"waitTimeFormatted": "10 minutes",
- * 			"queueIsFull": false,
- * 			"queueAll": false,
- * 			"lastUpdated": "2020-08-03T23:46:00.000Z",
- * 			"refreshIntervalSeconds": 20,
- * 			"queueingMethod": "fifo",
- * 			"isFIFOQueue": true,
- * 			"isRandomQueue": false,
- * 			"isPassthroughQueue": false,
- * 			"isRejectQueue": false,
- * 			"isEventActive": false,
- * 			"isEventPrequeueing": false,
- * 			"timeUntilEventStart": 0,
- * 			"timeUntilEventStartFormatted": "unavailable",
- * 			"timeUntilEventEnd": 0,
- * 			"timeUntilEventEndFormatted": "unavailable",
- * 			"shuffleAtEventStart": false
- * 		}
- * 	}
- *
- * If `json_response_enabled` is **true** and the request hits the waiting room, an example JSON response when `queueingMethod` is **random** and an event is active could be:
- *
- * 	{
- * 		"cfWaitingRoom": {
- * 			"inWaitingRoom": true,
- * 			"waitTimeKnown": true,
- * 			"waitTime": 10,
- * 			"waitTime25Percentile": 5,
- * 			"waitTime50Percentile": 10,
- * 			"waitTime75Percentile": 15,
- * 			"waitTimeFormatted": "5 minutes to 15 minutes",
- * 			"queueIsFull": false,
- * 			"queueAll": false,
- * 			"lastUpdated": "2020-08-03T23:46:00.000Z",
- * 			"refreshIntervalSeconds": 20,
- * 			"queueingMethod": "random",
- * 			"isFIFOQueue": false,
- * 			"isRandomQueue": true,
- * 			"isPassthroughQueue": false,
- * 			"isRejectQueue": false,
- * 			"isEventActive": true,
- * 			"isEventPrequeueing": false,
- * 			"timeUntilEventStart": 0,
- * 			"timeUntilEventStartFormatted": "unavailable",
- * 			"timeUntilEventEnd": 15,
- * 			"timeUntilEventEndFormatted": "15 minutes",
- * 			"shuffleAtEventStart": true
- * 		}
- * 	}.
- *
- * @default false
- * @example false
- */
-export type JsonResponseEnabled = boolean;
+export type RumApiResponseCommon = {
+  errors: RumMessages;
+  messages: RumMessages;
+  /**
+   * Whether the API call was successful.
+   *
+   * @example true
+   */
+  success: boolean;
+};
 
-/**
- * The signing key in JWK format.
- *
- * @example eyJ1c2UiOiJzaWciLCJrdHkiOiJSU0EiLCJraWQiOiI1MjEzY2ZhMTIxZjcwYjhjMTM4MDY4NmZmYzM3MWJhMyIsImFsZyI6IlJTMjU2IiwibiI6IjBUandqT2laV21KNDN2ZjNUbzREb1htWFd0SkdOR3lYZmh5dHRMYUJnRjEtRVFXUURLaG9LYm9hS21xakNBc21za3V0YkxVN1BVOGRrUU5ER1p3S3VWczA4elNaNGt4aTR0RWdQUFp5dDdkWEMtbFlSWW95ckFHRjRBWGh5MzI5YkhDUDFJbHJCQl9Ba0dnbmRMQWd1bnhZMHJSZ2N2T3ppYXc2S0p4Rm5jMlVLMFdVOGIwcDRLS0hHcDFLTDlkazBXVDhkVllxYmVSaUpqQ2xVRW1oOHl2OUNsT1ZhUzRLeGlYNnhUUTREWnc2RGFKZklWM1F0Tmd2cG1ieWxOSmFQSG5zc3JodDJHS1A5NjJlS2poUVJsaWd2SFhKTE9uSm9KZkxlSUVIWi1peFdmY1RETUg5MnNHdm93MURPanhMaUNOMXpISy1oN2JMb1hUaUxnYzRrdyIsImUiOiJBUUFCIiwiZCI6IndpQWEwaU5mWnNYSGNOcVMxSWhnUmdzVHJHay1TcFlYV2lReDZHTU9kWlJKekhGazN0bkRERFJvNHNKZTBxX0dEOWkzNlEyZkVadS15elpEcEJkc3U5OHNtaHhNU19Ta0s5X3VFYUo1Zm96V2IyN3JRRnFoLVliUU9MUThkUnNPRHZmQl9Hb2txWWJzblJDR3kzWkFaOGZJZ25ocXBUNEpiOHdsaWxpMUgxeFpzM3RnTWtkTEluTm1yMFAtcTYxZEtNd3JYZVRoSWNEc0kyb2Z1LTFtRm1MWndQb2ZGbmxaTW9QN1pfRU5pUGNfWGtWNzFhaHBOZE9pcW5ablZtMHBCNE5QS1UweDRWTjQyYlAzWEhMUmpkV2hJOGt3SC1BdXhqb3BLaHJ0R2tvcG1jZFRkM1ZRdElaOGRpZHByMXpBaEpvQi16ZVlIaTFUel9ZSFFld0FRUSIsInAiOiIyVTZFVUJka3U3TndDYXoyNzZuWGMxRXgwVHpNZjU4U0UtU2M2eUNaYWk2TkwzVURpWi1mNHlIdkRLYnFGUXdLWDNwZ0l2aVE3Y05QYUpkbE9NeS1mU21GTXU3V3hlbVZYamFlTjJCMkRDazhQY0NEOVgxU2hhR3E1ZUdSSHNObVUtSDNxTG1FRGpjLWliazRHZ0RNb2lVYjQ2OGxFZHAwU2pIOXdsOUdsYTgiLCJxIjoiOW5ucXg5ZnNNY2dIZ29DemhfVjJmaDhoRUxUSUM5aFlIOVBCTG9aQjZIaE1TWG1ja1BSazVnUlpPWlFEN002TzlMaWZjNmFDVXdEbjBlQzU2YkFDNUNrcWxjODJsVDhzTWlMeWJyTjh3bWotcjNjSTBGQTlfSGQySEY1ZkgycnJmenVqd0NWM3czb09Ud3p4d1g3c2xKbklRanphel91SzEyWEtucVZZcUYwIiwiZHAiOiJxQklTUTlfVUNWaV9Ucng0UU9VYnZoVU9jc2FUWkNHajJiNzNudU9YeElnOHFuZldSSnN4RG5zd2FKaXdjNWJjYnZ3M1h0VGhRd1BNWnhpeE1UMHFGNlFGWVY5WXZibnJ6UEp4YkdNdTZqajZYc2lIUjFlbWU3U09lVDM4Xzg0aFZyOXV6UkN2RWstb0R0MHlodW9YVzFGWVFNRTE2cGtMV0ZkUjdRUERsQUUiLCJkcSI6Im5zQUp3eXZFbW8tdW5wU01qYjVBMHB6MExCRjBZNFMxeGRJYXNfLVBSYzd0dThsVFdWMl8teExEOFR6dmhqX0lmY0RJR3JJZGNKNjlzVVZnR1M3ZnZkcng3Y21uNjFyai1XcmU0UVJFRC1lV1dxZDlpc2FVRmg5UGVKZ2tCbFZVVnYtdnladVlWdFF2a1NUU05ZR3RtVXl2V2xKZDBPWEFHRm9jdGlfak9aVSIsInFpIjoib0dYaWxLQ2NKRXNFdEE1eG54WUdGQW5UUjNwdkZLUXR5S0F0UGhHaHkybm5ya2VzN1RRaEFxMGhLRWZtU1RzaE1hNFhfd05aMEstX1F0dkdoNDhpeHdTTDVLTEwxZnFsY0k2TF9XUnF0cFQxS21LRERlUHR2bDVCUzFGbjgwSGFwR215cmZRWUU4S09QR2UwUl82S1BOZE1vc3dYQ3Nfd0RYMF92ZzNoNUxRIn0=
- */
-export type Jwk = string;
+export type RumApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: RumMessages;
+  messages: RumMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
 
 /**
- * The device's public key.
+ * If enabled, the JavaScript snippet is automatically injected for orange-clouded sites.
  *
- * @example yek0SUYoOQ10vMGsIYAevozXUQpQtNFJFfFGqER/BGc=
+ * @example true
  */
-export type Key = string;
+export type RumAutoInstall = boolean;
 
-/**
- * A name for a value. A value stored under a given key may be retrieved via the same key.
- */
-export type KeyFEYbivGQ = {
+export type RumCreateRuleRequest = {
   /**
-   * The time, measured in number of seconds since the UNIX epoch, at which the key will expire. This property is omitted for keys that will not expire.
+   * @example example.com
+   */
+  host?: string;
+  /**
+   * Whether the rule includes or excludes traffic from being measured.
    *
-   * @example 1577836800
+   * @example true
    */
-  expiration?: number;
-  metadata?: ListMetadata;
-  name: KeyName;
+  inclusive?: boolean;
+  /**
+   * Whether the rule is paused or not.
+   *
+   * @example false
+   */
+  is_paused?: boolean;
+  /**
+   * @example *
+   */
+  paths?: string[];
 };
 
-export type KeyConfig = {
-  days_until_next_rotation?: DaysUntilNextRotation;
-  key_rotation_interval_days?: KeyRotationIntervalDays;
-  last_key_rotation_at?: LastKeyRotationAt;
+export type RumCreateSiteRequest = {
+  auto_install?: RumAutoInstall;
+  /**
+   * The hostname to use for gray-clouded sites.
+   *
+   * @example example.com
+   */
+  host?: string;
+  zone_tag?: RumZoneTag;
 };
 
-export type KeyGenerationResponse = ApiResponseCollection & {
-  result?: Keys;
-};
+export type RumCreated = RumTimestamp;
 
 /**
- * A key's name. The name may be at most 512 bytes. All printable, non-whitespace characters are valid. Use percent-encoding to define key names as part of a URL.
+ * @example true
+ */
+export type RumEditable = boolean;
+
+/**
+ * @example rum
+ */
+export type RumId = string;
+
+/**
+ * Identifier
  *
- * @example My-Key
- * @maxLength 512
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type KeyName = string;
+export type RumIdentifier = string;
 
 /**
- * A key's name. The name may be at most 512 bytes. All printable, non-whitespace characters are valid.
+ * Whether to match the hostname using a regular expression.
  *
- * @example My-Key
- * @maxLength 512
+ * @example false
  */
-export type KeyNameBulk = string;
+export type RumIsHostRegex = boolean;
 
-export type KeyResponseCollection = ApiResponseCollection & {
-  result?: {
-    created?: SigningKeyCreated;
-    id?: SchemasIdentifier;
-  }[];
-};
+export type RumMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
 
-export type KeyResponseCollectionOyAZovtl = ApiResponseCollection & {
-  result?: KeysResponse;
+export type RumModifyRulesRequest = {
+  /**
+   * A list of rule identifiers to delete.
+   */
+  delete_rules?: RumRuleIdentifier[];
+  /**
+   * A list of rules to create or update.
+   */
+  rules?: {
+    /**
+     * @example example.com
+     */
+    host?: string;
+    id?: RumRuleIdentifier;
+    /**
+     * @example true
+     */
+    inclusive?: boolean;
+    /**
+     * @example false
+     */
+    is_paused?: boolean;
+    /**
+     * @example *
+     */
+    paths?: string[];
+  }[];
 };
 
 /**
- * The number of days between key rotations.
+ * The property used to sort the list of results.
  *
- * @example 30
- * @maximum 365
- * @minimum 21
+ * @example host
  */
-export type KeyRotationIntervalDays = number;
+export type RumOrderBy = 'host' | 'created';
 
 /**
- * Code for key tag.
+ * Current page within the paginated list of results.
  *
- * @example 42
+ * @example 1
  */
-export type KeyTag = number | null;
+export type RumPage = number;
 
 /**
- * Algorithm key type.
+ * Number of items to return per page of results.
  *
- * @example ECDSAP256SHA256
+ * @example 10
  */
-export type KeyType = string | null;
+export type RumPerPage = number;
+
+export type RumResultInfo = {
+  /**
+   * The total number of items on the current page.
+   *
+   * @example 10
+   */
+  count?: number;
+  /**
+   * Current page within the paginated list of results.
+   *
+   * @example 1
+   */
+  page?: number;
+  /**
+   * The maximum number of items to return per page of results.
+   *
+   * @example 10
+   */
+  per_page?: number;
+  /**
+   * The total number of items.
+   *
+   * @example 25
+   */
+  total_count?: number;
+  /**
+   * The total number of pages.
+   *
+   * @example 3
+   */
+  total_pages?: number | null;
+};
+
+export type RumRule = {
+  created?: RumTimestamp;
+  /**
+   * The hostname the rule will be applied to.
+   *
+   * @example example.com
+   */
+  host?: string;
+  id?: RumRuleIdentifier;
+  /**
+   * Whether the rule includes or excludes traffic from being measured.
+   *
+   * @example true
+   */
+  inclusive?: boolean;
+  /**
+   * Whether the rule is paused or not.
+   *
+   * @example false
+   */
+  is_paused?: boolean;
+  /**
+   * The paths the rule will be applied to.
+   *
+   * @example *
+   */
+  paths?: string[];
+  /**
+   * @example 1000
+   */
+  priority?: number;
+};
 
-export type KeylessCertificate = Base;
+export type RumRuleIdResponseSingle = RumApiResponseCommon & {
+  result?: {
+    id?: RumRuleIdentifier;
+  };
+};
 
-export type KeylessCertificateHXaxgAu6 = ComponentsSchemasBase;
+export type RumRuleResponseSingle = RumApiResponseCommon & {
+  result?: RumRule;
+};
 
 /**
- * Keyless certificate identifier tag.
+ * The Web Analytics rule identifier.
  *
- * @example 4d2844d2ce78891c34d0b6c0535a291e
- * @maxLength 32
+ * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
  */
-export type KeylessCertificateComponentsSchemasIdentifier = string;
+export type RumRuleIdentifier = string;
 
 /**
- * The keyless SSL name.
- *
- * @example example.com Keyless SSL
- * @maxLength 180
+ * A list of rules.
  */
-export type KeylessCertificateComponentsSchemasName = string;
+export type RumRules = RumRule[];
 
-/**
- * Status of the Keyless SSL.
- *
- * @example active
- */
-export type KeylessCertificateComponentsSchemasStatus = 'active' | 'deleted';
+export type RumRulesResponseCollection = RumApiResponseCommon & {
+  result?: {
+    rules?: RumRules;
+    ruleset?: RumRuleset;
+  };
+};
+
+export type RumRuleset = {
+  /**
+   * Whether the ruleset is enabled.
+   *
+   * @example true
+   */
+  enabled?: boolean;
+  id?: RumRulesetIdentifier;
+  /**
+   * @example example.com
+   */
+  zone_name?: string;
+  zone_tag?: RumZoneTag;
+};
 
 /**
- * Private IP of the Key Server Host
+ * The Web Analytics ruleset identifier.
  *
- * @example 10.0.0.1
+ * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
  */
-export type KeylessPrivateIp = string;
+export type RumRulesetIdentifier = string;
 
-export type KeylessResponseCollection = ApiResponseCollection & {
-  result?: KeylessCertificateHXaxgAu6[];
+export type RumRumSiteResponseSingle = RumApiResponseCommon & {
+  result?: RumRumSite;
 };
 
-export type KeylessResponseSingle = ApiResponseSingleZZHeSkIR & {
-  result?: Base;
+export type RumRumSite = {
+  editable?: RumEditable;
+  id?: RumId;
+  value?: RumValue;
 };
 
-export type KeylessResponseSingleZksQvj76 = ApiResponseSingleLarS7owG & {
-  result?: Record<string, any>;
+export type RumSite = {
+  auto_install?: RumAutoInstall;
+  created?: RumTimestamp;
+  rules?: RumRules;
+  ruleset?: RumRuleset;
+  site_tag?: RumSiteTag;
+  site_token?: RumSiteToken;
+  snippet?: RumSnippet;
 };
 
-export type KeylessResponseSingleId = ApiResponseSingleZZHeSkIR & {
-  result?: {
-    id?: Identifier;
-  };
+export type RumSiteResponseSingle = RumApiResponseCommon & {
+  result?: RumSite;
 };
 
-export type KeylessResponseSingleIdRO91wPYN = ApiResponseSingleLarS7owG & {
+export type RumSiteTagResponseSingle = RumApiResponseCommon & {
   result?: {
-    id?: KeylessCertificateComponentsSchemasIdentifier;
+    site_tag?: RumSiteTag;
   };
 };
 
 /**
- * Configuration for using Keyless SSL through a Cloudflare Tunnel
+ * The Web Analytics site identifier.
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
  */
-export type KeylessTunnel = {
-  private_ip: KeylessPrivateIp;
-  vnet_id: KeylessVnetId;
-};
+export type RumSiteTag = string;
 
 /**
- * Cloudflare Tunnel Virtual Network ID
+ * The Web Analytics site token.
  *
- * @example 7365377a-85a4-4390-9480-531ef7dc7a3c
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
  */
-export type KeylessVnetId = string;
+export type RumSiteToken = string;
 
-export type Keys = {
-  created?: SigningKeyCreated;
-  id?: SchemasIdentifier;
-  jwk?: Jwk;
-  pem?: Pem;
-};
-
-export type KeysJZLBRHLA = {
-  name?: KeysComponentsSchemasName;
-  value?: KeysComponentsSchemasValue;
+export type RumSitesResponseCollection = RumApiResponseCommon & {
+  result?: RumSite[];
+  result_info?: RumResultInfo;
 };
 
 /**
- * Key name.
+ * Encoded JavaScript snippet.
  *
- * @example default
+ * @example <!-- Cloudflare Web Analytics --><script defer src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='{"token": "bc40a2d1b5834453aba85c1b9a3054da"}'></script><!-- End Cloudflare Web Analytics -->
  */
-export type KeysComponentsSchemasName = string;
+export type RumSnippet = string;
 
-export type KeysComponentsSchemasSingleResponse = ApiResponseSingleKLIlNaxV & KeyConfig;
+/**
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
+ */
+export type RumTimestamp = string;
 
-export type KeysComponentsSchemasSingleResponseI72uQ4Jz = ApiResponseSingleLarS7owG & KeyConfig;
+export type RumToggleRumRequest = {
+  /**
+   * Value can either be On or Off
+   *
+   * @example on
+   */
+  value?: string;
+};
 
 /**
- * Key value.
+ * Current state of RUM. Returns On, Off, or Manual
  *
- * @example Oix0bbNaT8Rge9PuyxUBrjI6zrgnsyJ5=
+ * @example on
+ */
+export type RumValue = string;
+
+/**
+ * The zone identifier.
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ */
+export type RumZoneTag = string;
+
+/**
+ * @example 01a7362d577a6c3019a474fd6f485823
  */
-export type KeysComponentsSchemasValue = string;
+export type SecondaryDnsAccountIdentifier = string;
 
-export type KeysResponse = {
-  keys?: KeysJZLBRHLA[];
+export type SecondaryDnsAcl = {
+  id: SecondaryDnsComponentsSchemasIdentifier;
+  ip_range: SecondaryDnsIpRange;
+  name: SecondaryDnsAclComponentsSchemasName;
 };
 
 /**
- * The type of the membership.
+ * The name of the acl.
  *
- * @example zone
+ * @example my-acl-1
  */
-export type Kind = 'zone' | 'account';
+export type SecondaryDnsAclComponentsSchemasName = string;
 
 /**
- * The type of the list. Each type supports specific list items (IP addresses, hostnames or redirects).
+ * TSIG algorithm.
  *
- * @example ip
+ * @example hmac-sha512.
  */
-export type KindI00awcl2 = 'ip' | 'redirect' | 'hostname';
+export type SecondaryDnsAlgo = string;
 
-export type KolideConfigRequest = {
-  /**
-   * The Kolide client ID.
-   *
-   * @example example client id
-   */
-  client_id: string;
+export type SecondaryDnsApiResponseCollection = SecondaryDnsApiResponseCommon & {
+  result_info?: SecondaryDnsResultInfo;
+};
+
+export type SecondaryDnsApiResponseCommon = {
+  errors: SecondaryDnsMessages;
+  messages: SecondaryDnsMessages;
   /**
-   * The Kolide client secret.
+   * Whether the API call was successful
    *
-   * @example example client secret
+   * @example true
    */
-  client_secret: string;
+  success: true;
 };
 
-/**
- * A byte sequence to be stored, up to 10 MB in length.
- *
- * @example Some Value
- */
-export type KvComponentsSchemasValue = string;
-
-export type KvNamespaceBinding = {
-  name: BindingName;
-  namespace_id: NamespaceIdentifier;
+export type SecondaryDnsApiResponseCommonFailure = {
   /**
-   * The class of resource that the binding provides.
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: SecondaryDnsMessages;
+  messages: SecondaryDnsMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
    *
-   * @example kv_namespace
+   * @example false
    */
-  type: 'kv_namespace';
+  success: false;
 };
 
+export type SecondaryDnsApiResponseSingle = SecondaryDnsApiResponseCommon;
+
 /**
- * The language label displayed in the native language to users.
+ * How often should a secondary zone auto refresh regardless of DNS NOTIFY.
+ * Not applicable for primary zones.
  *
- * @example Türkçe
+ * @example 86400
  */
-export type Label = string;
+export type SecondaryDnsAutoRefreshSeconds = number;
+
+export type SecondaryDnsComponentsSchemasIdResponse = SecondaryDnsApiResponseSingle & {
+  result?: {
+    id?: SecondaryDnsComponentsSchemasIdentifier;
+  };
+};
 
 /**
- * Field appears if there is an additional annotation printed when the probe returns. Field also appears when running a GRE+ICMP traceroute to denote which traceroute a node comes from.
+ * @example 23ff594956f20c2a721606e94745a8aa
  */
-export type Labels = string[];
+export type SecondaryDnsComponentsSchemasIdentifier = string;
 
 /**
- * The language tag in BCP 47 format.
+ * The name of the peer.
  *
- * @example tr
+ * @example my-peer-1
  */
-export type Language = string;
+export type SecondaryDnsComponentsSchemasName = string;
 
-export type LanguageResponseCollection = ApiResponseCollection & {
-  result?: Captions[];
+export type SecondaryDnsComponentsSchemasResponseCollection = SecondaryDnsApiResponseCollection & {
+  result?: SecondaryDnsAcl[];
 };
 
-export type LanguageResponseSingle = ApiResponseSingleYdRGfgTy & {
-  result?: Record<string, any>;
+export type SecondaryDnsComponentsSchemasSingleResponse = SecondaryDnsApiResponseSingle & {
+  result?: SecondaryDnsAcl;
 };
 
-/**
- * Records the last time for which logs have been successfully pushed. If the last successful push was for logs range 2018-07-23T10:00:00Z to 2018-07-23T10:01:00Z then the value of this field will be 2018-07-23T10:01:00Z. If the job has never run or has just been enabled and hasn't run yet then the field will be empty.
- *
- * @format date-time
- */
-export type LastComplete = string | null;
+export type SecondaryDnsDisableTransferResponse = SecondaryDnsApiResponseSingle & {
+  result?: SecondaryDnsDisableTransferResult;
+};
 
 /**
- * Records the last time the job failed. If not null, the job is currently failing. If null, the job has either never failed or has run successfully at least once since last failure. See also the error_message field.
+ * The zone transfer status of a primary zone
  *
- * @format date-time
+ * @example Disabled
  */
-export type LastError = string | null;
+export type SecondaryDnsDisableTransferResult = string;
 
-/**
- * Timestamp of the last time an attempt to dispatch a notification to this webhook failed.
- *
- * @example 2020-10-26T18:25:04.532316Z
- * @format date-time
- */
-export type LastFailure = string;
+export type SecondaryDnsDnsSecondarySecondaryZone = {
+  auto_refresh_seconds: SecondaryDnsAutoRefreshSeconds;
+  id: SecondaryDnsIdentifier;
+  name: SecondaryDnsName;
+  peers: SecondaryDnsPeers;
+};
+
+export type SecondaryDnsEnableTransferResponse = SecondaryDnsApiResponseSingle & {
+  result?: SecondaryDnsEnableTransferResult;
+};
 
 /**
- * The timestamp of the previous key rotation.
+ * The zone transfer status of a primary zone
  *
- * @example 2014-01-01T05:20:00.12345Z
- * @format date-time
+ * @example Enabled
  */
-export type LastKeyRotationAt = string;
+export type SecondaryDnsEnableTransferResult = string;
+
+export type SecondaryDnsForceResponse = SecondaryDnsApiResponseSingle & {
+  result?: SecondaryDnsForceResult;
+};
 
 /**
- * User's last name
+ * When force_axfr query parameter is set to true, the response is a simple string
  *
- * @example Appleseed
- * @maxLength 60
+ * @example OK
  */
-export type LastName = string | null;
+export type SecondaryDnsForceResult = string;
+
+export type SecondaryDnsIdResponse = SecondaryDnsApiResponseSingle & {
+  result?: {
+    id?: SecondaryDnsIdentifier;
+  };
+};
 
 /**
- * When the device last connected to Cloudflare services.
- *
- * @example 2017-06-14T00:00:00Z
- * @format date-time
+ * @example 269d8f4853475ca241c4e730be286b20
  */
-export type LastSeen = string;
+export type SecondaryDnsIdentifier = string;
 
 /**
- * Timestamp of the last time Cloudflare was able to successfully dispatch a notification using this webhook.
+ * IPv4/IPv6 address of primary or secondary nameserver, depending on what zone this peer is linked to. For primary zones this IP defines the IP of the secondary nameserver Cloudflare will NOTIFY upon zone changes. For secondary zones this IP defines the IP of the primary nameserver Cloudflare will send AXFR/IXFR requests to.
  *
- * @example 2020-10-26T18:25:04.532316Z
- * @format date-time
+ * @example 192.0.2.53
  */
-export type LastSuccess = string;
+export type SecondaryDnsIp = string;
 
 /**
- * The time at which the user last successfully logged in.
+ * Allowed IPv4/IPv6 address range of primary or secondary nameservers. This will be applied for the entire account. The IP range is used to allow additional NOTIFY IPs for secondary zones and IPs Cloudflare allows AXFR/IXFR requests from for primary zones. CIDRs are limited to a maximum of /24 for IPv4 and /64 for IPv6 respectively.
  *
- * @example 2020-07-01T05:20:00Z
- * @format date-time
+ * @example 192.0.2.53/28
  */
-export type LastSuccessfulLogin = string;
+export type SecondaryDnsIpRange = string;
 
 /**
- * The timestamp of when the ruleset was last modified.
+ * Enable IXFR transfer protocol, default is AXFR. Only applicable to secondary zones.
  *
- * @example 2000-01-01T00:00:00.000000Z
+ * @example false
  */
-export type LastUpdated = string;
+export type SecondaryDnsIxfrEnable = boolean;
 
-/**
- * The latitude of the data center containing the origins used in this pool in decimal degrees. If this is set, longitude must also be set.
- */
-export type Latitude = number;
+export type SecondaryDnsMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
 
 /**
- * Indicates whether this plan has a legacy discount applied.
+ * Zone name.
  *
- * @default false
- * @example false
+ * @example www.example.com.
  */
-export type LegacyDiscount = boolean;
+export type SecondaryDnsName = string;
+
+export type SecondaryDnsPeer = {
+  id: SecondaryDnsComponentsSchemasIdentifier;
+  ip?: SecondaryDnsIp;
+  ixfr_enable?: SecondaryDnsIxfrEnable;
+  name: SecondaryDnsComponentsSchemasName;
+  port?: SecondaryDnsPort;
+  tsig_id?: SecondaryDnsTsigId;
+};
 
 /**
- * The legacy identifier for this rate plan, if any.
+ * A list of peer tags.
  *
- * @example free
+ * @example 23ff594956f20c2a721606e94745a8aa
+ * @example 00920f38ce07c2e2f4df50b1f61d4194
  */
-export type LegacyId = string;
+export type SecondaryDnsPeers = SecondaryDnsIdentifier[];
 
 /**
- * Limit number of returned metrics.
+ * DNS port of primary or secondary nameserver, depending on what zone this peer is linked to.
  *
- * @default 100000
- * @example 100
+ * @example 53
  */
-export type Limit = number;
+export type SecondaryDnsPort = number;
+
+export type SecondaryDnsResponseCollection = SecondaryDnsApiResponseCollection & {
+  result?: SecondaryDnsTsig[];
+};
 
-export type Linkedin = {
+export type SecondaryDnsResultInfo = {
   /**
-   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   * Total number of results for the requested service
+   *
+   * @example 1
    */
-  config: GenericOauthConfig;
-  id?: Uuid;
-  name: SchemasNameIXVfNmuB;
+  count?: number;
   /**
-   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   * Current page within paginated list of results
+   *
+   * @example 1
    */
-  scim_config?: {
-    /**
-     * A flag to enable or disable SCIM for the identity provider.
-     */
-    enabled?: boolean;
-    /**
-     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
-     */
-    group_member_deprovision?: boolean;
-    /**
-     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
-     */
-    seat_deprovision?: boolean;
-    /**
-     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
-     */
-    secret?: string;
-    /**
-     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
-     */
-    user_deprovision?: boolean;
-  };
+  page?: number;
   /**
-   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   * Number of results per page of results
    *
-   * @example onetimepin
+   * @example 20
    */
-  type: string;
+  per_page?: number;
+  /**
+   * Total results available without any search parameters
+   *
+   * @example 2000
+   */
+  total_count?: number;
 };
 
-export type List = {
-  created_on?: SchemasCreatedOnNgcP5F83;
-  description?: ListsComponentsSchemasDescription;
-  id?: ListId;
-  kind?: KindI00awcl2;
-  modified_on?: ListsComponentsSchemasModifiedOn;
-  name?: ListsComponentsSchemasName;
-  num_items?: NumItems;
-  num_referencing_filters?: NumReferencingFilters;
+export type SecondaryDnsSchemasForceResponse = SecondaryDnsApiResponseSingle & {
+  result?: SecondaryDnsSchemasForceResult;
 };
 
-export type ListDeleteResponseCollection = ApiResponseCollection & {
+/**
+ * When force_notify query parameter is set to true, the response is a simple string
+ *
+ * @example OK
+ */
+export type SecondaryDnsSchemasForceResult = string;
+
+export type SecondaryDnsSchemasIdResponse = SecondaryDnsApiResponseSingle & {
   result?: {
-    id?: ItemId;
+    id?: SecondaryDnsSchemasIdentifier;
   };
 };
 
-export type ListResponseCollection = ApiResponseCollection & {
-  result?: List;
+/**
+ * @example 69cd1e104af3e6ed3cb344f263fd0d5a
+ */
+export type SecondaryDnsSchemasIdentifier = string;
+
+/**
+ * TSIG key name.
+ *
+ * @example tsig.customer.cf.
+ */
+export type SecondaryDnsSchemasName = string;
+
+export type SecondaryDnsSchemasResponseCollection = SecondaryDnsApiResponseCollection & {
+  result?: SecondaryDnsPeer[];
+};
+
+export type SecondaryDnsSchemasSingleResponse = SecondaryDnsApiResponseSingle & {
+  result?: SecondaryDnsPeer;
+};
+
+/**
+ * TSIG secret.
+ *
+ * @example caf79a7804b04337c9c66ccd7bef9190a1e1679b5dd03d8aa10f7ad45e1a9dab92b417896c15d4d007c7c14194538d2a5d0feffdecc5a7f0e1c570cfa700837c
+ */
+export type SecondaryDnsSecret = string;
+
+export type SecondaryDnsSingleRequestOutgoing = {
+  id: SecondaryDnsIdentifier;
+  name: SecondaryDnsName;
+  peers: SecondaryDnsPeers;
 };
 
-export type ListZoneConnectionsResponse = ApiResponseCollection & {
-  result?: Connection[];
-  result_info?: ResultInfo;
+export type SecondaryDnsSingleResponse = SecondaryDnsApiResponseSingle & {
+  result?: SecondaryDnsTsig;
 };
 
-export type ListZonePoliciesResponse = ApiResponseCollection & {
-  result?: PageshieldPolicy[];
+export type SecondaryDnsSingleResponseIncoming = SecondaryDnsApiResponseSingle & {
+  result?: {
+    auto_refresh_seconds?: SecondaryDnsAutoRefreshSeconds;
+    checked_time?: SecondaryDnsTime;
+    created_time?: SecondaryDnsTime;
+    id?: SecondaryDnsIdentifier;
+    modified_time?: SecondaryDnsTime;
+    name?: SecondaryDnsName;
+    peers?: SecondaryDnsPeers;
+    soa_serial?: SecondaryDnsSoaSerial;
+  };
 };
 
-export type ListZoneScriptsResponse = ApiResponseCollection & {
-  result?: Script[];
-  result_info?: ResultInfo;
+export type SecondaryDnsSingleResponseOutgoing = SecondaryDnsApiResponseSingle & {
+  result?: {
+    checked_time?: SecondaryDnsTime;
+    created_time?: SecondaryDnsTime;
+    id?: SecondaryDnsIdentifier;
+    last_transferred_time?: SecondaryDnsTime;
+    name?: SecondaryDnsName;
+    peers?: SecondaryDnsPeers;
+    soa_serial?: SecondaryDnsSoaSerial;
+  };
 };
 
 /**
- * The unique ID of the list.
+ * The serial number of the SOA for the given zone.
  *
- * @example 2c0fc9fa937b11eaa1b71c4d701ab86e
- * @maxLength 32
- * @minLength 32
+ * @example 2019102400
  */
-export type ListId = string;
+export type SecondaryDnsSoaSerial = number;
 
-export type ListItemResponseCollection = ApiResponseCollection & {
-  result?: Items[];
-} & {
-  result_info?: {
-    /**
-     * Total results returned based on your search parameters.
-     *
-     * @example 1
-     */
-    count?: number;
-    /**
-     * Current page within paginated list of results.
-     *
-     * @example 1
-     */
-    page?: number;
-    /**
-     * Number of results per page of results.
-     *
-     * @example 20
-     */
-    per_page?: number;
-    /**
-     * Total results available without any search parameters.
-     *
-     * @example 2000
-     */
-    total_count?: number;
-  };
+/**
+ * The time for a specific event.
+ *
+ * @example 2019-10-24T17:09:42.883908+01:00
+ */
+export type SecondaryDnsTime = string;
+
+export type SecondaryDnsTsig = {
+  algo: SecondaryDnsAlgo;
+  id: SecondaryDnsSchemasIdentifier;
+  name: SecondaryDnsSchemasName;
+  secret: SecondaryDnsSecret;
 };
 
 /**
- * Arbitrary JSON that is associated with a key.
+ * TSIG authentication will be used for zone transfer if configured.
  *
- * @example {"someMetadataKey":"someMetadataValue"}
+ * @example 69cd1e104af3e6ed3cb344f263fd0d5a
  */
-export type ListMetadata = Record<string, any>;
+export type SecondaryDnsTsigId = string;
+
+export type SecurityCenterAccountId = SecurityCenterIdentifier;
 
-export type Lists = {
-  count?: Count;
-  created_at?: Timestamp;
-  description?: DescriptionX9wAFqIk;
-  id?: Uuid1mDHWugl;
-  name?: NameCf4EglAb;
-  type?: TypeKFroakje;
-  updated_at?: Timestamp;
+export type SecurityCenterApiResponseCommon = {
+  errors: SecurityCenterMessages;
+  messages: SecurityCenterMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
 };
 
-export type ListsAsyncResponse = ApiResponseCollection & {
-  result?: {
-    operation_id?: OperationId;
-  };
+export type SecurityCenterApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: SecurityCenterMessages;
+  messages: SecurityCenterMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type SecurityCenterApiResponseSingle = SecurityCenterApiResponseCommon;
+
+/**
+ * Total number of results
+ *
+ * @example 1
+ */
+export type SecurityCenterCount = number;
+
+/**
+ * @example false
+ */
+export type SecurityCenterDismissed = boolean;
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type SecurityCenterIdentifier = string;
+
+export type SecurityCenterIssue = {
+  /**
+   * @example false
+   */
+  dismissed?: boolean;
+  id?: string;
+  issue_class?: SecurityCenterIssueClass;
+  issue_type?: SecurityCenterIssueType;
+  payload?: Record<string, any>;
+  resolve_link?: string;
+  resolve_text?: string;
+  severity?: 'Low' | 'Moderate' | 'Critical';
+  /**
+   * @format date-time
+   */
+  since?: string;
+  subject?: SecurityCenterSubject;
+  /**
+   * @format date-time
+   */
+  timestamp?: string;
 };
 
-export type ListsResponseCollection = ApiResponseCollection & {
-  result?: {
-    created_on: SchemasCreatedOnNgcP5F83;
-    description?: ListsComponentsSchemasDescription;
-    id: ListId;
-    kind: KindI00awcl2;
-    modified_on: ListsComponentsSchemasModifiedOn;
-    name: ListsComponentsSchemasName;
-    num_items: NumItems;
-    num_referencing_filters?: NumReferencingFilters;
-  }[];
-};
+/**
+ * @example always_use_https_not_enabled
+ */
+export type SecurityCenterIssueClass = string;
 
 /**
- * An informative summary of the list.
- *
- * @example This is a note.
- * @maxLength 500
+ * @example a_record_dangling
+ * @example always_use_https_not_enabled
  */
-export type ListsComponentsSchemasDescription = string;
+export type SecurityCenterIssueClasses = SecurityCenterIssueClass[];
+
+export type SecurityCenterIssueType =
+  | 'compliance_violation'
+  | 'email_security'
+  | 'exposed_infrastructure'
+  | 'insecure_configuration'
+  | 'weak_authentication';
 
 /**
- * The RFC 3339 timestamp of when the list was last modified.
- *
- * @example 2020-01-10T14:00:00Z
+ * @example compliance_violation
+ * @example email_security
  */
-export type ListsComponentsSchemasModifiedOn = string;
+export type SecurityCenterIssueTypes = SecurityCenterIssueType[];
+
+export type SecurityCenterMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
 
 /**
- * An informative name for the list. Use this name in filter and rule expressions.
+ * Current page within paginated list of results
  *
- * @example list1
- * @maxLength 50
- * @pattern ^[a-zA-Z0-9_]+$
+ * @example 1
  */
-export type ListsComponentsSchemasName = string;
+export type SecurityCenterPage = number;
 
 /**
- * The live input ID used to upload a video with Stream Live.
+ * Number of results per page of results
  *
- * @example fc0a8dc887b16759bfd9ad922230a014
- * @maxLength 32
+ * @example 25
+ * @maximum 1000
+ * @minimum 1
  */
-export type LiveInput = string;
+export type SecurityCenterPerPage = number;
 
 /**
- * Details about a live input.
+ * @example access
+ * @example dns
  */
-export type LiveInput = {
-  created?: LiveInputCreated;
-  meta?: LiveInputMetadata;
-  modified?: LiveInputModified;
-  recording?: LiveInputRecordingSettings;
-  rtmps?: InputRtmps;
-  rtmpsPlayback?: PlaybackRtmps;
-  srt?: InputSrt;
-  srtPlayback?: PlaybackSrt;
-  status?: LiveInputStatus;
-  uid?: LiveInputIdentifier;
-  webRTC?: InputWebrtc;
-  webRTCPlayback?: PlaybackWebrtc;
+export type SecurityCenterProducts = string[];
+
+export type SecurityCenterSecurityTxt = {
+  /**
+   * @example https://example.com/hall-of-fame.html
+   */
+  acknowledgments?: string[];
+  /**
+   * @example https://www.example.com/.well-known/security.txt
+   */
+  canonical?: string[];
+  /**
+   * @example mailto:security@example.com
+   * @example tel:+1-201-555-0123
+   * @example https://example.com/security-contact.html
+   */
+  contact?: string[];
+  /**
+   * @example true
+   */
+  enabled?: boolean;
+  /**
+   * @example https://example.com/pgp-key.txt
+   * @example dns:5d2d37ab76d47d36._openpgpkey.example.com?type=OPENPGPKEY
+   * @example openpgp4fpr:5f2de5521c63a801ab59ccb603d49de44b29100f
+   */
+  encryption?: string[];
+  /**
+   * @format date-time
+   */
+  expires?: string;
+  /**
+   * @example https://example.com/jobs.html
+   */
+  hiring?: string[];
+  /**
+   * @example https://example.com/disclosure-policy.html
+   */
+  policy?: string[];
+  /**
+   * @example en, es, fr
+   */
+  preferredLanguages?: string;
 };
 
 /**
- * The date and time the live input was created.
- *
- * @example 2014-01-02T02:20:00Z
- * @format date-time
+ * @example low
+ * @example moderate
  */
-export type LiveInputCreated = string;
+export type SecurityCenterSeverityQueryParam = ('low' | 'moderate' | 'critical')[];
 
 /**
- * Sets the creator ID asssociated with this live input.
+ * @example example.com
  */
-export type LiveInputDefaultCreator = string;
+export type SecurityCenterSubject = string;
+
+export type SecurityCenterSubjects = SecurityCenterSubject[];
+
+export type SecurityCenterValueCountsResponse = SecurityCenterApiResponseCommon & {
+  result?: {
+    /**
+     * @example 1
+     */
+    count?: number;
+    value?: string;
+  }[];
+};
+
+export type SecurityCenterZoneId = SecurityCenterIdentifier;
+
+export type SnippetsApiResponseCommon = {
+  errors: SnippetsMessages;
+  messages: SnippetsMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type SnippetsApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: SnippetsMessages;
+  messages: SnippetsMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
 
 /**
- * A unique identifier for a live input.
+ * Identifier
  *
- * @example 66be4bf738797e01e1fca35a7bdecdcd
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
  * @maxLength 32
  */
-export type LiveInputIdentifier = string;
+export type SnippetsIdentifier = string;
+
+export type SnippetsMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
 
 /**
- * A user modifiable key-value store used to reference other systems of record for managing live inputs.
- *
- * @example {"name":"test stream 1"}
+ * List of snippet rules
  */
-export type LiveInputMetadata = Record<string, any>;
+export type SnippetsRules = {
+  /**
+   * @example Rule description
+   */
+  description?: string;
+  /**
+   * @example true
+   */
+  enabled?: boolean;
+  /**
+   * @example http.cookie eq "a=b"
+   */
+  expression?: string;
+  snippet_name?: SnippetsSnippetName;
+}[];
 
 /**
- * The date and time the live input was last modified.
- *
- * @example 2014-01-02T02:20:00Z
- * @format date-time
+ * Snippet Information
  */
-export type LiveInputModified = string;
-
-export type LiveInputObjectWithoutUrl = {
-  created?: LiveInputCreated;
-  meta?: LiveInputMetadata;
-  modified?: LiveInputModified;
-  uid?: LiveInputIdentifier;
+export type SnippetsSnippet = {
+  /**
+   * Creation time of the snippet
+   *
+   * @example 2023-07-24-00:00:00
+   */
+  created_on?: string;
+  /**
+   * Modification time of the snippet
+   *
+   * @example 2023-07-24-00:00:00
+   */
+  modified_on?: string;
+  snippet_name?: SnippetsSnippetName;
 };
 
 /**
- * Lists the origins allowed to display videos created with this input. Enter allowed origin domains in an array and use `*` for wildcard subdomains. An empty array allows videos to be viewed on any origin.
+ * Snippet identifying name
  *
- * @example example.com
+ * @example snippet_name_01
+ * @pattern ^[A-Za-z0-9_]+$
  */
-export type LiveInputRecordingAllowedOrigins = string[];
+export type SnippetsSnippetName = string;
+
+export type SnippetsZoneIdentifier = SnippetsIdentifier;
+
+export type SpectrumAnalyticsApiResponseCommon = {
+  errors: SpectrumAnalyticsMessages;
+  messages: SpectrumAnalyticsMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type SpectrumAnalyticsApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: SpectrumAnalyticsMessages;
+  messages: SpectrumAnalyticsMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type SpectrumAnalyticsApiResponseSingle = SpectrumAnalyticsApiResponseCommon;
 
 /**
- * Specifies the recording behavior for the live input. Set this value to `off` to prevent a recording. Set the value to `automatic` to begin a recording and transition to on-demand after Stream Live stops receiving input.
+ * Comma-delimited list of Spectrum Application Id(s). If provided, the response will be limited to Spectrum Application Id(s) that match.
  *
- * @default off
- * @example automatic
+ * @example ea95132c15732412d22c1476fa83f27a,d122c5f4bb71e25cc9e86ab43b142e2f
  */
-export type LiveInputRecordingMode = 'off' | 'automatic';
+export type SpectrumAnalyticsAppIdParam = string;
+
+export type SpectrumAnalyticsColumn = {
+  dimensions?: string[];
+  metrics?: number[] | number[][];
+};
 
 /**
- * Indicates if a video using the live input has the `requireSignedURLs` property set. Also enforces access controls on any video recording of the livestream with the live input.
+ * Can be used to break down the data by given attributes. Options are:
  *
- * @default false
- * @example true
+ * Dimension                 | Name                            | Example
+ * --------------------------|---------------------------------|--------------------------
+ * event                     | Connection Event                | connect, progress, disconnect, originError, clientFiltered
+ * appID                     | Application ID                  | 40d67c87c6cd4b889a4fd57805225e85
+ * coloName                  | Colo Name                       | SFO
+ * ipVersion                 | IP version used by the client   | 4, 6.
+ *
+ * @example event
+ * @example appID
  */
-export type LiveInputRecordingRequireSignedURLs = boolean;
+export type SpectrumAnalyticsDimensions = ('event' | 'appID' | 'coloName' | 'ipVersion')[];
 
 /**
- * Records the input to a Cloudflare Stream video. Behavior depends on the mode. In most cases, the video will initially be viewable as a live video and transition to on-demand after a condition is satisfied.
+ * Used to filter rows by one or more dimensions. Filters can be combined using OR and AND boolean logic. AND takes precedence over OR in all the expressions. The OR operator is defined using a comma (,) or OR keyword surrounded by whitespace. The AND operator is defined using a semicolon (;) or AND keyword surrounded by whitespace. Note that the semicolon is a reserved character in URLs (rfc1738) and needs to be percent-encoded as %3B. Comparison options are:
+ *
+ * Operator                  | Name                            | URL Encoded
+ * --------------------------|---------------------------------|--------------------------
+ * ==                        | Equals                          | %3D%3D
+ * !=                        | Does not equals                 | !%3D
+ * \>                        | Greater Than                    | %3E
+ * \<                        | Less Than                       | %3C
+ * \>=                       | Greater than or equal to        | %3E%3D
+ * \<=                       | Less than or equal to           | %3C%3D
  *
- * @example {"mode":"off","requireSignedURLs":false,"timeoutSeconds":0}
+ * @example event==disconnect%20AND%20coloName!=SFO
  */
-export type LiveInputRecordingSettings = {
-  allowedOrigins?: LiveInputRecordingAllowedOrigins;
-  mode?: LiveInputRecordingMode;
-  requireSignedURLs?: LiveInputRecordingRequireSignedURLs;
-  timeoutSeconds?: LiveInputRecordingTimeoutSeconds;
-};
+export type SpectrumAnalyticsFilters = string;
 
 /**
- * Determines the amount of time a live input configured in `automatic` mode should wait before a recording transitions from live to on-demand. `0` is recommended for most use cases and indicates the platform default should be used.
+ * Identifier
  *
- * @default 0
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type LiveInputRecordingTimeoutSeconds = number;
+export type SpectrumAnalyticsIdentifier = string;
+
+export type SpectrumAnalyticsMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
 
-export type LiveInputResponseCollection = ApiResponseCollection & {
+/**
+ * One or more metrics to compute. Options are:
+ *
+ * Metric                    | Name                                | Example                  | Unit
+ * --------------------------|-------------------------------------|--------------------------|--------------------------
+ * count                     | Count of total events               | 1000                     | Count
+ * bytesIngress              | Sum of ingress bytes                | 1000                     | Sum
+ * bytesEgress               | Sum of egress bytes                 | 1000                     | Sum
+ * durationAvg               | Average connection duration         | 1.0                      | Time in milliseconds
+ * durationMedian            | Median connection duration          | 1.0                      | Time in milliseconds
+ * duration90th              | 90th percentile connection duration | 1.0                      | Time in milliseconds
+ * duration99th              | 99th percentile connection duration | 1.0                      | Time in milliseconds.
+ *
+ * @example count
+ * @example bytesIngress
+ */
+export type SpectrumAnalyticsMetrics = (
+  | 'count'
+  | 'bytesIngress'
+  | 'bytesEgress'
+  | 'durationAvg'
+  | 'durationMedian'
+  | 'duration90th'
+  | 'duration99th'
+)[];
+
+export type SpectrumAnalyticsQuery = {
+  dimensions?: SpectrumAnalyticsDimensions;
+  filters?: SpectrumAnalyticsFilters;
+  /**
+   * Limit number of returned metrics.
+   */
+  limit?: number;
+  metrics?: SpectrumAnalyticsMetrics;
+  since?: SpectrumAnalyticsSince;
+  sort?: SpectrumAnalyticsSort;
+  until?: SpectrumAnalyticsUntil;
+};
+
+export type SpectrumAnalyticsQueryResponseAggregate = SpectrumAnalyticsApiResponseSingle & {
   result?: {
-    liveInputs?: LiveInputObjectWithoutUrl[];
     /**
-     * The total number of remaining live inputs based on cursor position.
+     * Identifier
      *
-     * @example 1000
+     * @example 023e105f4ecef8ad9ca31a8372d0c353
+     * @maxLength 32
      */
-    range?: number;
+    appID: void & SpectrumAnalyticsIdentifier;
     /**
-     * The total number of live inputs that match the provided filters.
-     *
-     * @example 35586
+     * Number of bytes sent
      */
-    total?: number;
-  };
-};
-
-export type LiveInputResponseSingle = ApiResponseSingleYdRGfgTy & {
-  result?: LiveInput;
+    bytesEgress: number;
+    /**
+     * Number of bytes received
+     */
+    bytesIngress: number;
+    /**
+     * Number of connections
+     */
+    connections: number;
+    /**
+     * Average duration of connections
+     */
+    durationAvg: number;
+  }[];
 };
 
-/**
- * The connection status of a live input.
- */
-export type LiveInputStatus =
-  | any
-  | 'connected'
-  | 'reconnected'
-  | 'reconnecting'
-  | 'client_disconnect'
-  | 'ttl_exceeded'
-  | 'failed_to_connect'
-  | 'failed_to_reconnect'
-  | 'new_configuration_accepted'
-  | null;
-
-/**
- * Identifier for the uploaded LOA document.
- *
- * @example d933b1530bc56c9953cf8ce166da8004
- * @maxLength 32
- */
-export type LoaDocumentIdentifier = string | null;
-
-/**
- * Identifier for the uploaded LOA document.
- *
- * @example d933b1530bc56c9953cf8ce166da8004
- * @maxLength 32
- */
-export type LoaDocumentIdentifierGtDvyfh0 = string | null;
-
-export type LoaUploadResponse = ApiResponseSingleZ04EBmfK & {
+export type SpectrumAnalyticsQueryResponseSingle = SpectrumAnalyticsApiResponseSingle & {
   result?: {
     /**
-     * Name of LOA document.
+     * List of columns returned by the analytics query.
+     */
+    data: SpectrumAnalyticsColumn[];
+    /**
+     * Number of seconds between current time and last processed event, i.e. how many seconds of data could be missing.
+     *
+     * @example 3
+     * @minimum 0
+     */
+    data_lag: number;
+    /**
+     * Maximum result for each selected metrics across all data.
+     *
+     * @example {"bytesEgress":100,"bytesIngress":50}
+     */
+    max: void & SpectrumAnalyticsStat;
+    /**
+     * Minimum result for each selected metrics across all data.
      *
-     * @example document.pdf
+     * @example {"bytesEgress":100,"bytesIngress":50}
      */
-    filename?: string;
-  };
-};
-
-export type LoaUploadResponseCKBnZwZO = ApiResponseSingleLarS7owG & {
-  result?: {
+    min: void & SpectrumAnalyticsStat;
+    query: SpectrumAnalyticsQuery;
+    /**
+     * Total number of rows in the result.
+     *
+     * @example 5
+     * @minimum 0
+     */
+    rows: number;
     /**
-     * Name of LOA document.
+     * List of time interval buckets: [start, end]
+     */
+    time_intervals?: SpectrumAnalyticsTimestamp[][];
+    /**
+     * Total result for each selected metrics across all data.
      *
-     * @example document.pdf
+     * @example {"bytesEgress":100,"bytesIngress":50}
      */
-    filename?: string;
+    totals: void & SpectrumAnalyticsStat;
   };
 };
 
-export type LoadBalancer = {
-  adaptive_routing?: AdaptiveRouting;
-  country_pools?: CountryPools;
-  created_on?: Timestamp;
-  default_pools?: DefaultPools;
-  description?: ComponentsSchemasDescriptionPGj41dmE;
-  enabled?: ComponentsSchemasEnabledQ79EL5TU;
-  fallback_pool?: FallbackPool;
-  id?: LoadBalancerComponentsSchemasIdentifier;
-  location_strategy?: LocationStrategy;
-  modified_on?: Timestamp;
-  name?: ComponentsSchemasNamePmZCIPld;
-  pop_pools?: PopPools;
-  proxied?: Proxied;
-  random_steering?: RandomSteering;
-  region_pools?: RegionPools;
-  rules?: Rules;
-  session_affinity?: SessionAffinity;
-  session_affinity_attributes?: SessionAffinityAttributes;
-  session_affinity_ttl?: SessionAffinityTtl;
-  steering_policy?: SteeringPolicy;
-  ttl?: TtlHaRIhRKD;
-};
-
-export type LoadBalancerUJT5l2Nt = {
-  adaptive_routing?: AdaptiveRouting;
-  country_pools?: CountryPools;
-  created_on?: Timestamp;
-  default_pools?: DefaultPools;
-  description?: LoadBalancerComponentsSchemasDescription;
-  enabled?: LoadBalancerComponentsSchemasEnabled;
-  fallback_pool?: FallbackPool;
-  id?: LoadBalancerComponentsSchemasIdentifier;
-  location_strategy?: LocationStrategy;
-  modified_on?: Timestamp;
-  name?: LoadBalancerComponentsSchemasName;
-  pop_pools?: PopPools;
-  proxied?: Proxied;
-  random_steering?: RandomSteering;
-  region_pools?: RegionPools;
-  rules?: ComponentsSchemasRules;
-  session_affinity?: SessionAffinity;
-  session_affinity_attributes?: SessionAffinityAttributes;
-  session_affinity_ttl?: SessionAffinityTtl;
-  steering_policy?: SteeringPolicy;
-  ttl?: TtlXvgb35JN;
-};
-
 /**
- * Object description.
+ * Start of time interval to query, defaults to `until` - 6 hours. Timestamp must be in RFC3339 format and uses UTC unless otherwise specified.
  *
- * @example Load Balancer for www.example.com
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
  */
-export type LoadBalancerComponentsSchemasDescription = string;
+export type SpectrumAnalyticsSince = void & SpectrumAnalyticsTimestamp;
 
 /**
- * Whether to enable (the default) this load balancer.
+ * The sort order for the result set; sort fields must be included in `metrics` or `dimensions`.
  *
- * @default true
- * @example true
+ * @example +count
+ * @example -bytesIngress
  */
-export type LoadBalancerComponentsSchemasEnabled = boolean;
+export type SpectrumAnalyticsSort = string[];
 
 /**
- * @example 699d98642c564d2e855e9661899b7252
+ * @example {"bytesEgress":100,"bytesIngress":50}
  */
-export type LoadBalancerComponentsSchemasIdentifier = void;
+export type SpectrumAnalyticsStat = {
+  [key: string]: number;
+};
 
 /**
- * The DNS hostname to associate with your Load Balancer. If this hostname already exists as a DNS record in Cloudflare's DNS, the Load Balancer will take precedence and the DNS record will not be used.
- *
- * @example www.example.com
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
  */
-export type LoadBalancerComponentsSchemasName = string;
-
-export type LoadBalancerComponentsSchemasResponseCollection = ApiResponseCollection & {
-  result?: LoadBalancerUJT5l2Nt[];
-};
+export type SpectrumAnalyticsTimestamp = string;
 
-export type LoadBalancerComponentsSchemasSingleResponse = ApiResponseSingleUl1k90Mw & {
-  result?: LoadBalancer;
-};
+/**
+ * End of time interval to query, defaults to current time. Timestamp must be in RFC3339 format and uses UTC unless otherwise specified.
+ *
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
+ */
+export type SpectrumAnalyticsUntil = void & SpectrumAnalyticsTimestamp;
 
-export type LoadBalancerComponentsSchemasSingleResponseMP6TZKst = ApiResponseSingleLarS7owG & {
-  result?: LoadBalancerUJT5l2Nt;
+export type SpectrumConfigApiResponseCollection = SpectrumConfigApiResponseCommon & {
+  result_info?: SpectrumConfigResultInfo;
 };
 
-/**
- * Configures load shedding policies and percentages for the pool.
- */
-export type LoadShedding = {
-  /**
-   * The percent of traffic to shed from the pool, according to the default policy. Applies to new sessions and traffic without session affinity.
-   *
-   * @default 0
-   * @maximum 100
-   * @minimum 0
-   */
-  default_percent?: number;
+export type SpectrumConfigApiResponseCommon = {
+  errors: SpectrumConfigMessages;
+  messages: SpectrumConfigMessages;
   /**
-   * The default policy to use when load shedding. A random policy randomly sheds a given percent of requests. A hash policy computes a hash over the CF-Connecting-IP address and sheds all requests originating from a percent of IPs.
+   * Whether the API call was successful
    *
-   * @default random
+   * @example true
    */
-  default_policy?: 'random' | 'hash';
+  success: true;
+};
+
+export type SpectrumConfigApiResponseCommonFailure = {
   /**
-   * The percent of existing sessions to shed from the pool, according to the session policy.
-   *
-   * @default 0
-   * @maximum 100
-   * @minimum 0
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
    */
-  session_percent?: number;
+  errors: SpectrumConfigMessages;
+  messages: SpectrumConfigMessages;
+  result: any | null;
   /**
-   * Only the hash policy is supported for existing sessions (to avoid exponential decay).
+   * Whether the API call was successful
    *
-   * @default hash
+   * @example false
    */
-  session_policy?: 'hash';
+  success: false;
+};
+
+export type SpectrumConfigApiResponseSingle = SpectrumConfigApiResponseCommon;
+
+export type SpectrumConfigApiResponseSingleId = SpectrumConfigApiResponseCommon & {
+  result?: {
+    id: SpectrumConfigIdentifier;
+  } | null;
+};
+
+export type SpectrumConfigAppConfig = SpectrumConfigBaseAppConfig & {
+  argo_smart_routing?: SpectrumConfigArgoSmartRouting;
+  dns: SpectrumConfigDns;
+  edge_ips?: SpectrumConfigEdgeIps;
+  ip_firewall: SpectrumConfigIpFirewall;
+  origin_direct?: SpectrumConfigOriginDirect;
+  origin_dns?: SpectrumConfigOriginDns;
+  origin_port?: SpectrumConfigOriginPort;
+  protocol: SpectrumConfigProtocol;
+  proxy_protocol: SpectrumConfigProxyProtocol;
+  tls: SpectrumConfigTls;
+  traffic_type: SpectrumConfigTrafficType;
+};
+
+export type SpectrumConfigAppConfigCollection = SpectrumConfigApiResponseCollection & {
+  result?: SpectrumConfigAppConfig[] | SpectrumConfigPaygoAppConfig[];
+};
+
+export type SpectrumConfigAppConfigSingle = SpectrumConfigApiResponseSingle & {
+  result?: SpectrumConfigAppConfig | SpectrumConfigPaygoAppConfig;
 };
 
 /**
- * Location, provided by the CSR
+ * Identifier
  *
- * @example Somewhere
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type Location = string;
+export type SpectrumConfigAppIdentifier = void & void & SpectrumConfigIdentifier;
 
 /**
- * Controls location-based steering for non-proxied requests. See `steering_policy` to learn how steering is affected.
+ * Enables Argo Smart Routing for this application.
+ * Notes: Only available for TCP applications with traffic_type set to "direct".
+ *
+ * @default false
+ * @example true
  */
-export type LocationStrategy = {
-  /**
-   * Determines the authoritative location when ECS is not preferred, does not exist in the request, or its GeoIP lookup is unsuccessful.
-   * - `"pop"`: Use the Cloudflare PoP location.
-   * - `"resolver_ip"`: Use the DNS resolver GeoIP location. If the GeoIP lookup is unsuccessful, use the Cloudflare PoP location.
-   *
-   * @default pop
-   * @example resolver_ip
-   */
-  mode?: 'pop' | 'resolver_ip';
-  /**
-   * Whether the EDNS Client Subnet (ECS) GeoIP should be preferred as the authoritative location.
-   * - `"always"`: Always prefer ECS.
-   * - `"never"`: Never prefer ECS.
-   * - `"proximity"`: Prefer ECS only when `steering_policy="proximity"`.
-   * - `"geo"`: Prefer ECS only when `steering_policy="geo"`.
-   *
-   * @default proximity
-   * @example always
-   */
-  prefer_ecs?: 'always' | 'never' | 'proximity' | 'geo';
-};
+export type SpectrumConfigArgoSmartRouting = boolean;
 
-export type Locations = {
-  client_default?: ClientDefault;
-  created_at?: Timestamp;
-  doh_subdomain?: Subdomain;
-  ecs_support?: EcsSupport;
-  id?: SchemasUuidHmO1cTZ9;
-  ip?: IpCcOd8dAo;
-  name?: SchemasName4xhKRX0o;
-  networks?: Network;
-  updated_at?: Timestamp;
+export type SpectrumConfigBaseAppConfig = {
+  created_on: SpectrumConfigCreated;
+  id: SpectrumConfigAppIdentifier;
+  modified_on: SpectrumConfigModified;
 };
 
 /**
- * An informative summary of the rule.
+ * When the Application was created.
  *
- * @example Restrict access to these endpoints to requests from a known IP address
- * @maxLength 1024
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
  */
-export type LockdownsComponentsSchemasDescription = string;
+export type SpectrumConfigCreated = void & void & SpectrumConfigTimestamp;
 
 /**
- * The unique identifier of the Zone Lockdown rule.
- *
- * @example 372e67954025e0ba6aaa6d586b9e0b59
- * @maxLength 32
+ * The name and type of DNS record for the Spectrum application.
  */
-export type LockdownsComponentsSchemasId = string;
+export type SpectrumConfigDns = {
+  name?: SpectrumConfigDnsName;
+  type?: SpectrumConfigDnsType;
+};
 
 /**
- * The priority of the rule to control the processing order. A lower number indicates higher priority. If not provided, any rules with a configured priority will be processed before rules without a priority.
+ * The name of the DNS record associated with the application.
  *
- * @example 5
+ * @example ssh.example.com
+ * @format hostname
  */
-export type LockdownsComponentsSchemasPriority = number;
+export type SpectrumConfigDnsName = string;
 
 /**
- * Shows whether a registrar lock is in place for a domain.
+ * The TTL of our resolution of your DNS record in seconds.
  *
- * @example false
+ * @minimum 600
  */
-export type Locked = boolean;
+export type SpectrumConfigDnsTtl = number;
 
 /**
- * An object configuring the rule's logging behavior.
+ * The type of DNS record associated with the application.
  *
- * @example {"enabled":true}
+ * @example CNAME
  */
-export type Logging = {
-  /**
-   * Whether to generate a log when the rule matches.
-   *
-   * @example true
-   */
-  enabled?: boolean;
-};
-
-export type LoginDesign = {
-  /**
-   * The background color on your login page.
-   *
-   * @example #c5ed1b
-   */
-  background_color?: string;
-  /**
-   * The text at the bottom of your login page.
-   *
-   * @example This is an example description.
-   */
-  footer_text?: string;
-  /**
-   * The text at the top of your login page.
-   *
-   * @example This is an example description.
-   */
-  header_text?: string;
-  /**
-   * The URL of the logo on your login page.
-   *
-   * @example https://example.com/logo.png
-   */
-  logo_path?: string;
-  /**
-   * The text color on your login page.
-   *
-   * @example #c5ed1b
-   */
-  text_color?: string;
-};
+export type SpectrumConfigDnsType = 'CNAME' | 'ADDRESS';
 
 /**
- * The image URL for the logo shown in the App Launcher dashboard.
+ * The anycast edge IP configuration for the hostname of this application.
  *
- * @example https://www.cloudflare.com/img/logo-web-badges/cf-logo-on-white-bg.svg
+ * @default {"connectivity":"all","type":"dynamic"}
  */
-export type LogoUrl = string;
+export type SpectrumConfigEdgeIps =
+  | {
+      /**
+       * The IP versions supported for inbound connections on Spectrum anycast IPs.
+       *
+       * @example all
+       */
+      connectivity?: 'all' | 'ipv4' | 'ipv6';
+      /**
+       * The type of edge IP configuration specified. Dynamically allocated edge IPs use Spectrum anycast IPs in accordance with the connectivity you specify. Only valid with CNAME DNS names.
+       *
+       * @example dynamic
+       */
+      type?: 'dynamic';
+    }
+  | {
+      /**
+       * The array of customer owned IPs we broadcast via anycast for this hostname and application.
+       *
+       * @example 192.0.2.1
+       */
+      ips?: string[];
+      /**
+       * The type of edge IP configuration specified. Statically allocated edge IPs use customer IPs in accordance with the ips array you specify. Only valid with ADDRESS DNS names.
+       *
+       * @example static
+       */
+      type?: 'static';
+    };
 
 /**
- * Configuration string. It specifies things like requested fields and timestamp formats. If migrating from the logpull api, copy the url (full url or just the query string) of your call here, and logpush will keep on making this call for you, setting start and end times appropriately.
+ * Identifier
  *
- * @example fields=RayID,ClientIP,EdgeStartTimestamp&timestamps=rfc3339
- * @format uri-reference
- * @maxLength 4096
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type LogpullOptions = string | null;
+export type SpectrumConfigIdentifier = string;
 
 /**
- * Whether Logpush is turned on for the Worker.
+ * Enables IP Access Rules for this application.
+ * Notes: Only available for TCP applications.
  *
- * @example false
+ * @example true
  */
-export type Logpush = boolean;
-
-export type LogpushFieldResponseCollection = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | any[] | string;
-  /**
-   * Whether the API call was successful
-   *
-   * @example true
-   */
-  success: true;
-};
+export type SpectrumConfigIpFirewall = boolean;
 
-export type LogpushJob = {
-  dataset?: Dataset;
-  destination_conf?: DestinationConf;
-  enabled?: EnabledKv09N7E6;
-  error_message?: ErrorMessage;
-  frequency?: Frequency;
-  id?: Id;
-  last_complete?: LastComplete;
-  last_error?: LastError;
-  logpull_options?: LogpullOptions;
-  name?: NameGjT0muUM;
-} | null;
-
-export type LogpushJobResponseCollection = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | any[] | string;
+export type SpectrumConfigMessages = {
   /**
-   * Whether the API call was successful
-   *
-   * @example true
+   * @minimum 1000
    */
-  success: true;
-};
-
-export type LogpushJobResponseSingle = ApiResponseSingleJE9eFdPt & {
-  result?: LogpushJob;
-};
+  code: number;
+  message: string;
+}[];
 
 /**
- * @example {"ClientIP":"192.0.2.1","RayID":"41ddf1740f67442d","EdgeStartTimestamp":1526810289280000000}
-{"ClientIP":"192.0.2.1","RayID":"41ddf1740f67442d","EdgeStartTimestamp":1526810289280000000}
-{"ClientIP":"192.0.2.1","RayID":"41ddf1740f67442d","EdgeStartTimestamp":1526810289280000000}
+ * When the Application was last modified.
+ *
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
  */
-export type Logs = string | Record<string, any>;
+export type SpectrumConfigModified = void & void & SpectrumConfigTimestamp;
 
 /**
- * The longitude of the data center containing the origins used in this pool in decimal degrees. If this is set, latitude must also be set.
+ * List of origin IP addresses. Array may contain multiple IP addresses for load balancing.
  */
-export type Longitude = number;
+export type SpectrumConfigOriginDirect = string[];
 
 /**
- * The device mac address.
- *
- * @example 00-00-5E-00-53-00
+ * The name and type of DNS record for the Spectrum application.
  */
-export type MacAddress = string;
+export type SpectrumConfigOriginDns = {
+  name?: SpectrumConfigOriginDnsName;
+  ttl?: SpectrumConfigDnsTtl;
+  type?: SpectrumConfigOriginDnsType;
+};
 
 /**
- * When true, the Managed Transform is enabled.
+ * The name of the DNS record associated with the origin.
  *
- * @example true
+ * @example origin.example.com
+ * @format hostname
  */
-export type ManagedHeadersComponentsSchemasEnabled = boolean;
+export type SpectrumConfigOriginDnsName = string;
 
 /**
- * Human-readable identifier of the Managed Transform.
+ * The type of DNS record associated with the origin. "" is used to specify a combination of A/AAAA records.
  *
- * @example add_cf-bot-score_header
+ * @example
  */
-export type ManagedHeadersComponentsSchemasId = string;
+export type SpectrumConfigOriginDnsType = '' | 'A' | 'AAAA' | 'SRV';
 
 /**
- * The device manufacturer name.
+ * The destination port at the origin. Only specified in conjunction with origin_dns. May use an integer to specify a single origin port, for example `1000`, or a string to specify a range of origin ports, for example `"1000-2000"`.
+ * Notes: If specifying a port range, the number of ports in the range must match the number of ports specified in the "protocol" field.
  *
- * @example My phone corp
+ * @example 22
+ * @maximum 65535
+ * @minimum 1
  */
-export type Manufacturer = string;
+export type SpectrumConfigOriginPort = number | string;
 
-/**
- * The conditions that the client must match to run the rule.
- */
-export type Match = MatchItem[];
+export type SpectrumConfigPaygoAppConfig = SpectrumConfigBaseAppConfig & {
+  dns: SpectrumConfigDns;
+  origin_direct?: SpectrumConfigOriginDirect;
+  protocol: SpectrumConfigProtocol;
+};
 
 /**
- * Whether to match all search requirements or at least one (any). If set to `all`, acts like a logical AND between filters. If set to `any`, acts like a logical OR instead. Note that the interaction between tag filters is controlled by the `tag-match` parameter instead.
+ * The port configuration at Cloudflare's edge. May specify a single port, for example `"tcp/1000"`, or a range of ports, for example `"tcp/1000-2000"`.
  *
- * @default all
- * @example any
+ * @example tcp/22
  */
-export type Match90leq6MH = 'any' | 'all';
+export type SpectrumConfigProtocol = string;
 
 /**
- * Determines which traffic the rate limit counts towards the threshold.
+ * Enables Proxy Protocol to the origin. Refer to [Enable Proxy protocol](https://developers.cloudflare.com/spectrum/getting-started/proxy-protocol/) for implementation details on PROXY Protocol V1, PROXY Protocol V2, and Simple Proxy Protocol.
+ *
+ * @default off
+ * @example off
  */
-export type MatchVa0wXlcX = {
-  headers?: {
-    name?: HeaderName;
-    op?: HeaderOp;
-    value?: HeaderValue;
-  }[];
-  request?: {
-    methods?: Methods;
-    schemes?: Schemes;
-    url?: SchemasUrl;
-  };
-  response?: {
-    origin_traffic?: OriginTraffic;
-  };
-};
+export type SpectrumConfigProxyProtocol = 'off' | 'v1' | 'v2' | 'simple';
 
-export type MatchItem = {
-  platform?: Platform;
+export type SpectrumConfigResultInfo = {
+  /**
+   * Total number of results for the requested service
+   *
+   * @example 1
+   */
+  count?: number;
+  /**
+   * Current page within paginated list of results
+   *
+   * @example 1
+   */
+  page?: number;
+  /**
+   * Number of results per page of results
+   *
+   * @example 20
+   */
+  per_page?: number;
+  /**
+   * Total results available without any search parameters
+   *
+   * @example 2000
+   */
+  total_count?: number;
 };
 
 /**
- * The maximum duration in seconds for a video upload. Can be set for a video that is not yet uploaded to limit its duration. Uploads that exceed the specified duration will fail during processing. A value of `-1` means the value is unknown.
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
+ */
+export type SpectrumConfigTimestamp = string;
+
+/**
+ * The type of TLS termination associated with the application.
  *
- * @maximum 21600
- * @minimum 1
+ * @example full
  */
-export type MaxDurationSeconds = number;
+export type SpectrumConfigTls = 'off' | 'flexible' | 'full' | 'strict';
 
 /**
- * The maximum number of seconds the results of a preflight request can be cached.
+ * Determines how data travels from the edge to your origin. When set to "direct", Spectrum will send traffic directly to your origin, and the application's type is derived from the `protocol`. When set to "http" or "https", Spectrum will apply Cloudflare's HTTP/HTTPS features as it sends traffic to your origin, and the application type matches this property exactly.
  *
- * @example -1
- * @maximum 86400
- * @minimum -1
+ * @default direct
+ * @example direct
  */
-export type MaxAge = number;
+export type SpectrumConfigTrafficType = 'direct' | 'http' | 'https';
 
-export type MaxEstimatedTimeMinutes = number;
+export type SpectrumConfigUpdateAppConfig = SpectrumConfigAppConfig | SpectrumConfigPaygoAppConfig;
 
 /**
- * @example 3
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type MaxRetries = number;
+export type SpectrumConfigZoneIdentifier = void & void & SpectrumConfigIdentifier;
+
+export type SpeedApiResponseCommon = {
+  errors: SpeedMessages;
+  messages: SpeedMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: boolean;
+};
+
+export type SpeedApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: SpeedMessages;
+  messages: SpeedMessages;
+  result: Record<string, any> | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: boolean;
+};
+
+export type SpeedApiResponseSingleId = SpeedApiResponseCommon & {
+  result?: {
+    id: SpeedIdentifier;
+  } | null;
+};
+
+export type SpeedBase = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * Identifier of the zone setting.
+   *
+   * @example development_mode
+   */
+  id?: string;
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value?: 'on' | 'off';
+};
 
 /**
- * Maximum RTT in ms.
+ * Enhance your website's font delivery with Cloudflare Fonts. Deliver Google Hosted fonts from your own domain,
+ * boost performance, and enhance user privacy. Refer to the Cloudflare Fonts documentation for more information.
  */
-export type MaxRttMs = number;
+export type SpeedCloudflareFonts = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example fonts
+   */
+  id?: 'fonts';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value?: SpeedCloudflareFontsValue;
+};
 
 /**
- * Max TTL.
+ * Whether the feature is enabled or disabled.
  *
- * @default 15
- * @maximum 64
- * @minimum 0
+ * @default off
  */
-export type MaxTtl = number;
+export type SpeedCloudflareFontsValue = 'on' | 'off';
 
-/**
- * Maximum size of an allowable upload.
- */
-export type MaxUpload = {
+export type SpeedCloudflareSpeedBrainResponse = {
   /**
    * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
    *
@@ -14711,11 +35578,11 @@ export type MaxUpload = {
    */
   editable?: true | false;
   /**
-   * identifier of the zone setting.
+   * Identifier of the zone setting.
    *
-   * @example max_upload
+   * @example development_mode
    */
-  id: 'max_upload';
+  id?: string;
   /**
    * last time this setting was modified.
    *
@@ -14724,583 +35591,676 @@ export type MaxUpload = {
    */
   modified_on?: string | null;
   /**
-   * Current value of the zone setting.
+   * Whether the feature is enabled or disabled.
+   * Defaults to "on" for Free plans, otherwise defaults to "off".
    *
    * @example on
    */
-  value: MaxUploadValue;
+  value?: 'on' | 'off';
 };
 
 /**
- * Value of the zone setting.
- * Notes: The size depends on the plan level of the zone. (Enterprise = 500, Business = 200, Pro = 100, Free = 100)
+ * Identifier
  *
- * @default 100
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type MaxUploadValue = 100 | 200 | 500;
+export type SpeedIdentifier = string;
+
+export type SpeedMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
 
 /**
- * @example 5000
+ * Defines rules for fine-grained control over content than signed URL tokens alone. Access rules primarily make tokens conditionally valid based on user information. Access Rules are specified on token payloads as the `accessRules` property containing an array of Rule objects.
+ */
+export type StreamAccessRules = {
+  /**
+   * The action to take when a request matches a rule. If the action is `block`, the signed token blocks views for viewers matching the rule.
+   *
+   * @example allow
+   */
+  action?: 'allow' | 'block';
+  /**
+   * An array of 2-letter country codes in ISO 3166-1 Alpha-2 format used to match requests.
+   */
+  country?: string[];
+  /**
+   * An array of IPv4 or IPV6 addresses or CIDRs used to match requests.
+   */
+  ip?: string[];
+  /**
+   * Lists available rule types to match for requests. An `any` type matches all requests and can be used as a wildcard to apply default actions after other rules.
+   *
+   * @example ip.src
+   */
+  type?: 'any' | 'ip.src' | 'ip.geoip.country';
+};
+
+/**
+ * The account identifier tag.
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type StreamAccountIdentifier = string;
+
+export type StreamAddAudioTrackResponse = StreamApiResponseCommon & {
+  result?: StreamAdditionalAudio;
+};
+
+export type StreamAdditionalAudio = {
+  ['default']?: StreamAudioDefault;
+  label?: StreamAudioLabel;
+  status?: StreamAudioState;
+  uid?: StreamIdentifier;
+};
+
+/**
+ * Lists the origins allowed to display the video. Enter allowed origin domains in an array and use `*` for wildcard subdomains. Empty arrays allow the video to be viewed on any origin.
+ *
+ * @example example.com
  */
-export type MaxWaitTimeMs = number;
+export type StreamAllowedOrigins = string[];
+
+export type StreamApiResponseCommon = {
+  errors: StreamMessages;
+  messages: StreamMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type StreamApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: StreamMessages;
+  messages: StreamMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
+
+export type StreamApiResponseSingle = StreamApiResponseCommon;
 
 /**
- * Maximum DNS Cache TTL.
+ * Lists videos in ascending order of creation.
  *
- * @default 900
- * @example 900
- * @maximum 36000
- * @minimum 30
+ * @default false
+ * @example true
  */
-export type MaximumCacheTtl = number;
+export type StreamAsc = boolean;
 
 /**
- * Mean RTT in ms.
+ * Denotes whether the audio track will be played by default in a player.
+ *
+ * @default false
  */
-export type MeanRttMs = number;
+export type StreamAudioDefault = boolean;
 
 /**
- * The mechanism to which the notification has been dispatched.
+ * The unique identifier for an additional audio track.
  *
- * @example test@example.com
+ * @example ea95132c15732412d22c1476fa83f27a
+ * @maxLength 32
  */
-export type Mechanism = string;
+export type StreamAudioIdentifier = string;
 
 /**
- * The type of mechanism to which the notification has been dispatched. This can be email/pagerduty/webhook based on the mechanism configured.
+ * A string to uniquely identify the track amongst other audio track labels for the specified video.
  *
- * @example email
+ * @example director commentary
  */
-export type MechanismType = 'email' | 'pagerduty' | 'webhook';
+export type StreamAudioLabel = string;
 
 /**
- * List of IDs that will be used when dispatching a notification. IDs for email type will be the email address.
- *
- * @example {"email":[{"id":"test@example.com"}],"pagerduty":[{"id":"e8133a15-00a4-4d69-aec1-32f70c51f6e5"}],"webhooks":[{"id":"14cc1190-5d2b-4b98-a696-c424cb2ad05f"}]}
+ * Specifies the processing status of the video.
  */
-export type Mechanisms = {
-  [key: string]: {
-    id?: Uuid;
-  }[];
+export type StreamAudioState = 'queued' | 'ready' | 'error';
+
+export type StreamCaptionBasicUpload = {
+  /**
+   * The WebVTT file containing the caption or subtitle content.
+   *
+   * @example @/Users/kyle/Desktop/tr.vtt
+   */
+  file: string;
 };
 
 /**
- * A user modifiable key-value store used to reference other systems of record for managing videos.
- *
- * @example {}
+ * The status of a generated caption.
  */
-export type MediaMetadata = Record<string, any>;
+export type StreamCaptionStatus = 'ready' | 'inprogress' | 'error';
+
+export type StreamCaptions = {
+  generated?: StreamGeneratedCaption;
+  label?: StreamLabel;
+  language?: StreamLanguage;
+  status?: StreamCaptionStatus;
+};
+
+export type StreamClipResponseSingle = StreamApiResponseCommon & {
+  result?: StreamClipping;
+};
 
 /**
- * Specifies the processing status of the video.
+ * The unique video identifier (UID).
  *
- * @example inprogress
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type MediaState = 'pendingupload' | 'downloading' | 'queued' | 'inprogress' | 'ready' | 'error';
+export type StreamClippedFromVideoUid = string;
+
+export type StreamClipping = {
+  allowedOrigins?: StreamAllowedOrigins;
+  clippedFromVideoUID?: StreamClippedFromVideoUid;
+  created?: StreamClippingCreated;
+  creator?: StreamCreator;
+  endTimeSeconds?: StreamEndTimeSeconds;
+  maxDurationSeconds?: StreamMaxDurationSeconds;
+  meta?: StreamMediaMetadata;
+  modified?: StreamLiveInputModified;
+  playback?: StreamPlayback;
+  preview?: StreamPreview;
+  requireSignedURLs?: StreamRequireSignedURLs;
+  startTimeSeconds?: StreamStartTimeSeconds;
+  status?: StreamMediaState;
+  thumbnailTimestampPct?: StreamThumbnailTimestampPct;
+  watermark?: StreamWatermarkAtUpload;
+};
 
 /**
- * Specifies a detailed status for a video. If the `state` is `inprogress` or `error`, the `step` field returns `encoding` or `manifest`. If the `state` is `inprogress`, `pctComplete` returns a number between 0 and 100 to indicate the approximate percent of completion. If the `state` is `error`, `errorReasonCode` and `errorReasonText` provide additional details.
+ * The date and time the clip was created.
+ *
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
  */
-export type MediaStatus = {
-  errorReasonCode?: ErrorReasonCode;
-  errorReasonText?: ErrorReasonText;
-  pctComplete?: PctComplete;
-  state?: MediaState;
-};
+export type StreamClippingCreated = string;
 
-export type Member = {
-  code?: Code;
-  id: MembershipComponentsSchemasIdentifier;
+export type StreamCopyAudioTrack = {
+  label: StreamAudioLabel;
   /**
-   * Roles assigned to this member.
+   * An audio track URL. The server must be publicly routable and support `HTTP HEAD` requests and `HTTP GET` range requests. The server should respond to `HTTP HEAD` requests with a `content-range` header that includes the size of the file.
+   *
+   * @example https://www.examplestorage.com/audio_file.mp3
+   * @format uri
    */
-  roles: Role[];
-  status: void;
-  user: {
-    email: EmailPuzf53IC;
-    first_name?: FirstName;
-    id?: CommonComponentsSchemasIdentifier;
-    last_name?: LastName;
-    two_factor_authentication_enabled?: TwoFactorAuthenticationEnabled;
-  };
+  url?: string;
+};
+
+export type StreamCreateInputRequest = {
+  defaultCreator?: StreamLiveInputDefaultCreator;
+  deleteRecordingAfterDays?: StreamLiveInputRecordingDeletion;
+  meta?: StreamLiveInputMetadata;
+  recording?: StreamLiveInputRecordingSettings;
+};
+
+export type StreamCreateOutputRequest = {
+  enabled?: StreamOutputEnabled;
+  streamKey: StreamOutputStreamKey;
+  url: StreamOutputUrl;
 };
 
 /**
- * Member Name.
+ * The date and time the media item was created.
  *
- * @example John Smith
- * @maxLength 100
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
  */
-export type MemberComponentsSchemasName = string | null;
+export type StreamCreated = string;
 
-export type Membership = {
-  account?: SchemasAccount;
-  api_access_enabled?: ApiAccessEnabled;
-  code?: Code;
-  id?: MembershipComponentsSchemasIdentifier;
+/**
+ * A user-defined identifier for the media creator.
+ *
+ * @example creator-id_abcde12345
+ * @maxLength 64
+ */
+export type StreamCreator = string;
+
+export type StreamDeletedResponse = StreamApiResponseSingle & {
   /**
-   * All access permissions for the user at the account.
+   * @example ok
+   */
+  result?: string;
+};
+
+export type StreamDirectUploadRequest = {
+  allowedOrigins?: StreamAllowedOrigins;
+  creator?: StreamCreator;
+  /**
+   * The date and time after upload when videos will not be accepted.
    *
-   * @example {"analytics":{"read":true,"write":false},"zones":{"read":true,"write":true}}
+   * @default Now + 30 minutes
+   * @example 2021-01-02T02:20:00Z
+   * @format date-time
    */
-  permissions?: Permissions;
-  roles?: Roles;
-  status?: SchemasStatusJI04pNVL;
+  expiry?: string;
+  maxDurationSeconds: StreamMaxDurationSeconds;
+  meta?: StreamMediaMetadata;
+  requireSignedURLs?: StreamRequireSignedURLs;
+  scheduledDeletion?: StreamScheduledDeletion;
+  thumbnailTimestampPct?: StreamThumbnailTimestampPct;
+  watermark?: StreamWatermarkAtUpload2;
+};
+
+export type StreamDirectUploadResponse = StreamApiResponseSingle & {
+  result?: {
+    scheduledDeletion?: StreamScheduledDeletion;
+    uid?: StreamIdentifier;
+    /**
+     * The URL an unauthenticated upload can use for a single `HTTP POST multipart/form-data` request.
+     *
+     * @example www.example.com/samplepath
+     */
+    uploadURL?: string;
+    watermark?: StreamWatermarks;
+  };
 };
 
 /**
- * Membership identifier tag.
+ * The source URL for a downloaded image. If the watermark profile was created via direct upload, this field is null.
  *
- * @example 4536bcfad5faccb111b47003c79917fa
- * @maxLength 32
+ * @example https://company.com/logo.png
  */
-export type MembershipComponentsSchemasIdentifier = string;
+export type StreamDownloadedFrom = string;
+
+export type StreamDownloadsResponse = StreamApiResponseSingle & {
+  result?: Record<string, any>;
+};
 
 /**
- * Zones and Accounts which will be assigned IPs on this Address Map. A zone membership will take priority over an account membership.
+ * The duration of the video in seconds. A value of `-1` means the duration is unknown. The duration becomes available after the upload and before the video is ready.
  */
-export type Memberships = AddressMapsMembership5Sv6b19f[];
+export type StreamDuration = number;
 
-export type Messages = {
-  /**
-   * @minimum 1000
-   */
-  code: number;
-  message: string;
-}[];
+export type StreamEditAudioTrack = {
+  ['default']?: StreamAudioDefault;
+  label?: StreamAudioLabel;
+};
 
 /**
- * User modifiable key-value store. Can be used for keeping references to another system of record for managing images. Metadata must not exceed 1024 bytes.
+ * Lists videos created before the specified date.
  *
- * @example {"key":"value"}
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
  */
-export type Metadata = Record<string, any>;
+export type StreamEnd = string;
 
 /**
- * The method to use for the health check. This defaults to 'GET' for HTTP/HTTPS based checks and 'connection_established' for TCP based health checks.
- *
- * @default GET
- * @example GET
+ * Specifies the end time for the video clip in seconds.
  */
-export type Method = string;
+export type StreamEndTimeSeconds = number;
 
 /**
- * The HTTP method used to access the endpoint.
+ * Specifies why the video failed to encode. This field is empty if the video is not in an `error` state. Preferred for programmatic use.
  *
- * @example GET
+ * @example ERR_NON_VIDEO
  */
-export type MethodA9T9ZDIH = 'GET' | 'POST' | 'HEAD' | 'OPTIONS' | 'PUT' | 'DELETE' | 'CONNECT' | 'PATCH' | 'TRACE';
+export type StreamErrorReasonCode = string;
 
 /**
- * The HTTP methods to match. You can specify a subset (for example, `['POST','PUT']`) or all methods (`['_ALL_']`). This field is optional when creating a rate limit.
+ * Specifies why the video failed to encode using a human readable error message in English. This field is empty if the video is not in an `error` state.
  *
- * @example GET
- * @example POST
+ * @example The file was not recognized as a valid video file.
  */
-export type Methods = ('GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | '_ALL_')[];
+export type StreamErrorReasonText = string;
 
 /**
- * A comma-separated list of metrics to query.
+ * Whether the caption was generated via AI.
  *
- * @example queryCount,uncachedCount
+ * @example true
  */
-export type Metrics = string;
+export type StreamGeneratedCaption = boolean;
 
 /**
- * Minimum RTT in ms.
+ * The height of the image in pixels.
  */
-export type MinRttMs = number;
+export type StreamHeight = number;
 
 /**
- * Only accepts HTTPS requests that use at least the TLS protocol version specified. For example, if TLS 1.1 is selected, TLS 1.0 connections will be rejected, while 1.1, 1.2, and 1.3 (if enabled) will be permitted.
+ * A Cloudflare-generated unique identifier for a media item.
  *
- * @default 1.0
+ * @example ea95132c15732412d22c1476fa83f27a
+ * @maxLength 32
  */
-export type MinTlsVersion = {
-  /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
-   *
-   * @default true
-   */
-  editable?: true | false;
-  /**
-   * ID of the zone setting.
-   *
-   * @example min_tls_version
-   */
-  id: 'min_tls_version';
+export type StreamIdentifier = string;
+
+/**
+ * Includes the total number of videos associated with the submitted query parameters.
+ *
+ * @default false
+ * @example true
+ */
+export type StreamIncludeCounts = boolean;
+
+export type StreamInput = {
   /**
-   * last time this setting was modified.
-   *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * The video height in pixels. A value of `-1` means the height is unknown. The value becomes available after the upload and before the video is ready.
    */
-  modified_on?: string | null;
+  height?: number;
   /**
-   * Current value of the zone setting.
-   *
-   * @example on
+   * The video width in pixels. A value of `-1` means the width is unknown. The value becomes available after the upload and before the video is ready.
    */
-  value: MinTlsVersionValue;
+  width?: number;
 };
 
 /**
- * Value of the zone setting.
+ * Details for streaming to an live input using RTMPS.
+ */
+export type StreamInputRtmps = {
+  streamKey?: StreamInputRtmpsStreamKey;
+  url?: StreamInputRtmpsUrl;
+};
+
+/**
+ * The secret key to use when streaming via RTMPS to a live input.
  *
- * @default 1.0
+ * @example 2fb3cb9f17e68a2568d6ebed8d5505eak3ceaf8c9b1f395e1b76b79332497cada
  */
-export type MinTlsVersionValue = '1.0' | '1.1' | '1.2' | '1.3';
+export type StreamInputRtmpsStreamKey = string;
 
 /**
- * Automatically minify certain assets for your website. Refer to [Using Cloudflare Auto Minify](https://support.cloudflare.com/hc/en-us/articles/200168196) for more information.
+ * The RTMPS URL you provide to the broadcaster, which they stream live video to.
+ *
+ * @example rtmps://live.cloudflare.com:443/live/
  */
-export type Minify = {
-  /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
-   *
-   * @default true
-   */
-  editable?: true | false;
-  /**
-   * Zone setting identifier.
-   *
-   * @example minify
-   */
-  id: 'minify';
-  /**
-   * last time this setting was modified.
-   *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
-   */
-  modified_on?: string | null;
-  /**
-   * Current value of the zone setting.
-   *
-   * @example on
-   */
-  value: MinifyValue;
-};
+export type StreamInputRtmpsUrl = string;
 
 /**
- * Value of the zone setting.
+ * Details for streaming to a live input using SRT.
  */
-export type MinifyValue = {
-  /**
-   * Automatically minify all CSS files for your website.
-   *
-   * @default off
-   */
-  css?: 'on' | 'off';
-  /**
-   * Automatically minify all HTML files for your website.
-   *
-   * @default off
-   */
-  html?: 'on' | 'off';
-  /**
-   * Automatically minify all JavaScript files for your website.
-   *
-   * @default off
-   */
-  js?: 'on' | 'off';
+export type StreamInputSrt = {
+  passphrase?: StreamInputSrtStreamPassphrase;
+  streamId?: StreamInputSrtStreamId;
+  url?: StreamInputSrtUrl;
 };
 
 /**
- * Minimum DNS Cache TTL.
+ * The identifier of the live input to use when streaming via SRT.
  *
- * @default 60
- * @example 60
- * @maximum 36000
- * @minimum 30
+ * @example f256e6ea9341d51eea64c9454659e576
  */
-export type MinimumCacheTtl = number;
+export type StreamInputSrtStreamId = string;
 
 /**
- * The minimum number of origins that must be healthy for this pool to serve traffic. If the number of healthy origins falls below this number, the pool will be marked unhealthy and will failover to the next available pool.
+ * The secret key to use when streaming via SRT to a live input.
  *
- * @default 1
+ * @example 2fb3cb9f17e68a2568d6ebed8d5505eak3ceaf8c9b1f395e1b76b79332497cada
  */
-export type MinimumOrigins = number;
+export type StreamInputSrtStreamPassphrase = string;
 
 /**
- * Automatically optimize image loading for website visitors on mobile
- * devices. Refer to [our blog post](http://blog.cloudflare.com/mirage2-solving-mobile-speed)
- * for more information.
+ * The SRT URL you provide to the broadcaster, which they stream live video to.
+ *
+ * @example srt://live.cloudflare.com:778
  */
-export type Mirage = {
-  /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
-   *
-   * @default true
-   */
-  editable?: true | false;
-  /**
-   * ID of the zone setting.
-   *
-   * @example mirage
-   */
-  id: 'mirage';
-  /**
-   * last time this setting was modified.
-   *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
-   */
-  modified_on?: string | null;
-  /**
-   * Current value of the zone setting.
-   *
-   * @example on
-   */
-  value: MirageValue;
+export type StreamInputSrtUrl = string;
+
+/**
+ * Details for streaming to a live input using WebRTC.
+ */
+export type StreamInputWebrtc = {
+  url?: StreamInputWebrtcUrl;
 };
 
 /**
- * Value of the zone setting.
+ * The WebRTC URL you provide to the broadcaster, which they stream live video to.
+ *
+ * @example https://customer-m033z5x00ks6nunl.cloudflarestream.com/b236bde30eb07b9d01318940e5fc3edake34a3efb3896e18f2dc277ce6cc993ad/webRTC/publish
+ */
+export type StreamInputWebrtcUrl = string;
+
+/**
+ * The signing key in JWK format.
  *
- * @default off
+ * @example eyJ1c2UiOiJzaWciLCJrdHkiOiJSU0EiLCJraWQiOiI1MjEzY2ZhMTIxZjcwYjhjMTM4MDY4NmZmYzM3MWJhMyIsImFsZyI6IlJTMjU2IiwibiI6IjBUandqT2laV21KNDN2ZjNUbzREb1htWFd0SkdOR3lYZmh5dHRMYUJnRjEtRVFXUURLaG9LYm9hS21xakNBc21za3V0YkxVN1BVOGRrUU5ER1p3S3VWczA4elNaNGt4aTR0RWdQUFp5dDdkWEMtbFlSWW95ckFHRjRBWGh5MzI5YkhDUDFJbHJCQl9Ba0dnbmRMQWd1bnhZMHJSZ2N2T3ppYXc2S0p4Rm5jMlVLMFdVOGIwcDRLS0hHcDFLTDlkazBXVDhkVllxYmVSaUpqQ2xVRW1oOHl2OUNsT1ZhUzRLeGlYNnhUUTREWnc2RGFKZklWM1F0Tmd2cG1ieWxOSmFQSG5zc3JodDJHS1A5NjJlS2poUVJsaWd2SFhKTE9uSm9KZkxlSUVIWi1peFdmY1RETUg5MnNHdm93MURPanhMaUNOMXpISy1oN2JMb1hUaUxnYzRrdyIsImUiOiJBUUFCIiwiZCI6IndpQWEwaU5mWnNYSGNOcVMxSWhnUmdzVHJHay1TcFlYV2lReDZHTU9kWlJKekhGazN0bkRERFJvNHNKZTBxX0dEOWkzNlEyZkVadS15elpEcEJkc3U5OHNtaHhNU19Ta0s5X3VFYUo1Zm96V2IyN3JRRnFoLVliUU9MUThkUnNPRHZmQl9Hb2txWWJzblJDR3kzWkFaOGZJZ25ocXBUNEpiOHdsaWxpMUgxeFpzM3RnTWtkTEluTm1yMFAtcTYxZEtNd3JYZVRoSWNEc0kyb2Z1LTFtRm1MWndQb2ZGbmxaTW9QN1pfRU5pUGNfWGtWNzFhaHBOZE9pcW5ablZtMHBCNE5QS1UweDRWTjQyYlAzWEhMUmpkV2hJOGt3SC1BdXhqb3BLaHJ0R2tvcG1jZFRkM1ZRdElaOGRpZHByMXpBaEpvQi16ZVlIaTFUel9ZSFFld0FRUSIsInAiOiIyVTZFVUJka3U3TndDYXoyNzZuWGMxRXgwVHpNZjU4U0UtU2M2eUNaYWk2TkwzVURpWi1mNHlIdkRLYnFGUXdLWDNwZ0l2aVE3Y05QYUpkbE9NeS1mU21GTXU3V3hlbVZYamFlTjJCMkRDazhQY0NEOVgxU2hhR3E1ZUdSSHNObVUtSDNxTG1FRGpjLWliazRHZ0RNb2lVYjQ2OGxFZHAwU2pIOXdsOUdsYTgiLCJxIjoiOW5ucXg5ZnNNY2dIZ29DemhfVjJmaDhoRUxUSUM5aFlIOVBCTG9aQjZIaE1TWG1ja1BSazVnUlpPWlFEN002TzlMaWZjNmFDVXdEbjBlQzU2YkFDNUNrcWxjODJsVDhzTWlMeWJyTjh3bWotcjNjSTBGQTlfSGQySEY1ZkgycnJmenVqd0NWM3czb09Ud3p4d1g3c2xKbklRanphel91SzEyWEtucVZZcUYwIiwiZHAiOiJxQklTUTlfVUNWaV9Ucng0UU9VYnZoVU9jc2FUWkNHajJiNzNudU9YeElnOHFuZldSSnN4RG5zd2FKaXdjNWJjYnZ3M1h0VGhRd1BNWnhpeE1UMHFGNlFGWVY5WXZibnJ6UEp4YkdNdTZqajZYc2lIUjFlbWU3U09lVDM4Xzg0aFZyOXV6UkN2RWstb0R0MHlodW9YVzFGWVFNRTE2cGtMV0ZkUjdRUERsQUUiLCJkcSI6Im5zQUp3eXZFbW8tdW5wU01qYjVBMHB6MExCRjBZNFMxeGRJYXNfLVBSYzd0dThsVFdWMl8teExEOFR6dmhqX0lmY0RJR3JJZGNKNjlzVVZnR1M3ZnZkcng3Y21uNjFyai1XcmU0UVJFRC1lV1dxZDlpc2FVRmg5UGVKZ2tCbFZVVnYtdnladVlWdFF2a1NUU05ZR3RtVXl2V2xKZDBPWEFHRm9jdGlfak9aVSIsInFpIjoib0dYaWxLQ2NKRXNFdEE1eG54WUdGQW5UUjNwdkZLUXR5S0F0UGhHaHkybm5ya2VzN1RRaEFxMGhLRWZtU1RzaE1hNFhfd05aMEstX1F0dkdoNDhpeHdTTDVLTEwxZnFsY0k2TF9XUnF0cFQxS21LRERlUHR2bDVCUzFGbjgwSGFwR215cmZRWUU4S09QR2UwUl82S1BOZE1vc3dYQ3Nfd0RYMF92ZzNoNUxRIn0=
  */
-export type MirageValue = 'on' | 'off';
+export type StreamJwk = string;
 
-export type Miscategorization = {
-  /**
-   * Content category IDs to add.
-   *
-   * @example 82
-   */
-  content_adds?: void;
-  /**
-   * Content category IDs to remove.
-   *
-   * @example 155
-   */
-  content_removes?: void;
-  /**
-   * @example domain
-   */
-  indicator_type?: 'domain' | 'ipv4' | 'ipv6' | 'url';
-  /**
-   * Provide only if indicator_type is `ipv4` or `ipv6`.
-   */
-  ip?: void;
-  /**
-   * Security category IDs to add.
-   *
-   * @example 117
-   * @example 131
-   */
-  security_adds?: void;
-  /**
-   * Security category IDs to remove.
-   *
-   * @example 83
-   */
-  security_removes?: void;
-  /**
-   * Provide only if indicator_type is `domain` or `url`. Example if indicator_type is `domain`: `example.com`. Example if indicator_type is `url`: `https://example.com/news/`.
-   */
-  url?: string;
+export type StreamKeyGenerationResponse = StreamApiResponseCommon & {
+  result?: StreamKeys;
 };
 
-export type MnmConfig = {
-  default_sampling: MnmConfigDefaultSampling;
-  name: MnmConfigName;
-  router_ips: MnmConfigRouterIps;
+export type StreamKeyResponseCollection = StreamApiResponseCommon & {
+  result?: {
+    created?: StreamSigningKeyCreated;
+    id?: StreamSchemasIdentifier;
+  }[];
 };
 
-/**
- * Fallback sampling rate of flow messages being sent in packets per second. This should match the packet sampling rate configured on the router.
- *
- * @default 1
- * @minimum 1
- */
-export type MnmConfigDefaultSampling = number;
+export type StreamKeys = {
+  created?: StreamSigningKeyCreated;
+  id?: StreamSchemasIdentifier;
+  jwk?: StreamJwk;
+  pem?: StreamPem;
+};
 
 /**
- * The account name.
+ * The language label displayed in the native language to users.
  *
- * @example cloudflare user's account
+ * @example Türkçe
  */
-export type MnmConfigName = string;
+export type StreamLabel = string;
 
 /**
- * IPv4 CIDR of the router sourcing flow data. Only /32 addresses are currently supported.
+ * The language tag in BCP 47 format.
  *
- * @example 203.0.113.1/32
+ * @example tr
  */
-export type MnmConfigRouterIp = string;
-
-export type MnmConfigRouterIps = MnmConfigRouterIp[];
+export type StreamLanguage = string;
 
-export type MnmConfigSingleResponse = ApiResponseSingleLarS7owG & {
-  result?: MnmConfig;
+export type StreamLanguageResponseCollection = StreamApiResponseCommon & {
+  result?: StreamCaptions[];
 };
 
-export type MnmRule = {
-  automatic_advertisement: MnmRuleAutomaticAdvertisement;
-  bandwidth_threshold?: MnmRuleBandwidthThreshold;
-  duration: MnmRuleDuration;
-  id?: RuleIdentifier;
-  name: MnmRuleName;
-  packet_threshold?: MnmRulePacketThreshold;
-  prefixes: MnmRuleIpPrefixes;
-} | null;
-
-export type MnmRuleAdvertisableResponse = {
-  automatic_advertisement: MnmRuleAutomaticAdvertisement;
-} | null;
+export type StreamLanguageResponseSingle = StreamApiResponseSingle & {
+  result?: StreamCaptions;
+};
 
-export type MnmRuleAdvertisementSingleResponse = ApiResponseSingleLarS7owG & {
-  result?: MnmRuleAdvertisableResponse;
+export type StreamListAudioTrackResponse = StreamApiResponseCommon & {
+  result?: StreamAdditionalAudio[];
 };
 
 /**
- * Toggle on if you would like Cloudflare to automatically advertise the IP Prefixes within the rule via Magic Transit when the rule is triggered. Only available for users of Magic Transit.
+ * The live input ID used to upload a video with Stream Live.
  *
- * @example false
+ * @example fc0a8dc887b16759bfd9ad922230a014
+ * @maxLength 32
  */
-export type MnmRuleAutomaticAdvertisement = boolean | null;
+export type StreamLiveInput = string;
 
 /**
- * The number of bits per second for the rule. When this value is exceeded for the set duration, an alert notification is sent. Minimum of 1 and no maximum.
+ * The date and time the live input was created.
  *
- * @example 1000
- * @minimum 1
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
+ */
+export type StreamLiveInputCreated = string;
+
+/**
+ * Sets the creator ID asssociated with this live input.
  */
-export type MnmRuleBandwidthThreshold = number;
+export type StreamLiveInputDefaultCreator = string;
 
 /**
- * The amount of time that the rule threshold must be exceeded to send an alert notification. The minimum is 60 seconds and maximum is 21600 seconds. The format is XhYmZs where X, Y, and Z durations are optional; however at least one unit must be provided.
+ * A unique identifier for a live input.
  *
- * @default 60s
- * @example 1h2m3s
+ * @example 66be4bf738797e01e1fca35a7bdecdcd
+ * @maxLength 32
  */
-export type MnmRuleDuration = string;
+export type StreamLiveInputIdentifier = string;
 
 /**
- * The IP prefixes that are monitored for this rule. Must be a CIDR range like 203.0.113.0/24. Max 5000 different CIDR ranges.
+ * A user modifiable key-value store used to reference other systems of record for managing live inputs.
  *
- * @example 203.0.113.1/32
+ * @example {"name":"test stream 1"}
+ */
+export type StreamLiveInputMetadata = Record<string, any>;
+
+/**
+ * The date and time the live input was last modified.
+ *
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
  */
-export type MnmRuleIpPrefix = string;
+export type StreamLiveInputModified = string;
 
-export type MnmRuleIpPrefixes = MnmRuleIpPrefix[];
+export type StreamLiveInputObjectWithoutUrl = {
+  created?: StreamLiveInputCreated;
+  deleteRecordingAfterDays?: StreamLiveInputRecordingDeletion;
+  meta?: StreamLiveInputMetadata;
+  modified?: StreamLiveInputModified;
+  uid?: StreamLiveInputIdentifier;
+};
 
 /**
- * The name of the rule. Must be unique. Supports characters A-Z, a-z, 0-9, underscore (_), dash (-), period (.), and tilde (~). You can’t have a space in the rule name. Max 256 characters.
+ * Lists the origins allowed to display videos created with this input. Enter allowed origin domains in an array and use `*` for wildcard subdomains. An empty array allows videos to be viewed on any origin.
  *
- * @example my_rule_1
+ * @example example.com
  */
-export type MnmRuleName = string;
+export type StreamLiveInputRecordingAllowedOrigins = string[];
 
 /**
- * The number of packets per second for the rule. When this value is exceeded for the set duration, an alert notification is sent. Minimum of 1 and no maximum.
+ * Indicates the number of days after which the live inputs recordings will be deleted. When a stream completes and the recording is ready, the value is used to calculate a scheduled deletion date for that recording. Omit the field to indicate no change, or include with a `null` value to remove an existing scheduled deletion.
  *
- * @example 10000
- * @minimum 1
+ * @example 45
+ * @minimum 30
  */
-export type MnmRulePacketThreshold = number;
+export type StreamLiveInputRecordingDeletion = number;
 
-export type MnmRulesCollectionResponse = ApiResponseCollection & {
-  result?: MnmRule[] | null;
-};
+/**
+ * Disables reporting the number of live viewers when this property is set to `true`.
+ *
+ * @default false
+ * @example true
+ */
+export type StreamLiveInputRecordingHideLiveViewerCount = boolean;
 
-export type MnmRulesSingleResponse = ApiResponseSingleLarS7owG & {
-  result?: MnmRule;
-};
+/**
+ * Specifies the recording behavior for the live input. Set this value to `off` to prevent a recording. Set the value to `automatic` to begin a recording and transition to on-demand after Stream Live stops receiving input.
+ *
+ * @default off
+ * @example automatic
+ */
+export type StreamLiveInputRecordingMode = 'off' | 'automatic';
 
 /**
- * Automatically redirect visitors on mobile devices to a mobile-optimized subdomain. Refer to [Understanding Cloudflare Mobile Redirect](https://support.cloudflare.com/hc/articles/200168336) for more information.
+ * Indicates if a video using the live input has the `requireSignedURLs` property set. Also enforces access controls on any video recording of the livestream with the live input.
+ *
+ * @default false
+ * @example true
  */
-export type MobileRedirect = {
-  /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
-   *
-   * @default true
-   */
-  editable?: true | false;
-  /**
-   * Identifier of the zone setting.
-   *
-   * @example mobile_redirect
-   */
-  id: 'mobile_redirect';
-  /**
-   * last time this setting was modified.
-   *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
-   */
-  modified_on?: string | null;
-  /**
-   * Current value of the zone setting.
-   *
-   * @example on
-   */
-  value: MobileRedirectValue;
-};
+export type StreamLiveInputRecordingRequireSignedURLs = boolean;
 
 /**
- * Value of the zone setting.
+ * Records the input to a Cloudflare Stream video. Behavior depends on the mode. In most cases, the video will initially be viewable as a live video and transition to on-demand after a condition is satisfied.
+ *
+ * @example {"hideLiveViewerCount":false,"mode":"off","requireSignedURLs":false,"timeoutSeconds":0}
  */
-export type MobileRedirectValue = {
-  /**
-   * Which subdomain prefix you wish to redirect visitors on mobile devices to (subdomain must already exist).
-   *
-   * @example m
-   * @minLength 1
-   */
-  mobile_subdomain?: string | null;
-  /**
-   * Whether or not mobile redirect is enabled.
-   *
-   * @default off
-   */
-  status?: 'on' | 'off';
-  /**
-   * Whether to drop the current page path and redirect to the mobile subdomain URL root, or keep the path and redirect to the same page on the mobile subdomain.
-   *
-   * @default false
-   * @example false
-   */
-  strip_uri?: boolean;
+export type StreamLiveInputRecordingSettings = {
+  allowedOrigins?: StreamLiveInputRecordingAllowedOrigins;
+  hideLiveViewerCount?: StreamLiveInputRecordingHideLiveViewerCount;
+  mode?: StreamLiveInputRecordingMode;
+  requireSignedURLs?: StreamLiveInputRecordingRequireSignedURLs;
+  timeoutSeconds?: StreamLiveInputRecordingTimeoutSeconds;
 };
 
 /**
- * The action to perform.
+ * Determines the amount of time a live input configured in `automatic` mode should wait before a recording transitions from live to on-demand. `0` is recommended for most use cases and indicates the platform default should be used.
  *
- * @example challenge
+ * @default 0
  */
-export type Mode = 'simulate' | 'ban' | 'challenge' | 'js_challenge' | 'managed_challenge';
+export type StreamLiveInputRecordingTimeoutSeconds = number;
+
+export type StreamLiveInputResponseCollection = StreamApiResponseCommon & {
+  result?: {
+    liveInputs?: StreamLiveInputObjectWithoutUrl[];
+    /**
+     * The total number of remaining live inputs based on cursor position.
+     *
+     * @example 1000
+     */
+    range?: number;
+    /**
+     * The total number of live inputs that match the provided filters.
+     *
+     * @example 35586
+     */
+    total?: number;
+  };
+};
+
+export type StreamLiveInputResponseSingle = StreamApiResponseSingle & {
+  result?: StreamLiveInput2;
+};
 
 /**
- * When set to `on`, the current rule will be used when evaluating the request. Applies to traditional (allow) WAF rules.
- *
- * @example on
+ * The connection status of a live input.
  */
-export type ModeAllowTraditional = 'on' | 'off';
+export type StreamLiveInputStatus =
+  | any
+  | 'connected'
+  | 'reconnected'
+  | 'reconnecting'
+  | 'client_disconnect'
+  | 'ttl_exceeded'
+  | 'failed_to_connect'
+  | 'failed_to_reconnect'
+  | 'new_configuration_accepted'
+  | null;
 
 /**
- * When set to `on`, the current WAF rule will be used when evaluating the request. Applies to anomaly detection WAF rules.
+ * The maximum duration in seconds for a video upload. Can be set for a video that is not yet uploaded to limit its duration. Uploads that exceed the specified duration will fail during processing. A value of `-1` means the value is unknown.
  *
- * @example on
+ * @maximum 21600
+ * @minimum 1
  */
-export type ModeAnomaly = 'on' | 'off';
+export type StreamMaxDurationSeconds = number;
 
 /**
- * The action that the current WAF rule will perform when triggered. Applies to traditional (deny) WAF rules.
+ * A user modifiable key-value store used to reference other systems of record for managing videos.
  *
- * @example block
+ * @example {"name":"video12345.mp4"}
  */
-export type ModeDenyTraditional = 'default' | 'disable' | 'simulate' | 'block' | 'challenge';
+export type StreamMediaMetadata = Record<string, any>;
 
 /**
- * The device model name.
+ * Specifies the processing status for all quality levels for a video.
  *
- * @example MyPhone(pro-X)
+ * @example inprogress
  */
-export type Model = string;
+export type StreamMediaState = 'pendingupload' | 'downloading' | 'queued' | 'inprogress' | 'ready' | 'error';
+
+/**
+ * Specifies a detailed status for a video. If the `state` is `inprogress` or `error`, the `step` field returns `encoding` or `manifest`. If the `state` is `inprogress`, `pctComplete` returns a number between 0 and 100 to indicate the approximate percent of completion. If the `state` is `error`, `errorReasonCode` and `errorReasonText` provide additional details.
+ */
+export type StreamMediaStatus = {
+  errorReasonCode?: StreamErrorReasonCode;
+  errorReasonText?: StreamErrorReasonText;
+  pctComplete?: StreamPctComplete;
+  state?: StreamMediaState;
+};
+
+export type StreamMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
 
 /**
  * The date and time the media item was last modified.
@@ -15308,3894 +36268,3716 @@ export type Model = string;
  * @example 2014-01-02T02:20:00Z
  * @format date-time
  */
-export type Modified = string;
+export type StreamModified = string;
 
 /**
- * The date and time the destination address was last modified.
+ * A short description of the watermark profile.
  *
- * @example 2014-01-02T02:20:00Z
- * @format date-time
+ * @default
+ * @example Marketing Videos
  */
-export type ModifiedCBEhc8Ab = string;
+export type StreamName = string;
 
 /**
- * When the Application was last modified.
+ * The URL where webhooks will be sent.
+ *
+ * @example https://example.com
+ * @format uri
+ */
+export type StreamNotificationUrl = string;
+
+/**
+ * The date and time when the video upload URL is no longer valid for direct user uploads.
  *
  * @example 2014-01-02T02:20:00Z
  * @format date-time
  */
-export type ModifiedXJlHjzHE = string;
+export type StreamOneTimeUploadExpiry = string;
 
 /**
- * Last time the advertisement status was changed. This field is only not 'null' if on demand is enabled.
+ * The translucency of the image. A value of `0.0` makes the image completely transparent, and `1.0` makes the image completely opaque. Note that if the image is already semi-transparent, setting this to `1.0` will not make the image completely opaque.
  *
- * @example 2014-01-01T05:20:00.12345Z
- * @format date-time
+ * @default 1
+ * @example 0.75
+ * @maximum 1
+ * @minimum 0
  */
-export type ModifiedAtNullable = string | null;
+export type StreamOpacity = number;
+
+export type StreamOutput = {
+  enabled?: StreamOutputEnabled;
+  streamKey?: StreamOutputStreamKey;
+  uid?: StreamOutputIdentifier;
+  url?: StreamOutputUrl;
+};
 
 /**
- * Last modification of DNS Firewall cluster.
+ * When enabled, live video streamed to the associated live input will be sent to the output URL. When disabled, live video will not be sent to the output URL, even when streaming to the associated live input. Use this to control precisely when you start and stop simulcasting to specific destinations like YouTube and Twitch.
  *
- * @example 2014-01-01T05:20:00.12345Z
- * @format date-time
+ * @default true
+ * @example true
  */
-export type ModifiedOn = string;
+export type StreamOutputEnabled = boolean;
 
 /**
- * When DNSSEC was last modified.
+ * A unique identifier for the output.
  *
- * @example 2014-01-01T05:20:00Z
- * @format date-time
+ * @example baea4d9c515887b80289d5c33cf01145
+ * @maxLength 32
  */
-export type ModifiedOn4CdIXZup = string | null;
+export type StreamOutputIdentifier = string;
+
+export type StreamOutputResponseCollection = StreamApiResponseCommon & {
+  result?: StreamOutput[];
+};
+
+export type StreamOutputResponseSingle = StreamApiResponseSingle & {
+  result?: StreamOutput;
+};
 
 /**
- * When the certificate was last modified.
+ * The streamKey used to authenticate against an output's target.
  *
- * @example 2014-01-01T05:20:00Z
- * @format date-time
+ * @example uzya-f19y-g2g9-a2ee-51j2
  */
-export type ModifiedOnBXl82yTE = string;
+export type StreamOutputStreamKey = string;
 
 /**
- * last time this setting was modified.
+ * The URL an output uses to restream.
  *
- * @example 2014-01-01T05:20:00.12345Z
- * @format date-time
+ * @example rtmp://a.rtmp.youtube.com/live2
  */
-export type ModifiedOnDrYUvDnK = string | null;
+export type StreamOutputUrl = string;
 
 /**
- * When the script was last modified.
+ * The whitespace between the adjacent edges (determined by position) of the video and the image. `0.0` indicates no padding, and `1.0` indicates a fully padded video width or length, as determined by the algorithm.
  *
- * @example 2017-01-01T00:00:00Z
- * @format date-time
+ * @default 0.05
+ * @example 0.1
+ * @maximum 1
+ * @minimum 0
  */
-export type ModifiedOnKlppwHF4 = string;
+export type StreamPadding = number;
 
 /**
- * When the route was last modified.
+ * Indicates the size of the entire upload in bytes. The value must be a non-negative integer.
  *
- * @example 2017-06-14T05:20:00Z
- * @format date-time
+ * @maximum 100
+ * @minimum 0
  */
-export type ModifiedOnMQy5ittP = string;
+export type StreamPctComplete = string;
 
 /**
- * Last time the token was modified.
+ * The signing key in PEM format.
  *
- * @example 2018-07-02T05:20:00Z
- * @format date-time
+ * @example LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcGdJQkFBS0NBUUVBMFRqd2pPaVpXbUo0M3ZmM1RvNERvWG1YV3RKR05HeVhmaHl0dExhQmdGMStFUVdRCkRLaG9LYm9hS21xakNBc21za3V0YkxVN1BVOGRrUU5ER1p3S3VWczA4elNaNGt4aTR0RWdQUFp5dDdkWEMrbFkKUllveXJBR0Y0QVhoeTMyOWJIQ1AxSWxyQkIvQWtHZ25kTEFndW54WTByUmdjdk96aWF3NktKeEZuYzJVSzBXVQo4YjBwNEtLSEdwMUtMOWRrMFdUOGRWWXFiZVJpSmpDbFVFbWg4eXY5Q2xPVmFTNEt4aVg2eFRRNERadzZEYUpmCklWM1F0Tmd2cG1ieWxOSmFQSG5zc3JodDJHS1A5NjJlS2poUVJsaWd2SFhKTE9uSm9KZkxlSUVIWitpeFdmY1QKRE1IOTJzR3ZvdzFET2p4TGlDTjF6SEsraDdiTG9YVGlMZ2M0a3dJREFRQUJBb0lCQVFEQ0lCclNJMTlteGNkdwoycExVaUdCR0N4T3NhVDVLbGhkYUpESG9ZdzUxbEVuTWNXVGUyY01NTkdqaXdsN1NyOFlQMkxmcERaOFJtNzdMCk5rT2tGMnk3M3l5YUhFeEw5S1FyMys0Um9ubCtqTlp2YnV0QVdxSDVodEE0dER4MUd3NE85OEg4YWlTcGh1eWQKRUliTGRrQm54OGlDZUdxbFBnbHZ6Q1dLV0xVZlhGbXplMkF5UjBzaWMyYXZRLzZyclYwb3pDdGQ1T0Vod093agphaCs3N1dZV1l0bkEraDhXZVZreWcvdG44UTJJOXo5ZVJYdlZxR2sxMDZLcWRtZFdiU2tIZzA4cFRUSGhVM2paCnMvZGNjdEdOMWFFanlUQWY0QzdHT2lrcUd1MGFTaW1aeDFOM2RWQzBobngySjJtdlhNQ0VtZ0g3TjVnZUxWUFAKOWdkQjdBQkJBb0dCQU5sT2hGQVhaTHV6Y0Ftczl1K3AxM05STWRFOHpIK2ZFaFBrbk9zZ21Xb3VqUzkxQTRtZgpuK01oN3d5bTZoVU1DbDk2WUNMNGtPM0RUMmlYWlRqTXZuMHBoVEx1MXNYcGxWNDJuamRnZGd3cFBEM0FnL1Y5ClVvV2hxdVhoa1I3RFpsUGg5Nmk1aEE0M1BvbTVPQm9BektJbEcrT3ZKUkhhZEVveC9jSmZScFd2QW9HQkFQWjUKNnNmWDdESElCNEtBczRmMWRuNGZJUkMweUF2WVdCL1R3UzZHUWVoNFRFbDVuSkQwWk9ZRVdUbVVBK3pPanZTNApuM09tZ2xNQTU5SGd1ZW13QXVRcEtwWFBOcFUvTERJaThtNnpmTUpvL3E5M0NOQlFQZngzZGh4ZVh4OXE2Mzg3Cm84QWxkOE42RGs4TThjRis3SlNaeUVJODJzLzdpdGRseXA2bFdLaGRBb0dCQUtnU0VrUGYxQWxZdjA2OGVFRGwKRzc0VkRuTEdrMlFobzltKzk1N2psOFNJUEtwMzFrU2JNUTU3TUdpWXNIT1czRzc4TjE3VTRVTUR6R2NZc1RFOQpLaGVrQldGZldMMjU2OHp5Y1d4akx1bzQrbDdJaDBkWHBudTBqbms5L1AvT0lWYS9iczBRcnhKUHFBN2RNb2JxCkYxdFJXRURCTmVxWkMxaFhVZTBEdzVRQkFvR0JBSjdBQ2NNcnhKcVBycDZVakkyK1FOS2M5Q3dSZEdPRXRjWFMKR3JQL2owWE83YnZKVTFsZHYvc1N3L0U4NzRZL3lIM0F5QnF5SFhDZXZiRkZZQmt1MzczYThlM0pwK3RhNC9scQozdUVFUkEvbmxscW5mWXJHbEJZZlQzaVlKQVpWVkZiL3I4bWJtRmJVTDVFazBqV0JyWmxNcjFwU1hkRGx3QmhhCkhMWXY0em1WQW9HQkFLQmw0cFNnbkNSTEJMUU9jWjhXQmhRSjAwZDZieFNrTGNpZ0xUNFJvY3RwNTY1SHJPMDAKSVFLdElTaEg1a2s3SVRHdUYvOERXZEN2djBMYnhvZVBJc2NFaStTaXk5WDZwWENPaS8xa2FyYVU5U3BpZ3czago3YjVlUVV0UlovTkIycVJwc3EzMEdCUENqanhudEVmK2lqelhUS0xNRndyUDhBMTlQNzRONGVTMAotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
  */
-export type ModifiedOnSimuKuKK = string;
+export type StreamPem = string;
+
+export type StreamPlayback = {
+  /**
+   * DASH Media Presentation Description for the video.
+   *
+   * @example https://customer-m033z5x00ks6nunl.cloudflarestream.com/ea95132c15732412d22c1476fa83f27a/manifest/video.mpd
+   */
+  dash?: string;
+  /**
+   * The HLS manifest for the video.
+   *
+   * @example https://customer-m033z5x00ks6nunl.cloudflarestream.com/ea95132c15732412d22c1476fa83f27a/manifest/video.m3u8
+   */
+  hls?: string;
+};
 
 /**
- * The number of rules within the group that have been modified from their default configuration.
- *
- * @default 0
- * @example 2
+ * Details for playback from an live input using RTMPS.
  */
-export type ModifiedRulesCount = number;
-
-export type ModifiedTunnelsCollectionResponse = ApiResponseSingleRxxEmdsv & {
-  result?: {
-    /**
-     * @example true
-     */
-    modified?: boolean;
-    modified_gre_tunnels?: GreTunnel[];
-  };
-};
-
-export type ModifyRequest = {
-  description?: Web3HostnameComponentsSchemasDescription;
-  dnslink?: Dnslink;
-};
-
-export type Monitor = {
-  allow_insecure?: AllowInsecure;
-  created_on?: Timestamp;
-  description?: Description329lsFZ7;
-  expected_body?: ExpectedBody;
-  expected_codes?: ExpectedCodes;
-  follow_redirects?: FollowRedirects;
-  header?: Header;
-  id?: IdentifierYmSdxGUH;
-  interval?: IntervalHvanFWV2;
-  method?: Method;
-  modified_on?: Timestamp;
-  path?: Path;
-  port?: PortFtc1VWvE;
-  retries?: RetriesGl6521CK;
-  timeout?: Timeout;
-  type?: TypeB9S5DdJI;
-};
-
-export type MonitorHN4sJkEF = {
-  allow_insecure?: AllowInsecure;
-  created_on?: Timestamp;
-  description?: MonitorComponentsSchemasDescription;
-  expected_body?: ExpectedBody;
-  expected_codes?: ExpectedCodes;
-  follow_redirects?: FollowRedirects;
-  header?: Header;
-  id?: MonitorComponentsSchemasIdentifier;
-  interval?: IntervalLx3GfHR3;
-  method?: SchemasMethod;
-  modified_on?: Timestamp;
-  path?: Path;
-  port?: SchemasPortRWJFwo9O;
-  retries?: Retries7RuyOW7F;
-  timeout?: SchemasTimeout;
-  type?: MonitorComponentsSchemasType;
+export type StreamPlaybackRtmps = {
+  streamKey?: StreamPlaybackRtmpsStreamKey;
+  url?: StreamPlaybackRtmpsUrl;
 };
 
 /**
- * Object description.
+ * The secret key to use for playback via RTMPS.
  *
- * @example Login page monitor
+ * @example 2fb3cb9f17e68a2568d6ebed8d5505eak3ceaf8c9b1f395e1b76b79332497cada
  */
-export type MonitorComponentsSchemasDescription = string;
+export type StreamPlaybackRtmpsStreamKey = string;
 
 /**
- * @example f1aba936b94213e5b8dca0c0dbf1f9cc
+ * The URL used to play live video over RTMPS.
+ *
+ * @example rtmps://live.cloudflare.com:443/live/
  */
-export type MonitorComponentsSchemasIdentifier = void;
-
-export type MonitorComponentsSchemasResponseCollection = ApiResponseCollection & {
-  result?: ComponentsSchemasMonitor[];
-};
-
-export type MonitorComponentsSchemasResponseCollection2 = ApiResponseCollection & {
-  result?: ComponentsSchemasMonitor2jUnhefX[];
-};
-
-export type MonitorComponentsSchemasResponseCollectionA9oUxpwl = ApiResponseCollection & {
-  result?: MonitorHN4sJkEF[];
-};
-
-export type MonitorComponentsSchemasSingleResponse = ApiResponseSingleUl1k90Mw & {
-  result?: ComponentsSchemasMonitor;
-};
+export type StreamPlaybackRtmpsUrl = string;
 
-export type MonitorComponentsSchemasSingleResponseYOkpwnDw = ApiResponseSingleLarS7owG & {
-  result?: ComponentsSchemasMonitor2jUnhefX;
+/**
+ * Details for playback from an live input using SRT.
+ */
+export type StreamPlaybackSrt = {
+  passphrase?: StreamPlaybackSrtStreamPassphrase;
+  streamId?: StreamPlaybackSrtStreamId;
+  url?: StreamPlaybackSrtUrl;
 };
 
 /**
- * The protocol to use for the health check. Currently supported protocols are 'HTTP','HTTPS', 'TCP', 'ICMP-PING', 'UDP-ICMP', and 'SMTP'.
+ * The identifier of the live input to use for playback via SRT.
  *
- * @default http
- * @example https
+ * @example f256e6ea9341d51eea64c9454659e576
  */
-export type MonitorComponentsSchemasType = 'http' | 'https' | 'tcp' | 'udp_icmp' | 'icmp_ping' | 'smtp';
-
-export type MtlsManagementComponentsSchemasCertificateResponseCollection = ApiResponseCollection & {
-  result?: ComponentsSchemasCertificateObject6kagZg5y[];
-} & {
-  result_info?: {
-    /**
-     * @example 1
-     */
-    count?: void;
-    /**
-     * @example 1
-     */
-    page?: void;
-    /**
-     * @example 50
-     */
-    per_page?: void;
-    /**
-     * @example 1
-     */
-    total_count?: void;
-    /**
-     * @example 1
-     */
-    total_pages?: void;
-  };
-};
-
-export type MtlsManagementComponentsSchemasCertificateResponseSingle = ApiResponseSingleZZHeSkIR & {
-  result?: ComponentsSchemasCertificateObject;
-};
-
-export type MtlsManagementComponentsSchemasCertificateResponseSingleVPgDx3nJ = ApiResponseSingleLarS7owG & {
-  result?: ComponentsSchemasCertificateObject6kagZg5y;
-};
+export type StreamPlaybackSrtStreamId = string;
 
 /**
- * When the certificate expires.
+ * The secret key to use for playback via SRT.
  *
- * @example 2122-10-29T16:59:47Z
- * @format date-time
+ * @example 2fb3cb9f17e68a2568d6ebed8d5505eak3ceaf8c9b1f395e1b76b79332497cada
  */
-export type MtlsManagementComponentsSchemasExpiresOn = string;
+export type StreamPlaybackSrtStreamPassphrase = string;
 
 /**
- * Certificate identifier tag.
+ * The URL used to play live video over SRT.
  *
- * @example 2458ce5a-0c35-4c7f-82c7-8e9487d3ff60
- * @maxLength 36
+ * @example rtmps://live.cloudflare.com:443/live/
  */
-export type MtlsManagementComponentsSchemasIdentifier = string;
+export type StreamPlaybackSrtUrl = string;
 
 /**
- * Optional unique name for the certificate. Only used for human readability.
- *
- * @example example_ca_cert
+ * Details for playback from a live input using WebRTC.
  */
-export type MtlsManagementComponentsSchemasName = string;
+export type StreamPlaybackWebrtc = {
+  url?: StreamPlaybackWebrtcUrl;
+};
 
 /**
- * Certificate deployment status for the given service.
+ * The URL used to play live video over WebRTC.
  *
- * @example pending_deployment
+ * @example https://customer-m033z5x00ks6nunl.cloudflarestream.com/b236bde30eb07b9d01318940e5fc3edake34a3efb3896e18f2dc277ce6cc993ad/webRTC/play
  */
-export type MtlsManagementComponentsSchemasStatus = string;
+export type StreamPlaybackWebrtcUrl = string;
 
 /**
- * This is the time the certificate was uploaded.
+ * The location of the image. Valid positions are: `upperRight`, `upperLeft`, `lowerLeft`, `lowerRight`, and `center`. Note that `center` ignores the `padding` parameter.
  *
- * @example 2022-11-22T17:32:30.467938Z
- * @format date-time
+ * @default upperRight
+ * @example center
  */
-export type MtlsManagementComponentsSchemasUploadedOn = string;
+export type StreamPosition = string;
 
 /**
- * Maximum Transmission Unit (MTU) in bytes for the GRE tunnel. The minimum value is 576.
+ * The video's preview page URI. This field is omitted until encoding is complete.
  *
- * @default 1476
+ * @example https://customer-m033z5x00ks6nunl.cloudflarestream.com/ea95132c15732412d22c1476fa83f27a/watch
+ * @format uri
  */
-export type Mtu = number;
-
-export type MultipleRouteDeleteResponse = ApiResponseSingleRxxEmdsv & {
-  result?: {
-    /**
-     * @example true
-     */
-    deleted?: boolean;
-    deleted_routes?: Record<string, any>;
-  };
-};
-
-export type MultipleRouteModifiedResponse = ApiResponseSingleRxxEmdsv & {
-  result?: {
-    /**
-     * @example true
-     */
-    modified?: boolean;
-    modified_routes?: Route[];
-  };
-};
+export type StreamPreview = string;
 
 /**
- * DNS Firewall Cluster Name.
+ * Indicates whether the video is playable. The field is empty if the video is not ready for viewing or the live stream is still in progress.
  *
- * @example My Awesome DNS Firewall cluster
- * @maxLength 160
+ * @example true
  */
-export type Name = string;
+export type StreamReadyToStream = boolean;
 
 /**
- * DNS record name (or @ for the zone apex) in Punycode.
+ * Indicates the time at which the video became playable. The field is empty if the video is not ready for viewing or the live stream is still in progress.
  *
- * @example example.com
- * @maxLength 255
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
  */
-export type Name5Ag1twUN = string;
+export type StreamReadyToStreamAt = string;
 
 /**
- * A short name to identify the health check. Only alphanumeric characters, hyphens and underscores are allowed.
+ * Indicates whether the video can be a accessed using the UID. When set to `true`, a signed token must be generated with a signing key to view the video.
  *
- * @example server-1
+ * @default false
+ * @example true
  */
-export type Name8NztOXJ3 = string;
+export type StreamRequireSignedURLs = boolean;
 
 /**
- * The name of the List.
+ * The size of the image relative to the overall size of the video. This parameter will adapt to horizontal and vertical videos automatically. `0.0` indicates no scaling (use the size of the image as-is), and `1.0 `fills the entire video.
  *
- * @example Admin Serial Numbers
+ * @default 0.15
+ * @example 0.1
+ * @maximum 1
+ * @minimum 0
  */
-export type NameCf4EglAb = string;
+export type StreamScale = number;
 
 /**
- * A unique name to identify the waiting room. Only alphanumeric characters, hyphens and underscores are allowed.
+ * Indicates the date and time at which the video will be deleted. Omit the field to indicate no change, or include with a `null` value to remove an existing scheduled deletion. If specified, must be at least 30 days from upload time.
  *
- * @example production_webinar
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
  */
-export type NameGu3WWDHz = string;
+export type StreamScheduledDeletion = string;
 
 /**
- * A short name (tag) for the pool. Only alphanumeric characters, hyphens, and underscores are allowed.
+ * Identifier
  *
- * @example primary-dc-1
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type NameILH8OrHN = string;
+export type StreamSchemasIdentifier = string;
 
 /**
- * The name of your Zero Trust organization.
+ * Searches over the `name` key in the `meta` field. This field can be set with or after the upload request.
  *
- * @example Widget Corps Internal Applications
+ * @example puppy.mp4
  */
-export type NameRPn8IBAr = string;
+export type StreamSearch = string;
+
+export type StreamSignedTokenRequest = {
+  /**
+   * The optional list of access rule constraints on the token. Access can be blocked or allowed based on an IP, IP range, or by country. Access rules are evaluated from first to last. If a rule matches, the associated action is applied and no further rules are evaluated.
+   *
+   * @example {"action":"block","country":["US","MX"],"type":"ip.geoip.country"}
+   * @example {"action":"allow","ip":["93.184.216.0/24","2400:cb00::/32"],"type":"ip.src"}
+   * @example {"action":"block","type":"any"}
+   */
+  accessRules?: StreamAccessRules[];
+  /**
+   * The optional boolean value that enables using signed tokens to access MP4 download links for a video.
+   *
+   * @default false
+   */
+  downloadable?: boolean;
+  /**
+   * The optional unix epoch timestamp that specficies the time after a token is not accepted. The maximum time specification is 24 hours from issuing time. If this field is not set, the default is one hour after issuing.
+   */
+  exp?: number;
+  /**
+   * The optional ID of a Stream signing key. If present, the `pem` field is also required.
+   *
+   * @example ab0d4ef71g4425f8dcba9041231813000
+   */
+  id?: string;
+  /**
+   * The optional unix epoch timestamp that specifies the time before a the token is not accepted. If this field is not set, the default is one hour before issuing.
+   */
+  nbf?: number;
+  /**
+   * The optional base64 encoded private key in PEM format associated with a Stream signing key. If present, the `id` field is also required.
+   *
+   * @example LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBc284dnBvOFpEWXRkOUgzbWlPaW1qYXAzVXlVM0oyZ3kwTUYvN1R4blJuRnkwRHpDCkxqUk9naFZsQ0hPQmxsd3NVaE9GU0lyYnN4K05tUTdBeS90TFpXSGxuVGF3UWJ5WGZGOStJeDhVSnNlSHBGV1oKNVF5Z1JYd2liSjh1MVVsZ2xlcmZHMkpueldjVXpZTzEySktZN3doSkw1ajROMWgxZFJNUXQ5Q1pkZFlCQWRzOQpCdk02cjRFMDcxQkhQekhWeDMrUTI1VWtubGdUNXIwS3FiM1E1Y0dlTlBXY1JreW1ybkJEWWR0OXR4eFFMb1dPCllzNXdsMnVYWFVYL0VGcDMwajU0Nmp6czllWExLYlNDbjJjTDZFVE96Y2x3aG9DRGx2a2VQT05rUE9LMDVKNUMKTm1TdFdhMG9hV1VGRzM0MFl3cVVrWGt4OU9tNndXd1JldU1uU1FJREFRQUJBb0lCQUFJOHo1ck5kOEdtOGJBMgo1S3pxQjI1R2lOVENwbUNJeW53NXRJWHZTQmNHcEdydUcvdlN2WG9kVlFVSVY0TWdHQkVXUEFrVzdsNWVBcHI4CnA1ZFd5SkRXYTNkdklFSE9vSEpYU3dBYksxZzZEMTNVa2NkZ1EyRGpoNVhuWDhHZCtBY2c2SmRTQWgxOWtYSHEKMk54RUtBVDB6Ri83a1g2MkRkREFBcWxmQkpGSXJodVIvZUdEVWh4L2piTTRhQ2JCcFdiM0pnRE9OYm5tS1ZoMwpxS2ZwZmRZZENZU1lzWUxrNTlxRDF2VFNwUVFUQ0VadW9VKzNzRVNhdkJzaUs1bU0vTzY5ZkRMRXNURG1MeTVQCmhEK3BMQXI0SlhNNjFwRGVBS0l3cUVqWWJybXlDRHRXTUdJNnZzZ0E1eXQzUUJaME9vV2w5QUkwdWxoZ3p4dXQKZ2ZFNTRRRUNnWUVBN0F3a0lhVEEzYmQ4Nk9jSVZnNFlrWGk1cm5aNDdsM1k4V24zcjIzUmVISXhLdkllRUtSbgp5bUlFNDFtRVBBSmlGWFpLK1VPTXdkeS9EcnFJUithT1JiT2NiV01jWUg2QzgvbG1wdVJFaXE3SW1Ub3VWcnA4CnlnUkprMWprVDA4cTIvNmg4eTBEdjJqMitsaHFXNzRNOUt0cmwxcTRlWmZRUFREL01tR1NnTWtDZ1lFQXdhY04KaSttN1p6dnJtL3NuekF2VlZ5SEtwZHVUUjNERk1naC9maC9tZ0ZHZ1RwZWtUOVV5b3FleGNYQXdwMVlhL01iQQoyNTVJVDZRbXZZTm5yNXp6Wmxic2tMV0hsYllvbWhmWnVXTHhXR3hRaEFORWdaMFVVdUVTRGMvbWx2UXZHbEtSCkZoaGhBUWlVSmdDamhPaHk1SlBiNGFldGRKd0UxK09lVWRFaE1vRUNnWUVBNG8yZ25CM1o4ck5xa3NzemlBek4KYmNuMlJVbDJOaW9pejBwS3JMaDFaT29NNE5BekpQdjJsaHRQMzdtS0htS1hLMHczRjFqTEgwSTBxZmxFVmVZbQpSU1huakdHazJjUnpBYUVzOGgrQzNheDE0Z01pZUtGU3BqNUpNOEFNbVVZOXQ1cUVhN2FYc3o0V1ZoOUlMYmVTCkRiNzlhKzVwd21LQVBrcnBsTHhyZFdrQ2dZQlNNSHVBWVdBbmJYZ1BDS2FZWklGVWJNUWNacmY0ZnpWQ2lmYksKYWZHampvRlNPZXdEOGdGK3BWdWJRTGwxbkFieU44ek1xVDRaaHhybUhpcFlqMjJDaHV2NmN3RXJtbGRiSnpwQwpBMnRaVXdkTk1ESFlMUG5lUHlZeGRJWnlsUXFVeW14SGkydElUQUxNcWtLOGV3ZWdXZHpkeGhQSlJScU5JazhrCmZIVHhnUUtCZ1FEUFc2UXIxY3F3QjNUdnVWdWR4WGRqUTdIcDFodXhrNEVWaEFJZllKNFhSTW1NUE5YS28wdHUKdUt6LzE0QW14R0dvSWJxYVc1bDMzeFNteUxhem84clNUN0tSTjVKME9JSHcrZkR5SFgxdHpVSjZCTldDcEFTcwpjbWdNK0htSzVON0w2bkNaZFJQY2IwU1hGaVRQUGhCUG1PVWFDUnpER0ZMK2JYM1VwajJKbWc9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
+   */
+  pem?: string;
+};
+
+export type StreamSignedTokenResponse = StreamApiResponseSingle & {
+  result?: {
+    /**
+     * The signed token used with the signed URLs feature.
+     *
+     * @example eyJhbGciOiJSUzI1NiIsImtpZCI6ImU5ZGI5OTBhODI2NjZkZDU3MWM3N2Y5NDRhNWM1YzhkIn0.eyJzdWIiOiJlYTk1MTMyYzE1NzMyNDEyZDIyYzE0NzZmYTgzZjI3YSIsImtpZCI6ImU5ZGI5OTBhODI2NjZkZDU3MWM3N2Y5NDRhNWM1YzhkIiwiZXhwIjoiMTUzNzQ2MDM2NSIsIm5iZiI6IjE1Mzc0NTMxNjUifQ.OZhqOARADn1iubK6GKcn25hN3nU-hCFF5q9w2C4yup0C4diG7aMIowiRpP-eDod8dbAJubsiFuTKrqPcmyCKWYsiv0TQueukqbQlF7HCO1TV-oF6El5-7ldJ46eD-ZQ0XgcIYEKrQOYFF8iDQbqPm3REWd6BnjKZdeVrLzuRaiSnZ9qqFpGu5dfxIY9-nZKDubJHqCr3Imtb211VIG_b9MdtO92JjvkDS-rxT_pkEfTZSafl1OU-98A7KBGtPSJHz2dHORIrUiTA6on4eIXTj9aFhGiir4rSn-rn0OjPRTtJMWIDMoQyE_fwrSYzB7MPuzL2t82BWaEbHZTfixBm5A
+     */
+    token?: string;
+  };
+};
 
 /**
- * A short description of the watermark profile.
+ * The date and time a signing key was created.
  *
- * @default
- * @example Marketing Videos
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
  */
-export type NameWjx50o7Y = string;
+export type StreamSigningKeyCreated = string;
 
 /**
- * Token name.
+ * The size of the media item in bytes.
  *
- * @example readonly token
- * @maxLength 120
+ * @example 4190963
  */
-export type NameZZnqpiZc = string;
+export type StreamSize = number;
 
 /**
- * The name of the tunnel. The name cannot contain spaces or special characters, must be 15 characters or less, and cannot share a name with another GRE tunnel.
+ * Lists videos created after the specified date.
  *
- * @example GRE_1
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
  */
-export type NameBTvYm8cQ = string;
+export type StreamStart = string;
 
 /**
- * The domain name
- *
- * @example example.com
- * @maxLength 253
- * @pattern ^([a-zA-Z0-9][\-a-zA-Z0-9]*\.)+[\-a-zA-Z0-9]{2,20}$
+ * Specifies the start time for the video clip in seconds.
+ */
+export type StreamStartTimeSeconds = number;
+
+export type StreamStorageUseResponse = StreamApiResponseSingle & {
+  result?: {
+    creator?: StreamCreator;
+    /**
+     * The total minutes of video content stored in the account.
+     */
+    totalStorageMinutes?: number;
+    /**
+     * The storage capacity alloted for the account.
+     */
+    totalStorageMinutesLimit?: number;
+    /**
+     * The total count of videos associated with the account.
+     */
+    videoCount?: number;
+  };
+};
+
+/**
+ * The timestamp for a thumbnail image calculated as a percentage value of the video's duration. To convert from a second-wise timestamp to a percentage, divide the desired timestamp by the total duration of the video.  If this value is not set, the default thumbnail image is taken from 0s of the video.
+ *
+ * @default 0
+ * @example 0.529241
+ * @maximum 1
+ * @minimum 0
  */
-export type NameCklnDVgY = string;
+export type StreamThumbnailTimestampPct = number;
 
 /**
- * Optional human readable job name. Not unique. Cloudflare suggests that you set this to a meaningful string, like the domain name, to make it easier to identify your job.
+ * The media item's thumbnail URI. This field is omitted until encoding is complete.
  *
- * @example example.com
- * @maxLength 512
- * @pattern ^[a-zA-Z0-9\-\.]*$
+ * @example https://customer-m033z5x00ks6nunl.cloudflarestream.com/ea95132c15732412d22c1476fa83f27a/thumbnails/thumbnail.jpg
+ * @format uri
  */
-export type NameGjT0muUM = string | null;
+export type StreamThumbnailUrl = string;
 
 /**
- * The name of the Device Posture Rule.
+ * Specifies the TUS protocol version. This value must be included in every upload request.
+ * Notes: The only supported version of TUS protocol is 1.0.0.
  *
- * @example Admin Serial Numbers
+ * @example 1.0.0
  */
-export type NameKU9Y1gf9 = string;
+export type StreamTusResumable = '1.0.0';
 
 /**
- * The keyless SSL name.
+ * Specifies whether the video is `vod` or `live`.
  *
- * @example example.com Keyless SSL
- * @maxLength 180
+ * @example live
  */
-export type NameOdTv91XZ = string;
+export type StreamType = string;
+
+export type StreamUpdateInputRequest = {
+  defaultCreator?: StreamLiveInputDefaultCreator;
+  deleteRecordingAfterDays?: StreamLiveInputRecordingDeletion;
+  meta?: StreamLiveInputMetadata;
+  recording?: StreamLiveInputRecordingSettings;
+};
+
+export type StreamUpdateOutputRequest = {
+  enabled: StreamOutputEnabled;
+};
 
 /**
- * Zone name.
+ * Indicates the size of the entire upload in bytes. The value must be a non-negative integer.
  *
- * @example www.example.com.
+ * @minimum 0
  */
-export type NameSjz7boGi = string;
+export type StreamUploadLength = number;
 
 /**
- * List of name servers.
+ * Comma-separated key-value pairs following the TUS protocol specification. Values are Base-64 encoded.
+ * Supported keys: `name`, `requiresignedurls`, `allowedorigins`, `thumbnailtimestamppct`, `watermark`, `scheduleddeletion`.
  *
- * @example preston.ns.cloudflare.com
- * @example oli.ns.cloudflare.com
+ * @example name aGVsbG8gd29ybGQ=, requiresignedurls, allowedorigins ZXhhbXBsZS5jb20sdGVzdC5jb20=
  */
-export type NameServers = string[];
+export type StreamUploadMetadata = string;
 
 /**
- * The keyless SSL name.
+ * The date and time the media item was uploaded.
  *
- * @example example.com Keyless SSL
- * @maxLength 180
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
  */
-export type NameWrite = string;
+export type StreamUploaded = string;
+
+export type StreamVideoClipStandard = {
+  allowedOrigins?: StreamAllowedOrigins;
+  clippedFromVideoUID: StreamClippedFromVideoUid;
+  creator?: StreamCreator;
+  endTimeSeconds: StreamEndTimeSeconds;
+  maxDurationSeconds?: StreamMaxDurationSeconds;
+  requireSignedURLs?: StreamRequireSignedURLs;
+  startTimeSeconds: StreamStartTimeSeconds;
+  thumbnailTimestampPct?: StreamThumbnailTimestampPct;
+  watermark?: StreamWatermarkAtUpload;
+};
 
-export type Namespace = {
-  id: NamespaceIdentifier;
+export type StreamVideoCopyRequest = {
+  allowedOrigins?: StreamAllowedOrigins;
+  creator?: StreamCreator;
+  meta?: StreamMediaMetadata;
+  requireSignedURLs?: StreamRequireSignedURLs;
+  scheduledDeletion?: StreamScheduledDeletion;
+  thumbnailTimestampPct?: StreamThumbnailTimestampPct;
   /**
-   * True if keys written on the URL will be URL-decoded before storing. For example, if set to "true", a key written on the URL as "%3F" will be stored as "?".
+   * A video's URL. The server must be publicly routable and support `HTTP HEAD` requests and `HTTP GET` range requests. The server should respond to `HTTP HEAD` requests with a `content-range` header that includes the size of the file.
    *
-   * @example true
+   * @example https://example.com/myvideo.mp4
+   * @format uri
    */
-  supports_url_encoding?: boolean;
-  title: NamespaceTitle;
+  url: string;
+  watermark?: StreamWatermarkAtUpload2;
+};
+
+export type StreamVideoResponseCollection = StreamApiResponseCommon & {
+  result?: StreamVideos[];
+} & {
+  /**
+   * The total number of remaining videos based on cursor position.
+   *
+   * @example 1000
+   */
+  range?: number;
+  /**
+   * The total number of videos that match the provided filters.
+   *
+   * @example 35586
+   */
+  total?: number;
+};
+
+export type StreamVideoResponseSingle = StreamApiResponseSingle & {
+  result?: StreamVideos;
+};
+
+export type StreamVideoUpdate = {
+  allowedOrigins?: StreamAllowedOrigins;
+  creator?: StreamCreator;
+  maxDurationSeconds?: StreamMaxDurationSeconds;
+  meta?: StreamMediaMetadata;
+  requireSignedURLs?: StreamRequireSignedURLs;
+  scheduledDeletion?: StreamScheduledDeletion;
+  thumbnailTimestampPct?: StreamThumbnailTimestampPct;
+  uploadExpiry?: StreamOneTimeUploadExpiry;
+};
+
+export type StreamVideos = {
+  allowedOrigins?: StreamAllowedOrigins;
+  created?: StreamCreated;
+  creator?: StreamCreator;
+  duration?: StreamDuration;
+  input?: StreamInput;
+  liveInput?: StreamLiveInput;
+  maxDurationSeconds?: StreamMaxDurationSeconds;
+  meta?: StreamMediaMetadata;
+  modified?: StreamModified;
+  playback?: StreamPlayback;
+  preview?: StreamPreview;
+  readyToStream?: StreamReadyToStream;
+  readyToStreamAt?: StreamReadyToStreamAt;
+  requireSignedURLs?: StreamRequireSignedURLs;
+  scheduledDeletion?: StreamScheduledDeletion;
+  size?: StreamSize;
+  status?: StreamMediaStatus;
+  thumbnail?: StreamThumbnailUrl;
+  thumbnailTimestampPct?: StreamThumbnailTimestampPct;
+  uid?: StreamIdentifier;
+  uploadExpiry?: StreamOneTimeUploadExpiry;
+  uploaded?: StreamUploaded;
+  watermark?: StreamWatermarks;
+};
+
+export type StreamWatermarkAtUpload = {
+  /**
+   * The unique identifier for the watermark profile.
+   *
+   * @example ea95132c15732412d22c1476fa83f27a
+   * @maxLength 32
+   */
+  uid?: string;
+};
+
+export type StreamWatermarkBasicUpload = {
+  /**
+   * The image file to upload.
+   *
+   * @example @/Users/rchen/Downloads/watermark.png
+   */
+  file: string;
+  name?: StreamName;
+  opacity?: StreamOpacity;
+  padding?: StreamPadding;
+  position?: StreamPosition;
+  scale?: StreamScale;
 };
 
 /**
- * Namespace identifier tag.
+ * The date and a time a watermark profile was created.
  *
- * @example 0f2ac74b498b48028cb68387c421e279
- * @maxLength 32
+ * @example 2014-01-02T02:20:00Z
+ * @format date-time
  */
-export type NamespaceIdentifier = string;
+export type StreamWatermarkCreated = string;
 
 /**
- * A human-readable string name for a Namespace.
+ * The unique identifier for a watermark profile.
  *
- * @example My Own Namespace
+ * @example ea95132c15732412d22c1476fa83f27a
+ * @maxLength 32
  */
-export type NamespaceTitle = string;
+export type StreamWatermarkIdentifier = string;
+
+export type StreamWatermarkResponseCollection = StreamApiResponseCommon & {
+  result?: StreamWatermarks[];
+};
+
+export type StreamWatermarkResponseSingle = StreamApiResponseSingle & {
+  result?: StreamWatermarks;
+};
 
 /**
- * Negative DNS Cache TTL.
+ * The size of the image in bytes.
  *
- * @example 900
- * @maximum 36000
- * @minimum 30
+ * @example 29472
  */
-export type NegativeCacheTtl = number | null;
+export type StreamWatermarkSize = number;
+
+export type StreamWatermarks = {
+  created?: StreamWatermarkCreated;
+  downloadedFrom?: StreamDownloadedFrom;
+  height?: StreamHeight;
+  name?: StreamName;
+  opacity?: StreamOpacity;
+  padding?: StreamPadding;
+  position?: StreamPosition;
+  scale?: StreamScale;
+  size?: StreamWatermarkSize;
+  uid?: StreamWatermarkIdentifier;
+  width?: StreamWidth;
+};
+
+export type StreamWebhookRequest = {
+  notificationUrl: StreamNotificationUrl;
+};
+
+export type StreamWebhookResponseSingle = StreamApiResponseSingle & {
+  result?: Record<string, any>;
+};
 
 /**
- * Enable Network Error Logging reporting on your zone. (Beta)
+ * The width of the image in pixels.
  */
-export type Nel = {
-  /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
-   *
-   * @default true
-   */
-  editable?: true | false;
+export type StreamWidth = number;
+
+export type TeamsDevicesAccount = {
   /**
-   * Zone setting identifier.
-   *
-   * @example nel
+   * @deprecated true
    */
-  id: 'nel';
+  account_type?: string;
   /**
-   * last time this setting was modified.
-   *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * @deprecated true
    */
-  modified_on?: string | null;
+  id?: string;
   /**
-   * Current value of the zone setting.
+   * The name of the enrolled account.
    *
-   * @example on
+   * @example Company
    */
-  value: NelValue;
+  name?: string;
 };
 
 /**
- * Value of the zone setting.
+ * Whether to allow the user to switch WARP between modes.
+ *
+ * @example true
  */
-export type NelValue = {
-  /**
-   * @default false
-   * @example false
-   */
-  enabled?: boolean;
-};
+export type TeamsDevicesAllowModeSwitch = boolean;
 
 /**
- * A list of network ranges that requests from this location would originate from.
+ * Whether to receive update notifications when a new version of the client is available.
+ *
+ * @example true
  */
-export type Network = string[];
+export type TeamsDevicesAllowUpdates = boolean;
 
 /**
- * Indicates whether the variant can access an image without a signature, regardless of image access control.
+ * Whether to allow devices to leave the organization.
  *
- * @default false
  * @example true
  */
-export type NeverRequireSignedURLs = boolean;
+export type TeamsDevicesAllowedToLeave = boolean;
 
-export type NewProjectResponse = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | any[] | string;
+export type TeamsDevicesApiResponseCollection = {
+  errors: TeamsDevicesMessages;
+  messages: TeamsDevicesMessages;
+  result: Record<string, any> | any[] | string | null;
   /**
-   * Whether the API call was successful
+   * Whether the API call was successful.
    *
    * @example true
    */
   success: true;
+  result_info?: TeamsDevicesResultInfo;
 };
 
-/**
- * A custom entry create payload
- */
-export type NewCustomEntry = {
+export type TeamsDevicesApiResponseCollectionCommon = {
+  errors: TeamsDevicesMessages;
+  messages: TeamsDevicesMessages;
+  result: Record<string, any> | any[] | string | null;
   /**
-   * Whether the entry is enabled or not.
+   * Whether the API call was successful.
    *
    * @example true
    */
-  enabled: boolean;
+  success: true;
+};
+
+export type TeamsDevicesApiResponseCommon = {
+  errors: TeamsDevicesMessages;
+  messages: TeamsDevicesMessages;
+  result: Record<string, any> | any[] | string;
   /**
-   * The name of the entry.
+   * Whether the API call was successful.
    *
-   * @example Credit card (Visa)
+   * @example true
    */
-  name: string;
-  pattern: Pattern;
+  success: true;
 };
 
-/**
- * A custom entry create payload
- */
-export type NewCustomEntryGJ2LIzhS = {
+export type TeamsDevicesApiResponseCommonFailure = {
   /**
-   * Whether the entry is enabled or not.
-   *
-   * @example true
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
    */
-  enabled: boolean;
+  errors: TeamsDevicesMessages;
+  messages: TeamsDevicesMessages;
+  result: any | null;
   /**
-   * The name of the entry.
+   * Whether the API call was successful
    *
-   * @example Credit card (Visa)
+   * @example false
    */
-  name: string;
-  pattern: ComponentsSchemasPattern;
+  success: false;
 };
 
-export type NewCustomProfile = {
-  allowed_match_count?: AllowedMatchCount;
+export type TeamsDevicesApiResponseSingle = {
+  errors: TeamsDevicesMessages;
+  messages: TeamsDevicesMessages;
+  result: Record<string, any> | string | string | null;
   /**
-   * The description of the profile.
+   * Whether the API call was successful.
    *
-   * @example A standard CVV card number
+   * @example true
    */
-  description?: string;
+  success: true;
+};
+
+export type TeamsDevicesApplicationInputRequest = {
   /**
-   * The entries for this profile.
+   * Operating system
+   *
+   * @example mac
    */
-  entries?: NewCustomEntryGJ2LIzhS[];
+  operating_system: 'windows' | 'linux' | 'mac';
   /**
-   * The name of the profile.
+   * Path for the application.
    *
-   * @example Generic CVV Card Number
+   * @example /bin/cat
    */
-  name?: string;
-};
-
-/**
- * Sets the number of new users that will be let into the route every minute. This value is used as baseline for the number of users that are let in per minute. So it is possible that there is a little more or little less traffic coming to the route based on the traffic patterns at that time around the world.
- *
- * @maximum 2147483647
- * @minimum 200
- */
-export type NewUsersPerMinute = number;
-
-/**
- * An ISO 8601 timestamp that marks when the next event will begin queueing.
- *
- * @example 2021-09-28T15:00:00.000Z
- */
-export type NextEventPrequeueStartTime = string | null;
-
-/**
- * An ISO 8601 timestamp that marks when the next event will start.
- *
- * @example 2021-09-28T15:00:00.000Z
- */
-export type NextEventStartTime = string | null;
-
-/**
- * The next-hop IP Address for the static route.
- *
- * @example 203.0.113.1
- */
-export type Nexthop = string;
-
-/**
- * @example {"asn":"AS13335","ip":"1.1.1.1","max_latency_ms":0.034,"mean_latency_ms":0.021,"min_latency_ms":0.014,"name":"one.one.one.one","packet_count":3,"std_dev_latency_ms":0.011269427669584647}
- */
-export type NodeResult = {
-  asn?: SchemasAsn;
-  ip?: TracerouteComponentsSchemasIp;
-  labels?: Labels;
-  max_rtt_ms?: MaxRttMs;
-  mean_rtt_ms?: MeanRttMs;
-  min_rtt_ms?: MinRttMs;
-  name?: TracerouteComponentsSchemasName;
-  packet_count?: PacketCount;
-  std_dev_rtt_ms?: StdDevRttMs;
-};
-
-/**
- * The time before which the token MUST NOT be accepted for processing.
- *
- * @example 2018-07-01T05:20:00Z
- * @format date-time
- */
-export type NotBefore = string;
-
-/**
- * An informative summary of the rule, typically used as a reminder or explanation.
- *
- * @example This rule is enabled because of an event that occurred on date X.
- */
-export type Notes = string;
-
-/**
- * The URL where webhooks will be sent.
- *
- * @example https://example.com
- * @format uri
- */
-export type NotificationUrl = string;
-
-/**
- * This field is now deprecated. It has been moved to Cloudflare's Centralized Notification service https://developers.cloudflare.com/fundamentals/notifications/. The email address to send health status notifications to. This can be an individual mailbox or a mailing list. Multiple emails can be supplied as a comma delimited list.
- *
- * @example someone@example.com,sometwo@example.com
- */
-export type NotificationEmail = string;
-
-/**
- * The email address to send health status notifications to. This can be an individual mailbox or a mailing list. Multiple emails can be supplied as a comma delimited list.
- *
- * @example someone@example.com,sometwo@example.com
- */
-export type NotificationEmailRSyVUYWe = string;
-
-/**
- * Filter pool and origin health notifications by resource type or health status. Use null to reset.
- *
- * @example {"origin":{"disable":true},"pool":{"healthy":false}}
- */
-export type NotificationFilter = {
-  origin?: FilterOptions;
-  pool?: FilterOptions;
-} | null;
-
-/**
- * The FQDN of the name server.
- *
- * @example ns1.example.com
- * @format hostname
- */
-export type NsName = string;
+  path: string;
+  /**
+   * SHA-256.
+   *
+   * @example b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c
+   */
+  sha256?: string;
+  /**
+   * Signing certificate thumbprint.
+   *
+   * @example 0aabab210bdb998e9cf45da2c9ce352977ab531c681b74cf1e487be1bbe9fe6e
+   */
+  thumbprint?: string;
+};
 
 /**
- * The number of items in the list.
+ * The amount of time in minutes to reconnect after having been disabled.
  *
- * @example 10
+ * @example 0
  */
-export type NumItems = number;
+export type TeamsDevicesAutoConnect = number;
 
 /**
- * The number of [filters](#filters) referencing the list.
+ * Turn on the captive portal after the specified amount of time.
  *
- * @example 2
+ * @example 180
  */
-export type NumReferencingFilters = number;
+export type TeamsDevicesCaptivePortal = number;
 
-export type Object = {
+export type TeamsDevicesCarbonblackInputRequest = {
   /**
-   * Whether the Durable Object has stored data.
+   * Operating system
    *
-   * @example true
+   * @example mac
    */
-  hasStoredData?: boolean;
+  operating_system: 'windows' | 'linux' | 'mac';
   /**
-   * ID of the Durable Object.
+   * File path.
    *
-   * @example fe7803fc55b964e09d94666545aab688d360c6bda69ba349ced1e5f28d2fc2c8
+   * @example /bin/cat
    */
-  id?: string;
+  path: string;
+  /**
+   * SHA-256.
+   *
+   * @example b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c
+   */
+  sha256?: string;
+  /**
+   * Signing certificate thumbprint.
+   *
+   * @example 0aabab210bdb998e9cf45da2c9ce352977ab531c681b74cf1e487be1bbe9fe6e
+   */
+  thumbprint?: string;
 };
 
 /**
- * When the billing item was created.
+ * List of volume names to be checked for encryption.
  *
- * @example 2014-03-01T12:21:59.3456Z
- * @format date-time
+ * @example C
+ * @example D
+ * @example G
  */
-export type OccurredAt = string;
+export type TeamsDevicesCheckDisks = string[];
 
-export type Oidc = {
-  /**
-   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
-   */
-  config: GenericOauthConfig & {
-    /**
-     * The authorization_endpoint URL of your IdP
-     *
-     * @example https://accounts.google.com/o/oauth2/auth
-     */
-    auth_url?: string;
-    /**
-     * The jwks_uri endpoint of your IdP to allow the IdP keys to sign the tokens
-     *
-     * @example https://www.googleapis.com/oauth2/v3/certs
-     */
-    certs_url?: string;
-    /**
-     * OAuth scopes
-     *
-     * @example openid
-     * @example email
-     * @example profile
-     */
-    scopes?: string[];
-    /**
-     * The token_endpoint URL of your IdP
-     *
-     * @example https://accounts.google.com/o/oauth2/token
-     */
-    token_url?: string;
-  };
-  id?: Uuid;
-  name: SchemasNameIXVfNmuB;
+export type TeamsDevicesClientCertificateInputRequest = {
   /**
-   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   * UUID of Cloudflare managed certificate.
+   *
+   * @example b14ddcc4-bcd2-4df4-bd4f-eb27d5a50c30
+   * @maxLength 36
    */
-  scim_config?: {
-    /**
-     * A flag to enable or disable SCIM for the identity provider.
-     */
-    enabled?: boolean;
-    /**
-     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
-     */
-    group_member_deprovision?: boolean;
-    /**
-     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
-     */
-    seat_deprovision?: boolean;
-    /**
-     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
-     */
-    secret?: string;
-    /**
-     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
-     */
-    user_deprovision?: boolean;
-  };
+  certificate_id: string;
   /**
-   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   * Common Name that is protected by the certificate
    *
-   * @example onetimepin
+   * @example example.com
    */
-  type: string;
+  cn: string;
 };
 
-export type Okta = {
+export type TeamsDevicesClientCertificateV2InputRequest = {
   /**
-   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   * UUID of Cloudflare managed certificate.
+   *
+   * @example b14ddcc4-bcd2-4df4-bd4f-eb27d5a50c30
+   * @maxLength 36
    */
-  config: GenericOauthConfig & {
-    /**
-     * Your okta account url
-     *
-     * @example https://dev-abc123.oktapreview.com
-     */
-    okta_account?: string;
-  };
-  id?: Uuid;
-  name: SchemasNameIXVfNmuB;
+  certificate_id: string;
   /**
-   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   * Confirm the certificate was not imported from another device. We recommend keeping this enabled unless the certificate was deployed without a private key.
+   *
+   * @example true
    */
-  scim_config?: {
-    /**
-     * A flag to enable or disable SCIM for the identity provider.
-     */
-    enabled?: boolean;
-    /**
-     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
-     */
-    group_member_deprovision?: boolean;
-    /**
-     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
-     */
-    seat_deprovision?: boolean;
-    /**
-     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
-     */
-    secret?: string;
-    /**
-     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
-     */
-    user_deprovision?: boolean;
+  check_private_key: boolean;
+  /**
+   * Common Name that is protected by the client certificate. This may include one or more variables in the ${ } notation. Only ${serial_number} and ${hostname} are valid variables.
+   *
+   * @example ${hostname}.com.${serial_number}
+   */
+  cn?: string;
+  /**
+   * List of values indicating purposes for which the certificate public key can be used
+   *
+   * @example clientAuth
+   * @example emailProtection
+   */
+  extended_key_usage?: TeamsDevicesExtendedKeyUsageEnum[];
+  locations?: {
+    paths?: TeamsDevicesPaths;
+    trust_stores?: TeamsDevicesTrustStores;
   };
   /**
-   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   * Operating System
    *
-   * @example onetimepin
+   * @example windows
    */
-  type: string;
+  operating_system: 'windows' | 'mac' | 'linux';
 };
 
 /**
- * Matches an Okta group.
- * Requires an Okta identity provider.
+ * The name of the device posture integration.
+ *
+ * @example My Workspace One Integration
  */
-export type OktaGroupRule = {
-  okta: {
-    /**
-     * The ID of your Okta identity provider.
-     *
-     * @example ea85612a-29c8-46c2-bacb-669d65136971
-     */
-    connection_id: string;
-    /**
-     * The email of the Okta group.
-     *
-     * @example devs@cloudflare.com
-     */
-    email: string;
-  };
+export type TeamsDevicesComponentsSchemasName = string;
+
+export type TeamsDevicesComponentsSchemasResponseCollection = TeamsDevicesApiResponseCollection & {
+  result?: TeamsDevicesDeviceManagedNetworks[];
 };
 
-/**
- * Whether advertisement of the prefix to the Internet may be dynamically enabled or disabled.
- *
- * @example true
- */
-export type OnDemandEnabled = boolean;
+export type TeamsDevicesComponentsSchemasSingleResponse = TeamsDevicesApiResponseSingle & {
+  result?: TeamsDevicesDeviceManagedNetworks;
+};
 
 /**
- * Whether advertisement status of the prefix is locked, meaning it cannot be changed.
+ * The type of device managed network.
  *
- * @example false
+ * @example tls
  */
-export type OnDemandLocked = boolean;
+export type TeamsDevicesComponentsSchemasType = 'tls';
 
 /**
- * The date and time when the video upload URL is no longer valid for direct user uploads.
+ * UUID
  *
- * @example 2014-01-02T02:20:00Z
- * @format date-time
+ * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
+ * @maxLength 36
  */
-export type OneTimeUploadExpiry = string;
-
-export type Onelogin = {
-  /**
-   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
-   */
-  config: GenericOauthConfig & {
-    /**
-     * Your OneLogin account url
-     *
-     * @example https://mycompany.onelogin.com
-     */
-    onelogin_account?: string;
-  };
-  id?: Uuid;
-  name: SchemasNameIXVfNmuB;
-  /**
-   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
-   */
-  scim_config?: {
-    /**
-     * A flag to enable or disable SCIM for the identity provider.
-     */
-    enabled?: boolean;
-    /**
-     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
-     */
-    group_member_deprovision?: boolean;
-    /**
-     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
-     */
-    seat_deprovision?: boolean;
-    /**
-     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
-     */
-    secret?: string;
-    /**
-     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
-     */
-    user_deprovision?: boolean;
-  };
-  /**
-   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
-   *
-   * @example onetimepin
-   */
-  type: string;
-};
+export type TeamsDevicesComponentsSchemasUuid = string;
 
 /**
- * The translucency of the image. A value of `0.0` makes the image completely transparent, and `1.0` makes the image completely opaque. Note that if the image is already semi-transparent, setting this to `1.0` will not make the image completely opaque.
+ * The configuration object containing third-party integration information.
  *
- * @default 1
- * @example 0.75
- * @maximum 1
- * @minimum 0
+ * @example {"api_url":"https://as123.awmdm.com/API","auth_url":"https://na.uemauth.vmwservices.com/connect/token","client_id":"example client id","client_secret":"example client secret"}
  */
-export type Opacity = number;
+export type TeamsDevicesConfigRequest =
+  | TeamsDevicesWorkspaceOneConfigRequest
+  | TeamsDevicesCrowdstrikeConfigRequest
+  | TeamsDevicesUptycsConfigRequest
+  | TeamsDevicesIntuneConfigRequest
+  | TeamsDevicesKolideConfigRequest
+  | TeamsDevicesTaniumConfigRequest
+  | TeamsDevicesSentineloneS2sConfigRequest
+  | TeamsDevicesCustomS2sConfigRequest;
 
 /**
- * A OpenAPI 3.0.0 compliant schema.
+ * The configuration object containing third-party integration information.
  *
- * @example {"info":{"title":"OpenAPI JSON schema for www.example.com","version":"1.0"},"openapi":"3.0.0","paths":{"... Further paths ...":{},"/api/v1/users/{var1}":{"get":{"parameters":[{"in":"path","name":"var1","required":true,"schema":{"type":"string"}}]}}},"servers":[{"url":"www.example.com"}]}
+ * @example {"api_url":"https://as123.awmdm.com/API","auth_url":"https://na.uemauth.vmwservices.com/connect/token","client_id":"example client id"}
  */
-export type Openapi = Record<string, any>;
+export type TeamsDevicesConfigResponse = TeamsDevicesWorkspaceOneConfigResponse;
 
 /**
- * A OpenAPI 3.0.0 compliant schema.
+ * When the device was created.
  *
- * @example {"info":{"title":"OpenAPI JSON schema for www.example.com","version":"1.0"},"openapi":"3.0.0","paths":{"... Further paths ...":{},"/api/v1/users/{var1}":{"get":{"parameters":[{"in":"path","name":"var1","required":true,"schema":{"type":"string"}}]}}},"servers":[{"url":"www.example.com"}]}
+ * @example 2017-06-14T00:00:00Z
+ * @format date-time
  */
-export type Openapiwiththresholds = Record<string, any>;
+export type TeamsDevicesCreated = string;
 
-export type Operation = {
-  endpoint: Endpoint;
-  features?: Features;
-  host: HostD2DhpgVX;
-  last_updated: Timestamp;
-  method: MethodA9T9ZDIH;
-  operation_id: Uuid;
+export type TeamsDevicesCrowdstrikeConfigRequest = {
+  /**
+   * The Crowdstrike API URL.
+   *
+   * @example https://api.us-2.crowdstrike.com
+   */
+  api_url: string;
+  /**
+   * The Crowdstrike client ID.
+   *
+   * @example example client id
+   */
+  client_id: string;
+  /**
+   * The Crowdstrike client secret.
+   *
+   * @example example client secret
+   */
+  client_secret: string;
+  /**
+   * The Crowdstrike customer ID.
+   *
+   * @example example customer id
+   */
+  customer_id: string;
 };
 
-/**
- * The unique operation ID of the asynchronous action.
- *
- * @example 4da8780eeb215e6cb7f48dd981c4ea02
- */
-export type OperationId = string;
-
-/**
- * Enables the Opportunistic Encryption feature for a zone.
- */
-export type OpportunisticEncryption = {
+export type TeamsDevicesCrowdstrikeInputRequest = {
+  /**
+   * Posture Integration ID.
+   *
+   * @example bc7cbfbb-600a-42e4-8a23-45b5e85f804f
+   */
+  connection_id: string;
   /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   * For more details on last seen, please refer to the Crowdstrike documentation.
    *
-   * @default true
+   * @example 15d3h20m4s
    */
-  editable?: true | false;
+  last_seen?: string;
   /**
-   * ID of the zone setting.
+   * Operator
    *
-   * @example opportunistic_encryption
+   * @example >
    */
-  id: 'opportunistic_encryption';
+  operator?: '<' | '<=' | '>' | '>=' | '==';
   /**
-   * last time this setting was modified.
+   * Os Version
    *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * @example 13.3.0
    */
-  modified_on?: string | null;
+  os?: string;
   /**
-   * Current value of the zone setting.
+   * overall
    *
-   * @example on
+   * @example 90
    */
-  value: OpportunisticEncryptionValue;
-};
-
-/**
- * Value of the zone setting.
- * Notes: Default value depends on the zone's plan level.
- *
- * @default on
- */
-export type OpportunisticEncryptionValue = 'on' | 'off';
-
-/**
- * Add an Alt-Svc header to all legitimate requests from Tor, allowing the connection to use our onion services instead of exit nodes.
- *
- * @default off
- */
-export type OpportunisticOnion = {
+  overall?: string;
   /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   * SensorConfig
    *
-   * @default true
+   * @example 90
    */
-  editable?: true | false;
+  sensor_config?: string;
   /**
-   * ID of the zone setting.
+   * For more details on state, please refer to the Crowdstrike documentation.
    *
-   * @example opportunistic_onion
+   * @example online
    */
-  id: 'opportunistic_onion';
+  state?: 'online' | 'offline' | 'unknown';
   /**
-   * last time this setting was modified.
+   * Version
    *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * @example 13.3.0
    */
-  modified_on?: string | null;
+  version?: string;
   /**
-   * Current value of the zone setting.
+   * Version Operator
    *
-   * @example on
+   * @example >
    */
-  value: OpportunisticOnionValue;
-};
-
-/**
- * Value of the zone setting.
- * Notes: Default value depends on the zone's plan level.
- *
- * @default off
- */
-export type OpportunisticOnionValue = 'on' | 'off';
-
-/**
- * Allows you to define image resizing sizes for different use cases.
- */
-export type Options = {
-  fit: Fit;
-  height: HeightHdzALmvb;
-  metadata: SchemasMetadata;
-  width: Width3qFBlIcS;
+  versionOperator?: '<' | '<=' | '>' | '>=' | '==';
 };
 
-/**
- * Orange to Orange (O2O) allows zones on Cloudflare to CNAME to other zones also on Cloudflare.
- */
-export type OrangeToOrange = {
+export type TeamsDevicesCustomS2sConfigRequest = {
   /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   * This id will be passed in the `CF-Access-Client-ID` header when hitting the `api_url`
    *
-   * @default true
+   * @example 88bf3b6d86161464f6509f7219099e57.access
    */
-  editable?: true | false;
+  access_client_id: string;
   /**
-   * ID of the zone setting.
+   * This secret will be passed in the `CF-Access-Client-Secret` header when hitting the `api_url`
    *
-   * @example orange_to_orange
+   * @example bdd31cbc4dec990953e39163fbbb194c93313ca9f0a6e420346af9d326b1d2a5
    */
-  id: 'orange_to_orange';
+  access_client_secret: string;
   /**
-   * last time this setting was modified.
+   * The Custom Device Posture Integration  API URL.
    *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * @example https://example.custom-s2s.com
    */
-  modified_on?: string | null;
+  api_url: string;
+};
+
+export type TeamsDevicesCustomS2sInputRequest = {
   /**
-   * Current value of the zone setting.
+   * Posture Integration ID.
    *
-   * @example on
+   * @example bc7cbfbb-600a-42e4-8a23-45b5e85f804f
    */
-  value: OrangeToOrangeValue;
-};
-
-/**
- * Value of the zone setting.
- *
- * @default on
- */
-export type OrangeToOrangeValue = 'on' | 'off';
-
-/**
- * Field to order DNS records by.
- *
- * @default type
- */
-export type Order = 'type' | 'name' | 'content' | 'ttl' | 'proxied';
-
-/**
- * Organization, provided by the CSR
- *
- * @example Organization
- */
-export type Organization = string;
-
-export type Organization4zEoGtIG = {
-  id?: CommonComponentsSchemasIdentifier;
-  name?: SchemasNameMUD1zc5L;
-  permissions?: SchemasPermissions;
+  connection_id: string;
   /**
-   * List of roles that a user has within an organization.
+   * operator
+   *
+   * @example >
    */
-  roles?: string[];
-  status?: ComponentsSchemasStatusMKwOT5XZ;
+  operator: '<' | '<=' | '>' | '>=' | '==';
+  /**
+   * A value between 0-100 assigned to devices set by the 3rd party posture provider.
+   *
+   * @example 100
+   */
+  score: number;
 };
 
 /**
- * Organization identifier tag.
+ * Whether the policy is the default policy for an account.
  *
- * @example 01a7362d577a6c3019a474fd6f485823
- * @maxLength 32
+ * @example false
  */
-export type OrganizationComponentsSchemasIdentifier = string;
+export type TeamsDevicesDefault = boolean;
 
-export type OrganizationInvite = BaseMktMcgEk & {
+export type TeamsDevicesDefaultDeviceSettingsPolicy = {
+  allow_mode_switch?: TeamsDevicesAllowModeSwitch;
+  allow_updates?: TeamsDevicesAllowUpdates;
+  allowed_to_leave?: TeamsDevicesAllowedToLeave;
+  auto_connect?: TeamsDevicesAutoConnect;
+  captive_portal?: TeamsDevicesCaptivePortal;
   /**
-   * Current status of two-factor enforcement on the organization.
+   * Whether the policy will be applied to matching devices.
    *
-   * @default false
    * @example true
    */
-  organization_is_enforcing_twofactor?: boolean;
+  ['default']?: boolean;
+  disable_auto_fallback?: TeamsDevicesDisableAutoFallback;
   /**
-   * Current status of the invitation.
+   * Whether the policy will be applied to matching devices.
    *
-   * @example accepted
+   * @example true
    */
-  status?: 'pending' | 'accepted' | 'rejected' | 'canceled' | 'left' | 'expired';
+  enabled?: boolean;
+  exclude?: TeamsDevicesExclude;
+  exclude_office_ips?: TeamsDevicesExcludeOfficeIps;
+  fallback_domains?: TeamsDevicesFallbackDomains;
+  gateway_unique_id?: TeamsDevicesGatewayUniqueId;
+  include?: TeamsDevicesInclude;
+  service_mode_v2?: TeamsDevicesServiceModeV2;
+  support_url?: TeamsDevicesSupportUrl;
+  switch_locked?: TeamsDevicesSwitchLocked;
+  tunnel_protocol?: TeamsDevicesTunnelProtocol;
+};
+
+export type TeamsDevicesDefaultDeviceSettingsResponse = TeamsDevicesApiResponseSingle & {
+  result?: TeamsDevicesDefaultDeviceSettingsPolicy;
 };
 
 /**
- * Organizational Unit, provided by the CSR
+ * True if the device was deleted.
  *
- * @example Organizational Unit
+ * @example true
  */
-export type OrganizationalUnit = string;
-
-export type Organizations = {
-  auth_domain?: AuthDomain;
-  auto_redirect_to_identity?: AutoRedirectToIdentity;
-  created_at?: Timestamp;
-  is_ui_read_only?: IsUiReadOnly;
-  login_design?: LoginDesign;
-  name?: NameRPn8IBAr;
-  ui_read_only_toggle_reason?: UiReadOnlyToggleReason;
-  updated_at?: Timestamp;
-  user_seat_expiration_inactive_time?: UserSeatExpirationInactiveTime;
-};
-
-export type OrganizationsHXYA9SXW = {
-  auth_domain?: AuthDomain;
-  created_at?: Timestamp;
-  is_ui_read_only?: IsUiReadOnly;
-  login_design?: LoginDesign;
-  name?: OrganizationsComponentsSchemasName;
-  updated_at?: Timestamp;
-};
+export type TeamsDevicesDeleted = boolean;
 
 /**
- * The name of your Zero Trust organization.
+ * The description of the device posture rule.
  *
- * @example Widget Corps Internal Applications
+ * @example The rule for admin serial numbers
  */
-export type OrganizationsComponentsSchemasName = string;
-
-export type OrganizationsComponentsSchemasSingleResponse = ApiResponseSingleKLIlNaxV & {
-  result?: SchemasOrganizations;
-};
-
-export type OrganizationsComponentsSchemasSingleResponseZfZi7x26 = ApiResponseSingleLarS7owG & {
-  result?: OrganizationsHXYA9SXW;
+export type TeamsDevicesDescription = string;
+
+export type TeamsDevicesDevice = {
+  account?: TeamsDevicesAccount;
+  created?: TeamsDevicesCreated;
+  deleted?: TeamsDevicesDeleted;
+  device_type?: TeamsDevicesDeviceType;
+  gateway_device_id?: TeamsDevicesGatewayDeviceId;
+  id?: TeamsDevicesDeviceId;
+  ip?: TeamsDevicesIp;
+  key?: TeamsDevicesKey;
+  key_type?: TeamsDevicesKeyType;
+  last_seen?: TeamsDevicesLastSeen;
+  mac_address?: TeamsDevicesMacAddress;
+  model?: TeamsDevicesModel;
+  name?: TeamsDevicesSchemasName;
+  os_version?: TeamsDevicesOsVersion;
+  serial_number?: TeamsDevicesSerialNumber;
+  tunnel_type?: TeamsDevicesTunnelType;
+  updated?: TeamsDevicesUpdated;
+  user?: TeamsDevicesUser;
+  version?: TeamsDevicesVersion;
 };
 
 /**
- * Your origin hostname that requests to your custom hostnames will be sent to.
+ * The configuration object which contains the details for the WARP client to conduct the test.
  *
- * @example fallback.example.com
- * @maxLength 255
+ * @example {"host":"https://dash.cloudflare.com","kind":"http","method":"GET"}
  */
-export type Origin = string;
-
-export type OriginLs8Gu3ue = {
-  address?: Address2vBDvjOD;
-  disabled_at?: DisabledAt;
-  enabled?: SchemasEnabledFbTTZgfc;
-  header?: SchemasHeader;
-  name?: SchemasNamePvgM4uwK;
-  virtual_network_id?: VirtualNetworkId;
-  weight?: WeightNB8okIS7;
-};
-
-export type OriginRulesComponentsSchemasRule = {
-  /**
-   * @example route
-   */
-  action?: void;
-  action_parameters?: SchemasActionParameters;
-  /**
-   * @example change the host header, origin, and SNI
-   */
-  description?: void;
+export type TeamsDevicesDeviceDexTestSchemasData = {
   /**
-   * @example http.cookie contains "something"
+   * The desired endpoint to test.
+   *
+   * @example https://dash.cloudflare.com
    */
-  expression?: void;
+  host?: string;
   /**
-   * @example 3a03d665bac047339bb530ecb439a90d
+   * The type of test.
+   *
+   * @example http
    */
-  id?: void;
+  kind?: string;
   /**
-   * @example 1
+   * The HTTP request method type.
+   *
+   * @example GET
    */
-  version?: void;
+  method?: string;
 };
 
 /**
- * Whether to enable (the default) this origin within the pool. Disabled origins will not receive traffic and are excluded from health checks. The origin will only be disabled for the current pool.
+ * Additional details about the test.
  *
- * @default true
- * @example true
+ * @example Checks the dash endpoint every 30 minutes
  */
-export type OriginComponentsSchemasEnabled = boolean;
+export type TeamsDevicesDeviceDexTestSchemasDescription = string;
 
 /**
- * A human-identifiable name for the origin.
+ * Determines whether or not the test is active.
  *
- * @example app-server-1
+ * @example true
  */
-export type OriginComponentsSchemasName = string;
+export type TeamsDevicesDeviceDexTestSchemasEnabled = boolean;
+
+export type TeamsDevicesDeviceDexTestSchemasHttp = {
+  data: TeamsDevicesDeviceDexTestSchemasData;
+  description?: TeamsDevicesDeviceDexTestSchemasDescription;
+  enabled: TeamsDevicesDeviceDexTestSchemasEnabled;
+  interval: TeamsDevicesDeviceDexTestSchemasInterval;
+  name: TeamsDevicesDeviceDexTestSchemasName;
+  target_policies?: TeamsDevicesDeviceDexTestTargetPolicies;
+  targeted?: boolean;
+  test_id?: TeamsDevicesSchemasTestId;
+};
 
 /**
- * The name and type of DNS record for the Spectrum application.
+ * How often the test will run.
+ *
+ * @example 30m
  */
-export type OriginDns = {
-  name?: OriginDnsName;
-  ttl?: DnsTtl;
-  type?: OriginDnsType;
-};
+export type TeamsDevicesDeviceDexTestSchemasInterval = string;
 
 /**
- * The name of the DNS record associated with the origin.
+ * The name of the DEX test. Must be unique.
  *
- * @example origin.example.com
- * @format hostname
+ * @example HTTP dash health check
  */
-export type OriginDnsName = string;
+export type TeamsDevicesDeviceDexTestSchemasName = string;
 
 /**
- * The type of DNS record associated with the origin. "" is used to specify a combination of A/AAAA records.
+ * Device settings profiles targeted by this test
+ */
+export type TeamsDevicesDeviceDexTestTargetPolicies = TeamsDevicesDexTargetPolicy[];
+
+export type TeamsDevicesDeviceManagedNetworks = {
+  config?: TeamsDevicesSchemasConfigResponse;
+  name?: TeamsDevicesDeviceManagedNetworksComponentsSchemasName;
+  network_id?: TeamsDevicesUuid;
+  type?: TeamsDevicesComponentsSchemasType;
+};
+
+/**
+ * The name of the device managed network. This name must be unique.
  *
- * @example
+ * @example managed-network-1
  */
-export type OriginDnsType = '' | 'A' | 'AAAA' | 'SRV';
+export type TeamsDevicesDeviceManagedNetworksComponentsSchemasName = string;
+
+export type TeamsDevicesDevicePostureIntegrations = {
+  config?: TeamsDevicesConfigResponse;
+  id?: TeamsDevicesUuid;
+  interval?: TeamsDevicesInterval;
+  name?: TeamsDevicesComponentsSchemasName;
+  type?: TeamsDevicesSchemasType;
+};
+
+export type TeamsDevicesDevicePostureRules = {
+  description?: TeamsDevicesDescription;
+  expiration?: TeamsDevicesExpiration;
+  id?: TeamsDevicesUuid;
+  input?: TeamsDevicesInput;
+  match?: TeamsDevicesMatch;
+  name?: TeamsDevicesName;
+  schedule?: TeamsDevicesSchedule;
+  type?: TeamsDevicesType;
+};
 
 /**
- * Cloudflare will proxy customer error pages on any 502,504 errors on origin server instead of showing a default Cloudflare error page. This does not apply to 522 errors and is limited to Enterprise Zones.
+ * Device ID.
  *
- * @default off
+ * @example LM63E90AXfafe14643cbbbc-4a0ed4fc8415A
  */
-export type OriginErrorPagePassThru = {
-  /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
-   *
-   * @default true
-   */
-  editable?: true | false;
-  /**
-   * ID of the zone setting.
-   *
-   * @example origin_error_page_pass_thru
-   */
-  id: 'origin_error_page_pass_thru';
+export type TeamsDevicesDeviceId = string;
+
+export type TeamsDevicesDeviceResponse = TeamsDevicesApiResponseSingle & {
+  result?: TeamsDevicesDevice;
+};
+
+export type TeamsDevicesDeviceSettingsPolicy = {
+  allow_mode_switch?: TeamsDevicesAllowModeSwitch;
+  allow_updates?: TeamsDevicesAllowUpdates;
+  allowed_to_leave?: TeamsDevicesAllowedToLeave;
+  auto_connect?: TeamsDevicesAutoConnect;
+  captive_portal?: TeamsDevicesCaptivePortal;
+  ['default']?: TeamsDevicesDefault;
+  description?: TeamsDevicesSchemasDescription;
+  disable_auto_fallback?: TeamsDevicesDisableAutoFallback;
   /**
-   * last time this setting was modified.
+   * Whether the policy will be applied to matching devices.
    *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * @example true
    */
-  modified_on?: string | null;
+  enabled?: boolean;
+  exclude?: TeamsDevicesExclude;
+  exclude_office_ips?: TeamsDevicesExcludeOfficeIps;
+  fallback_domains?: TeamsDevicesFallbackDomains;
+  gateway_unique_id?: TeamsDevicesGatewayUniqueId;
+  include?: TeamsDevicesInclude;
+  lan_allow_minutes?: TeamsDevicesLanAllowMinutes;
+  lan_allow_subnet_size?: TeamsDevicesLanAllowSubnetSize;
+  match?: TeamsDevicesSchemasMatch;
   /**
-   * Current value of the zone setting.
+   * The name of the device settings profile.
    *
-   * @example on
+   * @example Allow Developers
+   * @maxLength 100
    */
-  value: OriginErrorPagePassThruValue;
+  name?: string;
+  policy_id?: TeamsDevicesSchemasUuid;
+  precedence?: TeamsDevicesPrecedence;
+  service_mode_v2?: TeamsDevicesServiceModeV2;
+  support_url?: TeamsDevicesSupportUrl;
+  switch_locked?: TeamsDevicesSwitchLocked;
+  target_tests?: TeamsDevicesTargetDexTest[];
+  tunnel_protocol?: TeamsDevicesTunnelProtocol;
 };
 
-/**
- * Value of the zone setting.
- *
- * @default off
- */
-export type OriginErrorPagePassThruValue = 'on' | 'off';
+export type TeamsDevicesDeviceSettingsResponse = TeamsDevicesApiResponseSingle & {
+  result?: TeamsDevicesDeviceSettingsPolicy;
+};
+
+export type TeamsDevicesDeviceSettingsResponseCollection = TeamsDevicesApiResponseCollection & {
+  result?: TeamsDevicesDeviceSettingsPolicy[];
+};
 
 /**
- * The origin ipv4/ipv6 address or domain name mapped to it's health data.
- *
- * @example {"failure_reason":"No failures","healthy":true,"response_code":200,"rtt":"66ms"}
+ * @example windows
  */
-export type OriginHealthData = {
-  failure_reason?: string;
-  healthy?: boolean;
-  response_code?: number;
-  rtt?: string;
+export type TeamsDevicesDeviceType = string;
+
+export type TeamsDevicesDevices = {
+  created?: TeamsDevicesCreated;
+  deleted?: TeamsDevicesDeleted;
+  device_type?: TeamsDevicesPlatform;
+  id?: TeamsDevicesSchemasUuid;
+  ip?: TeamsDevicesIp;
+  key?: TeamsDevicesKey;
+  last_seen?: TeamsDevicesLastSeen;
+  mac_address?: TeamsDevicesMacAddress;
+  manufacturer?: TeamsDevicesManufacturer;
+  model?: TeamsDevicesModel;
+  name?: TeamsDevicesSchemasName;
+  os_distro_name?: TeamsDevicesOsDistroName;
+  os_distro_revision?: TeamsDevicesOsDistroRevision;
+  os_version?: TeamsDevicesOsVersion;
+  os_version_extra?: TeamsDevicesOsVersionExtra;
+  revoked_at?: TeamsDevicesRevokedAt;
+  serial_number?: TeamsDevicesSerialNumber;
+  updated?: TeamsDevicesUpdated;
+  user?: TeamsDevicesUser;
+  version?: TeamsDevicesVersion;
+};
+
+export type TeamsDevicesDevicesPolicyCertificates = {
+  /**
+   * The current status of the device policy certificate provisioning feature for WARP clients.
+   *
+   * @example true
+   */
+  enabled: boolean;
+};
+
+export type TeamsDevicesDevicesPolicyCertificatesSingle = TeamsDevicesApiResponseSingle;
+
+export type TeamsDevicesDevicesResponse = TeamsDevicesApiResponseCollection & {
+  result?: TeamsDevicesDevices[];
+};
+
+export type TeamsDevicesDexDeleteResponseCollection = {
+  errors: TeamsDevicesMessages;
+  messages: TeamsDevicesMessages;
+  result:
+    | {
+        dex_tests?: TeamsDevicesDeviceDexTestSchemasHttp[];
+      }
+    | any[]
+    | string;
+  /**
+   * Whether the API call was successful.
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type TeamsDevicesDexResponseCollection = TeamsDevicesApiResponseCollectionCommon & {
+  result?: TeamsDevicesDeviceDexTestSchemasHttp[];
+};
+
+export type TeamsDevicesDexSingleResponse = TeamsDevicesApiResponseSingle & {
+  result?: TeamsDevicesDeviceDexTestSchemasHttp;
+};
+
+export type TeamsDevicesDexTargetPolicy = {
+  /**
+   * Whether the profile is the account default
+   */
+  ['default']?: boolean;
+  /**
+   * The id of the device settings profile
+   */
+  id?: string;
+  /**
+   * The name of the device settings profile
+   */
+  name?: string;
 };
 
 /**
- * If true, filter events where the origin status is healthy. If false, filter events where the origin status is unhealthy.
+ * If the `dns_server` field of a fallback domain is not present, the client will fall back to a best guess of the default/system DNS resolvers unless this policy option is set to `true`.
  *
- * @default true
  * @example true
  */
-export type OriginHealthy = boolean;
+export type TeamsDevicesDisableAutoFallback = boolean;
 
-/**
- * The highest HTTP version Cloudflare will attempt to use with your origin. This setting allows Cloudflare to make HTTP/2 requests to your origin. (Refer to [Enable HTTP/2 to Origin](https://developers.cloudflare.com/cache/how-to/enable-http2-to-origin/), for more information.).
- */
-export type OriginMaxHttpVersion = {
+export type TeamsDevicesDisableForTime = {
   /**
-   * Identifier of the zone setting.
+   * Override code that is valid for 1 hour.
    *
-   * @example origin_max_http_version
+   * @example 9106681
    */
-  id: 'origin_max_http_version';
+  ['1']?: void;
   /**
-   * last time this setting was modified.
+   * Override code that is valid for 3 hours.
    *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * @example 5356247
    */
-  modified_on?: string | null;
+  ['3']?: void;
+  /**
+   * Override code that is valid for 6 hours.
+   *
+   * @example 9478972
+   */
+  ['6']?: void;
+  /**
+   * Override code that is valid for 12 hour2.
+   *
+   * @example 3424359
+   */
+  ['12']?: void;
+  /**
+   * Override code that is valid for 24 hour.2.
+   *
+   * @example 2887634
+   */
+  ['24']?: void;
 };
 
-/**
- * The destination port at the origin. Only specified in conjunction with origin_dns. May use an integer to specify a single origin port, for example `1000`, or a string to specify a range of origin ports, for example `"1000-2000"`.
- * Notes: If specifying a port range, the number of ports in the range must match the number of ports specified in the "protocol" field.
- *
- * @example 22
- * @maximum 65535
- * @minimum 1
- */
-export type OriginPort = number | string;
+export type TeamsDevicesDiskEncryptionInputRequest = {
+  checkDisks?: TeamsDevicesCheckDisks;
+  requireAll?: TeamsDevicesRequireAll;
+};
 
-/**
- * Configures origin steering for the pool. Controls how origins are selected for new sessions and traffic without session affinity.
- */
-export type OriginSteering = {
+export type TeamsDevicesDomainJoinedInputRequest = {
   /**
-   * The type of origin steering policy to use, either "random" or "hash" (based on CF-Connecting-IP).
+   * Domain
    *
-   * @default random
+   * @example example.com
+   */
+  domain?: string;
+  /**
+   * Operating System
+   *
+   * @example windows
    */
-  policy?: 'random' | 'hash';
+  operating_system: 'windows';
 };
 
 /**
- * When true, only the uncached traffic served from your origin servers will count towards rate limiting. In this case, any cached traffic served by Cloudflare will not count towards rate limiting. This field is optional.
- * Notes: This field is deprecated. Instead, use response headers and set "origin_traffic" to "false" to avoid legacy behaviour interacting with the "response_headers" property.
- */
-export type OriginTraffic = boolean;
-
-/**
- * URI to original variant for an image.
+ * The contact email address of the user.
  *
- * @example https://imagedelivery.net/MTt4OTd0b0w5aj/107b9558-dd06-4bbd-5fef-9c2c16bb7900/original
- * @format uri
- */
-export type OriginalUrl = string;
-
-/**
- * The list of origins within this pool. Traffic directed at this pool is balanced across all currently healthy origins, provided the pool itself is healthy.
+ * @example user@example.com
+ * @maxLength 90
  */
-export type Origins = OriginLs8Gu3ue[];
+export type TeamsDevicesEmail = string;
 
-/**
- * The list of origins within this pool. Traffic directed at this pool is balanced across all currently healthy origins, provided the pool itself is healthy.
- */
-export type OriginsSJsVZfMb = SchemasOrigin[];
+export type TeamsDevicesExclude = TeamsDevicesSplitTunnel[];
 
 /**
- * The Linux distro name.
+ * Whether to add Microsoft IPs to Split Tunnel exclusions.
  *
- * @example ubuntu
+ * @example true
  */
-export type OsDistroName = string;
+export type TeamsDevicesExcludeOfficeIps = boolean;
 
 /**
- * The Linux distro revision.
+ * Sets the expiration time for a posture check result. If empty, the result remains valid until it is overwritten by new data from the WARP client.
  *
- * @example 1.0.0
+ * @example 1h
  */
-export type OsDistroRevision = string;
+export type TeamsDevicesExpiration = string;
 
-/**
- * The operating system version.
- *
- * @example 10.0.0
- */
-export type OsVersion = string;
+export type TeamsDevicesExtendedKeyUsageEnum = 'clientAuth' | 'emailProtection';
 
-export type Output = {
-  enabled?: OutputEnabled;
-  streamKey?: OutputStreamKey;
-  uid?: OutputIdentifier;
-  url?: OutputUrl;
+export type TeamsDevicesFallbackDomain = {
+  /**
+   * A description of the fallback domain, displayed in the client UI.
+   *
+   * @example Domain bypass for local development
+   * @maxLength 100
+   */
+  description?: string;
+  /**
+   * A list of IP addresses to handle domain resolution.
+   */
+  dns_server?: TeamsDevicesIp[];
+  /**
+   * The domain suffix to match when resolving locally.
+   *
+   * @example example.com
+   */
+  suffix: string;
 };
 
-/**
- * When enabled, live video streamed to the associated live input will be sent to the output URL. When disabled, live video will not be sent to the output URL, even when streaming to the associated live input. Use this to control precisely when you start and stop simulcasting to specific destinations like YouTube and Twitch.
- *
- * @default true
- * @example true
- */
-export type OutputEnabled = boolean;
+export type TeamsDevicesFallbackDomainResponseCollection = TeamsDevicesApiResponseCollection & {
+  result?: TeamsDevicesFallbackDomain[];
+};
 
-/**
- * A unique identifier for the output.
- *
- * @example baea4d9c515887b80289d5c33cf01145
- * @maxLength 32
- */
-export type OutputIdentifier = string;
+export type TeamsDevicesFallbackDomains = TeamsDevicesFallbackDomain[];
 
-export type OutputResponseCollection = ApiResponseCollection & {
-  result?: Output[];
+export type TeamsDevicesFileInputRequest = {
+  /**
+   * Whether or not file exists
+   *
+   * @example true
+   */
+  exists?: boolean;
+  /**
+   * Operating system
+   *
+   * @example mac
+   */
+  operating_system: 'windows' | 'linux' | 'mac';
+  /**
+   * File path.
+   *
+   * @example /bin/cat
+   */
+  path: string;
+  /**
+   * SHA-256.
+   *
+   * @example https://api.us-2.crowdstrike.com
+   */
+  sha256?: string;
+  /**
+   * Signing certificate thumbprint.
+   *
+   * @example 0aabab210bdb998e9cf45da2c9ce352977ab531c681b74cf1e487be1bbe9fe6e
+   */
+  thumbprint?: string;
 };
 
-export type OutputResponseSingle = ApiResponseSingleYdRGfgTy & {
-  result?: Output;
+export type TeamsDevicesFirewallInputRequest = {
+  /**
+   * Enabled
+   *
+   * @example true
+   */
+  enabled: boolean;
+  /**
+   * Operating System
+   *
+   * @example windows
+   */
+  operating_system: 'windows' | 'mac';
 };
 
 /**
- * The streamKey used to authenticate against an output's target.
- *
- * @example uzya-f19y-g2g9-a2ee-51j2
+ * @deprecated true
+ * @example PD33E90AXfafe14643cbbbc-4a0ed4fc8415Q
  */
-export type OutputStreamKey = string;
+export type TeamsDevicesGatewayDeviceId = string;
 
 /**
- * The URL an output uses to restream.
- *
- * @example rtmp://a.rtmp.youtube.com/live2
+ * @example 699d98642c564d2e855e9661899b7252
  */
-export type OutputUrl = string;
-
-export type Override = {
-  description?: OverridesComponentsSchemasDescription;
-  groups?: Groups19vIuPeV;
-  id?: OverridesComponentsSchemasId;
-  paused?: Paused26QCY3k0;
-  priority?: ComponentsSchemasPriority;
-  rewrite_action?: RewriteAction;
-  rules?: Rules8wmBD69l;
-  urls?: Urls;
-};
+export type TeamsDevicesGatewayUniqueId = string;
 
-export type OverrideCodesResponse = ApiResponseCollection & {
+export type TeamsDevicesIdResponse = TeamsDevicesApiResponseSingle & {
   result?: {
-    disable_for_time?: DisableForTime;
+    id?: TeamsDevicesUuid;
   };
 };
 
-export type OverrideResponseCollection = ApiResponseCollection & {
-  result: {
-    description?: OverridesComponentsSchemasDescription;
-    groups?: Groups19vIuPeV;
-    id: OverridesComponentsSchemasId;
-    paused: Paused26QCY3k0;
-    priority: ComponentsSchemasPriority;
-    rewrite_action?: RewriteAction;
-    rules?: Rules8wmBD69l;
-    urls: Urls;
-  }[];
-};
-
-export type OverrideResponseSingle = ApiResponseSingleLarS7owG & {
-  result: Override;
-};
-
 /**
- * An informative summary of the current URI-based WAF override.
- *
- * @example Enable Cloudflare Magento ruleset for shop.example.com
- * @maxLength 1024
+ * @example 699d98642c564d2e855e9661899b7252
  */
-export type OverridesComponentsSchemasDescription = string | null;
+export type TeamsDevicesIdentifier = void;
 
-/**
- * The unique identifier of the WAF override.
- *
- * @example de677e5818985db1285d0e80225f06e5
- * @maxLength 32
- */
-export type OverridesComponentsSchemasId = string;
+export type TeamsDevicesInclude = TeamsDevicesSplitTunnelInclude[];
 
 /**
- * Ownership challenge token to prove destination ownership.
+ * The value to be checked against.
  *
- * @example 00000000000000000000
- * @maxLength 4096
- * @pattern ^[a-zA-Z0-9/\+\.\-_]*$
+ * @example {"operating_system":"linux","path":"/bin/cat","thumbprint":"0aabab210bdb998e9cf45da2c9ce352977ab531c681b74cf1e487be1bbe9fe6e"}
+ */
+export type TeamsDevicesInput =
+  | TeamsDevicesFileInputRequest
+  | TeamsDevicesUniqueClientIdInputRequest
+  | TeamsDevicesDomainJoinedInputRequest
+  | TeamsDevicesOsVersionInputRequest
+  | TeamsDevicesFirewallInputRequest
+  | TeamsDevicesSentineloneInputRequest
+  | TeamsDevicesCarbonblackInputRequest
+  | TeamsDevicesDiskEncryptionInputRequest
+  | TeamsDevicesApplicationInputRequest
+  | TeamsDevicesClientCertificateInputRequest
+  | TeamsDevicesClientCertificateV2InputRequest
+  | TeamsDevicesWorkspaceOneInputRequest
+  | TeamsDevicesCrowdstrikeInputRequest
+  | TeamsDevicesIntuneInputRequest
+  | TeamsDevicesKolideInputRequest
+  | TeamsDevicesTaniumInputRequest
+  | TeamsDevicesSentineloneS2sInputRequest
+  | TeamsDevicesCustomS2sInputRequest;
+
+/**
+ * The interval between each posture check with the third-party API. Use `m` for minutes (e.g. `5m`) and `h` for hours (e.g. `12h`).
+ *
+ * @example 10m
  */
-export type OwnershipChallenge = string;
+export type TeamsDevicesInterval = string;
 
-/**
- * This is a record which can be placed to activate a hostname.
- */
-export type OwnershipVerification = {
+export type TeamsDevicesIntuneConfigRequest = {
   /**
-   * DNS Name for record.
+   * The Intune client ID.
    *
-   * @example _cf-custom-hostname.app.example.com
+   * @example example client id
    */
-  name?: string;
+  client_id: string;
   /**
-   * DNS Record type.
+   * The Intune client secret.
    *
-   * @example txt
+   * @example example client secret
    */
-  type?: 'txt';
+  client_secret: string;
   /**
-   * Content for the record.
+   * The Intune customer ID.
    *
-   * @example 5cc07c04-ea62-4a5a-95f0-419334a875a4
+   * @example example customer id
    */
-  value?: string;
+  customer_id: string;
 };
 
-/**
- * This presents the token to be served by the given http url to activate a hostname.
- */
-export type OwnershipVerificationHttp = {
+export type TeamsDevicesIntuneInputRequest = {
   /**
-   * Token to be served.
+   * Compliance Status
    *
-   * @example 5cc07c04-ea62-4a5a-95f0-419334a875a4
+   * @example compliant
    */
-  http_body?: string;
+  compliance_status: 'compliant' | 'noncompliant' | 'unknown' | 'notapplicable' | 'ingraceperiod' | 'error';
   /**
-   * The HTTP URL that will be checked during custom hostname verification and where the customer should host the token.
+   * Posture Integration ID.
    *
-   * @example http://custom.test.com/.well-known/cf-custom-hostname-challenge/0d89c70d-ad9f-4843-b99f-6cc0252067e9
+   * @example bc7cbfbb-600a-42e4-8a23-45b5e85f804f
    */
-  http_url?: string;
+  connection_id: string;
 };
 
 /**
- * The p50 quantile of requests (in period_seconds).
+ * IPv4 or IPv6 address.
+ *
+ * @example 1.1.1.1
  */
-export type P50 = number;
+export type TeamsDevicesIp = string;
 
 /**
- * The p90 quantile of requests (in period_seconds).
+ * The device's public key.
+ *
+ * @example yek0SUYoOQ10vMGsIYAevozXUQpQtNFJFfFGqER/BGc=
  */
-export type P90 = number;
+export type TeamsDevicesKey = string;
 
 /**
- * The p99 quantile of requests (in period_seconds).
+ * Type of the key.
+ *
+ * @example curve25519
  */
-export type P99 = number;
+export type TeamsDevicesKeyType = string;
 
-export type Package = PackageDefinition | AnomalyPackage;
+export type TeamsDevicesKolideConfigRequest = {
+  /**
+   * The Kolide client ID.
+   *
+   * @example example client id
+   */
+  client_id: string;
+  /**
+   * The Kolide client secret.
+   *
+   * @example example client secret
+   */
+  client_secret: string;
+};
 
-/**
- * A summary of the purpose/function of the WAF package.
- *
- * @example null
- */
-export type PackageComponentsSchemasDescription = string;
+export type TeamsDevicesKolideInputRequest = {
+  /**
+   * Posture Integration ID.
+   *
+   * @example bc7cbfbb-600a-42e4-8a23-45b5e85f804f
+   */
+  connection_id: string;
+  /**
+   * Count Operator
+   *
+   * @example >
+   */
+  countOperator: '<' | '<=' | '>' | '>=' | '==';
+  /**
+   * The Number of Issues.
+   *
+   * @example 1
+   */
+  issue_count: string;
+};
 
 /**
- * The unique identifier of a WAF package.
+ * The amount of time in minutes a user is allowed access to their LAN. A value of 0 will allow LAN access until the next WARP reconnection, such as a reboot or a laptop waking from sleep. Note that this field is omitted from the response if null or unset.
  *
- * @example a25a9a7e9c00afc1fb2e0245519d725b
- * @maxLength 32
+ * @example 30
  */
-export type PackageComponentsSchemasIdentifier = string;
+export type TeamsDevicesLanAllowMinutes = number;
 
 /**
- * The name of the WAF package.
+ * The size of the subnet for the local access network. Note that this field is omitted from the response if null or unset.
  *
- * @example USER
+ * @example 24
  */
-export type PackageComponentsSchemasName = string;
+export type TeamsDevicesLanAllowSubnetSize = number;
 
 /**
- * When set to `active`, indicates that the WAF package will be applied to the zone.
+ * When the device last connected to Cloudflare services.
  *
- * @default active
+ * @example 2017-06-14T00:00:00Z
+ * @format date-time
  */
-export type PackageComponentsSchemasStatus = 'active';
-
-export type PackageDefinition = {
-  description: PackageComponentsSchemasDescription;
-  detection_mode: DetectionMode;
-  id: PackageComponentsSchemasIdentifier;
-  name: PackageComponentsSchemasName;
-  status?: PackageComponentsSchemasStatus;
-  zone_id: CommonComponentsSchemasIdentifier;
-};
-
-export type PackageResponseCollection =
-  | ApiResponseCollection
-  | {
-      result?: Package[];
-    };
-
-export type PackageResponseSingle =
-  | ApiResponseSingleLarS7owG
-  | {
-      result?: Record<string, any>;
-    };
+export type TeamsDevicesLastSeen = string;
 
 /**
- * Number of packets with a response from this node.
+ * The device mac address.
+ *
+ * @example 00-00-5E-00-53-00
  */
-export type PacketCount = number;
+export type TeamsDevicesMacAddress = string;
 
 /**
- * Type of packet sent.
+ * The device manufacturer name.
  *
- * @default icmp
- * @example icmp
+ * @example My phone corp
  */
-export type PacketType = 'icmp' | 'tcp' | 'udp' | 'gre' | 'gre+icmp';
+export type TeamsDevicesManufacturer = string;
 
 /**
- * Number of packets where no response was received.
+ * The conditions that the client must match to run the rule.
  */
-export type PacketsLost = number;
+export type TeamsDevicesMatch = TeamsDevicesMatchItem[];
 
-/**
- * Number of packets sent at each TTL.
- *
- * @default 3
- * @maximum 10
- * @minimum 0
- */
-export type PacketsPerTtl = number;
+export type TeamsDevicesMatchItem = {
+  platform?: TeamsDevicesPlatform;
+};
+
+export type TeamsDevicesMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
 
 /**
- * Number of packets sent with specified TTL.
+ * The device model name.
+ *
+ * @example MyPhone(pro-X)
  */
-export type PacketsSent = number;
+export type TeamsDevicesModel = string;
 
 /**
- * The time to live (TTL).
+ * The name of the device posture rule.
+ *
+ * @example Admin Serial Numbers
  */
-export type PacketsTtl = number;
+export type TeamsDevicesName = string;
 
 /**
- * The whitespace between the adjacent edges (determined by position) of the video and the image. `0.0` indicates no padding, and `1.0` indicates a fully padded video width or length, as determined by the algorithm.
+ * The Linux distro name.
  *
- * @default 0.05
- * @example 0.1
- * @maximum 1
- * @minimum 0
+ * @example ubuntu
  */
-export type Padding = number;
+export type TeamsDevicesOsDistroName = string;
 
 /**
- * Page number of paginated results.
+ * The Linux distro revision.
  *
- * @default 1
- * @minimum 1
+ * @example 1.0.0
  */
-export type Page = number;
+export type TeamsDevicesOsDistroRevision = string;
 
 /**
- * Current page within paginated list of results.
+ * The operating system version.
  *
- * @example 1
+ * @example 10.0.0
  */
-export type PageEKO5IlXB = number;
-
-export type PageRule = {
-  actions: Actions;
-  created_on: CreatedOn1QmUCKgu;
-  id: SchemasIdentifier;
-  modified_on: SchemasModifiedOnPkJiYI69;
-  priority: PriorityCHRoVVCg;
-  status: StatusLJNunJhf;
-  targets: Targets;
-};
-
-export type Pagerduty = {
-  id?: Uuid;
-  name?: PagerdutyComponentsSchemasName;
-};
+export type TeamsDevicesOsVersion = string;
 
 /**
- * The name of the pagerduty service.
+ * The operating system version extra parameter.
  *
- * @example My PagerDuty Service
+ * @example (a)
  */
-export type PagerdutyComponentsSchemasName = string;
-
-export type PagerdutyComponentsSchemasResponseCollection = ApiResponseCollection & {
-  result?: Pagerduty[];
-};
-
-export type PageruleResponseCollection = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | any[] | string;
-  /**
-   * Whether the API call was successful
-   *
-   * @example true
-   */
-  success: true;
-};
-
-export type PageruleResponseSingle = ApiResponseSingle9gEyfxyF & {
-  result?: Record<string, any>;
-};
-
-export type PageruleSettingsResponseCollection = {
-  errors: Messages;
-  messages: Messages;
-  result: SettingsWG7ImyVP;
-  /**
-   * Whether the API call was successful
-   *
-   * @example true
-   */
-  success: true;
-};
+export type TeamsDevicesOsVersionExtra = string;
 
-export type PageshieldPolicy = {
+export type TeamsDevicesOsVersionInputRequest = {
   /**
-   * The action to take if the expression matches
+   * Operating System
    *
-   * @example allow
+   * @example windows
    */
-  action?: 'allow' | 'log';
+  operating_system: 'windows';
   /**
-   * A description for the policy
+   * Operator
    *
-   * @example Checkout page CSP policy
+   * @example 13.3.0
    */
-  description?: string;
+  operator: '<' | '<=' | '>' | '>=' | '==';
   /**
-   * Whether the policy is enabled
+   * Operating System Distribution Name (linux only)
    *
-   * @example true
+   * @example ubuntu
    */
-  enabled?: boolean;
+  os_distro_name?: string;
   /**
-   * The expression which must match for the policy to be applied, using the Cloudflare Firewall rule expression syntax
+   * Version of OS Distribution (linux only)
    *
-   * @example ends_with(http.request.uri.path, "/checkout")
+   * @example 11.3.1
    */
-  expression?: string;
+  os_distro_revision?: string;
   /**
-   * The ID of the policy
+   * Additional version data. For Mac or iOS, the Product Version Extra. For Linux, the kernel release version. (Mac, iOS, and Linux only)
    *
-   * @example c9ef84a6bf5e47138c75d95e2f933e8f
+   * @example (a) or -1007
    */
-  id?: string;
+  os_version_extra?: string;
   /**
-   * The policy which will be applied
+   * Version of OS
    *
-   * @example script-src 'none';
+   * @example 13.3.0
    */
-  value?: string;
+  version: string;
+};
+
+export type TeamsDevicesOverrideCodesResponse = TeamsDevicesApiResponseCollection & {
+  result?: {
+    disable_for_time?: TeamsDevicesDisableForTime;
+  };
 };
 
 /**
- * Breakdown of totals for pageviews.
+ * List of paths to check for client certificate on linux.
+ *
+ * @example /path1
+ * @example /path2
  */
-export type Pageviews = {
-  /**
-   * The total number of pageviews served within the time range.
-   */
-  all?: number;
-  /**
-   * A variable list of key/value pairs representing the search engine and number of hits.
-   *
-   * @example {"baidubot":1345,"bingbot":5372,"googlebot":35272,"pingdom":13435}
-   */
-  search_engine?: Record<string, any>;
-};
+export type TeamsDevicesPaths = string[];
 
-export type ParameterSchemas = {
-  parameter_schemas: {
-    last_updated?: Timestamp;
-    parameter_schemas?: ParameterSchemasDefinition;
-  };
-};
+/**
+ * @example windows
+ */
+export type TeamsDevicesPlatform = 'windows' | 'mac' | 'linux' | 'android' | 'ios';
 
 /**
- * An operation schema object containing a response.
+ * The precedence of the policy. Lower values indicate higher precedence. Policies will be evaluated in ascending order of this field.
  *
- * @example {"parameters":[{"description":"Sufficient requests have been observed for this parameter to provide high confidence in this parameter schema.","in":"path","name":"var1","required":true,"schema":{"maximum":10,"minimum":1,"type":"integer"}}],"responses":null}
+ * @example 100
  */
-export type ParameterSchemasDefinition = {
-  /**
-   * An array containing the learned parameter schemas.
-   *
-   * @example {"description":"Sufficient requests have been observed for this parameter to provide high confidence in this parameter schema.","in":"path","name":"var1","required":true,"schema":{"maximum":10,"minimum":1,"type":"integer"}}
-   */
-  parameters?: any[];
-  /**
-   * An empty response object. This field is required to yield a valid operation schema.
-   */
-  responses?: Record<string, any>;
+export type TeamsDevicesPrecedence = number;
+
+/**
+ * Whether to check all disks for encryption.
+ *
+ * @example true
+ */
+export type TeamsDevicesRequireAll = boolean;
+
+export type TeamsDevicesResponseCollection = TeamsDevicesApiResponseCollection & {
+  result?: TeamsDevicesDevicePostureRules[];
 };
 
-export type PassiveDnsByIp = {
+export type TeamsDevicesResultInfo = {
   /**
-   * Total results returned based on your search parameters.
+   * Total number of results for the requested service
    *
    * @example 1
    */
   count?: number;
   /**
-   * Current page within paginated list of results.
+   * Current page within paginated list of results
    *
    * @example 1
    */
   page?: number;
   /**
-   * Number of results per page of results.
+   * Number of results per page of results
    *
    * @example 20
    */
   per_page?: number;
   /**
-   * Reverse DNS look-ups observed during the time period.
+   * Total results available without any search parameters
+   *
+   * @example 2000
    */
-  reverse_records?: {
-    /**
-     * First seen date of the DNS record during the time period.
-     *
-     * @example 2021-04-01
-     * @format date
-     */
-    first_seen?: string;
-    /**
-     * Hostname that the IP was observed resolving to.
-     */
-    hostname?: void;
-    /**
-     * Last seen date of the DNS record during the time period.
-     *
-     * @example 2021-04-30
-     * @format date
-     */
-    last_seen?: string;
-  }[];
-};
-
-export type PassiveDnsByIpComponentsSchemasSingleResponse = ApiResponseSingleLarS7owG & {
-  result?: PassiveDnsByIp;
+  total_count?: number;
 };
 
 /**
- * Update enablement of Tiered Caching
+ * A list of device ids to revoke.
+ *
+ * @maxLength 200
  */
-export type Patch = {
-  value: Value;
-};
+export type TeamsDevicesRevokeDevicesRequest = TeamsDevicesSchemasUuid[];
 
 /**
- * Update enablement of Argo Smart Routing
+ * When the device was revoked.
+ *
+ * @example 2017-06-14T00:00:00Z
+ * @format date-time
  */
-export type PatchSwNjVZjB = {
-  value: SchemasValueGg4TAeXR;
-};
+export type TeamsDevicesRevokedAt = string;
 
 /**
- * The email address to send health status notifications to. This field is now deprecated in favor of Cloudflare Notifications for Load Balancing, so only resetting this field with an empty string `""` is accepted.
+ * Polling frequency for the WARP client posture check. Default: `5m` (poll every five minutes). Minimum: `1m`.
  *
- * @example
+ * @example 1h
  */
-export type PatchPoolsNotificationEmail = '""';
-
-export type PatchRule = {
-  action: RuleAction;
-  description?: RuleDescription;
-  enabled?: RuleEnabled;
-  expression: RuleExpression;
-  position?: RulePosition;
-};
+export type TeamsDevicesSchedule = string;
 
 /**
- * The endpoint path you want to conduct a health check against. This parameter is only valid for HTTP and HTTPS monitors.
+ * The configuration object containing information for the WARP client to detect the managed network.
  *
- * @default /
- * @example /health
+ * @example {"sha256":"b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c","tls_sockaddr":"foo.bar:1234"}
  */
-export type Path = string;
+export type TeamsDevicesSchemasConfigRequest = TeamsDevicesTlsConfigRequest;
 
 /**
- * Sets the path within the host to enable the waiting room on. The waiting room will be enabled for all subpaths as well. If there are two waiting rooms on the same subpath, the waiting room for the most specific path will be chosen. Wildcards and query parameters are not supported.
+ * The configuration object containing information for the WARP client to detect the managed network.
  *
- * @default /
- * @example /shop/checkout
+ * @example {"sha256":"b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c","tls_sockaddr":"foo.bar:1234"}
  */
-export type PathIVkcNWHz = string;
+export type TeamsDevicesSchemasConfigResponse = TeamsDevicesTlsConfigResponse;
 
 /**
- * Enables cookie paths to scope an application's JWT to the application path. If disabled, the JWT will scope to the hostname by default
+ * A description of the policy.
  *
- * @default false
- * @example true
+ * @example Policy for test teams.
+ * @maxLength 500
  */
-export type PathCookieAttribute = boolean;
+export type TeamsDevicesSchemasDescription = string;
 
-/**
- * A pattern that matches an entry
- */
-export type Pattern = {
-  /**
-   * The regex pattern.
-   *
-   * @example ^4[0-9]{6,14}$
-   */
-  regex: string;
-  /**
-   * Validation algorithm for the pattern. This algorithm will get run on potential matches, and if it returns false, the entry will not be matched.
-   *
-   * @example luhn
-   */
-  validation?: 'luhn';
+export type TeamsDevicesSchemasIdResponse = TeamsDevicesApiResponseSingle & {
+  result?: Record<string, any> | null;
 };
 
 /**
- * @example example.net/*
- */
-export type Pattern2dXyN8SA = string;
-
-/**
- * Indicates whether the zone is only using Cloudflare DNS services. A
- * true value means the zone will not receive security or performance
- * benefits.
+ * The wirefilter expression to match devices.
  *
- * @default false
- */
-export type Paused = boolean;
-
-/**
- * When true, indicates that the WAF package is currently paused.
+ * @example user.identity == "test@cloudflare.com"
+ * @maxLength 500
  */
-export type Paused26QCY3k0 = boolean;
+export type TeamsDevicesSchemasMatch = string;
 
 /**
- * The maximum number of bytes to capture. This field only applies to `full` packet captures.
+ * The device name.
  *
- * @example 500000
- * @maximum 1000000000
- * @minimum 1
+ * @example My mobile device
  */
-export type PcapsByteLimit = number;
+export type TeamsDevicesSchemasName = string;
 
-export type PcapsCollectionResponse = ApiResponseCollection & {
-  result?: (PcapsResponseSimple | PcapsResponseFull)[];
+export type TeamsDevicesSchemasResponseCollection = TeamsDevicesApiResponseCollection & {
+  result?: TeamsDevicesDevicePostureIntegrations[];
 };
 
-/**
- * The name of the data center used for the packet capture. This can be a specific colo (ord02) or a multi-colo name (ORD). This field only applies to `full` packet captures.
- *
- * @example ord02
- */
-export type PcapsColoName = string;
+export type TeamsDevicesSchemasSingleResponse = TeamsDevicesApiResponseSingle & {
+  result?: TeamsDevicesDevicePostureIntegrations;
+};
 
 /**
- * The full URI for the bucket. This field only applies to `full` packet captures.
+ * The unique identifier for the test.
  *
- * @example s3://pcaps-bucket?region=us-east-1
+ * @example 372e67954025e0ba6aaa6d586b9e0b59
+ * @maxLength 32
  */
-export type PcapsDestinationConf = string;
+export type TeamsDevicesSchemasTestId = string;
 
 /**
- * An error message that describes why the packet capture failed. This field only applies to `full` packet captures.
+ * The type of device posture integration.
  *
- * @example No packets matched the filter in the time limit given. Please modify the filter or try again.
+ * @example workspace_one
  */
-export type PcapsErrorMessage = string;
+export type TeamsDevicesSchemasType =
+  | 'workspace_one'
+  | 'crowdstrike_s2s'
+  | 'uptycs'
+  | 'intune'
+  | 'kolide'
+  | 'tanium'
+  | 'sentinelone_s2s'
+  | 'custom_s2s';
 
 /**
- * The packet capture filter. When this field is empty, all packets are captured.
+ * Device ID.
+ *
+ * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
+ * @maxLength 36
  */
-export type PcapsFilterV1 = {
+export type TeamsDevicesSchemasUuid = string;
+
+export type TeamsDevicesSentineloneInputRequest = {
   /**
-   * The destination IP address of the packet.
+   * Operating system
    *
-   * @example 1.2.3.4
+   * @example mac
    */
-  destination_address?: string;
+  operating_system: 'windows' | 'linux' | 'mac';
   /**
-   * The destination port of the packet.
+   * File path.
    *
-   * @example 80
+   * @example /bin/cat
    */
-  destination_port?: number;
+  path: string;
   /**
-   * The protocol number of the packet.
+   * SHA-256.
    *
-   * @example 6
+   * @example b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c
    */
-  protocol?: number;
+  sha256?: string;
   /**
-   * The source IP address of the packet.
+   * Signing certificate thumbprint.
    *
-   * @example 1.2.3.4
+   * @example 0aabab210bdb998e9cf45da2c9ce352977ab531c681b74cf1e487be1bbe9fe6e
    */
-  source_address?: string;
+  thumbprint?: string;
+};
+
+export type TeamsDevicesSentineloneS2sConfigRequest = {
   /**
-   * The source port of the packet.
+   * The SentinelOne S2S API URL.
    *
-   * @example 123
+   * @example https://example.sentinelone.net
    */
-  source_port?: number;
-};
-
-/**
- * The ID for the packet capture.
- *
- * @example 66802ca5668e47a2b82c2e6746e45037
- * @maxLength 32
- * @minLength 32
- */
-export type PcapsId = string;
-
-/**
- * The ownership challenge filename stored in the bucket.
- *
- * @example ownership-challenge-9883874ecac311ec8475433579a6bf5f.txt
- */
-export type PcapsOwnershipChallenge = string;
-
-export type PcapsOwnershipCollection = ApiResponseCollection & {
-  result?: PcapsOwnershipResponse[] | null;
-};
-
-export type PcapsOwnershipRequest = {
-  destination_conf: PcapsDestinationConf;
+  api_url: string;
+  /**
+   * The SentinelOne S2S client secret.
+   *
+   * @example example client secret
+   */
+  client_secret: string;
 };
 
-export type PcapsOwnershipResponse = {
-  destination_conf: PcapsDestinationConf;
-  filename: PcapsOwnershipChallenge;
+export type TeamsDevicesSentineloneS2sInputRequest = {
   /**
-   * The bucket ID associated with the packet captures API.
+   * The Number of active threats.
    *
-   * @example 9883874ecac311ec8475433579a6bf5f
-   * @maxLength 32
-   * @minLength 32
+   * @example 1
    */
-  id: string;
+  active_threats?: number;
   /**
-   * The status of the ownership challenge. Can be pending, success or failed.
+   * Posture Integration ID.
    *
-   * @example success
+   * @example bc7cbfbb-600a-42e4-8a23-45b5e85f804f
    */
-  status: 'pending' | 'success' | 'failed';
+  connection_id: string;
   /**
-   * The RFC 3339 timestamp when the bucket was added to packet captures API.
+   * Whether device is infected.
    *
-   * @example 2020-01-01T08:00:00Z
+   * @example true
    */
-  submitted: string;
+  infected?: boolean;
   /**
-   * The RFC 3339 timestamp when the bucket was validated.
+   * Whether device is active.
    *
-   * @example 2020-01-01T08:00:00Z
+   * @example true
    */
-  validated?: string;
-};
-
-export type PcapsOwnershipSingleResponse = {
-  errors: Messages;
-  messages: Messages;
-  result: PcapsOwnershipResponse;
+  is_active?: boolean;
   /**
-   * Whether the API call was successful
+   * Network status of device.
    *
-   * @example true
+   * @example connected
    */
-  success: true;
-};
-
-export type PcapsOwnershipValidateRequest = {
-  destination_conf: PcapsDestinationConf;
-  ownership_challenge: PcapsOwnershipChallenge;
+  network_status?: 'connected' | 'disconnected' | 'disconnecting' | 'connecting';
+  /**
+   * Agent operational state.
+   */
+  operational_state?:
+    | 'na'
+    | 'partially_disabled'
+    | 'auto_fully_disabled'
+    | 'fully_disabled'
+    | 'auto_partially_disabled'
+    | 'disabled_error'
+    | 'db_corruption';
+  /**
+   * operator
+   *
+   * @example >
+   */
+  operator?: '<' | '<=' | '>' | '>=' | '==';
 };
 
 /**
- * The limit of packets contained in a packet capture.
+ * The device serial number.
  *
- * @example 10000
- * @maximum 10000
- * @minimum 1
+ * @example EXAMPLEHMD6R
  */
-export type PcapsPacketLimit = number;
+export type TeamsDevicesSerialNumber = string;
 
-export type PcapsRequestFull = {
-  byte_limit?: PcapsByteLimit;
-  colo_name: PcapsColoName;
-  destination_conf: PcapsDestinationConf;
-  filter_v1?: PcapsFilterV1;
-  packet_limit?: PcapsPacketLimit;
-  system: PcapsSystem;
-  time_limit: PcapsTimeLimit;
-  type: PcapsType;
+export type TeamsDevicesServiceModeV2 = {
+  /**
+   * The mode to run the WARP client under.
+   *
+   * @example proxy
+   */
+  mode?: string;
+  /**
+   * The port number when used with proxy mode.
+   *
+   * @example 3000
+   */
+  port?: number;
 };
 
-export type PcapsRequestPcap = PcapsRequestSimple | PcapsRequestFull;
-
-export type PcapsRequestSimple = {
-  filter_v1?: PcapsFilterV1;
-  packet_limit: PcapsPacketLimit;
-  system: PcapsSystem;
-  time_limit: PcapsTimeLimit;
-  type: PcapsType;
+export type TeamsDevicesSingleResponse = TeamsDevicesApiResponseSingle & {
+  result?: TeamsDevicesDevicePostureRules;
 };
 
-export type PcapsResponseFull = {
-  byte_limit?: PcapsByteLimit;
-  colo_name?: PcapsColoName;
-  destination_conf?: PcapsDestinationConf;
-  error_message?: PcapsErrorMessage;
-  filter_v1?: PcapsFilterV1;
-  id?: PcapsId;
-  status?: PcapsStatus;
-  submitted?: PcapsSubmitted;
-  system?: PcapsSystem;
-  time_limit?: PcapsTimeLimit;
-  type?: PcapsType;
+export type TeamsDevicesSplitTunnel = {
+  /**
+   * The address in CIDR format to exclude from the tunnel. If `address` is present, `host` must not be present.
+   *
+   * @example 192.0.2.0/24
+   */
+  address: string;
+  /**
+   * A description of the Split Tunnel item, displayed in the client UI.
+   *
+   * @example Exclude testing domains from the tunnel
+   * @maxLength 100
+   */
+  description: string;
+  /**
+   * The domain name to exclude from the tunnel. If `host` is present, `address` must not be present.
+   *
+   * @example *.example.com
+   */
+  host?: string;
 };
 
-export type PcapsResponseSimple = {
-  filter_v1?: PcapsFilterV1;
-  id?: PcapsId;
-  status?: PcapsStatus;
-  submitted?: PcapsSubmitted;
-  system?: PcapsSystem;
-  time_limit?: PcapsTimeLimit;
-  type?: PcapsType;
+export type TeamsDevicesSplitTunnelInclude = {
+  /**
+   * The address in CIDR format to include in the tunnel. If address is present, host must not be present.
+   *
+   * @example 192.0.2.0/24
+   */
+  address: string;
+  /**
+   * A description of the split tunnel item, displayed in the client UI.
+   *
+   * @example Include testing domains from the tunnel
+   * @maxLength 100
+   */
+  description: string;
+  /**
+   * The domain name to include in the tunnel. If host is present, address must not be present.
+   *
+   * @example *.example.com
+   */
+  host?: string;
 };
 
-export type PcapsSingleResponse = ApiResponseSingleLarS7owG & {
-  result?: PcapsResponseSimple | PcapsResponseFull;
+export type TeamsDevicesSplitTunnelIncludeResponseCollection = TeamsDevicesApiResponseCollection & {
+  result?: TeamsDevicesSplitTunnelInclude[];
 };
 
-/**
- * The status of the packet capture request.
- *
- * @example success
- */
-export type PcapsStatus =
-  | 'unknown'
-  | 'success'
-  | 'pending'
-  | 'running'
-  | 'conversion_pending'
-  | 'conversion_running'
-  | 'complete'
-  | 'failed';
-
-/**
- * The RFC 3339 timestamp when the packet capture was created.
- *
- * @example 2020-01-01T08:00:00Z
- */
-export type PcapsSubmitted = string;
-
-/**
- * The system used to collect packet captures.
- *
- * @example magic-transit
- */
-export type PcapsSystem = 'magic-transit';
+export type TeamsDevicesSplitTunnelResponseCollection = TeamsDevicesApiResponseCollection & {
+  result?: TeamsDevicesSplitTunnel[];
+};
 
 /**
- * The packet capture duration in seconds.
+ * The URL to launch when the Send Feedback button is clicked.
  *
- * @example 300
- * @maximum 300
- * @minimum 1
+ * @example https://1.1.1.1/help
  */
-export type PcapsTimeLimit = number;
+export type TeamsDevicesSupportUrl = string;
 
 /**
- * The type of packet capture. `Simple` captures sampled packets, and `full` captures entire payloads and non-sampled packets.
+ * Whether to allow the user to turn off the WARP switch and disconnect the client.
  *
- * @example simple
+ * @example true
  */
-export type PcapsType = 'simple' | 'full';
+export type TeamsDevicesSwitchLocked = boolean;
 
-/**
- * Indicates the size of the entire upload in bytes. The value must be a non-negative integer.
- *
- * @maximum 100
- * @minimum 0
- */
-export type PctComplete = string;
+export type TeamsDevicesTaniumConfigRequest = {
+  /**
+   * If present, this id will be passed in the `CF-Access-Client-ID` header when hitting the `api_url`
+   *
+   * @example 88bf3b6d86161464f6509f7219099e57.access
+   */
+  access_client_id?: string;
+  /**
+   * If present, this secret will be passed in the `CF-Access-Client-Secret` header when hitting the `api_url`
+   *
+   * @example bdd31cbc4dec990953e39163fbbb194c93313ca9f0a6e420346af9d326b1d2a5
+   */
+  access_client_secret?: string;
+  /**
+   * The Tanium API URL.
+   *
+   * @example https://dummy-tanium-api.cloudflare.com/plugin/products/gateway/graphql
+   */
+  api_url: string;
+  /**
+   * The Tanium client secret.
+   *
+   * @example example client secret
+   */
+  client_secret: string;
+};
 
-export type Peer = {
-  id: ComponentsSchemasIdentifierNz3bhUPI;
-  ip?: Ip6EYJJOTh;
-  ixfr_enable?: IxfrEnable;
-  name: ComponentsSchemasNameT0FRMejA;
-  port?: PortXQsQDzbx;
-  tsig_id?: TsigId;
+export type TeamsDevicesTaniumInputRequest = {
+  /**
+   * Posture Integration ID.
+   *
+   * @example bc7cbfbb-600a-42e4-8a23-45b5e85f804f
+   */
+  connection_id: string;
+  /**
+   * For more details on eid last seen, refer to the Tanium documentation.
+   *
+   * @example 2023-07-20T23:16:32Z
+   */
+  eid_last_seen?: string;
+  /**
+   * Operator to evaluate risk_level or eid_last_seen.
+   *
+   * @example >
+   */
+  operator?: '<' | '<=' | '>' | '>=' | '==';
+  /**
+   * For more details on risk level, refer to the Tanium documentation.
+   *
+   * @example low
+   */
+  risk_level?: 'low' | 'medium' | 'high' | 'critical';
+  /**
+   * Score Operator
+   *
+   * @example >
+   */
+  scoreOperator?: '<' | '<=' | '>' | '>=' | '==';
+  /**
+   * For more details on total score, refer to the Tanium documentation.
+   *
+   * @example 1
+   */
+  total_score?: number;
 };
 
-/**
- * A list of peer tags.
- *
- * @example 23ff594956f20c2a721606e94745a8aa
- * @example 00920f38ce07c2e2f4df50b1f61d4194
- */
-export type Peers = any[];
+export type TeamsDevicesTargetDexTest = {
+  /**
+   * The id of the DEX test targeting this policy
+   */
+  id?: string;
+  /**
+   * The name of the DEX test targeting this policy
+   */
+  name?: string;
+};
 
-/**
- * The signing key in PEM format.
- *
- * @example LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcGdJQkFBS0NBUUVBMFRqd2pPaVpXbUo0M3ZmM1RvNERvWG1YV3RKR05HeVhmaHl0dExhQmdGMStFUVdRCkRLaG9LYm9hS21xakNBc21za3V0YkxVN1BVOGRrUU5ER1p3S3VWczA4elNaNGt4aTR0RWdQUFp5dDdkWEMrbFkKUllveXJBR0Y0QVhoeTMyOWJIQ1AxSWxyQkIvQWtHZ25kTEFndW54WTByUmdjdk96aWF3NktKeEZuYzJVSzBXVQo4YjBwNEtLSEdwMUtMOWRrMFdUOGRWWXFiZVJpSmpDbFVFbWg4eXY5Q2xPVmFTNEt4aVg2eFRRNERadzZEYUpmCklWM1F0Tmd2cG1ieWxOSmFQSG5zc3JodDJHS1A5NjJlS2poUVJsaWd2SFhKTE9uSm9KZkxlSUVIWitpeFdmY1QKRE1IOTJzR3ZvdzFET2p4TGlDTjF6SEsraDdiTG9YVGlMZ2M0a3dJREFRQUJBb0lCQVFEQ0lCclNJMTlteGNkdwoycExVaUdCR0N4T3NhVDVLbGhkYUpESG9ZdzUxbEVuTWNXVGUyY01NTkdqaXdsN1NyOFlQMkxmcERaOFJtNzdMCk5rT2tGMnk3M3l5YUhFeEw5S1FyMys0Um9ubCtqTlp2YnV0QVdxSDVodEE0dER4MUd3NE85OEg4YWlTcGh1eWQKRUliTGRrQm54OGlDZUdxbFBnbHZ6Q1dLV0xVZlhGbXplMkF5UjBzaWMyYXZRLzZyclYwb3pDdGQ1T0Vod093agphaCs3N1dZV1l0bkEraDhXZVZreWcvdG44UTJJOXo5ZVJYdlZxR2sxMDZLcWRtZFdiU2tIZzA4cFRUSGhVM2paCnMvZGNjdEdOMWFFanlUQWY0QzdHT2lrcUd1MGFTaW1aeDFOM2RWQzBobngySjJtdlhNQ0VtZ0g3TjVnZUxWUFAKOWdkQjdBQkJBb0dCQU5sT2hGQVhaTHV6Y0Ftczl1K3AxM05STWRFOHpIK2ZFaFBrbk9zZ21Xb3VqUzkxQTRtZgpuK01oN3d5bTZoVU1DbDk2WUNMNGtPM0RUMmlYWlRqTXZuMHBoVEx1MXNYcGxWNDJuamRnZGd3cFBEM0FnL1Y5ClVvV2hxdVhoa1I3RFpsUGg5Nmk1aEE0M1BvbTVPQm9BektJbEcrT3ZKUkhhZEVveC9jSmZScFd2QW9HQkFQWjUKNnNmWDdESElCNEtBczRmMWRuNGZJUkMweUF2WVdCL1R3UzZHUWVoNFRFbDVuSkQwWk9ZRVdUbVVBK3pPanZTNApuM09tZ2xNQTU5SGd1ZW13QXVRcEtwWFBOcFUvTERJaThtNnpmTUpvL3E5M0NOQlFQZngzZGh4ZVh4OXE2Mzg3Cm84QWxkOE42RGs4TThjRis3SlNaeUVJODJzLzdpdGRseXA2bFdLaGRBb0dCQUtnU0VrUGYxQWxZdjA2OGVFRGwKRzc0VkRuTEdrMlFobzltKzk1N2psOFNJUEtwMzFrU2JNUTU3TUdpWXNIT1czRzc4TjE3VTRVTUR6R2NZc1RFOQpLaGVrQldGZldMMjU2OHp5Y1d4akx1bzQrbDdJaDBkWHBudTBqbms5L1AvT0lWYS9iczBRcnhKUHFBN2RNb2JxCkYxdFJXRURCTmVxWkMxaFhVZTBEdzVRQkFvR0JBSjdBQ2NNcnhKcVBycDZVakkyK1FOS2M5Q3dSZEdPRXRjWFMKR3JQL2owWE83YnZKVTFsZHYvc1N3L0U4NzRZL3lIM0F5QnF5SFhDZXZiRkZZQmt1MzczYThlM0pwK3RhNC9scQozdUVFUkEvbmxscW5mWXJHbEJZZlQzaVlKQVpWVkZiL3I4bWJtRmJVTDVFazBqV0JyWmxNcjFwU1hkRGx3QmhhCkhMWXY0em1WQW9HQkFLQmw0cFNnbkNSTEJMUU9jWjhXQmhRSjAwZDZieFNrTGNpZ0xUNFJvY3RwNTY1SHJPMDAKSVFLdElTaEg1a2s3SVRHdUYvOERXZEN2djBMYnhvZVBJc2NFaStTaXk5WDZwWENPaS8xa2FyYVU5U3BpZ3czago3YjVlUVV0UlovTkIycVJwc3EzMEdCUENqanhudEVmK2lqelhUS0xNRndyUDhBMTlQNzRONGVTMAotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
- */
-export type Pem = string;
+export type TeamsDevicesTlsConfigRequest = {
+  /**
+   * The SHA-256 hash of the TLS certificate presented by the host found at tls_sockaddr. If absent, regular certificate verification (trusted roots, valid timestamp, etc) will be used to validate the certificate.
+   *
+   * @example b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c
+   */
+  sha256?: string;
+  /**
+   * A network address of the form "host:port" that the WARP client will use to detect the presence of a TLS host.
+   *
+   * @example foobar:1234
+   */
+  tls_sockaddr: string;
+};
 
 /**
- * Number of DNS records per page.
- *
- * @default 100
- * @maximum 50000
- * @minimum 5
+ * The Managed Network TLS Config Response.
  */
-export type PerPage = number;
+export type TeamsDevicesTlsConfigResponse = {
+  /**
+   * The SHA-256 hash of the TLS certificate presented by the host found at tls_sockaddr. If absent, regular certificate verification (trusted roots, valid timestamp, etc) will be used to validate the certificate.
+   *
+   * @example b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c
+   */
+  sha256?: string;
+  /**
+   * A network address of the form "host:port" that the WARP client will use to detect the presence of a TLS host.
+   *
+   * @example foobar:1234
+   */
+  tls_sockaddr: string;
+};
 
 /**
- * Maximum number of results per page.
+ * List of trust stores to check for client certificate.
  *
- * @default 20
- * @maximum 50
- * @minimum 5
+ * @example system
+ * @example user
  */
-export type PerPage6pFKSuRs = number;
+export type TeamsDevicesTrustStores = TeamsDevicesTrustStoresEnum[];
+
+export type TeamsDevicesTrustStoresEnum = 'system' | 'user';
 
 /**
- * The time in seconds (an integer value) to count matching traffic. If the count exceeds the configured threshold within this period, Cloudflare will perform the configured action.
+ * Determines which tunnel protocol to use.
  *
- * @example 900
- * @maximum 86400
- * @minimum 10
+ * @example wireguard
  */
-export type Period = number;
+export type TeamsDevicesTunnelProtocol = string;
 
 /**
- * The period over which this threshold is suggested.
+ * Type of the tunnel connection used.
+ *
+ * @example masque
  */
-export type PeriodSeconds = number;
+export type TeamsDevicesTunnelType = string;
 
 /**
- * A named group of permissions that map to a group of operations against resources.
+ * The type of device posture rule.
+ *
+ * @example file
  */
-export type PermissionGroup = {
-  /**
-   * Identifier of the group.
-   *
-   * @example 6d7f2f5f5b1d4a0e9081fdc98d432fd1
+export type TeamsDevicesType =
+  | 'file'
+  | 'application'
+  | 'tanium'
+  | 'gateway'
+  | 'warp'
+  | 'disk_encryption'
+  | 'sentinelone'
+  | 'carbonblack'
+  | 'firewall'
+  | 'os_version'
+  | 'domain_joined'
+  | 'client_certificate'
+  | 'client_certificate_v2'
+  | 'unique_client_id'
+  | 'kolide'
+  | 'tanium_s2s'
+  | 'crowdstrike_s2s'
+  | 'intune'
+  | 'workspace_one'
+  | 'sentinelone_s2s'
+  | 'custom_s2s';
+
+export type TeamsDevicesUniqueClientIdInputRequest = {
+  /**
+   * List ID.
+   *
+   * @example da3de859-8f6e-47ea-a2b5-b2433858471f
    */
   id: string;
   /**
-   * Name of the group.
+   * Operating System
    *
-   * @example Load Balancers Write
+   * @example android
    */
-  name?: string;
+  operating_system: 'android' | 'ios' | 'chromeos';
 };
 
 /**
- * A set of permission groups that are specified to the policy.
+ * A list of device ids to unrevoke.
  *
- * @example {"id":"c8fed203ed3043cba015a93ad1616f1f","name":"Zone Read"}
- * @example {"id":"82e64a83756745bbbb1c9c2701bf816b","name":"DNS Read"}
- */
-export type PermissionGroups = PermissionGroup[];
-
-/**
- * @example {"analytics":{"read":true,"write":false},"zones":{"read":true,"write":true}}
+ * @maxLength 200
  */
-export type Permissions = {
-  analytics?: Grants;
-  billing?: Grants;
-  cache_purge?: Grants;
-  dns?: Grants;
-  dns_records?: Grants;
-  lb?: Grants;
-  logs?: Grants;
-  organization?: Grants;
-  ssl?: Grants;
-  waf?: Grants;
-  zone_settings?: Grants;
-  zones?: Grants;
-};
+export type TeamsDevicesUnrevokeDevicesRequest = TeamsDevicesSchemasUuid[];
 
 /**
- * The phase of the ruleset.
+ * When the device was updated.
  *
- * @example http_request_firewall_managed
- * @pattern ^[a-z_]+$
+ * @example 2017-06-14T00:00:00Z
+ * @format date-time
  */
-export type Phase = string;
+export type TeamsDevicesUpdated = string;
 
-export type PhishingUrlInfo = {
-  /**
-   * List of categorizations applied to this submission.
-   */
-  categorizations?: {
-    /**
-     * Name of the category applied.
-     *
-     * @example PHISHING
-     */
-    category?: string;
-    /**
-     * Result of human review for this categorization.
-     *
-     * @example confirmed
-     */
-    verification_status?: string;
-  }[];
-  /**
-   * List of model results for completed scans.
-   */
-  model_results?: {
-    /**
-     * Name of the model.
-     *
-     * @example MACHINE_LEARNING_v2
-     */
-    model_name?: string;
-    /**
-     * Score output by the model for this submission.
-     *
-     * @example 0.024
-     */
-    model_score?: number;
-  }[];
+export type TeamsDevicesUptycsConfigRequest = {
   /**
-   * List of signatures that matched against site content found when crawling the URL.
+   * The Uptycs API URL.
+   *
+   * @example rnd.uptycs.io
    */
-  rule_matches?: {
-    /**
-     * For internal use.
-     */
-    banning?: boolean;
-    /**
-     * For internal use.
-     */
-    blocking?: boolean;
-    /**
-     * Description of the signature that matched.
-     *
-     * @example Match frequently used social followers phishing kit
-     */
-    description?: string;
-    /**
-     * Name of the signature that matched.
-     *
-     * @example phishkit.social_followers
-     */
-    name?: string;
-  }[];
+  api_url: string;
   /**
-   * Status of the most recent scan found.
+   * The Uptycs client secret.
+   *
+   * @example example client key
    */
-  scan_status?: {
-    /**
-     * Timestamp of when the submission was processed.
-     *
-     * @example Wed, 26 Oct 2022 16:04:51 GMT
-     */
-    last_processed?: string;
-    /**
-     * For internal use.
-     */
-    scan_complete?: boolean;
-    /**
-     * Status code that the crawler received when loading the submitted URL.
-     */
-    status_code?: number;
-    /**
-     * ID of the most recent submission.
-     */
-    submission_id?: number;
-  };
+  client_key: string;
   /**
-   * For internal use.
+   * The Uptycs client secret.
+   *
+   * @example example client secret
    */
-  screenshot_download_signature?: string;
+  client_secret: string;
   /**
-   * For internal use.
+   * The Uptycs customer ID.
+   *
+   * @example example customer id
    */
-  screenshot_path?: string;
+  customer_id: string;
+};
+
+export type TeamsDevicesUser = {
+  email?: TeamsDevicesEmail;
+  id?: TeamsDevicesComponentsSchemasUuid;
   /**
-   * URL that was submitted.
+   * The enrolled device user's name.
    *
-   * @example https://www.cloudflare.com
+   * @example John Appleseed
    */
-  url?: string;
+  name?: string;
 };
 
-export type PhishingUrlInfoComponentsSchemasSingleResponse = ApiResponseSingleLarS7owG & {
-  result?: PhishingUrlInfo;
-};
+/**
+ * API UUID.
+ *
+ * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
+ * @maxLength 36
+ */
+export type TeamsDevicesUuid = string;
+
+/**
+ * The WARP client version.
+ *
+ * @example 1.0.0
+ */
+export type TeamsDevicesVersion = string;
 
-export type PhishingUrlSubmit = {
+export type TeamsDevicesWorkspaceOneConfigRequest = {
   /**
-   * URLs that were excluded from scanning because their domain is in our no-scan list.
+   * The Workspace One API URL provided in the Workspace One Admin Dashboard.
+   *
+   * @example https://as123.awmdm.com/API
    */
-  excluded_urls?: {
-    /**
-     * URL that was excluded.
-     *
-     * @example https://developers.cloudflare.com
-     */
-    url?: string;
-  }[];
+  api_url: string;
   /**
-   * URLs that were skipped because the same URL is currently being scanned
+   * The Workspace One Authorization URL depending on your region.
+   *
+   * @example https://na.uemauth.vmwservices.com/connect/token
    */
-  skipped_urls?: {
-    /**
-     * URL that was skipped.
-     *
-     * @example https://www.cloudflare.com/developer-week/
-     */
-    url?: string;
-    /**
-     * ID of the submission of that URL that is currently scanning.
-     *
-     * @example 2
-     */
-    url_id?: number;
-  }[];
+  auth_url: string;
   /**
-   * URLs that were successfully submitted for scanning.
+   * The Workspace One client ID provided in the Workspace One Admin Dashboard.
+   *
+   * @example example client id
    */
-  submitted_urls?: {
-    /**
-     * URL that was submitted.
-     *
-     * @example https://www.cloudflare.com
-     */
-    url?: string;
-    /**
-     * ID assigned to this URL submission. Used to retrieve scanning results.
-     *
-     * @example 1
-     */
-    url_id?: number;
-  }[];
-};
-
-export type PhishingUrlSubmitComponentsSchemasSingleResponse = ApiResponseSingleLarS7owG & {
-  result?: PhishingUrlSubmit;
+  client_id: string;
+  /**
+   * The Workspace One client secret provided in the Workspace One Admin Dashboard.
+   *
+   * @example example client secret
+   */
+  client_secret: string;
 };
 
-export type Pingone = {
+/**
+ * The Workspace One Config Response.
+ */
+export type TeamsDevicesWorkspaceOneConfigResponse = {
   /**
-   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   * The Workspace One API URL provided in the Workspace One Admin Dashboard.
+   *
+   * @example https://as123.awmdm.com/API
    */
-  config: GenericOauthConfig & {
-    /**
-     * Your PingOne environment identifier
-     *
-     * @example 342b5660-0c32-4936-a5a4-ce21fae57b0a
-     */
-    ping_env_id?: string;
-  };
-  id?: Uuid;
-  name: SchemasNameIXVfNmuB;
+  api_url: string;
   /**
-   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   * The Workspace One Authorization URL depending on your region.
+   *
+   * @example https://na.uemauth.vmwservices.com/connect/token
    */
-  scim_config?: {
-    /**
-     * A flag to enable or disable SCIM for the identity provider.
-     */
-    enabled?: boolean;
-    /**
-     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
-     */
-    group_member_deprovision?: boolean;
-    /**
-     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
-     */
-    seat_deprovision?: boolean;
-    /**
-     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
-     */
-    secret?: string;
-    /**
-     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
-     */
-    user_deprovision?: boolean;
-  };
+  auth_url: string;
   /**
-   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   * The Workspace One client ID provided in the Workspace One Admin Dashboard.
    *
-   * @example onetimepin
+   * @example example client id
    */
-  type: string;
+  client_id: string;
 };
 
-export type PlanResponseCollection = ApiResponseCollection & {
-  result?: SchemasRatePlan[];
+export type TeamsDevicesWorkspaceOneInputRequest = {
+  /**
+   * Compliance Status
+   *
+   * @example compliant
+   */
+  compliance_status: 'compliant' | 'noncompliant' | 'unknown';
+  /**
+   * Posture Integration ID.
+   *
+   * @example bc7cbfbb-600a-42e4-8a23-45b5e85f804f
+   */
+  connection_id: string;
 };
 
-/**
- * @example windows
- */
-export type Platform = 'windows' | 'mac' | 'linux' | 'android' | 'ios';
-
-export type Playback = {
+export type TeamsDevicesZeroTrustAccountDeviceSettings = {
   /**
-   * DASH Media Presentation Description for the video.
+   * Sets the time limit, in seconds, that a user can use an override code to bypass WARP.
+   */
+  disable_for_time?: number;
+  /**
+   * Enable gateway proxy filtering on TCP.
    *
-   * @example https://customer-m033z5x00ks6nunl.cloudflarestream.com/ea95132c15732412d22c1476fa83f27a/manifest/video.mpd
+   * @example true
    */
-  dash?: string;
+  gateway_proxy_enabled?: boolean;
   /**
-   * The HLS manifest for the video.
+   * Enable gateway proxy filtering on UDP.
    *
-   * @example https://customer-m033z5x00ks6nunl.cloudflarestream.com/ea95132c15732412d22c1476fa83f27a/manifest/video.m3u8
+   * @example true
    */
-  hls?: string;
+  gateway_udp_proxy_enabled?: boolean;
+  /**
+   * Enable installation of cloudflare managed root certificate.
+   *
+   * @example true
+   */
+  root_certificate_installation_enabled?: boolean;
+  /**
+   * Enable using CGNAT virtual IPv4.
+   *
+   * @example true
+   */
+  use_zt_virtual_ip?: boolean;
 };
 
-/**
- * Details for playback from an live input using RTMPS.
- */
-export type PlaybackRtmps = {
-  streamKey?: PlaybackRtmpsStreamKey;
-  url?: PlaybackRtmpsUrl;
+export type TeamsDevicesZeroTrustAccountDeviceSettingsResponse = TeamsDevicesApiResponseSingle & {
+  result?: TeamsDevicesZeroTrustAccountDeviceSettings;
 };
 
-/**
- * The secret key to use for playback via RTMPS.
- *
- * @example 2fb3cb9f17e68a2568d6ebed8d5505eak3ceaf8c9b1f395e1b76b79332497cada
- */
-export type PlaybackRtmpsStreamKey = string;
+export type TlsCertificatesAndHostnamesAdvancedCertificatePackResponseSingle =
+  TlsCertificatesAndHostnamesApiResponseSingle & {
+    result?: {
+      certificate_authority?: TlsCertificatesAndHostnamesSchemasCertificateAuthority;
+      cloudflare_branding?: TlsCertificatesAndHostnamesCloudflareBranding;
+      hosts?: TlsCertificatesAndHostnamesSchemasHosts;
+      id?: TlsCertificatesAndHostnamesIdentifier;
+      status?: TlsCertificatesAndHostnamesCertificatePacksComponentsSchemasStatus;
+      type?: TlsCertificatesAndHostnamesAdvancedType;
+      validation_method?: TlsCertificatesAndHostnamesValidationMethod;
+      validity_days?: TlsCertificatesAndHostnamesValidityDays;
+    };
+  };
 
 /**
- * The URL used to play live video over RTMPS.
+ * Type of certificate pack.
  *
- * @example rtmps://live.cloudflare.com:443/live/
+ * @example advanced
  */
-export type PlaybackRtmpsUrl = string;
+export type TlsCertificatesAndHostnamesAdvancedType = 'advanced';
 
-/**
- * Details for playback from an live input using SRT.
- */
-export type PlaybackSrt = {
-  passphrase?: PlaybackSrtStreamPassphrase;
-  streamId?: PlaybackSrtStreamId;
-  url?: PlaybackSrtUrl;
+export type TlsCertificatesAndHostnamesApiResponseCollection = TlsCertificatesAndHostnamesApiResponseCommon & {
+  result_info?: TlsCertificatesAndHostnamesResultInfo;
 };
 
-/**
- * The identifier of the live input to use for playback via SRT.
- *
- * @example f256e6ea9341d51eea64c9454659e576
- */
-export type PlaybackSrtStreamId = string;
+export type TlsCertificatesAndHostnamesApiResponseCommon = {
+  errors: TlsCertificatesAndHostnamesMessages;
+  messages: TlsCertificatesAndHostnamesMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
 
-/**
- * The secret key to use for playback via SRT.
- *
- * @example 2fb3cb9f17e68a2568d6ebed8d5505eak3ceaf8c9b1f395e1b76b79332497cada
- */
-export type PlaybackSrtStreamPassphrase = string;
+export type TlsCertificatesAndHostnamesApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: TlsCertificatesAndHostnamesMessages;
+  messages: TlsCertificatesAndHostnamesMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
 
-/**
- * The URL used to play live video over SRT.
- *
- * @example rtmps://live.cloudflare.com:443/live/
- */
-export type PlaybackSrtUrl = string;
+export type TlsCertificatesAndHostnamesApiResponseSingle = TlsCertificatesAndHostnamesApiResponseCommon;
 
-/**
- * Details for playback from a live input using WebRTC.
- */
-export type PlaybackWebrtc = {
-  url?: PlaybackWebrtcUrl;
+export type TlsCertificatesAndHostnamesAssociationObject = {
+  service?: TlsCertificatesAndHostnamesService;
+  status?: TlsCertificatesAndHostnamesMtlsManagementComponentsSchemasStatus;
 };
 
-/**
- * The URL used to play live video over WebRTC.
- *
- * @example https://customer-m033z5x00ks6nunl.cloudflarestream.com/b236bde30eb07b9d01318940e5fc3edake34a3efb3896e18f2dc277ce6cc993ad/webRTC/play
- */
-export type PlaybackWebrtcUrl = string;
+export type TlsCertificatesAndHostnamesAssociationResponseCollection =
+  TlsCertificatesAndHostnamesApiResponseCollection & {
+    result?: TlsCertificatesAndHostnamesAssociationObject[];
+  };
 
-export type Policies = {
-  approval_groups?: ApprovalGroups;
-  approval_required?: ApprovalRequired;
-  created_at?: Timestamp;
-  decision?: Decision;
-  exclude?: SchemasExclude;
-  id?: ComponentsSchemasUuid;
-  include?: Include;
-  isolation_required?: IsolationRequired;
-  name?: PoliciesComponentsSchemasName;
-  precedence?: Precedence;
-  purpose_justification_prompt?: PurposeJustificationPrompt;
-  purpose_justification_required?: PurposeJustificationRequired;
-  require?: SchemasRequire;
-  updated_at?: Timestamp;
+export type TlsCertificatesAndHostnamesBase = {
+  /**
+   * When the Keyless SSL was created.
+   *
+   * @example 2014-01-01T05:20:00Z
+   * @format date-time
+   */
+  created_on: string;
+  enabled: TlsCertificatesAndHostnamesEnabled;
+  host: TlsCertificatesAndHostnamesHost;
+  id: TlsCertificatesAndHostnamesSchemasIdentifier;
+  /**
+   * When the Keyless SSL was last modified.
+   *
+   * @example 2014-01-01T05:20:00Z
+   * @format date-time
+   */
+  modified_on: string;
+  name: TlsCertificatesAndHostnamesName;
+  /**
+   * Available permissions for the Keyless SSL for the current user requesting the item.
+   *
+   * @example #ssl:read
+   * @example #ssl:edit
+   */
+  permissions: string[];
+  port: TlsCertificatesAndHostnamesPort;
+  status: TlsCertificatesAndHostnamesSchemasStatus;
+  tunnel?: TlsCertificatesAndHostnamesKeylessTunnel;
 };
 
 /**
- * List of access policies assigned to the token.
+ * Certificate Authority is manually reviewing the order.
+ *
+ * @example false
  */
-export type PoliciesJfEKIGCD = AccessPolicy[];
+export type TlsCertificatesAndHostnamesBrandCheck = boolean;
 
 /**
- * Optional description for the Notification policy.
+ * A ubiquitous bundle has the highest probability of being verified everywhere, even by clients using outdated or unusual trust stores. An optimal bundle uses the shortest chain and newest intermediates. And the force bundle verifies the chain, but does not otherwise modify it.
  *
- * @example Something describing the policy.
+ * @default ubiquitous
+ * @example ubiquitous
  */
-export type PoliciesComponentsSchemasDescription = string;
+export type TlsCertificatesAndHostnamesBundleMethod = 'ubiquitous' | 'optimal' | 'force';
 
 /**
- * Whether or not the Notification policy is enabled.
+ * Indicates whether the certificate is a CA or leaf certificate.
  *
- * @default true
  * @example true
  */
-export type PoliciesComponentsSchemasEnabled = boolean;
-
-export type PoliciesComponentsSchemasIdResponse = ApiResponseSingleKLIlNaxV & {
-  result?: {
-    id?: ComponentsSchemasUuid;
-  };
-};
-
-export type PoliciesComponentsSchemasIdResponse2 = ApiResponseSingleLarS7owG & {
-  result?: {
-    id?: Uuid;
-  };
-};
-
-export type PoliciesComponentsSchemasIdResponseD2Y8aAWj = ApiResponseSingleLarS7owG & {
-  result?: {
-    id?: ComponentsSchemasUuid;
-  };
-};
+export type TlsCertificatesAndHostnamesCa = boolean;
 
 /**
- * The name of the Access policy.
+ * Certificate identifier tag.
  *
- * @example Allow devs
+ * @example 2458ce5a-0c35-4c7f-82c7-8e9487d3ff60
+ * @maxLength 36
  */
-export type PoliciesComponentsSchemasName = string;
+export type TlsCertificatesAndHostnamesCertId = string;
 
 /**
- * Name of the policy.
+ * Certificate Pack UUID.
  *
- * @example SSL Notification Event Policy
+ * @example a77f8bd7-3b47-46b4-a6f1-75cf98109948
  */
-export type PoliciesComponentsSchemasName2 = string;
-
-export type PoliciesComponentsSchemasResponseCollection = ApiResponseCollection & {
-  result?: Policies[];
-};
-
-export type PoliciesComponentsSchemasResponseCollection2 = ApiResponseCollection & {
-  result?: ComponentsSchemasPolicies[];
-};
-
-export type PoliciesComponentsSchemasResponseCollectionJuXSbNTB = ApiResponseCollection & {
-  result?: SchemasPolicies[];
-};
-
-export type PoliciesComponentsSchemasSingleResponse = ApiResponseSingleKLIlNaxV & {
-  result?: Policies;
-};
-
-export type PoliciesComponentsSchemasSingleResponse2 = ApiResponseSingleLarS7owG & {
-  result?: ComponentsSchemasPolicies;
-};
+export type TlsCertificatesAndHostnamesCertPackUuid = string;
 
-export type PoliciesComponentsSchemasSingleResponse549KxnWt = ApiResponseSingleLarS7owG & {
-  result?: SchemasPolicies;
-};
+/**
+ * The zone's SSL certificate or certificate and the intermediate(s).
+ * 
+ * @example -----BEGIN CERTIFICATE-----
+MIIDtTCCAp2gAwIBAgIJAMHAwfXZ5/PWMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV
+BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX
+aWRnaXRzIFB0eSBMdGQwHhcNMTYwODI0MTY0MzAxWhcNMTYxMTIyMTY0MzAxWjBF
+MQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50
+ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
+CgKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmGdtcGbg/1
+CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKnabIRuGvB
+KwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpidtnKX/a+5
+0GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+pyFxIXjbEI
+dZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pEewooaeO2
+izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABo4GnMIGkMB0GA1UdDgQWBBT/LbE4
+9rWf288N6sJA5BRb6FJIGDB1BgNVHSMEbjBsgBT/LbE49rWf288N6sJA5BRb6FJI
+GKFJpEcwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNV
+BAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZIIJAMHAwfXZ5/PWMAwGA1UdEwQF
+MAMBAf8wDQYJKoZIhvcNAQELBQADggEBAHHFwl0tH0quUYZYO0dZYt4R7SJ0pCm2
+2satiyzHl4OnXcHDpekAo7/a09c6Lz6AU83cKy/+x3/djYHXWba7HpEu0dR3ugQP
+Mlr4zrhd9xKZ0KZKiYmtJH+ak4OM4L3FbT0owUZPyjLSlhMtJVcoRp5CJsjAMBUG
+SvD8RX+T01wzox/Qb+lnnNnOlaWpqu8eoOenybxKp1a9ULzIVvN/LAcc+14vioFq
+2swRWtmocBAs8QR9n4uvbpiYvS8eYueDCWMM4fvFfBhaDZ3N9IbtySh3SpFdQDhw
+YbjM2rxXiyLGxB4Bol7QTv4zHif7Zt89FReT/NBy4rzaskDJY5L6xmY=
+-----END CERTIFICATE-----
+ */
+export type TlsCertificatesAndHostnamesCertificate = string;
 
 /**
- * Specify the policy that determines the region where your private key will be held locally. HTTPS connections to any excluded data center will still be fully encrypted, but will incur some latency while Keyless SSL is used to complete the handshake with the nearest allowed data center. Any combination of countries, specified by their two letter country code (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) can be chosen, such as 'country: IN', as well as 'region: EU' which refers to the EU region. If there are too few data centers satisfying the policy, it will be rejected.
+ * Status of certificate pack.
  *
- * @example (country: US) or (region: EU)
+ * @example initializing
  */
-export type Policy = string;
-
-export type PolicyCheckResponse = ApiResponseSingleKLIlNaxV & {
-  result?: {
-    app_state?: {
-      app_uid?: Uuid;
-      /**
-       * @example 737646a56ab1df6ec9bddc7e5ca84eaf3b0768850f3ffb5d74f1534911fe389
-       */
-      aud?: string;
-      /**
-       * @example test.com
-       */
-      hostname?: string;
-      /**
-       * @example Test App
-       */
-      name?: string;
-      /**
-       * @example {"decision":"allow","exclude":[],"include":[{"_type":"email","email":"testuser@gmail.com"}],"precedence":0,"require":[],"status":"Success"}
-       */
-      policies?: any[];
-      /**
-       * @example Success
-       */
-      status?: string;
-    };
-    user_identity?: {
-      /**
-       * @example 41ecfbb341f033e52b46742756aabb8b
-       */
-      account_id?: string;
-      /**
-       * @example {}
-       */
-      device_sessions?: Record<string, any>;
-      /**
-       * @example testuser@gmail.com
-       */
-      email?: string;
-      geo?: {
-        /**
-         * @example US
-         */
-        country?: string;
-      };
-      iat?: number;
-      /**
-       * @example 1164449231815010287495
-       */
-      id?: string;
-      /**
-       * @example false
-       */
-      is_gateway?: boolean;
-      /**
-       * @example false
-       */
-      is_warp?: boolean;
-      /**
-       * @example Test User
-       */
-      name?: string;
-      user_uuid?: Uuid;
-      version?: number;
-    };
+export type TlsCertificatesAndHostnamesCertificatePacksComponentsSchemasStatus =
+  | 'initializing'
+  | 'pending_validation'
+  | 'deleted'
+  | 'pending_issuance'
+  | 'pending_deployment'
+  | 'pending_deletion'
+  | 'pending_expiration'
+  | 'expired'
+  | 'active'
+  | 'initializing_timed_out'
+  | 'validation_timed_out'
+  | 'issuance_timed_out'
+  | 'deployment_timed_out'
+  | 'deletion_timed_out'
+  | 'pending_cleanup'
+  | 'staging_deployment'
+  | 'staging_active'
+  | 'deactivating'
+  | 'inactive'
+  | 'backup_issued'
+  | 'holding_deployment';
+
+export type TlsCertificatesAndHostnamesCertificateObject = {
+  certificate?: TlsCertificatesAndHostnamesZoneAuthenticatedOriginPullComponentsSchemasCertificate;
+  expires_on?: TlsCertificatesAndHostnamesComponentsSchemasExpiresOn;
+  id?: TlsCertificatesAndHostnamesIdentifier;
+  issuer?: TlsCertificatesAndHostnamesIssuer;
+  signature?: TlsCertificatesAndHostnamesSignature;
+  status?: TlsCertificatesAndHostnamesZoneAuthenticatedOriginPullComponentsSchemasStatus;
+  uploaded_on?: TlsCertificatesAndHostnamesSchemasUploadedOn;
+};
+
+export type TlsCertificatesAndHostnamesCertificateObjectPost = {
+  ca?: TlsCertificatesAndHostnamesCa;
+  certificates?: TlsCertificatesAndHostnamesSchemasCertificates;
+  expires_on?: TlsCertificatesAndHostnamesMtlsManagementComponentsSchemasExpiresOn;
+  id?: TlsCertificatesAndHostnamesIdentifier;
+  issuer?: TlsCertificatesAndHostnamesSchemasIssuer;
+  name?: TlsCertificatesAndHostnamesSchemasName;
+  serial_number?: TlsCertificatesAndHostnamesSchemasSerialNumber;
+  signature?: TlsCertificatesAndHostnamesSignature;
+  updated_at?: TlsCertificatesAndHostnamesComponentsSchemasUpdatedAt;
+  uploaded_on?: TlsCertificatesAndHostnamesMtlsManagementComponentsSchemasUploadedOn;
+};
+
+export type TlsCertificatesAndHostnamesCertificateAnalyzeResponse = TlsCertificatesAndHostnamesApiResponseSingle & {
+  result?: Record<string, any>;
+};
+
+/**
+ * The Certificate Authority that will issue the certificate
+ *
+ * @example google
+ */
+export type TlsCertificatesAndHostnamesCertificateAuthority = 'digicert' | 'google' | 'lets_encrypt' | 'ssl_com';
+
+export type TlsCertificatesAndHostnamesCertificatePackQuotaResponse = TlsCertificatesAndHostnamesApiResponseSingle & {
+  result?: {
+    advanced?: TlsCertificatesAndHostnamesQuota;
+  };
+};
+
+export type TlsCertificatesAndHostnamesCertificatePackResponseCollection =
+  TlsCertificatesAndHostnamesApiResponseCollection & {
+    result?: Record<string, any>[];
   };
+
+export type TlsCertificatesAndHostnamesCertificatePackResponseSingle = TlsCertificatesAndHostnamesApiResponseSingle & {
+  result?: Record<string, any>;
 };
 
-export type PolicyCheckResponseCmGkYgva = ApiResponseSingleLarS7owG & {
+export type TlsCertificatesAndHostnamesCertificateResponseCollection =
+  TlsCertificatesAndHostnamesApiResponseCollection & {
+    result?: TlsCertificatesAndHostnamesCustomCertificate[];
+  };
+
+export type TlsCertificatesAndHostnamesCertificateResponseIdOnly = TlsCertificatesAndHostnamesApiResponseSingle & {
   result?: {
-    app_state?: {
-      app_uid?: Uuid;
-      /**
-       * @example 737646a56ab1df6ec9bddc7e5ca84eaf3b0768850f3ffb5d74f1534911fe389
-       */
-      aud?: string;
-      /**
-       * @example test.com
-       */
-      hostname?: string;
-      /**
-       * @example Test App
-       */
-      name?: string;
-      /**
-       * @example {"decision":"allow","exclude":[],"include":[{"_type":"email","email":"testuser@gmail.com"}],"precedence":0,"require":[],"status":"Success"}
-       */
-      policies?: any[];
-      /**
-       * @example Success
-       */
-      status?: string;
-    };
-    user_identity?: {
-      /**
-       * @example 41ecfbb341f033e52b46742756aabb8b
-       */
-      account_id?: string;
-      /**
-       * @example {}
-       */
-      device_sessions?: Record<string, any>;
-      /**
-       * @example testuser@gmail.com
-       */
-      email?: string;
-      geo?: {
-        /**
-         * @example US
-         */
-        country?: string;
-      };
-      iat?: number;
-      /**
-       * @example 1164449231815010287495
-       */
-      id?: string;
-      /**
-       * @example false
-       */
-      is_gateway?: boolean;
-      /**
-       * @example false
-       */
-      is_warp?: boolean;
-      /**
-       * @example Test User
-       */
-      name?: string;
-      user_uuid?: Uuid;
-      version?: number;
-    };
+    id?: TlsCertificatesAndHostnamesIdentifier;
+  };
+};
+
+export type TlsCertificatesAndHostnamesCertificateResponseSingle = TlsCertificatesAndHostnamesApiResponseSingle & {
+  result?: TlsCertificatesAndHostnamesCustomCertificate;
+};
+
+export type TlsCertificatesAndHostnamesCertificateResponseSinglePost = TlsCertificatesAndHostnamesApiResponseSingle & {
+  result?: TlsCertificatesAndHostnamesCertificateObjectPost;
+};
+
+export type TlsCertificatesAndHostnamesCertificateRevokeResponse = {
+  result?: {
+    id?: TlsCertificatesAndHostnamesIdentifier;
+    revoked_at?: TlsCertificatesAndHostnamesRevokedAt;
   };
 };
 
 /**
- * The ID of the policy.
+ * Current status of certificate.
  *
- * @example c9ef84a6bf5e47138c75d95e2f933e8f
- * @maxLength 32
- * @minLength 32
+ * @example active
  */
-export type PolicyId = string;
+export type TlsCertificatesAndHostnamesCertificateStatus =
+  | 'initializing'
+  | 'authorizing'
+  | 'active'
+  | 'expired'
+  | 'issuing'
+  | 'timing_out'
+  | 'pending_deployment';
 
-export type PolicyWithPermissionGroups = {
-  effect: Effect;
-  id: IdentifierEhp5XJwv;
-  permission_groups: PermissionGroups;
-  resources: Resources;
+export type TlsCertificatesAndHostnamesCertificates = {
+  certificate?: TlsCertificatesAndHostnamesComponentsSchemasCertificate;
+  csr: TlsCertificatesAndHostnamesCsr;
+  expires_on?: TlsCertificatesAndHostnamesSchemasExpiresOn;
+  hostnames: TlsCertificatesAndHostnamesHostnames;
+  id?: TlsCertificatesAndHostnamesIdentifier;
+  request_type: TlsCertificatesAndHostnamesRequestType;
+  requested_validity: TlsCertificatesAndHostnamesRequestedValidity;
 };
 
 /**
- * Removes metadata and compresses your images for faster page load times. Basic (Lossless): Reduce the size of PNG, JPEG, and GIF files - no impact on visual quality. Basic + JPEG (Lossy): Further reduce the size of JPEG files for faster image loading. Larger JPEGs are converted to progressive images, loading a lower-resolution image first and ending in a higher-resolution version. Not recommended for hi-res photography sites.
+ * The Client Certificate PEM
+ *
+ * @example -----BEGIN CERTIFICATE-----\nMIIDmDCCAoC...dhDDE\n-----END CERTIFICATE-----
  */
-export type Polish = {
-  /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
-   *
-   * @default true
-   */
-  editable?: true | false;
-  /**
-   * ID of the zone setting.
-   *
-   * @example polish
-   */
-  id: 'polish';
+export type TlsCertificatesAndHostnamesClientCertificatesComponentsSchemasCertificate = string;
+
+/**
+ * Certificate Authority used to issue the Client Certificate
+ */
+export type TlsCertificatesAndHostnamesClientCertificatesComponentsSchemasCertificateAuthority = {
   /**
-   * last time this setting was modified.
-   *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * @example 568b6b74-7b0c-4755-8840-4e3b8c24adeb
    */
-  modified_on?: string | null;
+  id?: string;
   /**
-   * Current value of the zone setting.
-   *
-   * @example on
+   * @example Cloudflare Managed CA for account
    */
-  value: PolishValue;
+  name?: string;
 };
 
 /**
- * Value of the zone setting.
+ * Client Certificates may be active or revoked, and the pending_reactivation or pending_revocation represent in-progress asynchronous transitions
  *
- * @default off
+ * @example active
  */
-export type PolishValue = 'off' | 'lossless' | 'lossy';
-
-export type Pool = {
-  check_regions?: CheckRegionsPQxNXzsr;
-  created_on?: Timestamp;
-  description?: SchemasDescriptionZxAuqPgI;
-  disabled_at?: SchemasDisabledAt;
-  enabled?: EnabledMECT4zDK;
-  id?: SchemasIdentifierVx9UGvBM;
-  latitude?: Latitude;
-  load_shedding?: LoadShedding;
-  longitude?: Longitude;
-  minimum_origins?: MinimumOrigins;
-  modified_on?: Timestamp;
-  monitor?: SchemasMonitor;
-  name?: NameILH8OrHN;
-  notification_email?: NotificationEmail;
-  notification_filter?: NotificationFilter;
-  origin_steering?: OriginSteering;
-  origins?: Origins;
-};
-
-export type Pool86qV21Xs = {
-  check_regions?: CheckRegionsM0UYyZsj;
-  created_on?: Timestamp;
-  description?: PoolComponentsSchemasDescription;
-  disabled_at?: SchemasDisabledAt;
-  enabled?: PoolComponentsSchemasEnabled;
-  id?: PoolComponentsSchemasIdentifier;
-  latitude?: Latitude;
-  load_shedding?: LoadShedding;
-  longitude?: Longitude;
-  minimum_origins?: MinimumOrigins;
-  modified_on?: Timestamp;
-  monitor?: SchemasMonitor;
-  name?: PoolComponentsSchemasName;
-  notification_email?: NotificationEmailRSyVUYWe;
-  notification_filter?: NotificationFilter;
-  origin_steering?: OriginSteering;
-  origins?: OriginsSJsVZfMb;
-};
+export type TlsCertificatesAndHostnamesClientCertificatesComponentsSchemasStatus =
+  | 'active'
+  | 'pending_reactivation'
+  | 'pending_revocation'
+  | 'revoked';
+
+export type TlsCertificatesAndHostnamesClientCertificate = {
+  certificate?: TlsCertificatesAndHostnamesClientCertificatesComponentsSchemasCertificate;
+  certificate_authority?: TlsCertificatesAndHostnamesClientCertificatesComponentsSchemasCertificateAuthority;
+  common_name?: TlsCertificatesAndHostnamesCommonName;
+  country?: TlsCertificatesAndHostnamesCountry;
+  csr?: TlsCertificatesAndHostnamesSchemasCsr;
+  expires_on?: TlsCertificatesAndHostnamesExpiredOn;
+  fingerprint_sha256?: TlsCertificatesAndHostnamesFingerprintSha256;
+  id?: TlsCertificatesAndHostnamesIdentifier;
+  issued_on?: TlsCertificatesAndHostnamesIssuedOn;
+  location?: TlsCertificatesAndHostnamesLocation;
+  organization?: TlsCertificatesAndHostnamesOrganization;
+  organizational_unit?: TlsCertificatesAndHostnamesOrganizationalUnit;
+  serial_number?: TlsCertificatesAndHostnamesComponentsSchemasSerialNumber;
+  signature?: TlsCertificatesAndHostnamesComponentsSchemasSignature;
+  ski?: TlsCertificatesAndHostnamesSki;
+  state?: TlsCertificatesAndHostnamesState;
+  status?: TlsCertificatesAndHostnamesClientCertificatesComponentsSchemasStatus;
+  validity_days?: TlsCertificatesAndHostnamesSchemasValidityDays;
+};
+
+export type TlsCertificatesAndHostnamesClientCertificateResponseCollection =
+  TlsCertificatesAndHostnamesApiResponseCollection & {
+    result?: TlsCertificatesAndHostnamesClientCertificate[];
+  };
+
+export type TlsCertificatesAndHostnamesClientCertificateResponseSingle =
+  TlsCertificatesAndHostnamesApiResponseSingle & {
+    result?: TlsCertificatesAndHostnamesClientCertificate;
+  };
 
 /**
- * A human-readable description of the pool.
+ * Whether or not to add Cloudflare Branding for the order.  This will add a subdomain of sni.cloudflaressl.com as the Common Name if set to true.
  *
- * @example Primary data center - Provider XYZ
+ * @example false
  */
-export type PoolComponentsSchemasDescription = string;
+export type TlsCertificatesAndHostnamesCloudflareBranding = boolean;
 
 /**
- * Whether to enable (the default) or disable this pool. Disabled pools will not receive traffic and are excluded from health checks. Disabling a pool will cause any load balancers using it to failover to the next pool (if any).
+ * Common Name of the Client Certificate
  *
- * @default true
- * @example false
+ * @example Cloudflare
  */
-export type PoolComponentsSchemasEnabled = boolean;
+export type TlsCertificatesAndHostnamesCommonName = string;
 
 /**
- * @example 17b5962d775c646f3f9725cbc7a53df4
+ * The Origin CA certificate. Will be newline-encoded.
+ * 
+ * @example -----BEGIN CERTIFICATE-----
+MIICvDCCAaQCAQAwdzELMAkGA1UEBhMCVVMxDTALBgNVBAgMBFV0YWgxDzANBgNV
+BAcMBkxpbmRvbjEWMBQGA1UECgwNRGlnaUNlcnQgSW5jLjERMA8GA1UECwwIRGln
+aUNlcnQxHTAbBgNVBAMMFGV4YW1wbGUuZGlnaWNlcnQuY29tMIIBIjANBgkqhkiG
+9w0BAQEFAAOCAQ8AMIIBCgKCAQEA8+To7d+2kPWeBv/orU3LVbJwDrSQbeKamCmo
+wp5bqDxIwV20zqRb7APUOKYoVEFFOEQs6T6gImnIolhbiH6m4zgZ/CPvWBOkZc+c
+1Po2EmvBz+AD5sBdT5kzGQA6NbWyZGldxRthNLOs1efOhdnWFuhI162qmcflgpiI
+WDuwq4C9f+YkeJhNn9dF5+owm8cOQmDrV8NNdiTqin8q3qYAHHJRW28glJUCZkTZ
+wIaSR6crBQ8TbYNE0dc+Caa3DOIkz1EOsHWzTx+n0zKfqcbgXi4DJx+C1bjptYPR
+BPZL8DAeWuA8ebudVT44yEp82G96/Ggcf7F33xMxe0yc+Xa6owIDAQABoAAwDQYJ
+KoZIhvcNAQEFBQADggEBAB0kcrFccSmFDmxox0Ne01UIqSsDqHgL+XmHTXJwre6D
+hJSZwbvEtOK0G3+dr4Fs11WuUNt5qcLsx5a8uk4G6AKHMzuhLsJ7XZjgmQXGECpY
+Q4mC3yT3ZoCGpIXbw+iP3lmEEXgaQL0Tx5LFl/okKbKYwIqNiyKWOMj7ZR/wxWg/
+ZDGRs55xuoeLDJ/ZRFf9bI+IaCUd1YrfYcHIl3G87Av+r49YVwqRDT0VDV7uLgqn
+29XI1PpVUNCPQGn9p/eX6Qo7vpDaPybRtA2R7XLKjQaF9oXWeCUqy1hvJac9QFO2
+97Ob1alpHPoZ7mWiEuJwjBPii6a9M9G30nUo39lBi1w=
+-----END CERTIFICATE-----
  */
-export type PoolComponentsSchemasIdentifier = void;
+export type TlsCertificatesAndHostnamesComponentsSchemasCertificate = string;
+
+export type TlsCertificatesAndHostnamesComponentsSchemasCertificateObject = {
+  ca?: TlsCertificatesAndHostnamesCa;
+  certificates?: TlsCertificatesAndHostnamesSchemasCertificates;
+  expires_on?: TlsCertificatesAndHostnamesMtlsManagementComponentsSchemasExpiresOn;
+  id?: TlsCertificatesAndHostnamesIdentifier;
+  issuer?: TlsCertificatesAndHostnamesSchemasIssuer;
+  name?: TlsCertificatesAndHostnamesSchemasName;
+  serial_number?: TlsCertificatesAndHostnamesSchemasSerialNumber;
+  signature?: TlsCertificatesAndHostnamesSignature;
+  uploaded_on?: TlsCertificatesAndHostnamesMtlsManagementComponentsSchemasUploadedOn;
+};
 
 /**
- * A short name (tag) for the pool. Only alphanumeric characters, hyphens, and underscores are allowed.
+ * The Certificate Authority that Total TLS certificates will be issued through.
  *
- * @example primary-dc-1
+ * @example google
  */
-export type PoolComponentsSchemasName = string;
+export type TlsCertificatesAndHostnamesComponentsSchemasCertificateAuthority = 'google' | 'lets_encrypt' | 'ssl_com';
 
-export type PoolComponentsSchemasResponseCollection = ApiResponseCollection & {
-  result?: Pool86qV21Xs[];
-};
+export type TlsCertificatesAndHostnamesComponentsSchemasCertificateResponseCollection =
+  TlsCertificatesAndHostnamesApiResponseCollection & {
+    result?: TlsCertificatesAndHostnamesZoneAuthenticatedOriginPull[];
+  };
 
-export type PoolComponentsSchemasSingleResponse = ApiResponseSingleLarS7owG & {
-  result?: Pool86qV21Xs;
-};
+export type TlsCertificatesAndHostnamesComponentsSchemasCertificateResponseSingle =
+  TlsCertificatesAndHostnamesApiResponseSingle & {
+    result?: TlsCertificatesAndHostnamesZoneAuthenticatedOriginPull;
+  };
 
 /**
- * The name for the pool to filter.
+ * The time when the certificate was created.
  *
- * @example primary-dc
+ * @example 2100-01-01T05:20:00Z
+ * @format date-time
  */
-export type PoolName = string;
+export type TlsCertificatesAndHostnamesComponentsSchemasCreatedAt = string;
 
 /**
- * (Enterprise only): A mapping of Cloudflare PoP identifiers to a list of pool IDs (ordered by their failover priority) for the PoP (datacenter). Any PoPs not explicitly defined will fall back to using the corresponding country_pool, then region_pool mapping if it exists else to default_pools.
+ * If enabled, Total TLS will order a hostname specific TLS certificate for any proxied A, AAAA, or CNAME record in your zone.
  *
- * @example {"LAX":["de90f38ced07c2e2f4df50b1f61d4194","9290f38c5d07c2e2f4df57b1f61d4196"],"LHR":["abd90f38ced07c2e2f4df50b1f61d4194","f9138c5d07c2e2f4df57b1f61d4196"],"SJC":["00920f38ce07c2e2f4df50b1f61d4194"]}
+ * @example true
  */
-export type PopPools = Record<string, any>;
+export type TlsCertificatesAndHostnamesComponentsSchemasEnabled = boolean;
 
 /**
- * Global Cloudflare 100k ranking for the last 30 days, if available for the hostname. The top ranked domain is 1, the lowest ranked domain is 100,000.
+ * When the certificate from the authority expires.
+ *
+ * @example 2100-01-01T05:20:00Z
+ * @format date-time
  */
-export type PopularityRank = number;
+export type TlsCertificatesAndHostnamesComponentsSchemasExpiresOn = string;
 
 /**
- * The keyless SSL port used to communicate between Cloudflare and the client's Keyless SSL server.
+ * The hostname for which the tls settings are set.
  *
- * @default 24008
- * @example 24008
- * @maxLength 65535
+ * @example app.example.com
+ */
+export type TlsCertificatesAndHostnamesComponentsSchemasHostname = string;
+
+/**
+ * The private key for the certificate
+ * 
+ * @example -----BEGIN PRIVATE KEY-----
+MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDEXDkcICRU3XBv9hiiPnBWIjgTQyowmVFxDr11mONgZB/cMYjE/OvQjvnpwNcOaSK16MOpAjNbELKRx2lZiVJaLRDCccqCxXwP/CrdRChcqGzo7mbNksMlcidrErb0LlEBKLFC2QjRmRKqB+YOs4TD8WsZu2S667A2fZmjRlaqOxFi1h62ee0P+TLU628UC/nl41JifSt5Evt7hMDHakemdwZblNYr2p6T3NQjdhjYXTtP4UmOGJBhJ7i7Kicg3d3CIgdTMbggSeGWqjndr4ldVnD96FN3cVT5uDFsn2CJXTFgdeBWoUnMS4VnUZzPWGf4vSBXC8qV7Ls+w46yT7T1AgMBAAECggEAQZnp/oqCeNPOR6l5S2L+1tfx0gWjZ78hJVteUpZ0iHSK7F6kKeOxyOird7vUXV0kmo+cJq+0hp0Ke4eam640FCpwKfYoSQ4/R3vgujGWJnaihCN5tv5sMet0XeJPuz5qE7ALoKCvwI6aXLHs20aAeZIDTQJ9QbGSGnJVzOWn+JDTidIgZpN57RpXfSAwnJPTQK/PN8i5z108hsaDOdEgGmxYZ7kYqMqzX20KXmth58LDfPixs5JGtS60iiKC/wOcGzkB2/AdTSojR76oEU77cANP/3zO25NG//whUdYlW0t0d7PgXxIeJe+xgYnamDQJx3qonVyt4H77ha0ObRAj9QKBgQDicZr+VTwFMnELP3a+FXGnjehRiuS1i7MXGKxNweCD+dFlML0FplSQS8Ro2n+d8lu8BBXGx0qm6VXu8Rhn7TAUL6q+PCgfarzxfIhacb/TZCqfieIHsMlVBfhV5HCXnk+kis0tuC/PRArcWTwDHJUJXkBhvkUsNswvQzavDPI7KwKBgQDd/WgLkj7A3X5fgIHZH/GbDSBiXwzKb+rF4ZCT2XFgG/OAW7vapfcX/w+v+5lBLyrocmOAS3PGGAhM5T3HLnUCQfnK4qgps1Lqibkc9Tmnsn60LanUjuUMsYv/zSw70tozbzhJ0pioEpWfRxRZBztO2Rr8Ntm7h6Fk701EXGNAXwKBgQCD1xsjy2J3sCerIdcz0u5qXLAPkeuZW+34m4/ucdwTWwc0gEz9lhsULFj9p4G351zLuiEnq+7mAWLcDJlmIO3mQt6JhiLiL9Y0T4pgBmxmWqKKYtAsJB0EmMY+1BNN44mBRqMxZFTJu1cLdhT/xstrOeoIPqytknYNanfTMZlzIwKBgHrLXe5oq0XMP8dcMneEcAUwsaU4pr6kQd3L9EmUkl5zl7J9C+DaxWAEuwzBw/iGutlxzRB+rD/7szu14wJ29EqXbDGKRzMp+se5/yfBjm7xEZ1hVPw7PwBShfqt57X/4Ktq7lwHnmH6RcGhc+P7WBc5iO/S94YAdIp8xOT3pf9JAoGAE0QkqJUY+5Mgr+fBO0VNV72ZoPveGpW+De59uhKAOnu1zljQCUtk59m6+DXfm0tNYKtawa5n8iN71Zh+s62xXSt3pYi1Y5CCCmv8Y4BhwIcPwXKk3zEvLgSHVTpC0bayA9aSO4bbZgVXa5w+Z0w/vvfp9DWo1IS3EnQRrz6WMYA=
+-----END PRIVATE KEY-----
  */
-export type Port = number;
+export type TlsCertificatesAndHostnamesComponentsSchemasPrivateKey = string;
 
 /**
- * Port number to connect to for the health check. Required for TCP, UDP, and SMTP checks. HTTP and HTTPS checks should only define the port when using a non-standard port (HTTP: default 80, HTTPS: default 443).
+ * The serial number on the created Client Certificate.
  *
- * @default 0
+ * @example 3bb94ff144ac567b9f75ad664b6c55f8d5e48182
+ */
+export type TlsCertificatesAndHostnamesComponentsSchemasSerialNumber = string;
+
+/**
+ * The type of hash used for the Client Certificate..
+ *
+ * @example SHA256WithRSA
+ */
+export type TlsCertificatesAndHostnamesComponentsSchemasSignature = string;
+
+/**
+ * Status of the hostname's activation.
+ *
+ * @example pending
  */
-export type PortFtc1VWvE = number;
+export type TlsCertificatesAndHostnamesComponentsSchemasStatus =
+  | 'active'
+  | 'pending'
+  | 'active_redeploying'
+  | 'moved'
+  | 'pending_deletion'
+  | 'deleted'
+  | 'pending_blocked'
+  | 'pending_migration'
+  | 'pending_provisioned'
+  | 'test_pending'
+  | 'test_active'
+  | 'test_active_apex'
+  | 'test_blocked'
+  | 'test_failed'
+  | 'provisioned'
+  | 'blocked';
 
 /**
- * The keyless SSL port used to commmunicate between Cloudflare and the client's Keyless SSL server.
+ * This is the time the certificate was updated.
  *
- * @default 24008
- * @example 24008
- * @maxLength 65535
+ * @example 2022-11-22T17:32:30.467938Z
+ * @format date-time
  */
-export type PortImSN1BQg = number;
+export type TlsCertificatesAndHostnamesComponentsSchemasUpdatedAt = string;
 
 /**
- * DNS port of primary or secondary nameserver, depending on what zone this peer is linked to.
+ * The time when the certificate was uploaded.
  *
- * @example 53
+ * @example 2019-10-28T18:11:23.37411Z
+ * @format date-time
  */
-export type PortXQsQDzbx = number;
+export type TlsCertificatesAndHostnamesComponentsSchemasUploadedOn = string;
 
-/**
- * The location of the image. Valid positions are: `upperRight`, `upperLeft`, `lowerLeft`, `lowerRight`, and `center`. Note that `center` ignores the `padding` parameter.
- *
- * @default upperRight
- * @example center
- */
-export type Position = string;
+export type TlsCertificatesAndHostnamesComponentsSchemasValidationMethod = {
+  validation_method: TlsCertificatesAndHostnamesValidationMethodDefinition;
+};
 
-/**
- * The order of execution for this policy. Must be unique for each policy.
- */
-export type Precedence = number;
+export type TlsCertificatesAndHostnamesConfig = TlsCertificatesAndHostnamesHostnameCertidInput[];
 
 /**
- * The precedence of the policy. Lower values indicate higher precedence. Policies will be evaluated in ascending order of this field.
+ * Country, provided by the CSR
  *
- * @example 100
+ * @example US
  */
-export type PrecedenceBOmzKeZm = number;
+export type TlsCertificatesAndHostnamesCountry = string;
 
 /**
- * Precedence sets the ordering of the rules. Lower values indicate higher precedence. At each processing phase, applicable rules are evaluated in ascending order of this value.
+ * This is the time the hostname was created.
+ *
+ * @example 2020-02-06T18:11:23.531995Z
+ * @format date-time
  */
-export type PrecedenceEPoGsEKD = number;
+export type TlsCertificatesAndHostnamesCreatedAt = string;
 
 /**
- * A predefined entry that matches a profile
+ * The Certificate Signing Request (CSR). Must be newline-encoded.
+ * 
+ * @example -----BEGIN CERTIFICATE REQUEST-----
+MIICxzCCAa8CAQAwSDELMAkGA1UEBhMCVVMxFjAUBgNVBAgTDVNhbiBGcmFuY2lz
+Y28xCzAJBgNVBAcTAkNBMRQwEgYDVQQDEwtleGFtcGxlLm5ldDCCASIwDQYJKoZI
+hvcNAQEBBQADggEPADCCAQoCggEBALxejtu4b+jPdFeFi6OUsye8TYJQBm3WfCvL
+Hu5EvijMO/4Z2TImwASbwUF7Ir8OLgH+mGlQZeqyNvGoSOMEaZVXcYfpR1hlVak8
+4GGVr+04IGfOCqaBokaBFIwzclGZbzKmLGwIQioNxGfqFm6RGYGA3be2Je2iseBc
+N8GV1wYmvYE0RR+yWweJCTJ157exyRzu7sVxaEW9F87zBQLyOnwXc64rflXslRqi
+g7F7w5IaQYOl8yvmk/jEPCAha7fkiUfEpj4N12+oPRiMvleJF98chxjD4MH39c5I
+uOslULhrWunfh7GB1jwWNA9y44H0snrf+xvoy2TcHmxvma9Eln8CAwEAAaA6MDgG
+CSqGSIb3DQEJDjErMCkwJwYDVR0RBCAwHoILZXhhbXBsZS5uZXSCD3d3dy5leGFt
+cGxlLm5ldDANBgkqhkiG9w0BAQsFAAOCAQEAcBaX6dOnI8ncARrI9ZSF2AJX+8mx
+pTHY2+Y2C0VvrVDGMtbBRH8R9yMbqWtlxeeNGf//LeMkSKSFa4kbpdx226lfui8/
+auRDBTJGx2R1ccUxmLZXx4my0W5iIMxunu+kez+BDlu7bTT2io0uXMRHue4i6quH
+yc5ibxvbJMjR7dqbcanVE10/34oprzXQsJ/VmSuZNXtjbtSKDlmcpw6To/eeAJ+J
+hXykcUihvHyG4A1m2R6qpANBjnA0pHexfwM/SgfzvpbvUg0T1ubmer8BgTwCKIWs
+dcWYTthM51JIqRBfNqy4QcBnX+GY05yltEEswQI55wdiS3CjTTA67sdbcQ==
+-----END CERTIFICATE REQUEST-----
  */
-export type PredefinedEntry = {
-  /**
-   * Whether the entry is enabled or not.
-   *
-   * @example true
-   */
-  enabled?: boolean;
-  id?: EntryId;
-  /**
-   * The name of the entry.
-   *
-   * @example Credit card (Visa)
-   */
-  name?: string;
-  /**
-   * ID of the parent profile
-   */
-  profile_id?: void;
-};
-
-export type PredefinedProfile = {
-  allowed_match_count?: AllowedMatchCount;
-  /**
-   * The entries for this profile.
-   */
-  entries?: PredefinedEntry[];
-  id?: ProfileId;
-  /**
-   * The name of the profile.
-   *
-   * @example Generic CVV Card Number
-   */
-  name?: string;
-  /**
-   * The type of the profile.
-   *
-   * @example predefined
-   */
-  type?: 'predefined';
-};
+export type TlsCertificatesAndHostnamesCsr = string;
+
+export type TlsCertificatesAndHostnamesCustomCertificate = {
+  bundle_method: TlsCertificatesAndHostnamesBundleMethod;
+  expires_on: TlsCertificatesAndHostnamesExpiresOn;
+  geo_restrictions?: TlsCertificatesAndHostnamesGeoRestrictions;
+  hosts: TlsCertificatesAndHostnamesHosts;
+  id: TlsCertificatesAndHostnamesIdentifier;
+  issuer: TlsCertificatesAndHostnamesIssuer;
+  keyless_server?: TlsCertificatesAndHostnamesKeylessCertificate;
+  modified_on: TlsCertificatesAndHostnamesModifiedOn;
+  policy?: TlsCertificatesAndHostnamesPolicy;
+  priority: TlsCertificatesAndHostnamesPriority;
+  signature: TlsCertificatesAndHostnamesSignature;
+  status: TlsCertificatesAndHostnamesStatus;
+  uploaded_on: TlsCertificatesAndHostnamesUploadedOn;
+  zone_id: TlsCertificatesAndHostnamesIdentifier;
+};
+
+export type TlsCertificatesAndHostnamesCustomHostname = {
+  created_at?: TlsCertificatesAndHostnamesCreatedAt;
+  custom_metadata?: TlsCertificatesAndHostnamesCustomMetadata;
+  custom_origin_server?: TlsCertificatesAndHostnamesCustomOriginServer;
+  custom_origin_sni?: TlsCertificatesAndHostnamesCustomOriginSni;
+  hostname: TlsCertificatesAndHostnamesHostname;
+  id: TlsCertificatesAndHostnamesIdentifier;
+  ownership_verification?: TlsCertificatesAndHostnamesOwnershipVerification;
+  ownership_verification_http?: TlsCertificatesAndHostnamesOwnershipVerificationHttp;
+  ssl: TlsCertificatesAndHostnamesSsl;
+  status?: TlsCertificatesAndHostnamesComponentsSchemasStatus;
+  verification_errors?: TlsCertificatesAndHostnamesVerificationErrors;
+};
+
+/**
+ * Status of the fallback origin's activation.
+ *
+ * @example pending_deployment
+ */
+export type TlsCertificatesAndHostnamesCustomHostnameFallbackOriginComponentsSchemasStatus =
+  | 'initializing'
+  | 'pending_deployment'
+  | 'pending_deletion'
+  | 'active'
+  | 'deployment_timed_out'
+  | 'deletion_timed_out';
 
-export type PredefinedProfileResponse = ApiResponseSingleUypB4bgI & {
-  result?: PredefinedProfile;
-};
+export type TlsCertificatesAndHostnamesCustomHostnameResponseCollection =
+  TlsCertificatesAndHostnamesApiResponseCollection & {
+    result?: TlsCertificatesAndHostnamesCustomHostname[];
+  };
 
-export type PredefinedProfileResponse6Euc3s68 = ApiResponseSingleLarS7owG & {
-  result?: PredefinedProfile;
+export type TlsCertificatesAndHostnamesCustomHostnameResponseSingle = TlsCertificatesAndHostnamesApiResponseSingle & {
+  result?: TlsCertificatesAndHostnamesCustomHostname;
 };
 
 /**
- * Cloudflare will prefetch any URLs that are included in the response headers. This is limited to Enterprise Zones.
- *
- * @default off
+ * Unique key/value metadata for this hostname. These are per-hostname (customer) settings.
  */
-export type PrefetchPreload = {
-  /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
-   *
-   * @default true
-   */
-  editable?: true | false;
-  /**
-   * ID of the zone setting.
-   *
-   * @example prefetch_preload
-   */
-  id: 'prefetch_preload';
-  /**
-   * last time this setting was modified.
-   *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
-   */
-  modified_on?: string | null;
-  /**
-   * Current value of the zone setting.
-   *
-   * @example on
-   */
-  value: PrefetchPreloadValue;
+export type TlsCertificatesAndHostnamesCustomMetadata = {
+  [key: string]: string;
 };
 
 /**
- * Value of the zone setting.
- *
- * @default off
- */
-export type PrefetchPreloadValue = 'on' | 'off';
-
-/**
- * IP Prefix in Classless Inter-Domain Routing format.
+ * a valid hostname that’s been added to your DNS zone as an A, AAAA, or CNAME record.
  *
- * @example 192.0.2.0/24
+ * @example origin2.example.com
  */
-export type Prefix = string;
+export type TlsCertificatesAndHostnamesCustomOriginServer = string;
 
 /**
- * The video's preview page URI. This field is omitted until encoding is complete.
+ * A hostname that will be sent to your custom origin server as SNI for TLS handshake. This can be a valid subdomain of the zone or custom origin server name or the string ':request_host_header:' which will cause the host header in the request to be used as SNI. Not configurable with default/fallback origin server.
  *
- * @example https://customer-m033z5x00ks6nunl.cloudflarestream.com/ea95132c15732412d22c1476fa83f27a/watch
- * @format uri
- */
-export type Preview = string;
-
-/**
- * @example f1aba936b94213e5b8dca0c0dbf1f9cc
+ * @example sni.example.com
  */
-export type PreviewId = void;
+export type TlsCertificatesAndHostnamesCustomOriginSni = string;
 
-export type PreviewResponse = ApiResponseSingleUl1k90Mw & {
-  result?: {
-    /**
-     * Monitored pool IDs mapped to their respective names.
-     *
-     * @example {"abwlnp5jbqn45ecgxd03erbgtxtqai0d":"WNAM Datacenter","ve8h9lrcip5n5bbga9yqmdws28ay5d0l":"EEU Datacenter"}
-     */
-    pools?: {
-      [key: string]: string;
-    };
-    preview_id?: IdentifierYmSdxGUH;
-  };
+export type TlsCertificatesAndHostnamesCustomhostname = {
+  created_at?: TlsCertificatesAndHostnamesCreatedAt;
+  custom_metadata?: TlsCertificatesAndHostnamesCustomMetadata;
+  custom_origin_server?: TlsCertificatesAndHostnamesCustomOriginServer;
+  custom_origin_sni?: TlsCertificatesAndHostnamesCustomOriginSni;
+  hostname?: TlsCertificatesAndHostnamesHostname;
+  id?: TlsCertificatesAndHostnamesIdentifier;
+  ownership_verification?: TlsCertificatesAndHostnamesOwnershipVerification;
+  ownership_verification_http?: TlsCertificatesAndHostnamesOwnershipVerificationHttp;
+  ssl?: TlsCertificatesAndHostnamesSsl;
+  status?: TlsCertificatesAndHostnamesComponentsSchemasStatus;
+  verification_errors?: TlsCertificatesAndHostnamesVerificationErrors;
 };
 
-export type PreviewResponseETd0IjUP = ApiResponseSingleLarS7owG & {
-  result?: {
-    /**
-     * @example {"abwlnp5jbqn45ecgxd03erbgtxtqai0d":"WNAM Datacenter","ve8h9lrcip5n5bbga9yqmdws28ay5d0l":"EEU Datacenter"}
-     */
-    pools?: {
-      [key: string]: any;
-    };
-    preview_id?: MonitorComponentsSchemasIdentifier;
-  };
+export type TlsCertificatesAndHostnamesDcvDelegationResponse = TlsCertificatesAndHostnamesApiResponseSingle & {
+  result?: TlsCertificatesAndHostnamesUuidObject;
 };
 
-export type PreviewResponseHBJY2UOs = ApiResponseSinglePn9rJJNX & {
-  result?: {
-    preview_url?: PreviewUrl;
+export type TlsCertificatesAndHostnamesDeleteAdvancedCertificatePackResponseSingle =
+  TlsCertificatesAndHostnamesApiResponseSingle & {
+    result?: {
+      id?: TlsCertificatesAndHostnamesIdentifier;
+    };
   };
-};
 
 /**
- * Resulting health data from a preview operation.
+ * Whether or not the Keyless SSL is on or off.
  *
- * @example {"abwlnp5jbqn45ecgxd03erbgtxtqai0d":{"healthy":true,"origins":[{"originone.example.com.":{"failure_reason":"No failures","healthy":true,"response_code":200,"rtt":"66ms"}}]}}
+ * @example false
  */
-export type PreviewResult = {
-  [key: string]: {
-    healthy?: boolean;
-    origins?: {
-      [key: string]: OriginHealthData;
-    }[];
+export type TlsCertificatesAndHostnamesEnabled = boolean;
+
+export type TlsCertificatesAndHostnamesEnabledResponse = TlsCertificatesAndHostnamesApiResponseSingle & {
+  result?: {
+    enabled?: TlsCertificatesAndHostnamesZoneAuthenticatedOriginPullComponentsSchemasEnabled;
   };
 };
 
 /**
- * Resulting health data from a preview operation.
+ * Whether or not the Keyless SSL is on or off.
  *
- * @example {"abwlnp5jbqn45ecgxd03erbgtxtqai0d":{"healthy":true,"origins":[{"originone.example.com.":{"$ref":"#/components/schemas/origin_health_data/example"}}]}}
+ * @deprecated true
+ * @example false
  */
-export type PreviewResultT4uBMpzm = {
-  [key: string]: any;
-};
-
-export type PreviewResultResponse = ApiResponseSingleUl1k90Mw & {
-  result?: PreviewResult;
-};
+export type TlsCertificatesAndHostnamesEnabledWrite = boolean;
 
 /**
- * Resulting health data from a preview operation.
+ * These are errors that were encountered while trying to activate a fallback origin.
  *
- * @example {"abwlnp5jbqn45ecgxd03erbgtxtqai0d":{"healthy":true,"origins":[{"originone.example.com.":{"$ref":"#/components/schemas/origin_health_data/example"}}]}}
+ * @example DNS records are not setup correctly. Origin should be a proxied A/AAAA/CNAME dns record
  */
-export type PreviewResultResponseLuMgL00Q = ApiResponseSingleLarS7owG & PreviewResultT4uBMpzm;
+export type TlsCertificatesAndHostnamesErrors = string[];
 
 /**
- * URL where the custom waiting room page can temporarily be previewed.
+ * Date that the Client Certificate expires
  *
- * @example http://waitingrooms.dev/preview/35af8c12-6d68-4608-babb-b53435a5ddfb
+ * @example 2033-02-20T23:18:00Z
  */
-export type PreviewUrl = string;
+export type TlsCertificatesAndHostnamesExpiredOn = string;
 
 /**
- * The price of the subscription that will be billed, in US dollars.
+ * When the certificate from the authority expires.
  *
- * @example 20
+ * @example 2016-01-01T05:20:00Z
+ * @format date-time
  */
-export type Price = number;
+export type TlsCertificatesAndHostnamesExpiresOn = string;
 
-/**
- * Priority of the static route.
- */
-export type Priority = number;
+export type TlsCertificatesAndHostnamesFallbackOriginResponse = TlsCertificatesAndHostnamesApiResponseSingle & {
+  result?: TlsCertificatesAndHostnamesFallbackorigin;
+};
 
-/**
- * The order/priority in which the certificate will be used in a request. The higher priority will break ties across overlapping 'legacy_custom' certificates, but 'legacy_custom' certificates will always supercede 'sni_custom' certificates.
- *
- * @default 20
- * @example 1
- */
-export type PriorityFZPZtZRb = number;
+export type TlsCertificatesAndHostnamesFallbackorigin = {
+  created_at?: TlsCertificatesAndHostnamesSchemasCreatedAt;
+  errors?: TlsCertificatesAndHostnamesErrors;
+  origin?: TlsCertificatesAndHostnamesOrigin;
+  status?: TlsCertificatesAndHostnamesCustomHostnameFallbackOriginComponentsSchemasStatus;
+  updated_at?: TlsCertificatesAndHostnamesUpdatedAt;
+};
 
 /**
- * Required for MX, SRV and URI records; unused by other record types. Records with lower priorities are preferred.
+ * Unique identifier of the Client Certificate
  *
- * @example 10
- * @maximum 65535
- * @minimum 0
+ * @example 256c24690243359fb8cf139a125bd05ebf1d968b71e4caf330718e9f5c8a89ea
  */
-export type PriorityVEsVispp = number;
+export type TlsCertificatesAndHostnamesFingerprintSha256 = string;
 
 /**
- * The priority of the rule, used to define which Page Rule is processed over another. A higher number indicates a higher priority. For example, if you have a catch-all Page Rule (rule A: `/images/*`) but want a more specific Page Rule to take precedence (rule B: `/images/special/*`), specify a higher priority for rule B so it overrides rule A.
- *
- * @default 1
+ * Specify the region where your private key can be held locally for optimal TLS performance. HTTPS connections to any excluded data center will still be fully encrypted, but will incur some latency while Keyless SSL is used to complete the handshake with the nearest allowed data center. Options allow distribution to only to U.S. data centers, only to E.U. data centers, or only to highest security data centers. Default distribution is to all Cloudflare datacenters, for optimal performance.
  */
-export type PriorityCHRoVVCg = number;
+export type TlsCertificatesAndHostnamesGeoRestrictions = {
+  /**
+   * @example us
+   */
+  label?: 'us' | 'eu' | 'highest_security';
+};
 
 /**
- * The order/priority in which the certificate will be used in a request. The higher priority will break ties across overlapping 'legacy_custom' certificates, but 'legacy_custom' certificates will always supercede 'sni_custom' certificates.
+ * The keyless SSL name.
  *
- * @default 20
- * @example 1
+ * @example example.com
+ * @format hostname
+ * @maxLength 253
  */
-export type PriorityOBYCnVp3 = number;
+export type TlsCertificatesAndHostnamesHost = string;
 
 /**
- * Privacy option controls redacting WHOIS information.
+ * The custom hostname that will point to your hostname via CNAME.
  *
- * @example true
+ * @example app.example.com
+ * @maxLength 255
  */
-export type Privacy = boolean;
+export type TlsCertificatesAndHostnamesHostname = string;
 
-/**
- * Privacy Pass is a browser extension developed by the Privacy Pass Team to improve the browsing experience for your visitors. Enabling Privacy Pass will reduce the number of CAPTCHAs shown to your visitors. (https://support.cloudflare.com/hc/en-us/articles/115001992652-Privacy-Pass).
- */
-export type PrivacyPass = {
-  /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
-   *
-   * @default true
-   */
-  editable?: true | false;
-  /**
-   * ID of the zone setting.
-   *
-   * @example privacy_pass
-   */
-  id: 'privacy_pass';
-  /**
-   * last time this setting was modified.
-   *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
-   */
-  modified_on?: string | null;
-  /**
-   * Current value of the zone setting.
-   *
-   * @example on
-   */
-  value: PrivacyPassValue;
+export type TlsCertificatesAndHostnamesHostnameAuthenticatedOriginPull = {
+  cert_id?: TlsCertificatesAndHostnamesIdentifier;
+  cert_status?: TlsCertificatesAndHostnamesHostnameAuthenticatedOriginPullComponentsSchemasStatus;
+  cert_updated_at?: TlsCertificatesAndHostnamesSchemasUpdatedAt;
+  cert_uploaded_on?: TlsCertificatesAndHostnamesComponentsSchemasUploadedOn;
+  certificate?: TlsCertificatesAndHostnamesHostnameAuthenticatedOriginPullComponentsSchemasCertificate;
+  created_at?: TlsCertificatesAndHostnamesComponentsSchemasCreatedAt;
+  enabled?: TlsCertificatesAndHostnamesHostnameAuthenticatedOriginPullComponentsSchemasEnabled;
+  expires_on?: TlsCertificatesAndHostnamesHostnameAuthenticatedOriginPullComponentsSchemasExpiresOn;
+  hostname?: TlsCertificatesAndHostnamesSchemasHostname;
+  issuer?: TlsCertificatesAndHostnamesIssuer;
+  serial_number?: TlsCertificatesAndHostnamesSerialNumber;
+  signature?: TlsCertificatesAndHostnamesSignature;
+  status?: TlsCertificatesAndHostnamesHostnameAuthenticatedOriginPullComponentsSchemasStatus;
+  updated_at?: TlsCertificatesAndHostnamesSchemasUpdatedAt;
+  id?: TlsCertificatesAndHostnamesIdentifier;
+  private_key?: TlsCertificatesAndHostnamesSchemasPrivateKey;
 };
 
 /**
- * Value of the zone setting.
+ * The hostname certificate.
+ * 
+ * @example -----BEGIN CERTIFICATE-----
+MIIDtTCCAp2gAwIBAgIJAMHAwfXZ5/PWMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV
+BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX
+aWRnaXRzIFB0eSBMdGQwHhcNMTYwODI0MTY0MzAxWhcNMTYxMTIyMTY0MzAxWjBF
+MQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50
+ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
+CgKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmGdtcGbg/1
+CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKnabIRuGvB
+KwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpidtnKX/a+5
+0GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+pyFxIXjbEI
+dZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pEewooaeO2
+izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABo4GnMIGkMB0GA1UdDgQWBBT/LbE4
+9rWf288N6sJA5BRb6FJIGDB1BgNVHSMEbjBsgBT/LbE49rWf288N6sJA5BRb6FJI
+GKFJpEcwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNV
+BAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZIIJAMHAwfXZ5/PWMAwGA1UdEwQF
+MAMBAf8wDQYJKoZIhvcNAQELBQADggEBAHHFwl0tH0quUYZYO0dZYt4R7SJ0pCm2
+2satiyzHl4OnXcHDpekAo7/a09c6Lz6AU83cKy/+x3/djYHXWba7HpEu0dR3ugQP
+Mlr4zrhd9xKZ0KZKiYmtJH+ak4OM4L3FbT0owUZPyjLSlhMtJVcoRp5CJsjAMBUG
+SvD8RX+T01wzox/Qb+lnnNnOlaWpqu8eoOenybxKp1a9ULzIVvN/LAcc+14vioFq
+2swRWtmocBAs8QR9n4uvbpiYvS8eYueDCWMM4fvFfBhaDZ3N9IbtySh3SpFdQDhw
+YbjM2rxXiyLGxB4Bol7QTv4zHif7Zt89FReT/NBy4rzaskDJY5L6xmY=
+-----END CERTIFICATE-----
+ */
+export type TlsCertificatesAndHostnamesHostnameAuthenticatedOriginPullComponentsSchemasCertificate = string;
+
+export type TlsCertificatesAndHostnamesHostnameAuthenticatedOriginPullComponentsSchemasCertificateResponseCollection =
+  TlsCertificatesAndHostnamesApiResponseCollection & {
+    result?: TlsCertificatesAndHostnamesHostnameAuthenticatedOriginPull[];
+  };
+
+export type TlsCertificatesAndHostnamesHostnameAuthenticatedOriginPullComponentsSchemasCertificateResponseSingle =
+  TlsCertificatesAndHostnamesApiResponseSingle & {
+    result?: TlsCertificatesAndHostnamesSchemasCertificateObject;
+  };
+
+/**
+ * Indicates whether hostname-level authenticated origin pulls is enabled. A null value voids the association.
  *
- * @default on
+ * @example true
  */
-export type PrivacyPassValue = 'on' | 'off';
+export type TlsCertificatesAndHostnamesHostnameAuthenticatedOriginPullComponentsSchemasEnabled = boolean | null;
 
 /**
- * The zone's private key.
- * 
- * @example -----BEGIN RSA PRIVATE KEY-----
-MIIEowIBAAKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmG
-dtcGbg/1CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKn
-abIRuGvBKwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpid
-tnKX/a+50GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+py
-FxIXjbEIdZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pE
-ewooaeO2izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABAoIBACbhTYXBZYKmYPCb
-HBR1IBlCQA2nLGf0qRuJNJZg5iEzXows/6tc8YymZkQE7nolapWsQ+upk2y5Xdp/
-axiuprIs9JzkYK8Ox0r+dlwCG1kSW+UAbX0bQ/qUqlsTvU6muVuMP8vZYHxJ3wmb
-+ufRBKztPTQ/rYWaYQcgC0RWI20HTFBMxlTAyNxYNWzX7RKFkGVVyB9RsAtmcc8g
-+j4OdosbfNoJPS0HeIfNpAznDfHKdxDk2Yc1tV6RHBrC1ynyLE9+TaflIAdo2MVv
-KLMLq51GqYKtgJFIlBRPQqKoyXdz3fGvXrTkf/WY9QNq0J1Vk5ERePZ54mN8iZB7
-9lwy/AkCgYEA6FXzosxswaJ2wQLeoYc7ceaweX/SwTvxHgXzRyJIIT0eJWgx13Wo
-/WA3Iziimsjf6qE+SI/8laxPp2A86VMaIt3Z3mJN/CqSVGw8LK2AQst+OwdPyDMu
-iacE8lj/IFGC8mwNUAb9CzGU3JpU4PxxGFjS/eMtGeRXCWkK4NE+G08CgYEA1Kp9
-N2JrVlqUz+gAX+LPmE9OEMAS9WQSQsfCHGogIFDGGcNf7+uwBM7GAaSJIP01zcoe
-VAgWdzXCv3FLhsaZoJ6RyLOLay5phbu1iaTr4UNYm5WtYTzMzqh8l1+MFFDl9xDB
-vULuCIIrglM5MeS/qnSg1uMoH2oVPj9TVst/ir8CgYEAxrI7Ws9Zc4Bt70N1As+U
-lySjaEVZCMkqvHJ6TCuVZFfQoE0r0whdLdRLU2PsLFP+q7qaeZQqgBaNSKeVcDYR
-9B+nY/jOmQoPewPVsp/vQTCnE/R81spu0mp0YI6cIheT1Z9zAy322svcc43JaWB7
-mEbeqyLOP4Z4qSOcmghZBSECgYACvR9Xs0DGn+wCsW4vze/2ei77MD4OQvepPIFX
-dFZtlBy5ADcgE9z0cuVB6CiL8DbdK5kwY9pGNr8HUCI03iHkW6Zs+0L0YmihfEVe
-PG19PSzK9CaDdhD9KFZSbLyVFmWfxOt50H7YRTTiPMgjyFpfi5j2q348yVT0tEQS
-fhRqaQKBgAcWPokmJ7EbYQGeMbS7HC8eWO/RyamlnSffdCdSc7ue3zdVJxpAkQ8W
-qu80pEIF6raIQfAf8MXiiZ7auFOSnHQTXUbhCpvDLKi0Mwq3G8Pl07l+2s6dQG6T
-lv6XTQaMyf6n1yjzL+fzDrH3qXMxHMO/b13EePXpDMpY7HQpoLDi
------END RSA PRIVATE KEY-----
+ * The date when the certificate expires.
+ *
+ * @example 2100-01-01T05:20:00Z
+ * @format date-time
  */
-export type PrivateKey = string;
+export type TlsCertificatesAndHostnamesHostnameAuthenticatedOriginPullComponentsSchemasExpiresOn = string;
 
 /**
- * Assign this monitor to emulate the specified zone while probing. This parameter is only valid for HTTP and HTTPS monitors.
+ * Status of the certificate or the association.
  *
- * @example example.com
+ * @example active
  */
-export type ProbeZone = string;
-
-export type Products = ('zoneLockdown' | 'uaBlock' | 'bic' | 'hot' | 'securityLevel' | 'rateLimit' | 'waf')[];
+export type TlsCertificatesAndHostnamesHostnameAuthenticatedOriginPullComponentsSchemasStatus =
+  | 'initializing'
+  | 'pending_deployment'
+  | 'pending_deletion'
+  | 'active'
+  | 'deleted'
+  | 'deployment_timed_out'
+  | 'deletion_timed_out';
 
 /**
- * UUID
+ * This is the time the tls setting was originally created for this hostname.
  *
- * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
- * @maxLength 36
+ * @example 2023-07-10T20:01:50.219171Z
+ * @format date-time
  */
-export type ProfileId = Uuid;
-
-export type Profiles = PredefinedProfile | CustomProfile | IntegrationProfile;
-
-export type ProfilesFWhiUuM4 = PredefinedProfile | CustomProfile;
-
-export type ProfilesComponentsSchemasResponseCollection = ApiResponseCollection & {
-  result?: ProfilesFWhiUuM4[];
-};
+export type TlsCertificatesAndHostnamesHostnameTlsSettingsComponentsSchemasCreatedAt = string;
 
 /**
- * @example {"deployment_configs":{"production":{"compatibility_date":"2022-01-01","compatibility_flags":["url_standard"],"env_vars":{"BUILD_VERSION":{"value":"3.3"},"delete_this_env_var":null,"secret_var":{"type":"secret_text","value":"A_CMS_API_TOKEN"}}}}}
+ * Deployment status for the given tls setting.
+ *
+ * @example pending_deployment
  */
-export type ProjectPatch = void;
-
-export type ProjectResponse = {
-  errors: Messages;
-  messages: Messages;
-  result: Projects;
-  /**
-   * Whether the API call was successful
-   *
-   * @example true
-   */
-  success: true;
-};
+export type TlsCertificatesAndHostnamesHostnameTlsSettingsComponentsSchemasStatus = string;
 
 /**
- * Name of the project.
+ * This is the time the tls setting was updated.
  *
- * @example this-is-my-project-01
- * @pattern ^[a-z0-9][a-z0-9-]*$
+ * @example 2023-07-10T20:01:50.219171Z
+ * @format date-time
  */
-export type ProjectName = string;
+export type TlsCertificatesAndHostnamesHostnameTlsSettingsComponentsSchemasUpdatedAt = string;
 
-export type Projects = {
-  build_config?: BuildConfig;
-  /**
-   * Most recent deployment to the repo.
-   */
-  canonical_deployment?: (void | null) | Deployments;
-  /**
-   * When the project was created.
-   *
-   * @example 2017-01-01T00:00:00Z
-   * @format date-time
-   */
-  created_on?: string;
-  deployment_configs?: DeploymentConfigs;
-  /**
-   * A list of associated custom domains for the project.
-   *
-   * @example customdomain.com
-   * @example customdomain.org
-   */
-  domains?: any[];
-  /**
-   * Id of the project.
-   *
-   * @example 7b162ea7-7367-4d67-bcde-1160995d5
-   */
-  id?: string;
-  /**
-   * Most recent deployment to the repo.
-   */
-  latest_deployment?: (void | null) | Deployments;
-  /**
-   * Name of the project.
-   *
-   * @example NextJS Blog
-   */
-  name?: string;
-  /**
-   * Production branch of the project. Used to identify production deployments.
-   *
-   * @example main
-   */
-  production_branch?: string;
-  source?: void;
-  /**
-   * The Cloudflare subdomain associated with the project.
-   *
-   * @example helloworld.pages.dev
-   */
-  subdomain?: string;
+export type TlsCertificatesAndHostnamesHostnameAopResponseCollection =
+  TlsCertificatesAndHostnamesApiResponseCollection & {
+    result?: TlsCertificatesAndHostnamesHostnameAuthenticatedOriginPull[];
+  };
+
+export type TlsCertificatesAndHostnamesHostnameAopSingleResponse = TlsCertificatesAndHostnamesApiResponseSingle & {
+  result?: TlsCertificatesAndHostnamesHostnameCertidObject;
 };
 
-export type ProjectsResponse = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | any[] | string;
+export type TlsCertificatesAndHostnamesHostnameAssociation = {
+  hostnames?: TlsCertificatesAndHostnamesSchemasHostnames;
   /**
-   * Whether the API call was successful
+   * The UUID for a certificate that was uploaded to the mTLS Certificate Management endpoint. If no mtls_certificate_id is given, the hostnames will be associated to your active Cloudflare Managed CA.
    *
-   * @example true
+   * @maxLength 36
+   * @minLength 36
    */
-  success: true;
-  result_info?: {
-    /**
-     * @example 1
-     */
-    count?: void;
-    /**
-     * @example 1
-     */
-    page?: void;
-    /**
-     * @example 100
-     */
-    per_page?: void;
-    /**
-     * @example 1
-     */
-    total_count?: void;
+  mtls_certificate_id?: string;
+};
+
+export type TlsCertificatesAndHostnamesHostnameAssociationsResponse = TlsCertificatesAndHostnamesApiResponseSingle & {
+  result?: {
+    hostnames?: TlsCertificatesAndHostnamesSchemasHostnames;
   };
 };
 
+export type TlsCertificatesAndHostnamesHostnameCertidInput = {
+  cert_id?: TlsCertificatesAndHostnamesCertId;
+  enabled?: TlsCertificatesAndHostnamesHostnameAuthenticatedOriginPullComponentsSchemasEnabled;
+  hostname?: TlsCertificatesAndHostnamesSchemasHostname;
+};
+
+export type TlsCertificatesAndHostnamesHostnameCertidObject = {
+  cert_id?: TlsCertificatesAndHostnamesIdentifier;
+  cert_status?: TlsCertificatesAndHostnamesHostnameAuthenticatedOriginPullComponentsSchemasStatus;
+  cert_updated_at?: TlsCertificatesAndHostnamesSchemasUpdatedAt;
+  cert_uploaded_on?: TlsCertificatesAndHostnamesComponentsSchemasUploadedOn;
+  certificate?: TlsCertificatesAndHostnamesHostnameAuthenticatedOriginPullComponentsSchemasCertificate;
+  created_at?: TlsCertificatesAndHostnamesComponentsSchemasCreatedAt;
+  enabled?: TlsCertificatesAndHostnamesHostnameAuthenticatedOriginPullComponentsSchemasEnabled;
+  expires_on?: TlsCertificatesAndHostnamesHostnameAuthenticatedOriginPullComponentsSchemasExpiresOn;
+  hostname?: TlsCertificatesAndHostnamesSchemasHostname;
+  issuer?: TlsCertificatesAndHostnamesIssuer;
+  serial_number?: TlsCertificatesAndHostnamesSerialNumber;
+  signature?: TlsCertificatesAndHostnamesSignature;
+  status?: TlsCertificatesAndHostnamesHostnameAuthenticatedOriginPullComponentsSchemasStatus;
+  updated_at?: TlsCertificatesAndHostnamesSchemasUpdatedAt;
+};
+
 /**
- * Requests information about certain properties.
+ * The custom hostname that will point to your hostname via CNAME.
  *
- * @example auth_id_characteristics
- * @uniqueItems true
+ * @example app.example.com
+ * @maxLength 255
  */
-export type Properties = 'auth_id_characteristics'[];
+export type TlsCertificatesAndHostnamesHostnamePost = string;
 
 /**
- * Account name
+ * Array of hostnames or wildcard names (e.g., *.example.com) bound to the certificate.
  *
- * @example Demo Account
- * @maxLength 100
+ * @example example.com
+ * @example *.example.com
  */
-export type PropertiesName = string;
+export type TlsCertificatesAndHostnamesHostnames = string[];
+
+export type TlsCertificatesAndHostnamesHosts = string[];
 
 /**
- * The port configuration at Cloudflare’s edge. May specify a single port, for example `"tcp/1000"`, or a range of ports, for example `"tcp/1000-2000"`.
+ * Identifier
  *
- * @example tcp/22
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type Protocol = string;
+export type TlsCertificatesAndHostnamesIdentifier = string;
 
 /**
- * The name of provider. Usually cloudflare.
+ * Date that the Client Certificate was issued by the Certificate Authority
  *
- * @example Cloudflare
+ * @example 2023-02-23T23:18:00Z
  */
-export type ProviderName = string;
+export type TlsCertificatesAndHostnamesIssuedOn = string;
 
 /**
- * Whether the hostname should be gray clouded (false) or orange clouded (true).
+ * The certificate authority that issued the certificate.
  *
- * @default false
- * @example true
+ * @example GlobalSign
  */
-export type Proxied = boolean;
+export type TlsCertificatesAndHostnamesIssuer = string;
+
+export type TlsCertificatesAndHostnamesKeylessCertificate = TlsCertificatesAndHostnamesBase;
 
 /**
- * Whether the record is receiving the performance and security benefits of Cloudflare.
+ * Private IP of the Key Server Host
  *
- * @example false
+ * @example 10.0.0.1
  */
-export type ProxiedDwzKQw8a = boolean;
+export type TlsCertificatesAndHostnamesKeylessPrivateIp = string;
 
-export type ProxyEndpoints = {
-  created_at?: Timestamp;
-  id?: SchemasUuidHmO1cTZ9;
-  ips?: IpsFDl19jsa;
-  name?: ProxyEndpointsComponentsSchemasName;
-  subdomain?: SchemasSubdomain;
-  updated_at?: Timestamp;
+export type TlsCertificatesAndHostnamesKeylessResponseCollection = TlsCertificatesAndHostnamesApiResponseCollection & {
+  result?: TlsCertificatesAndHostnamesKeylessCertificate[];
 };
 
-/**
- * The name of the Proxy Endpoint.
- *
- * @example Devops team
- */
-export type ProxyEndpointsComponentsSchemasName = string;
+export type TlsCertificatesAndHostnamesKeylessResponseSingle = TlsCertificatesAndHostnamesApiResponseSingle & {
+  result?: TlsCertificatesAndHostnamesBase;
+};
 
-export type ProxyEndpointsComponentsSchemasResponseCollection = ApiResponseCollection & {
-  result?: ProxyEndpoints[];
+export type TlsCertificatesAndHostnamesKeylessResponseSingleId = TlsCertificatesAndHostnamesApiResponseSingle & {
+  result?: {
+    id?: TlsCertificatesAndHostnamesIdentifier;
+  };
 };
 
-export type ProxyEndpointsComponentsSchemasSingleResponse = ApiResponseSingleVxjnpV7r & {
-  result?: ProxyEndpoints;
+/**
+ * Configuration for using Keyless SSL through a Cloudflare Tunnel
+ */
+export type TlsCertificatesAndHostnamesKeylessTunnel = {
+  private_ip: TlsCertificatesAndHostnamesKeylessPrivateIp;
+  vnet_id: TlsCertificatesAndHostnamesKeylessVnetId;
 };
 
 /**
- * Enables Proxy Protocol to the origin. Refer to [Enable Proxy protocol](https://developers.cloudflare.com/spectrum/getting-started/proxy-protocol/) for implementation details on PROXY Protocol V1, PROXY Protocol V2, and Simple Proxy Protocol.
+ * Cloudflare Tunnel Virtual Network ID
  *
- * @default off
- * @example off
+ * @example 7365377a-85a4-4390-9480-531ef7dc7a3c
  */
-export type ProxyProtocol = 'off' | 'v1' | 'v2' | 'simple';
+export type TlsCertificatesAndHostnamesKeylessVnetId = string;
 
 /**
- * Maximum time between two read operations from origin.
+ * Location, provided by the CSR
+ *
+ * @example Somewhere
  */
-export type ProxyReadTimeout = {
-  /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
-   *
-   * @default true
-   */
-  editable?: true | false;
-  /**
-   * ID of the zone setting.
-   *
-   * @example proxy_read_timeout
-   */
-  id: 'proxy_read_timeout';
-  /**
-   * last time this setting was modified.
-   *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
-   */
-  modified_on?: string | null;
+export type TlsCertificatesAndHostnamesLocation = string;
+
+export type TlsCertificatesAndHostnamesMessages = {
   /**
-   * Current value of the zone setting.
-   *
-   * @example on
+   * @minimum 1000
    */
-  value: ProxyReadTimeoutValue;
-};
+  code: number;
+  message: string;
+}[];
 
 /**
- * Value of the zone setting.
- * Notes: Value must be between 1 and 6000
+ * When the certificate was last modified.
  *
- * @default 100
+ * @example 2014-01-01T05:20:00Z
+ * @format date-time
  */
-export type ProxyReadTimeoutValue = number;
+export type TlsCertificatesAndHostnamesModifiedOn = string;
+
+export type TlsCertificatesAndHostnamesMtlsManagementComponentsSchemasCertificateResponseCollection =
+  TlsCertificatesAndHostnamesApiResponseCollection & {
+    result?: TlsCertificatesAndHostnamesComponentsSchemasCertificateObject[];
+  } & {
+    result_info?: {
+      /**
+       * @example 1
+       */
+      count?: void;
+      /**
+       * @example 1
+       */
+      page?: void;
+      /**
+       * @example 50
+       */
+      per_page?: void;
+      /**
+       * @example 1
+       */
+      total_count?: void;
+      /**
+       * Total pages available of results
+       *
+       * @example 1
+       */
+      total_pages?: number;
+    };
+  };
+
+export type TlsCertificatesAndHostnamesMtlsManagementComponentsSchemasCertificateResponseSingle =
+  TlsCertificatesAndHostnamesApiResponseSingle & {
+    result?: TlsCertificatesAndHostnamesComponentsSchemasCertificateObject;
+  };
 
 /**
- * The value set for the Pseudo IPv4 setting.
+ * When the certificate expires.
+ *
+ * @example 2122-10-29T16:59:47Z
+ * @format date-time
  */
-export type PseudoIpv4 = {
-  /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
-   *
-   * @default true
-   */
-  editable?: true | false;
-  /**
-   * Value of the Pseudo IPv4 setting.
-   *
-   * @example development_mode
-   * @default pseudo_ipv4
-   */
-  id: 'pseudo_ipv4';
-  /**
-   * last time this setting was modified.
-   *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
-   */
-  modified_on?: string | null;
-  /**
-   * Current value of the zone setting.
-   *
-   * @example on
-   */
-  value: PseudoIpv4Value;
-};
+export type TlsCertificatesAndHostnamesMtlsManagementComponentsSchemasExpiresOn = string;
 
 /**
- * Value of the Pseudo IPv4 setting.
+ * Certificate deployment status for the given service.
  *
- * @default off
+ * @example pending_deployment
  */
-export type PseudoIpv4Value = 'off' | 'add_header' | 'overwrite_header';
+export type TlsCertificatesAndHostnamesMtlsManagementComponentsSchemasStatus = string;
 
 /**
- * A randomly generated or provided string for use in the IPsec tunnel.
+ * This is the time the certificate was uploaded.
  *
- * @example O3bwKSjnaoCxDoUxjcq4Rk8ZKkezQUiy
+ * @example 2022-11-22T17:32:30.467938Z
+ * @format date-time
  */
-export type Psk = string;
-
-export type PskGenerationResponse = ApiResponseSingleRxxEmdsv & {
-  result?: {
-    ipsec_tunnel_id?: Identifier;
-    psk?: Psk;
-    psk_metadata?: PskMetadata;
-  };
-};
+export type TlsCertificatesAndHostnamesMtlsManagementComponentsSchemasUploadedOn = string;
 
 /**
- * The PSK metadata that includes when the PSK was generated.
+ * The keyless SSL name.
+ *
+ * @example example.com Keyless SSL
+ * @maxLength 180
  */
-export type PskMetadata = {
-  last_generated_on?: SchemasModifiedOn;
-};
+export type TlsCertificatesAndHostnamesName = string;
 
 /**
- * The public key to add to your SSH server configuration.
+ * The keyless SSL name.
  *
- * @example ecdsa-sha2-nistp256 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= open-ssh-ca@cloudflareaccess.org
+ * @example example.com Keyless SSL
+ * @maxLength 180
  */
-export type PublicKey = string;
+export type TlsCertificatesAndHostnamesNameWrite = string;
 
 /**
- * Public key for DS record.
+ * Organization, provided by the CSR
  *
- * @example oXiGYrSTO+LSCJ3mohc8EP+CzF9KxBj8/ydXJ22pKuZP3VAC3/Md/k7xZfz470CoRyZJ6gV6vml07IC3d8xqhA==
+ * @example Organization
  */
-export type PublicKeyAH0a9AtA = string | null;
+export type TlsCertificatesAndHostnamesOrganization = string;
 
 /**
- * A custom message that will appear on the purpose justification screen.
+ * Organizational Unit, provided by the CSR
  *
- * @example Please enter a justification for entering this protected domain.
+ * @example Organizational Unit
  */
-export type PurposeJustificationPrompt = string;
+export type TlsCertificatesAndHostnamesOrganizationalUnit = string;
 
 /**
- * Require users to enter a justification when they log in to the application.
+ * Your origin hostname that requests to your custom hostnames will be sent to.
  *
- * @default false
- * @example true
+ * @example fallback.example.com
+ * @maxLength 255
  */
-export type PurposeJustificationRequired = boolean;
+export type TlsCertificatesAndHostnamesOrigin = string;
 
-export type Query = {
+/**
+ * This is a record which can be placed to activate a hostname.
+ */
+export type TlsCertificatesAndHostnamesOwnershipVerification = {
   /**
-   * Array of dimension names.
+   * DNS Name for record.
    *
-   * @example responseCode
-   * @example queryName
+   * @example _cf-custom-hostname.app.example.com
    */
-  dimensions: string[];
-  filters?: Filters;
-  limit: Limit;
+  name?: string;
   /**
-   * Array of metric names.
+   * DNS Record type.
    *
-   * @example queryCount
-   * @example responseTimeAvg
+   * @example txt
    */
-  metrics: string[];
-  since: Since;
+  type?: 'txt';
   /**
-   * Array of dimensions to sort by, where each dimension may be prefixed by - (descending) or + (ascending).
+   * Content for the record.
    *
-   * @example +responseCode
-   * @example -queryName
+   * @example 5cc07c04-ea62-4a5a-95f0-419334a875a4
    */
-  sort?: string[];
-  until: Until;
+  value?: string;
 };
 
 /**
- * For specifying result metrics.
+ * This presents the token to be served by the given http url to activate a hostname.
  */
-export type QueryLWVM8wx5 = {
-  /**
-   * Can be used to break down the data by given attributes.
-   *
-   * @default []
-   */
-  dimensions?: string[];
-  /**
-   * Used to filter rows by one or more dimensions. Filters can be combined using OR and AND boolean logic. AND takes precedence over OR in all the expressions. The OR operator is defined using a comma (,) or OR keyword surrounded by whitespace. The AND operator is defined using a semicolon (;) or AND keyword surrounded by whitespace. Note that the semicolon is a reserved character in URLs (rfc1738) and needs to be percent-encoded as %3B. Comparison options are:
-   *
-   * Operator                  | Name                            | URL Encoded
-   * --------------------------|---------------------------------|--------------------------
-   * ==                        | Equals                          | %3D%3D
-   * !=                        | Does not equals                 | !%3D
-   * >                        | Greater Than                    | %3E
-   * <                         | Less Than                       | %3C
-   * >=                       | Greater than or equal to        | %3E%3D
-   * <=                        | Less than or equal to           | %3C%3D     .
-   *
-   * @default ""
-   */
-  filters?: string;
-  /**
-   * Limit number of returned metrics.
-   *
-   * @default 10000
-   */
-  limit?: number;
-  /**
-   * One or more metrics to compute.
-   */
-  metrics?: string[];
-  /**
-   * Start of time interval to query, defaults to 6 hours before request received.
-   *
-   * @default <6 hours ago>
-   * @example 2019-01-02T02:20:00Z
-   * @format date-time
-   */
-  since?: string;
+export type TlsCertificatesAndHostnamesOwnershipVerificationHttp = {
   /**
-   * Array of dimensions or metrics to sort by, each dimension/metric may be prefixed by - (descending) or + (ascending).
+   * Token to be served.
    *
-   * @default []
+   * @example 5cc07c04-ea62-4a5a-95f0-419334a875a4
    */
-  sort?: any[];
+  http_body?: string;
   /**
-   * End of time interval to query, defaults to current time.
+   * The HTTP URL that will be checked during custom hostname verification and where the customer should host the token.
    *
-   * @default <now>
-   * @example 2019-01-02T03:20:00Z
-   * @format date-time
+   * @example http://custom.test.com/.well-known/cf-custom-hostname-challenge/0d89c70d-ad9f-4843-b99f-6cc0252067e9
    */
-  until?: string;
+  http_url?: string;
 };
 
-export type QueryEvent = {
-  custom_page_html?: EventCustomPageHtml;
-  description?: EventDescription;
-  disable_session_renewal?: EventDisableSessionRenewal;
-  event_end_time: EventEndTime;
-  event_start_time: EventStartTime;
-  name: EventName;
-  new_users_per_minute?: EventNewUsersPerMinute;
-  prequeue_start_time?: EventPrequeueStartTime;
-  queueing_method?: EventQueueingMethod;
-  session_duration?: EventSessionDuration;
-  shuffle_at_event_start?: EventShuffleAtEventStart;
-  suspended?: EventSuspended;
-  total_active_users?: EventTotalActiveUsers;
+export type TlsCertificatesAndHostnamesPerHostnameSettingsResponse = TlsCertificatesAndHostnamesApiResponseSingle & {
+  result?: TlsCertificatesAndHostnamesSettingObject;
 };
 
-export type QueryHealthcheck = {
-  address: Address;
-  check_regions?: CheckRegions;
-  consecutive_fails?: ConsecutiveFails;
-  consecutive_successes?: ConsecutiveSuccesses;
-  description?: DescriptionNNNUBbC7;
-  http_config?: HttpConfig;
-  interval?: Interval;
-  name: Name8NztOXJ3;
-  retries?: RetriesZPd5bYtZ;
-  suspended?: Suspended;
-  tcp_config?: TcpConfig;
-  timeout?: Timeout;
-  type?: Type;
-};
+export type TlsCertificatesAndHostnamesPerHostnameSettingsResponseCollection =
+  TlsCertificatesAndHostnamesApiResponseCollection & {
+    result?: {
+      created_at?: TlsCertificatesAndHostnamesHostnameTlsSettingsComponentsSchemasCreatedAt;
+      hostname?: TlsCertificatesAndHostnamesComponentsSchemasHostname;
+      status?: TlsCertificatesAndHostnamesHostnameTlsSettingsComponentsSchemasStatus;
+      updated_at?: TlsCertificatesAndHostnamesHostnameTlsSettingsComponentsSchemasUpdatedAt;
+      value?: TlsCertificatesAndHostnamesValue;
+    }[];
+  } & {
+    result_info?: {
+      /**
+       * @example 1
+       */
+      count?: void;
+      /**
+       * @example 1
+       */
+      page?: void;
+      /**
+       * @example 50
+       */
+      per_page?: void;
+      /**
+       * @example 1
+       */
+      total_count?: void;
+      /**
+       * Total pages available of results
+       *
+       * @example 1
+       */
+      total_pages?: number;
+    };
+  };
 
-export type QueryPreview = {
-  custom_html: CustomPageHtml;
-};
+export type TlsCertificatesAndHostnamesPerHostnameSettingsResponseDelete =
+  TlsCertificatesAndHostnamesApiResponseSingle & {
+    result?: TlsCertificatesAndHostnamesSettingObjectDelete;
+  };
 
 /**
- * The exact parameters/timestamps the analytics service used to return data.
+ * Specify the policy that determines the region where your private key will be held locally. HTTPS connections to any excluded data center will still be fully encrypted, but will incur some latency while Keyless SSL is used to complete the handshake with the nearest allowed data center. Any combination of countries, specified by their two letter country code (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) can be chosen, such as 'country: IN', as well as 'region: EU' which refers to the EU region. If there are too few data centers satisfying the policy, it will be rejected.
+ *
+ * @example (country: US) or (region: EU)
  */
-export type QueryResponse = {
-  since?: SinceO1OWzWkU;
-  /**
-   * The amount of time (in minutes) that each data point in the timeseries represents. The granularity of the time-series returned (e.g. each bucket in the time series representing 1-minute vs 1-day) is calculated by the API based on the time-range provided to the API.
-   */
-  time_delta?: number;
-  until?: UntilOh0IDugA;
-};
-
-export type QueryWaitingroom = {
-  cookie_attributes?: CookieAttributes;
-  custom_page_html?: CustomPageHtml;
-  default_template_language?: DefaultTemplateLanguage;
-  description?: DescriptionJIh6Lv2u;
-  disable_session_renewal?: DisableSessionRenewal;
-  host: HostB3JrS1Yy;
-  json_response_enabled?: JsonResponseEnabled;
-  name: NameGu3WWDHz;
-  new_users_per_minute: NewUsersPerMinute;
-  path?: PathIVkcNWHz;
-  queue_all?: QueueAll;
-  queueing_method?: QueueingMethod;
-  session_duration?: SessionDurationDWa1S8Ip;
-  suspended?: SuspendedW815GHPM;
-  total_active_users: TotalActiveUsers;
-};
-
-export type Queue = {
-  consumers?: void;
-  consumers_total_count?: void;
-  created_on?: void;
-  modified_on?: void;
-  producers?: void;
-  producers_total_count?: void;
-  queue_id?: void;
-  queue_name?: QueuesComponentsSchemasName;
-};
+export type TlsCertificatesAndHostnamesPolicy = string;
 
 /**
- * If queue_all is `true`, all the traffic that is coming to a route will be sent to the waiting room. No new traffic can get to the route once this field is set and estimated time will become unavailable.
+ * The keyless SSL port used to communicate between Cloudflare and the client's Keyless SSL server.
  *
- * @default false
- * @example true
+ * @default 24008
+ * @example 24008
+ * @maxLength 65535
  */
-export type QueueAll = boolean;
-
-export type QueueCreated = {
-  created_on?: void;
-  modified_on?: void;
-  queue_id?: void;
-  queue_name?: QueuesComponentsSchemasName;
-};
-
-export type QueueUpdated = {
-  created_on?: void;
-  modified_on?: void;
-  queue_id?: void;
-  queue_name?: RenamedName;
-};
+export type TlsCertificatesAndHostnamesPort = number;
 
 /**
- * Sets the queueing method used by the waiting room. Changing this parameter from the **default** queueing method is only available for the Waiting Room Advanced subscription. Regardless of the queueing method, if `queue_all` is enabled or an event is prequeueing, users in the waiting room will not be accepted to the origin. These users will always see a waiting room page that refreshes automatically. The valid queueing methods are:
- * 1. `fifo` **(default)**: First-In-First-Out queue where customers gain access in the order they arrived.
- * 2. `random`: Random queue where customers gain access randomly, regardless of arrival time.
- * 3. `passthrough`: Users will pass directly through the waiting room and into the origin website. As a result, any configured limits will not be respected while this is enabled. This method can be used as an alternative to disabling a waiting room (with `suspended`) so that analytics are still reported. This can be used if you wish to allow all traffic normally, but want to restrict traffic during a waiting room event, or vice versa.
- * 4. `reject`: Users will be immediately rejected from the waiting room. As a result, no users will reach the origin website while this is enabled. This can be used if you wish to reject all traffic while performing maintenance, block traffic during a specified period of time (an event), or block traffic while events are not occurring. Consider a waiting room used for vaccine distribution that only allows traffic during sign-up events, and otherwise blocks all traffic. For this case, the waiting room uses `reject`, and its events override this with `fifo`, `random`, or `passthrough`. When this queueing method is enabled and neither `queueAll` is enabled nor an event is prequeueing, the waiting room page **will not refresh automatically**.
+ * The order/priority in which the certificate will be used in a request. The higher priority will break ties across overlapping 'legacy_custom' certificates, but 'legacy_custom' certificates will always supercede 'sni_custom' certificates.
  *
- * @default fifo
- * @example fifo
+ * @default 0
+ * @example 1
  */
-export type QueueingMethod = 'fifo' | 'random' | 'passthrough' | 'reject';
+export type TlsCertificatesAndHostnamesPriority = number;
 
 /**
- * @example example-queue
+ * The zone's private key.
+ * 
+ * @example -----BEGIN RSA PRIVATE KEY-----
+MIIEowIBAAKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmG
+dtcGbg/1CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKn
+abIRuGvBKwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpid
+tnKX/a+50GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+py
+FxIXjbEIdZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pE
+ewooaeO2izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABAoIBACbhTYXBZYKmYPCb
+HBR1IBlCQA2nLGf0qRuJNJZg5iEzXows/6tc8YymZkQE7nolapWsQ+upk2y5Xdp/
+axiuprIs9JzkYK8Ox0r+dlwCG1kSW+UAbX0bQ/qUqlsTvU6muVuMP8vZYHxJ3wmb
++ufRBKztPTQ/rYWaYQcgC0RWI20HTFBMxlTAyNxYNWzX7RKFkGVVyB9RsAtmcc8g
++j4OdosbfNoJPS0HeIfNpAznDfHKdxDk2Yc1tV6RHBrC1ynyLE9+TaflIAdo2MVv
+KLMLq51GqYKtgJFIlBRPQqKoyXdz3fGvXrTkf/WY9QNq0J1Vk5ERePZ54mN8iZB7
+9lwy/AkCgYEA6FXzosxswaJ2wQLeoYc7ceaweX/SwTvxHgXzRyJIIT0eJWgx13Wo
+/WA3Iziimsjf6qE+SI/8laxPp2A86VMaIt3Z3mJN/CqSVGw8LK2AQst+OwdPyDMu
+iacE8lj/IFGC8mwNUAb9CzGU3JpU4PxxGFjS/eMtGeRXCWkK4NE+G08CgYEA1Kp9
+N2JrVlqUz+gAX+LPmE9OEMAS9WQSQsfCHGogIFDGGcNf7+uwBM7GAaSJIP01zcoe
+VAgWdzXCv3FLhsaZoJ6RyLOLay5phbu1iaTr4UNYm5WtYTzMzqh8l1+MFFDl9xDB
+vULuCIIrglM5MeS/qnSg1uMoH2oVPj9TVst/ir8CgYEAxrI7Ws9Zc4Bt70N1As+U
+lySjaEVZCMkqvHJ6TCuVZFfQoE0r0whdLdRLU2PsLFP+q7qaeZQqgBaNSKeVcDYR
+9B+nY/jOmQoPewPVsp/vQTCnE/R81spu0mp0YI6cIheT1Z9zAy322svcc43JaWB7
+mEbeqyLOP4Z4qSOcmghZBSECgYACvR9Xs0DGn+wCsW4vze/2ei77MD4OQvepPIFX
+dFZtlBy5ADcgE9z0cuVB6CiL8DbdK5kwY9pGNr8HUCI03iHkW6Zs+0L0YmihfEVe
+PG19PSzK9CaDdhD9KFZSbLyVFmWfxOt50H7YRTTiPMgjyFpfi5j2q348yVT0tEQS
+fhRqaQKBgAcWPokmJ7EbYQGeMbS7HC8eWO/RyamlnSffdCdSc7ue3zdVJxpAkQ8W
+qu80pEIF6raIQfAf8MXiiZ7auFOSnHQTXUbhCpvDLKi0Mwq3G8Pl07l+2s6dQG6T
+lv6XTQaMyf6n1yjzL+fzDrH3qXMxHMO/b13EePXpDMpY7HQpoLDi
+-----END RSA PRIVATE KEY-----
  */
-export type QueuesComponentsSchemasName = string;
+export type TlsCertificatesAndHostnamesPrivateKey = string;
 
-export type Quota = {
+export type TlsCertificatesAndHostnamesQuota = {
   /**
    * Quantity Allocated.
    */
@@ -19206,1019 +39988,1178 @@ export type Quota = {
   used?: number;
 };
 
-export type R2SingleBucketOperationResponse = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | any[] | string;
+/**
+ * Signature type desired on certificate ("origin-rsa" (rsa), "origin-ecc" (ecdsa), or "keyless-certificate" (for Keyless SSL servers).
+ *
+ * @example origin-rsa
+ */
+export type TlsCertificatesAndHostnamesRequestType = 'origin-rsa' | 'origin-ecc' | 'keyless-certificate';
+
+/**
+ * The number of days for which the certificate should be valid.
+ *
+ * @default 5475
+ * @example 5475
+ */
+export type TlsCertificatesAndHostnamesRequestedValidity = 7 | 30 | 90 | 365 | 730 | 1095 | 5475;
+
+export type TlsCertificatesAndHostnamesResultInfo = {
+  /**
+   * Total number of results for the requested service
+   *
+   * @example 1
+   */
+  count?: number;
+  /**
+   * Current page within paginated list of results
+   *
+   * @example 1
+   */
+  page?: number;
+  /**
+   * Number of results per page of results
+   *
+   * @example 20
+   */
+  per_page?: number;
   /**
-   * Whether the API call was successful
+   * Total results available without any search parameters
    *
-   * @example true
+   * @example 2000
    */
-  success: true;
-};
-
-export type Railgun = {
-  activated_on: ActivatedOn;
-  activation_key: ActivationKey;
-  build: Build;
-  created_on: ComponentsSchemasCreatedOn;
-  enabled: RailgunComponentsSchemasEnabled;
-  id: RailgunComponentsSchemasIdentifier;
-  modified_on: RailgunComponentsSchemasModifiedOn;
-  name: RailgunComponentsSchemasName;
-  revision: Revision;
-  status: RailgunComponentsSchemasStatus;
-  upgrade_info?: UpgradeInfo;
-  version: ComponentsSchemasVersion;
-  zones_connected: ZonesConnected;
+  total_count?: number;
 };
 
 /**
- * Flag to determine if the Railgun is accepting connections.
+ * When the certificate was revoked.
  *
- * @default false
- * @example true
+ * @example 2024-09-06T18:43:47.928893Z
+ * @format date-time
  */
-export type RailgunComponentsSchemasEnabled = boolean;
+export type TlsCertificatesAndHostnamesRevokedAt = string;
 
 /**
- * Railgun identifier tag.
+ * The zone's SSL certificate or SSL certificate and intermediate(s).
  *
- * @example e928d310693a83094309acf9ead50448
- * @maxLength 32
+ * @example -----BEGIN CERTIFICATE----- MIIDtTCCAp2gAwIBAgIJAM15n7fdxhRtMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV BAYTAlVTMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX aWRnaXRzIFB0eSBMdGQwHhcNMTQwMzExMTkyMTU5WhcNMTQwNDEwMTkyMTU5WjBF MQswCQYDVQQGEwJVUzETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50 ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB CgKCAQEAvq3sKsHpeduJHimOK+fvQdKsI8z8A05MZyyLp2/R/GE8FjNv+hkVY1WQ LIyTNNQH7CJecE1nbTfo8Y56S7x/rhxC6/DJ8MIulapFPnorq46KU6yRxiM0MQ3N nTJHlHA2ozZta6YBBfVfhHWl1F0IfNbXCLKvGwWWMbCx43OfW6KTkbRnE6gFWKuO fSO5h2u5TaWVuSIzBvYs7Vza6m+gtYAvKAJV2nSZ+eSEFPDo29corOy8+huEOUL8 5FAw4BFPsr1TlrlGPFitduQUHGrSL7skk1ESGza0to3bOtrodKei2s9bk5MXm7lZ qI+WZJX4Zu9+mzZhc9pCVi8r/qlXuQIDAQABo4GnMIGkMB0GA1UdDgQWBBRvavf+ sWM4IwKiH9X9w1vl6nUVRDB1BgNVHSMEbjBsgBRvavf+sWM4IwKiH9X9w1vl6nUV RKFJpEcwRTELMAkGA1UEBhMCVVMxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNV BAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZIIJAM15n7fdxhRtMAwGA1UdEwQF MAMBAf8wDQYJKoZIhvcNAQEFBQADggEBABY2ZzBaW0dMsAAT7tPJzrVWVzQx6KU4 UEBLudIlWPlkAwTnINCWR/8eNjCCmGA4heUdHmazdpPa8RzwOmc0NT1NQqzSyktt vTqb4iHD7+8f9MqJ9/FssCfTtqr/Qst/hGH4Wmdf1EJ/6FqYAAb5iRlPgshFZxU8 uXtA8hWn6fK6eISD9HBdcAFToUvKNZ1BIDPvh9f95Ine8ar6yGd56TUNrHR8eHBs ESxz5ddVR/oWRysNJ+aGAyYqHS8S/ttmC7r4XCAHqXptkHPCGRqkAhsterYhd4I8 /cBzejUobNCjjHFbtkAL/SjxZOLW+pNkZwfeYdM8iPkD54Uua1v2tdw= -----END CERTIFICATE-----
  */
-export type RailgunComponentsSchemasIdentifier = string;
+export type TlsCertificatesAndHostnamesSchemasCertificate = string;
+
+export type TlsCertificatesAndHostnamesSchemasCertificateObject = {
+  certificate?: TlsCertificatesAndHostnamesHostnameAuthenticatedOriginPullComponentsSchemasCertificate;
+  expires_on?: TlsCertificatesAndHostnamesHostnameAuthenticatedOriginPullComponentsSchemasExpiresOn;
+  id?: TlsCertificatesAndHostnamesIdentifier;
+  issuer?: TlsCertificatesAndHostnamesIssuer;
+  serial_number?: TlsCertificatesAndHostnamesSerialNumber;
+  signature?: TlsCertificatesAndHostnamesSignature;
+  status?: TlsCertificatesAndHostnamesHostnameAuthenticatedOriginPullComponentsSchemasStatus;
+  uploaded_on?: TlsCertificatesAndHostnamesComponentsSchemasUploadedOn;
+};
 
 /**
- * Railgun connection identifier tag.
+ * 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)
  *
- * @example e928d310693a83094309acf9ead50448
- * @maxLength 32
+ * @example lets_encrypt
+ */
+export type TlsCertificatesAndHostnamesSchemasCertificateAuthority = 'google' | 'lets_encrypt' | 'ssl_com';
+
+export type TlsCertificatesAndHostnamesSchemasCertificateResponseCollection =
+  TlsCertificatesAndHostnamesApiResponseCollection & {
+    result?: TlsCertificatesAndHostnamesCertificates[];
+  };
+
+export type TlsCertificatesAndHostnamesSchemasCertificateResponseSingle =
+  TlsCertificatesAndHostnamesApiResponseSingle & {
+    result?: TlsCertificatesAndHostnamesCertificates;
+  };
+
+/**
+ * The uploaded root CA certificate.
+ * 
+ * @example -----BEGIN CERTIFICATE-----
+MIIDmDCCAoCgAwIBAgIUKTOAZNjcXVZRj4oQt0SHsl1c1vMwDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVVMxFjAUBgNVBAgMDVNhbiBGcmFuY2lzY28xEzARBgNVBAcMCkNhbGlmb3JuaWExFTATBgNVBAoMDEV4YW1wbGUgSW5jLjAgFw0yMjExMjIxNjU5NDdaGA8yMTIyMTAyOTE2NTk0N1owUTELMAkGA1UEBhMCVVMxFjAUBgNVBAgMDVNhbiBGcmFuY2lzY28xEzARBgNVBAcMCkNhbGlmb3JuaWExFTATBgNVBAoMDEV4YW1wbGUgSW5jLjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMRcORwgJFTdcG/2GKI+cFYiOBNDKjCZUXEOvXWY42BkH9wxiMT869CO+enA1w5pIrXow6kCM1sQspHHaVmJUlotEMJxyoLFfA/8Kt1EKFyobOjuZs2SwyVyJ2sStvQuUQEosULZCNGZEqoH5g6zhMPxaxm7ZLrrsDZ9maNGVqo7EWLWHrZ57Q/5MtTrbxQL+eXjUmJ9K3kS+3uEwMdqR6Z3BluU1ivanpPc1CN2GNhdO0/hSY4YkGEnuLsqJyDd3cIiB1MxuCBJ4ZaqOd2viV1WcP3oU3dxVPm4MWyfYIldMWB14FahScxLhWdRnM9YZ/i9IFcLypXsuz7DjrJPtPUCAwEAAaNmMGQwHQYDVR0OBBYEFP5JzLUawNF+c3AXsYTEWHh7z2czMB8GA1UdIwQYMBaAFP5JzLUawNF+c3AXsYTEWHh7z2czMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAGAQH/AgEBMA0GCSqGSIb3DQEBCwUAA4IBAQBc+Be7NDhpE09y7hLPZGRPl1cSKBw4RI0XIv6rlbSTFs5EebpTGjhx/whNxwEZhB9HZ7111Oa1YlT8xkI9DshB78mjAHCKBAJ76moK8tkG0aqdYpJ4ZcJTVBB7l98Rvgc7zfTii7WemTy72deBbSeiEtXavm4EF0mWjHhQ5Nxpnp00Bqn5g1x8CyTDypgmugnep+xG+iFzNmTdsz7WI9T/7kDMXqB7M/FPWBORyS98OJqNDswCLF8bIZYwUBEe+bRHFomoShMzaC3tvim7WCb16noDkSTMlfKO4pnvKhpcVdSgwcruATV7y+W+Lvmz2OT/Gui4JhqeoTewsxndhDDE
+-----END CERTIFICATE-----
  */
-export type RailgunComponentsSchemasIdentifier2 = string;
+export type TlsCertificatesAndHostnamesSchemasCertificates = string;
 
 /**
- * When the Railgun was last modified.
+ * This is the time the fallback origin was created.
  *
- * @example 2014-01-01T05:20:00Z
+ * @example 2019-10-28T18:11:23.37411Z
  * @format date-time
  */
-export type RailgunComponentsSchemasModifiedOn = string;
+export type TlsCertificatesAndHostnamesSchemasCreatedAt = string;
 
 /**
- * Readable identifier of the Railgun.
+ * The Certificate Signing Request (CSR). Must be newline-encoded.
  *
- * @example My Railgun.
- * @maxLength 160
+ * @example -----BEGIN CERTIFICATE REQUEST-----\nMIICY....\n-----END CERTIFICATE REQUEST-----\n
  */
-export type RailgunComponentsSchemasName = string;
+export type TlsCertificatesAndHostnamesSchemasCsr = string;
 
 /**
- * Status of the Railgun.
+ * Disabling Universal SSL removes any currently active Universal SSL certificates for your zone from the edge and prevents any future Universal SSL certificates from being ordered. If there are no advanced certificates or custom certificates uploaded for the domain, visitors will be unable to access the domain over HTTPS.
  *
- * @example active
+ * By disabling Universal SSL, you understand that the following Cloudflare settings and preferences will result in visitors being unable to visit your domain unless you have uploaded a custom certificate or purchased an advanced certificate.
+ *
+ * * HSTS
+ * * Always Use HTTPS
+ * * Opportunistic Encryption
+ * * Onion Routing
+ * * Any Page Rules redirecting traffic to HTTPS
+ *
+ * Similarly, any HTTP redirect to HTTPS at the origin while the Cloudflare proxy is enabled will result in users being unable to visit your site without a valid certificate at Cloudflare's edge.
+ *
+ * If you do not have a valid custom or advanced certificate at Cloudflare's edge and are unsure if any of the above Cloudflare settings are enabled, or if any HTTP redirects exist at your origin, we advise leaving Universal SSL enabled for your domain.
+ *
+ * @example true
  */
-export type RailgunComponentsSchemasStatus = 'initializing' | 'active';
+export type TlsCertificatesAndHostnamesSchemasEnabled = boolean;
 
-export type RailgunResponseCollection = ApiResponseCollection & {
-  result?: Railgun[];
-};
+/**
+ * When the certificate will expire.
+ *
+ * @example 2014-01-01 05:20:00 +0000 UTC
+ */
+export type TlsCertificatesAndHostnamesSchemasExpiresOn = string;
 
-export type RailgunResponseSingle = ApiResponseSingleLarS7owG & {
-  result?: Record<string, any>;
-};
+/**
+ * The hostname on the origin for which the client certificate uploaded will be used.
+ *
+ * @example app.example.com
+ * @maxLength 255
+ */
+export type TlsCertificatesAndHostnamesSchemasHostname = string;
 
-export type RailgunResponseSingleId = RailgunResponseSingle & {
-  result?: {
-    id?: RailgunComponentsSchemasIdentifier;
-  };
-};
+export type TlsCertificatesAndHostnamesSchemasHostnames = string[];
 
 /**
- * Configures pool weights for random steering. When steering_policy is 'random', a random pool is selected with probability proportional to these pool weights.
+ * 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.
+ *
+ * @example example.com
+ * @example *.example.com
+ * @example www.example.com
  */
-export type RandomSteering = {
-  /**
-   * The default weight for pools in the load balancer that are not specified in the pool_weights map.
-   *
-   * @default 1
-   * @example 0.2
-   * @maximum 1
-   * @minimum 0
-   * @multipleOf 0.1
-   */
-  default_weight?: number;
-  /**
-   * A mapping of pool IDs to custom weights. The weight is relative to other pools in the load balancer.
-   *
-   * @example {"9290f38c5d07c2e2f4df57b1f61d4196":0.5,"de90f38ced07c2e2f4df50b1f61d4194":0.3}
-   */
-  pool_weights?: Record<string, any>;
-};
-
-export type RateLimits = RatelimitHlSXOBhh;
+export type TlsCertificatesAndHostnamesSchemasHosts = string[];
 
 /**
- * The unique identifier of the rate limit.
+ * Keyless certificate identifier tag.
  *
- * @example 372e67954025e0ba6aaa6d586b9e0b59
+ * @example 4d2844d2ce78891c34d0b6c0535a291e
  * @maxLength 32
  */
-export type RateLimitsComponentsSchemasId = string;
-
-export type RatePlan = {
-  components?: SchemasComponentValues;
-  currency?: Currency;
-  duration?: DurationUvPDdO2C;
-  frequency?: SchemasFrequency;
-  id?: RatePlanComponentsSchemasIdentifier;
-  name?: RatePlanComponentsSchemasName;
-};
+export type TlsCertificatesAndHostnamesSchemasIdentifier = string;
 
 /**
- * Plan identifier tag.
+ * The certificate authority that issued the certificate.
  *
- * @example free
+ * @example O=Example Inc.,L=California,ST=San Francisco,C=US
  */
-export type RatePlanComponentsSchemasIdentifier = string;
+export type TlsCertificatesAndHostnamesSchemasIssuer = string;
 
 /**
- * The plan name.
+ * Optional unique name for the certificate. Only used for human readability.
  *
- * @example Free Plan
- * @maxLength 80
+ * @example example_ca_cert
  */
-export type RatePlanComponentsSchemasName = string;
+export type TlsCertificatesAndHostnamesSchemasName = string;
 
 /**
- * The rate plan applied to the subscription.
+ * The hostname certificate's private key.
+ * 
+ * @example -----BEGIN RSA PRIVATE KEY-----
+MIIEowIBAAKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmG
+dtcGbg/1CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKn
+abIRuGvBKwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpid
+tnKX/a+50GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+py
+FxIXjbEIdZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pE
+ewooaeO2izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABAoIBACbhTYXBZYKmYPCb
+HBR1IBlCQA2nLGf0qRuJNJZg5iEzXows/6tc8YymZkQE7nolapWsQ+upk2y5Xdp/
+axiuprIs9JzkYK8Ox0r+dlwCG1kSW+UAbX0bQ/qUqlsTvU6muVuMP8vZYHxJ3wmb
++ufRBKztPTQ/rYWaYQcgC0RWI20HTFBMxlTAyNxYNWzX7RKFkGVVyB9RsAtmcc8g
++j4OdosbfNoJPS0HeIfNpAznDfHKdxDk2Yc1tV6RHBrC1ynyLE9+TaflIAdo2MVv
+KLMLq51GqYKtgJFIlBRPQqKoyXdz3fGvXrTkf/WY9QNq0J1Vk5ERePZ54mN8iZB7
+9lwy/AkCgYEA6FXzosxswaJ2wQLeoYc7ceaweX/SwTvxHgXzRyJIIT0eJWgx13Wo
+/WA3Iziimsjf6qE+SI/8laxPp2A86VMaIt3Z3mJN/CqSVGw8LK2AQst+OwdPyDMu
+iacE8lj/IFGC8mwNUAb9CzGU3JpU4PxxGFjS/eMtGeRXCWkK4NE+G08CgYEA1Kp9
+N2JrVlqUz+gAX+LPmE9OEMAS9WQSQsfCHGogIFDGGcNf7+uwBM7GAaSJIP01zcoe
+VAgWdzXCv3FLhsaZoJ6RyLOLay5phbu1iaTr4UNYm5WtYTzMzqh8l1+MFFDl9xDB
+vULuCIIrglM5MeS/qnSg1uMoH2oVPj9TVst/ir8CgYEAxrI7Ws9Zc4Bt70N1As+U
+lySjaEVZCMkqvHJ6TCuVZFfQoE0r0whdLdRLU2PsLFP+q7qaeZQqgBaNSKeVcDYR
+9B+nY/jOmQoPewPVsp/vQTCnE/R81spu0mp0YI6cIheT1Z9zAy322svcc43JaWB7
+mEbeqyLOP4Z4qSOcmghZBSECgYACvR9Xs0DGn+wCsW4vze/2ei77MD4OQvepPIFX
+dFZtlBy5ADcgE9z0cuVB6CiL8DbdK5kwY9pGNr8HUCI03iHkW6Zs+0L0YmihfEVe
+PG19PSzK9CaDdhD9KFZSbLyVFmWfxOt50H7YRTTiPMgjyFpfi5j2q348yVT0tEQS
+fhRqaQKBgAcWPokmJ7EbYQGeMbS7HC8eWO/RyamlnSffdCdSc7ue3zdVJxpAkQ8W
+qu80pEIF6raIQfAf8MXiiZ7auFOSnHQTXUbhCpvDLKi0Mwq3G8Pl07l+2s6dQG6T
+lv6XTQaMyf6n1yjzL+fzDrH3qXMxHMO/b13EePXpDMpY7HQpoLDi
+-----END RSA PRIVATE KEY-----
  */
-export type RatePlan = {
-  /**
-   * The currency applied to the rate plan subscription.
-   *
-   * @example USD
-   */
-  currency?: string;
-  /**
-   * Whether this rate plan is managed externally from Cloudflare.
-   *
-   * @example false
-   */
-  externally_managed?: boolean;
-  /**
-   * The ID of the rate plan.
-   *
-   * @example free
-   */
-  id?: void;
-  /**
-   * Whether a rate plan is enterprise-based (or newly adopted term contract).
-   *
-   * @example false
-   */
-  is_contract?: boolean;
-  /**
-   * The full name of the rate plan.
-   *
-   * @example Business Plan
-   */
-  public_name?: string;
-  /**
-   * The scope that this rate plan applies to.
-   *
-   * @example zone
-   */
-  scope?: string;
-  /**
-   * The list of sets this rate plan applies to.
-   */
-  sets?: string[];
-};
+export type TlsCertificatesAndHostnamesSchemasPrivateKey = string;
 
 /**
- * Ratelimit in queries per second per datacenter (applies to DNS queries sent to the upstream nameservers configured on the cluster).
+ * The certificate serial number.
  *
- * @example 600
- * @maximum 1000000000
- * @minimum 100
+ * @example 235217144297995885180570755458463043449861756659
  */
-export type Ratelimit = number | null;
-
-export type RatelimitHlSXOBhh = {
-  action?: SchemasAction;
-  bypass?: Bypass;
-  description?: ComponentsSchemasDescriptionShl7dZHd;
-  disabled?: Disabled;
-  id?: RateLimitsComponentsSchemasId;
-  match?: MatchVa0wXlcX;
-  period?: Period;
-  threshold?: Threshold;
-};
-
-export type RatelimitResponseCollection = ApiResponseCollection & {
-  result?: RateLimits[];
-};
-
-export type RatelimitResponseSingle = ApiResponseSingleLarS7owG & {
-  result?: Record<string, any>;
-};
+export type TlsCertificatesAndHostnamesSchemasSerialNumber = string;
 
 /**
- * The unique identifier for the request to Cloudflare.
- *
- * @example 187d944c61940c77
- * @maxLength 16
+ * Certificate's signature algorithm.
  */
-export type RayId = string;
+export type TlsCertificatesAndHostnamesSchemasSignature = 'ECDSAWithSHA256' | 'SHA1WithRSA' | 'SHA256WithRSA';
 
 /**
- * Ray identifier.
+ * Status of the Keyless SSL.
  *
- * @example 41ddf1740f67442d
- * @maxLength 16
+ * @example active
  */
-export type RayIdentifier = string;
+export type TlsCertificatesAndHostnamesSchemasStatus = 'active' | 'deleted';
 
 /**
- * Beta flag. Users can create a policy with a mechanism that is not ready, but we cannot guarantee successful delivery of notifications.
+ * The time when the certificate was updated.
  *
- * @example true
+ * @example 2100-01-01T05:20:00Z
+ * @format date-time
  */
-export type Ready = boolean;
+export type TlsCertificatesAndHostnamesSchemasUpdatedAt = string;
 
 /**
- * Indicates whether the video is ready for viewing.
+ * This is the time the certificate was uploaded.
  *
- * @example true
+ * @example 2019-10-28T18:11:23.37411Z
+ * @format date-time
  */
-export type ReadyToStream = boolean;
+export type TlsCertificatesAndHostnamesSchemasUploadedOn = string;
 
 /**
- * A short reference tag. Allows you to select related firewall rules.
+ * Validation method in use for a certificate pack order.
  *
- * @example MIR-31
- * @maxLength 50
+ * @example txt
  */
-export type Ref = string;
-
-export type ReferencesResponse = ApiResponseCollection & {
-  /**
-   * List of resources that reference a given monitor.
-   *
-   * @example {"reference_type":"referrer","resource_id":"17b5962d775c646f3f9725cbc7a53df4","resource_name":"primary-dc-1","resource_type":"pool"}
-   */
-  result?: {
-    reference_type?: '*' | 'referral' | 'referrer';
-    resource_id?: string;
-    resource_name?: string;
-    resource_type?: string;
-  }[];
-};
+export type TlsCertificatesAndHostnamesSchemasValidationMethod = 'http' | 'cname' | 'txt';
 
 /**
- * A list of Cloudflare regions. WNAM: Western North America, ENAM: Eastern North America, WEU: Western Europe, EEU: Eastern Europe, NSAM: Northern South America, SSAM: Southern South America, OC: Oceania, ME: Middle East, NAF: North Africa, SAF: South Africa, SAS: Southern Asia, SEAS: South East Asia, NEAS: North East Asia).
+ * The number of days the Client Certificate will be valid after the issued_on date
  *
- * @example WNAM
+ * @example 3650
  */
-export type RegionCode =
-  | 'WNAM'
-  | 'ENAM'
-  | 'WEU'
-  | 'EEU'
-  | 'NSAM'
-  | 'SSAM'
-  | 'OC'
-  | 'ME'
-  | 'NAF'
-  | 'SAF'
-  | 'SAS'
-  | 'SEAS'
-  | 'NEAS';
-
-export type RegionComponentsSchemasResponseCollection = ApiResponseSingleUl1k90Mw & {
-  result?: Record<string, any>;
-};
-
-export type RegionComponentsSchemasResponseCollectionKhxOrgA8 = ApiResponseSingleLarS7owG & {
-  result?: Record<string, any>;
-};
-
-export type RegionComponentsSchemasSingleResponse = ApiResponseSingleLarS7owG & {
-  /**
-   * A list of countries and subdivisions mapped to a region.
-   *
-   * @example {"iso_standard":"Country and subdivision codes follow ISO 3166-1 alpha-2 and ISO 3166-2","regions":[{"countries":[{"country_code_a2":"CA","country_name":"Canada","country_subdivisions":[{"subdivision_code_a2":"AB","subdivision_name":"Alberta"},{"subdivision_code_a2":"BC","subdivision_name":"British Columbia"}]},{"country_code_a2":"HT","country_name":"Haiti"},{"country_code_a2":"MX","country_name":"Mexico"},{"country_code_a2":"US","country_name":"United States","country_subdivisions":[{"subdivision_code_a2":"AZ","subdivision_name":"Arizona"},{"subdivision_code_a2":"CA","subdivision_name":"California"},{"subdivision_code_a2":"CO","subdivision_name":"Colorado"},{"subdivision_code_a2":"HI","subdivision_name":"Hawaii"},{"subdivision_code_a2":"MN","subdivision_name":"Minnesota"},{"subdivision_code_a2":"MO","subdivision_name":"Missouri"},{"subdivision_code_a2":"NV","subdivision_name":"Nevada"},{"subdivision_code_a2":"OR","subdivision_name":"Oregon"},{"subdivision_code_a2":"TX","subdivision_name":"Texas"},{"subdivision_code_a2":"UT","subdivision_name":"Utah"},{"subdivision_code_a2":"WA","subdivision_name":"Washington"}]}],"region_code":"WNAM"}]}
-   */
-  result?: Record<string, any>;
-};
+export type TlsCertificatesAndHostnamesSchemasValidityDays = number;
 
 /**
- * A mapping of region codes to a list of pool IDs (ordered by their failover priority) for the given region. Any regions not explicitly defined will fall back to using default_pools.
+ * The serial number on the uploaded certificate.
  *
- * @example {"ENAM":["00920f38ce07c2e2f4df50b1f61d4194"],"WNAM":["de90f38ced07c2e2f4df50b1f61d4194","9290f38c5d07c2e2f4df57b1f61d4196"]}
+ * @example 6743787633689793699141714808227354901
  */
-export type RegionPools = Record<string, any>;
+export type TlsCertificatesAndHostnamesSerialNumber = string;
 
 /**
- * Comma-separated list of regions.
+ * The service using the certificate.
  *
- * @example eu
- * @maxLength 256
- * @pattern ^[a-z,]*$
+ * @example gateway
  */
-export type Regions = string;
+export type TlsCertificatesAndHostnamesService = string;
+
+export type TlsCertificatesAndHostnamesSettingObject = {
+  created_at?: TlsCertificatesAndHostnamesHostnameTlsSettingsComponentsSchemasCreatedAt;
+  hostname?: TlsCertificatesAndHostnamesComponentsSchemasHostname;
+  status?: TlsCertificatesAndHostnamesHostnameTlsSettingsComponentsSchemasStatus;
+  updated_at?: TlsCertificatesAndHostnamesHostnameTlsSettingsComponentsSchemasUpdatedAt;
+  value?: TlsCertificatesAndHostnamesValue;
+};
+
+export type TlsCertificatesAndHostnamesSettingObjectDelete = {
+  created_at?: TlsCertificatesAndHostnamesHostnameTlsSettingsComponentsSchemasCreatedAt;
+  hostname?: TlsCertificatesAndHostnamesComponentsSchemasHostname;
+  status?: TlsCertificatesAndHostnamesHostnameTlsSettingsComponentsSchemasStatus;
+  updated_at?: TlsCertificatesAndHostnamesHostnameTlsSettingsComponentsSchemasUpdatedAt;
+  value?: TlsCertificatesAndHostnamesValue;
+};
 
 /**
- * Shows contact information for domain registrant.
+ * The TLS Setting name.
  */
-export type RegistrantContact = Contacts;
+export type TlsCertificatesAndHostnamesSettingId = 'ciphers' | 'min_tls_version' | 'http2';
 
 /**
- * A comma-separated list of registry status codes. A full list of status codes can be found at [EPP Status Codes](https://www.icann.org/resources/pages/epp-status-codes-2014-06-16-en).
+ * The type of hash used for the certificate.
  *
- * @example ok,serverTransferProhibited
+ * @example SHA256WithRSA
  */
-export type RegistryStatuses = string;
+export type TlsCertificatesAndHostnamesSignature = string;
 
 /**
- * If `true`, the tunnel can be configured remotely from the Zero Trust dashboard. If `false`, the tunnel must be configured locally on the origin machine.
+ * Subject Key Identifier
  *
- * @example true
+ * @example 8e375af1389a069a0f921f8cc8e1eb12d784b949
  */
-export type RemoteConfig = boolean;
+export type TlsCertificatesAndHostnamesSki = string;
 
 /**
- * @example renamed-example-queue
+ * SSL properties for the custom hostname.
  */
-export type RenamedName = string;
-
-export type Report = {
-  data: Data;
+export type TlsCertificatesAndHostnamesSsl = {
   /**
-   * Number of seconds between current time and last processed event, in another words how many seconds of data could be missing.
+   * A ubiquitous bundle has the highest probability of being verified everywhere, even by clients using outdated or unusual trust stores. An optimal bundle uses the shortest chain and newest intermediates. And the force bundle verifies the chain, but does not otherwise modify it.
    *
-   * @example 60
-   * @minimum 0
+   * @default ubiquitous
+   * @example ubiquitous
    */
-  data_lag: number;
+  bundle_method?: 'ubiquitous' | 'optimal' | 'force';
+  certificate_authority?: TlsCertificatesAndHostnamesCertificateAuthority;
   /**
-   * Maximum results for each metric (object mapping metric names to values). Currently always an empty object.
+   * If a custom uploaded certificate is used.
+   *
+   * @example -----BEGIN CERTIFICATE-----\nMIIFJDCCBAygAwIBAgIQD0ifmj/Yi5NP/2gdUySbfzANBgkqhkiG9w0BAQsFADBN\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMScwJQYDVQQDEx5E...SzSHfXp5lnu/3V08I72q1QNzOCgY1XeL4GKVcj4or6cT6tX6oJH7ePPmfrBfqI/O\nOeH8gMJ+FuwtXYEPa4hBf38M5eU5xWG7\n-----END CERTIFICATE-----\n
    */
-  max: Record<string, any>;
+  custom_certificate?: string;
   /**
-   * Minimum results for each metric (object mapping metric names to values). Currently always an empty object.
+   * The identifier for the Custom CSR that was used.
+   *
+   * @example 7b163417-1d2b-4c84-a38a-2fb7a0cd7752
    */
-  min: Record<string, any>;
-  query: Query;
+  custom_csr_id?: string;
   /**
-   * Total number of rows in the result.
+     * The key for a custom uploaded certificate.
+     *
+     * @example -----BEGIN RSA PRIVATE KEY-----
+    MIIEowIBAAKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmG
+    dtcGbg/1CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKn
+    abIRuGvBKwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpid
+    tnKX/a+50GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+py
+    FxIXjbEIdZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pE
+    ewooaeO2izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABAoIBACbhTYXBZYKmYPCb
+    HBR1IBlCQA2nLGf0qRuJNJZg5iEzXows/6tc8YymZkQE7nolapWsQ+upk2y5Xdp/
+    axiuprIs9JzkYK8Ox0r+dlwCG1kSW+UAbX0bQ/qUqlsTvU6muVuMP8vZYHxJ3wmb
+    +ufRBKztPTQ/rYWaYQcgC0RWI20HTFBMxlTAyNxYNWzX7RKFkGVVyB9RsAtmcc8g
+    +j4OdosbfNoJPS0HeIfNpAznDfHKdxDk2Yc1tV6RHBrC1ynyLE9+TaflIAdo2MVv
+    KLMLq51GqYKtgJFIlBRPQqKoyXdz3fGvXrTkf/WY9QNq0J1Vk5ERePZ54mN8iZB7
+    9lwy/AkCgYEA6FXzosxswaJ2wQLeoYc7ceaweX/SwTvxHgXzRyJIIT0eJWgx13Wo
+    /WA3Iziimsjf6qE+SI/8laxPp2A86VMaIt3Z3mJN/CqSVGw8LK2AQst+OwdPyDMu
+    iacE8lj/IFGC8mwNUAb9CzGU3JpU4PxxGFjS/eMtGeRXCWkK4NE+G08CgYEA1Kp9
+    N2JrVlqUz+gAX+LPmE9OEMAS9WQSQsfCHGogIFDGGcNf7+uwBM7GAaSJIP01zcoe
+    VAgWdzXCv3FLhsaZoJ6RyLOLay5phbu1iaTr4UNYm5WtYTzMzqh8l1+MFFDl9xDB
+    vULuCIIrglM5MeS/qnSg1uMoH2oVPj9TVst/ir8CgYEAxrI7Ws9Zc4Bt70N1As+U
+    lySjaEVZCMkqvHJ6TCuVZFfQoE0r0whdLdRLU2PsLFP+q7qaeZQqgBaNSKeVcDYR
+    9B+nY/jOmQoPewPVsp/vQTCnE/R81spu0mp0YI6cIheT1Z9zAy322svcc43JaWB7
+    mEbeqyLOP4Z4qSOcmghZBSECgYACvR9Xs0DGn+wCsW4vze/2ei77MD4OQvepPIFX
+    dFZtlBy5ADcgE9z0cuVB6CiL8DbdK5kwY9pGNr8HUCI03iHkW6Zs+0L0YmihfEVe
+    PG19PSzK9CaDdhD9KFZSbLyVFmWfxOt50H7YRTTiPMgjyFpfi5j2q348yVT0tEQS
+    fhRqaQKBgAcWPokmJ7EbYQGeMbS7HC8eWO/RyamlnSffdCdSc7ue3zdVJxpAkQ8W
+    qu80pEIF6raIQfAf8MXiiZ7auFOSnHQTXUbhCpvDLKi0Mwq3G8Pl07l+2s6dQG6T
+    lv6XTQaMyf6n1yjzL+fzDrH3qXMxHMO/b13EePXpDMpY7HQpoLDi
+    -----END RSA PRIVATE KEY-----
+     */
+  custom_key?: string;
+  /**
+   * The time the custom certificate expires on.
    *
-   * @example 100
-   * @minimum 0
+   * @example 2021-02-06T18:11:23.531995Z
+   * @format date-time
    */
-  rows?: number;
+  expires_on?: string;
   /**
-   * Total results for metrics across all data (object mapping metric names to values).
+   * A list of Hostnames on a custom uploaded certificate.
+   *
+   * @example app.example.com
+   * @example *.app.example.com
    */
-  totals: Record<string, any>;
-};
-
-export type ReportBytime = {
-  data: Data;
+  hosts?: string[];
   /**
-   * Number of seconds between current time and last processed event, in another words how many seconds of data could be missing.
+   * Custom hostname SSL identifier tag.
    *
-   * @example 60
-   * @minimum 0
+   * @example 0d89c70d-ad9f-4843-b99f-6cc0252067e9
+   * @maxLength 36
+   * @minLength 36
    */
-  data_lag: number;
+  id?: string;
   /**
-   * Maximum results for each metric (object mapping metric names to values). Currently always an empty object.
+   * The issuer on a custom uploaded certificate.
+   *
+   * @example DigiCertInc
    */
-  max: Record<string, any>;
+  issuer?: string;
   /**
-   * Minimum results for each metric (object mapping metric names to values). Currently always an empty object.
+   * Domain control validation (DCV) method used for this hostname.
+   *
+   * @example txt
    */
-  min?: Record<string, any>;
-  query: Query;
+  method?: 'http' | 'txt' | 'email';
   /**
-   * Total number of rows in the result.
+   * The serial number on a custom uploaded certificate.
    *
-   * @example 100
-   * @minimum 0
+   * @example 6743787633689793699141714808227354901
    */
-  rows?: number;
+  serial_number?: string;
+  settings?: TlsCertificatesAndHostnamesSslsettings;
   /**
-   * Total results for metrics across all data (object mapping metric names to values).
+   * The signature on a custom uploaded certificate.
+   *
+   * @example SHA256WithRSA
    */
-  totals?: Record<string, any>;
+  signature?: string;
   /**
-   * Array of time intervals in the response data. Each interval is represented as an array containing two values: the start time, and the end time.
+   * Status of the hostname's SSL certificates.
+   *
+   * @example pending_validation
    */
-  time_intervals: string[][];
+  status?:
+    | 'initializing'
+    | 'pending_validation'
+    | 'deleted'
+    | 'pending_issuance'
+    | 'pending_deployment'
+    | 'pending_deletion'
+    | 'pending_expiration'
+    | 'expired'
+    | 'active'
+    | 'initializing_timed_out'
+    | 'validation_timed_out'
+    | 'issuance_timed_out'
+    | 'deployment_timed_out'
+    | 'deletion_timed_out'
+    | 'pending_cleanup'
+    | 'staging_deployment'
+    | 'staging_active'
+    | 'deactivating'
+    | 'inactive'
+    | 'backup_issued'
+    | 'holding_deployment';
+  /**
+   * Level of validation to be used for this hostname. Domain validation (dv) must be used.
+   *
+   * @example dv
+   */
+  type?: 'dv';
+  /**
+   * The time the custom certificate was uploaded.
+   *
+   * @example 2020-02-06T18:11:23.531995Z
+   * @format date-time
+   */
+  uploaded_on?: string;
+  /**
+   * Domain validation errors that have been received by the certificate authority (CA).
+   */
+  validation_errors?: {
+    /**
+     * A domain validation error.
+     *
+     * @example SERVFAIL looking up CAA for app.example.com
+     */
+    message?: string;
+  }[];
+  validation_records?: TlsCertificatesAndHostnamesValidationRecord[];
+  /**
+   * Indicates whether the certificate covers a wildcard.
+   *
+   * @example false
+   */
+  wildcard?: boolean;
 };
 
-export type RequestTracer = Record<string, any>;
-
-/**
- * Client IP restrictions.
- *
- * @example {"in":["123.123.123.0/24","2606:4700::/32"],"not_in":["123.123.123.100/24","2606:4700:4700::/48"]}
- */
-export type RequestIp = {
-  ['in']?: CidrList;
-  not_in?: CidrList;
+export type TlsCertificatesAndHostnamesSslUniversalSettingsResponse = TlsCertificatesAndHostnamesApiResponseSingle & {
+  result?: TlsCertificatesAndHostnamesUniversal;
 };
 
-export type RequestList = RequestModel[];
+export type TlsCertificatesAndHostnamesSslValidationMethodResponseCollection =
+  TlsCertificatesAndHostnamesApiResponseSingle & {
+    result?: {
+      status?: TlsCertificatesAndHostnamesValidationMethodComponentsSchemasStatus;
+      validation_method?: TlsCertificatesAndHostnamesValidationMethodDefinition;
+    };
+  };
+
+export type TlsCertificatesAndHostnamesSslVerificationResponseCollection = {
+  result?: TlsCertificatesAndHostnamesVerification[];
+};
 
-export type RequestModel = {
-  enabled?: ManagedHeadersComponentsSchemasEnabled;
-  id?: ManagedHeadersComponentsSchemasId;
+/**
+ * SSL properties used when creating the custom hostname.
+ */
+export type TlsCertificatesAndHostnamesSslpost = {
+  /**
+   * A ubiquitous bundle has the highest probability of being verified everywhere, even by clients using outdated or unusual trust stores. An optimal bundle uses the shortest chain and newest intermediates. And the force bundle verifies the chain, but does not otherwise modify it.
+   *
+   * @default ubiquitous
+   * @example ubiquitous
+   */
+  bundle_method?: 'ubiquitous' | 'optimal' | 'force';
+  certificate_authority?: TlsCertificatesAndHostnamesCertificateAuthority;
+  /**
+   * Whether or not to add Cloudflare Branding for the order.  This will add a subdomain of sni.cloudflaressl.com as the Common Name if set to true
+   *
+   * @example false
+   */
+  cloudflare_branding?: boolean;
+  /**
+   * If a custom uploaded certificate is used.
+   *
+   * @example -----BEGIN CERTIFICATE-----\nMIIFJDCCBAygAwIBAgIQD0ifmj/Yi5NP/2gdUySbfzANBgkqhkiG9w0BAQsFADBN\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMScwJQYDVQQDEx5E...SzSHfXp5lnu/3V08I72q1QNzOCgY1XeL4GKVcj4or6cT6tX6oJH7ePPmfrBfqI/O\nOeH8gMJ+FuwtXYEPa4hBf38M5eU5xWG7\n-----END CERTIFICATE-----\n
+   */
+  custom_certificate?: string;
+  /**
+     * The key for a custom uploaded certificate.
+     *
+     * @example -----BEGIN RSA PRIVATE KEY-----
+    MIIEowIBAAKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmG
+    dtcGbg/1CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKn
+    abIRuGvBKwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpid
+    tnKX/a+50GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+py
+    FxIXjbEIdZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pE
+    ewooaeO2izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABAoIBACbhTYXBZYKmYPCb
+    HBR1IBlCQA2nLGf0qRuJNJZg5iEzXows/6tc8YymZkQE7nolapWsQ+upk2y5Xdp/
+    axiuprIs9JzkYK8Ox0r+dlwCG1kSW+UAbX0bQ/qUqlsTvU6muVuMP8vZYHxJ3wmb
+    +ufRBKztPTQ/rYWaYQcgC0RWI20HTFBMxlTAyNxYNWzX7RKFkGVVyB9RsAtmcc8g
+    +j4OdosbfNoJPS0HeIfNpAznDfHKdxDk2Yc1tV6RHBrC1ynyLE9+TaflIAdo2MVv
+    KLMLq51GqYKtgJFIlBRPQqKoyXdz3fGvXrTkf/WY9QNq0J1Vk5ERePZ54mN8iZB7
+    9lwy/AkCgYEA6FXzosxswaJ2wQLeoYc7ceaweX/SwTvxHgXzRyJIIT0eJWgx13Wo
+    /WA3Iziimsjf6qE+SI/8laxPp2A86VMaIt3Z3mJN/CqSVGw8LK2AQst+OwdPyDMu
+    iacE8lj/IFGC8mwNUAb9CzGU3JpU4PxxGFjS/eMtGeRXCWkK4NE+G08CgYEA1Kp9
+    N2JrVlqUz+gAX+LPmE9OEMAS9WQSQsfCHGogIFDGGcNf7+uwBM7GAaSJIP01zcoe
+    VAgWdzXCv3FLhsaZoJ6RyLOLay5phbu1iaTr4UNYm5WtYTzMzqh8l1+MFFDl9xDB
+    vULuCIIrglM5MeS/qnSg1uMoH2oVPj9TVst/ir8CgYEAxrI7Ws9Zc4Bt70N1As+U
+    lySjaEVZCMkqvHJ6TCuVZFfQoE0r0whdLdRLU2PsLFP+q7qaeZQqgBaNSKeVcDYR
+    9B+nY/jOmQoPewPVsp/vQTCnE/R81spu0mp0YI6cIheT1Z9zAy322svcc43JaWB7
+    mEbeqyLOP4Z4qSOcmghZBSECgYACvR9Xs0DGn+wCsW4vze/2ei77MD4OQvepPIFX
+    dFZtlBy5ADcgE9z0cuVB6CiL8DbdK5kwY9pGNr8HUCI03iHkW6Zs+0L0YmihfEVe
+    PG19PSzK9CaDdhD9KFZSbLyVFmWfxOt50H7YRTTiPMgjyFpfi5j2q348yVT0tEQS
+    fhRqaQKBgAcWPokmJ7EbYQGeMbS7HC8eWO/RyamlnSffdCdSc7ue3zdVJxpAkQ8W
+    qu80pEIF6raIQfAf8MXiiZ7auFOSnHQTXUbhCpvDLKi0Mwq3G8Pl07l+2s6dQG6T
+    lv6XTQaMyf6n1yjzL+fzDrH3qXMxHMO/b13EePXpDMpY7HQpoLDi
+    -----END RSA PRIVATE KEY-----
+     */
+  custom_key?: string;
+  /**
+   * Domain control validation (DCV) method used for this hostname.
+   *
+   * @example http
+   */
+  method?: 'http' | 'txt' | 'email';
+  settings?: TlsCertificatesAndHostnamesSslsettings;
+  /**
+   * Level of validation to be used for this hostname. Domain validation (dv) must be used.
+   *
+   * @example dv
+   */
+  type?: 'dv';
+  /**
+   * Indicates whether the certificate covers a wildcard.
+   *
+   * @example false
+   */
+  wildcard?: boolean;
 };
 
 /**
- * Signature type desired on certificate ("origin-rsa" (rsa), "origin-ecc" (ecdsa), or "keyless-certificate" (for Keyless SSL servers).
- *
- * @example origin-rsa
- */
-export type RequestType = 'origin-rsa' | 'origin-ecc' | 'keyless-certificate';
-
-/**
- * The number of days for which the certificate should be valid.
- *
- * @default 5475
- * @example 5475
- */
-export type RequestedValidity = 7 | 30 | 90 | 365 | 730 | 1095 | 5475;
-
-/**
- * The estimated number of requests covered by these calculations.
- */
-export type Requests = number;
-
-/**
- * Breakdown of totals for requests.
+ * SSL specific settings.
  */
-export type RequestsByColo = {
+export type TlsCertificatesAndHostnamesSslsettings = {
   /**
-   * Total number of requests served.
+   * An allowlist of ciphers for TLS termination. These ciphers must be in the BoringSSL format.
+   *
+   * @example ECDHE-RSA-AES128-GCM-SHA256
+   * @example AES128-SHA
+   * @uniqueItems true
    */
-  all?: number;
+  ciphers?: string[];
   /**
-   * Total number of cached requests served.
+   * Whether or not Early Hints is enabled.
+   *
+   * @example on
    */
-  cached?: number;
+  early_hints?: 'on' | 'off';
   /**
-   * Key/value pairs where the key is a two-digit country code and the value is the number of requests served to that country.
+   * Whether or not HTTP2 is enabled.
    *
-   * @example {"AG":37298,"GI":293846,"US":4181364}
+   * @example on
    */
-  country?: {
-    [key: string]: any;
-  };
+  http2?: 'on' | 'off';
   /**
-   * A variable list of key/value pairs where the key is a HTTP status code and the value is the number of requests with that code served.
+   * The minimum TLS version supported.
    *
-   * @example {"200":13496983,"301":283,"400":187936,"402":1828,"404":1293}
+   * @example 1.2
    */
-  http_status?: Record<string, any>;
+  min_tls_version?: '1.0' | '1.1' | '1.2' | '1.3';
   /**
-   * Total number of requests served from the origin.
+   * Whether or not TLS 1.3 is enabled.
+   *
+   * @example on
    */
-  uncached?: number;
+  tls_1_3?: 'on' | 'off';
 };
 
 /**
- * Rules evaluated with an AND logical operator. To match a policy, a user must meet all of the Require rules.
+ * State, provided by the CSR
+ *
+ * @example CA
  */
-export type Require = Rule[];
+export type TlsCertificatesAndHostnamesState = string;
 
 /**
- * Rules evaluated with an AND logical operator. To match a policy, a user must meet all of the Require rules.
+ * Status of the zone's custom SSL.
+ *
+ * @example active
  */
-export type RequireBZzd5gGi = RuleComponentsSchemasRule[];
+export type TlsCertificatesAndHostnamesStatus = 'active' | 'expired' | 'deleted' | 'pending' | 'initializing';
+
+export type TlsCertificatesAndHostnamesTotalTlsSettingsResponse = TlsCertificatesAndHostnamesApiResponseSingle & {
+  result?: {
+    certificate_authority?: TlsCertificatesAndHostnamesComponentsSchemasCertificateAuthority;
+    enabled?: TlsCertificatesAndHostnamesComponentsSchemasEnabled;
+    validity_period?: TlsCertificatesAndHostnamesValidityPeriod;
+  };
+};
 
 /**
- * Whether to check all disks for encryption.
+ * The type 'legacy_custom' enables support for legacy clients which do not include SNI in the TLS handshake.
  *
- * @example true
+ * @default legacy_custom
+ * @example sni_custom
  */
-export type RequireAll = boolean;
+export type TlsCertificatesAndHostnamesType = 'legacy_custom' | 'sni_custom';
+
+export type TlsCertificatesAndHostnamesUniversal = {
+  enabled?: TlsCertificatesAndHostnamesSchemasEnabled;
+};
 
 /**
- * Indicates whether the video can be a accessed using the UID. When set to `true`, a signed token must be generated with a signing key to view the video.
+ * This is the time the fallback origin was updated.
  *
- * @default false
- * @example true
+ * @example 2020-03-16T18:11:23.531995Z
+ * @format date-time
  */
-export type RequireSignedURLs = boolean;
+export type TlsCertificatesAndHostnamesUpdatedAt = string;
 
 /**
- * Indicates whether the image can be a accessed only using it's UID. If set to true, a signed token needs to be generated with a signing key to view the image.
+ * When the certificate was uploaded to Cloudflare.
  *
- * @default false
- * @example true
+ * @example 2014-01-01T05:20:00Z
+ * @format date-time
  */
-export type RequireSignedURLsT5ww2QVG = boolean;
+export type TlsCertificatesAndHostnamesUploadedOn = string;
 
-export type ResolvesToRef = {
-  id?: StixIdentifier;
-  /**
-   * IP address or domain name.
-   *
-   * @example 192.0.2.0
-   */
-  value?: string;
+/**
+ * The DCV Delegation unique identifier.
+ *
+ * @example abc123def456ghi7
+ */
+export type TlsCertificatesAndHostnamesUuid = string;
+
+export type TlsCertificatesAndHostnamesUuidObject = {
+  uuid?: TlsCertificatesAndHostnamesUuid;
 };
 
 /**
- * Specifies a list of references to one or more IP addresses or domain names that the domain name currently resolves to.
+ * Validation Method selected for the order.
+ *
+ * @example txt
  */
-export type ResolvesToRefs = ResolvesToRef[];
+export type TlsCertificatesAndHostnamesValidationMethod = 'txt' | 'http' | 'email';
 
 /**
- * The ID of the resource.
+ * Result status.
  *
- * @example c9ef84a6bf5e47138c75d95e2f933e8f
- * @maxLength 32
- * @minLength 32
+ * @example pending_validation
  */
-export type ResourceId = string;
+export type TlsCertificatesAndHostnamesValidationMethodComponentsSchemasStatus = string;
 
 /**
- * A reference to a load balancer resource.
+ * Desired validation method.
+ *
+ * @example txt
+ */
+export type TlsCertificatesAndHostnamesValidationMethodDefinition = 'http' | 'cname' | 'txt' | 'email';
+
+/**
+ * Certificate's required validation record.
  */
-export type ResourceReference = {
+export type TlsCertificatesAndHostnamesValidationRecord = {
   /**
-   * When listed as a reference, the type (direction) of the reference.
+   * The set of email addresses that the certificate authority (CA) will use to complete domain validation.
+   *
+   * @example administrator@example.com
+   * @example webmaster@example.com
    */
-  reference_type?: 'referral' | 'referrer';
+  emails?: string[];
   /**
-   * A list of references to (referrer) or from (referral) this resource.
+   * The content that the certificate authority (CA) will expect to find at the http_url during the domain validation.
    *
-   * @example {"reference_type":"referrer","resource_id":"699d98642c564d2e855e9661899b7252","resource_name":"www.example.com","resource_type":"load_balancer"}
-   * @example {"reference_type":"referral","resource_id":"f1aba936b94213e5b8dca0c0dbf1f9cc","resource_name":"Login page monitor","resource_type":"monitor"}
+   * @example ca3-574923932a82475cb8592200f1a2a23d
    */
-  references?: Record<string, any>[];
+  http_body?: string;
   /**
-   * @example 17b5962d775c646f3f9725cbc7a53df4
+   * The url that will be checked during domain validation.
+   *
+   * @example http://app.example.com/.well-known/pki-validation/ca3-da12a1c25e7b48cf80408c6c1763b8a2.txt
    */
-  resource_id?: void;
+  http_url?: string;
   /**
-   * The human-identifiable name of the resource.
+   * The hostname that the certificate authority (CA) will check for a TXT record during domain validation .
    *
-   * @example primary-dc-1
+   * @example _acme-challenge.app.example.com
    */
-  resource_name?: string;
+  txt_name?: string;
   /**
-   * The type of the resource.
+   * The TXT record that the certificate authority (CA) will check during domain validation.
    *
-   * @example pool
+   * @example 810b7d5f01154524b961ba0cd578acc2
    */
-  resource_type?: 'load_balancer' | 'monitor' | 'pool';
+  txt_value?: string;
 };
 
 /**
- * A list of resource names that the policy applies to.
+ * Validity Days selected for the order.
+ */
+export type TlsCertificatesAndHostnamesValidityDays = 14 | 30 | 90 | 365;
+
+/**
+ * The validity period in days for the certificates ordered via Total TLS.
+ */
+export type TlsCertificatesAndHostnamesValidityPeriod = 90;
+
+/**
+ * The tls setting value.
  *
- * @example {"com.cloudflare.api.account.zone.22b1de5f1c0e4b3ea97bb1e963b06a43":"*","com.cloudflare.api.account.zone.eb78d65290b24279ba6f44721b3ea3c4":"*"}
+ * @example ECDHE-RSA-AES128-GCM-SHA256
+ * @example AES128-GCM-SHA256
  */
-export type Resources = Record<string, any>;
+export type TlsCertificatesAndHostnamesValue = number | string | string[];
 
-export type Response = ApiResponseCollection & {
-  result?: DomainHistory[];
+export type TlsCertificatesAndHostnamesVerification = {
+  brand_check?: TlsCertificatesAndHostnamesBrandCheck;
+  cert_pack_uuid?: TlsCertificatesAndHostnamesCertPackUuid;
+  certificate_status: TlsCertificatesAndHostnamesCertificateStatus;
+  signature?: TlsCertificatesAndHostnamesSchemasSignature;
+  validation_method?: TlsCertificatesAndHostnamesSchemasValidationMethod;
+  verification_info?: TlsCertificatesAndHostnamesVerificationInfo;
+  verification_status?: TlsCertificatesAndHostnamesVerificationStatus;
+  verification_type?: TlsCertificatesAndHostnamesVerificationType;
 };
 
 /**
- * Enables or disables buffering of responses from the proxied server. Cloudflare may buffer the whole payload to deliver it at once to the client versus allowing it to be delivered in chunks. By default, the proxied server streams directly and is not buffered by Cloudflare. This is limited to Enterprise Zones.
+ * These are errors that were encountered while trying to activate a hostname.
  *
- * @default off
+ * @example None of the A or AAAA records are owned by this account and the pre-generated ownership verification token was not found.
  */
-export type ResponseBuffering = {
-  /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
-   *
-   * @default true
-   */
-  editable?: true | false;
-  /**
-   * ID of the zone setting.
-   *
-   * @example response_buffering
-   */
-  id: 'response_buffering';
+export type TlsCertificatesAndHostnamesVerificationErrors = string[];
+
+/**
+ * Certificate's required verification information.
+ */
+export type TlsCertificatesAndHostnamesVerificationInfo = {
   /**
-   * last time this setting was modified.
+   * Name of CNAME record.
    *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * @example b3b90cfedd89a3e487d3e383c56c4267.example.com
+   * @format hostname
    */
-  modified_on?: string | null;
+  record_name?: 'record_name' | 'http_url' | 'cname' | 'txt_name';
   /**
-   * Current value of the zone setting.
+   * Target of CNAME record.
    *
-   * @example on
+   * @example 6979be7e4cfc9e5c603e31df7efac9cc60fee82d.comodoca.com
+   * @format hostname
    */
-  value: ResponseBufferingValue;
+  record_target?: 'record_value' | 'http_body' | 'cname_target' | 'txt_value';
 };
 
 /**
- * Value of the zone setting.
+ * Status of the required verification information, omitted if verification status is unknown.
  *
- * @default off
+ * @example true
  */
-export type ResponseBufferingValue = 'on' | 'off';
-
-export type ResponseCollection = ApiResponseCollection & {
-  result?: IpamPrefixes[];
-};
-
-export type ResponseCollectionBphhbD1T = ApiResponseCollection & {
-  result?: Record<string, any>[];
-};
-
-export type ResponseCollectionDPc6cOos = ApiResponseCollection & {
-  result?: Lists[];
-};
-
-export type ResponseCollectionDwMe3PpI = ApiResponseCollection & {
-  result?: Waitingroom[];
-};
-
-export type ResponseCollectionJMgvhGPC = ApiResponseCollection & {
-  result?: DevicePostureRules[];
-};
-
-export type ResponseCollectionNVqCaNmu = ApiResponseCollection & {
-  result?: (
-    | AzureAD
-    | Centrify
-    | Facebook
-    | Github
-    | Google
-    | GoogleApps
-    | Linkedin
-    | Oidc
-    | Okta
-    | Onelogin
-    | Pingone
-    | Saml
-    | Yandex
-  )[];
-};
-
-export type ResponseCollectionRq1AXflT = ApiResponseCollection & {
-  result?: Monitor[];
-};
-
-export type ResponseCollectionBS6MoLFe = ApiResponseCollection & {
-  result?: Tsig[];
-};
+export type TlsCertificatesAndHostnamesVerificationStatus = boolean;
 
-export type ResponseCollectionE23aFYyQ = ApiResponseCollection & {
-  result?: Healthchecks[];
-};
-
-export type ResponseCollectionF9zlxqDg = ApiResponseCollection & {
-  result?: Profiles[];
-};
-
-export type ResponseCollectionHostnames = ApiResponseCollection & {
-  result?: Settings[];
-};
-
-export type ResponseCreate = ApiResponseSingleLarS7owG & {
-  result?: {
-    value?: ValueOY5wJPpX;
-  };
-};
-
-export type ResponseList = ResponseModel[];
+/**
+ * Method of verification.
+ *
+ * @example cname
+ */
+export type TlsCertificatesAndHostnamesVerificationType = 'cname' | 'meta tag';
 
-export type ResponseModel = {
-  available?: Available;
-  enabled?: ManagedHeadersComponentsSchemasEnabled;
-  id?: ManagedHeadersComponentsSchemasId;
+export type TlsCertificatesAndHostnamesZoneAuthenticatedOriginPull = {
+  certificate?: TlsCertificatesAndHostnamesZoneAuthenticatedOriginPullComponentsSchemasCertificate;
+  expires_on?: TlsCertificatesAndHostnamesComponentsSchemasExpiresOn;
+  id?: TlsCertificatesAndHostnamesIdentifier;
+  issuer?: TlsCertificatesAndHostnamesIssuer;
+  signature?: TlsCertificatesAndHostnamesSignature;
+  status?: TlsCertificatesAndHostnamesZoneAuthenticatedOriginPullComponentsSchemasStatus;
+  uploaded_on?: TlsCertificatesAndHostnamesSchemasUploadedOn;
+  enabled?: TlsCertificatesAndHostnamesZoneAuthenticatedOriginPullComponentsSchemasEnabled;
+  private_key?: TlsCertificatesAndHostnamesPrivateKey;
 };
 
-export type ResponseSingle = ApiResponseSingleIRWHLn6I & {
-  result?: Record<string, any>;
-};
+/**
+ * The zone's leaf certificate.
+ * 
+ * @example -----BEGIN CERTIFICATE-----
+MIIDtTCCAp2gAwIBAgIJAMHAwfXZ5/PWMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV
+BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX
+aWRnaXRzIFB0eSBMdGQwHhcNMTYwODI0MTY0MzAxWhcNMTYxMTIyMTY0MzAxWjBF
+MQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50
+ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
+CgKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmGdtcGbg/1
+CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKnabIRuGvB
+KwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpidtnKX/a+5
+0GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+pyFxIXjbEI
+dZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pEewooaeO2
+izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABo4GnMIGkMB0GA1UdDgQWBBT/LbE4
+9rWf288N6sJA5BRb6FJIGDB1BgNVHSMEbjBsgBT/LbE49rWf288N6sJA5BRb6FJI
+GKFJpEcwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNV
+BAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZIIJAMHAwfXZ5/PWMAwGA1UdEwQF
+MAMBAf8wDQYJKoZIhvcNAQELBQADggEBAHHFwl0tH0quUYZYO0dZYt4R7SJ0pCm2
+2satiyzHl4OnXcHDpekAo7/a09c6Lz6AU83cKy/+x3/djYHXWba7HpEu0dR3ugQP
+Mlr4zrhd9xKZ0KZKiYmtJH+ak4OM4L3FbT0owUZPyjLSlhMtJVcoRp5CJsjAMBUG
+SvD8RX+T01wzox/Qb+lnnNnOlaWpqu8eoOenybxKp1a9ULzIVvN/LAcc+14vioFq
+2swRWtmocBAs8QR9n4uvbpiYvS8eYueDCWMM4fvFfBhaDZ3N9IbtySh3SpFdQDhw
+YbjM2rxXiyLGxB4Bol7QTv4zHif7Zt89FReT/NBy4rzaskDJY5L6xmY=
+-----END CERTIFICATE-----
+ */
+export type TlsCertificatesAndHostnamesZoneAuthenticatedOriginPullComponentsSchemasCertificate = string;
 
-export type ResponseSingleCIi951yd = ApiResponseSingleLarS7owG & {
-  result?: Record<string, any>;
-};
+/**
+ * Indicates whether zone-level authenticated origin pulls is enabled.
+ *
+ * @example true
+ */
+export type TlsCertificatesAndHostnamesZoneAuthenticatedOriginPullComponentsSchemasEnabled = boolean;
 
-export type ResponseSingleOriginDns = ApiResponseSingleLarS7owG & {
-  result?: {
-    argo_smart_routing?: ArgoSmartRouting;
-    created_on?: CreatedJTk3Ehp3;
-    dns?: Dns;
-    edge_ips?: EdgeIps;
-    id?: AppIdK0AoyPAB;
-    ip_firewall?: IpFirewall;
-    modified_on?: ModifiedXJlHjzHE;
-    origin_dns?: OriginDns;
-    origin_port?: OriginPort;
-    protocol?: Protocol;
-    proxy_protocol?: ProxyProtocol;
-    tls?: Tls;
-    traffic_type?: TrafficType;
-  };
-};
-
-export type ResponseSingleSegment = ApiResponseSingleLarS7owG & {
-  result?: {
-    expires_on?: ExpiresOnZ3utPxP0;
-    id: ComponentsSchemasIdentifierUpjmfntS;
-    not_before?: NotBefore;
-    status: Status0icsKVdQ;
-  };
-};
+/**
+ * Status of the certificate activation.
+ *
+ * @example active
+ */
+export type TlsCertificatesAndHostnamesZoneAuthenticatedOriginPullComponentsSchemasStatus =
+  | 'initializing'
+  | 'pending_deployment'
+  | 'pending_deletion'
+  | 'active'
+  | 'deleted'
+  | 'deployment_timed_out'
+  | 'deletion_timed_out';
 
-export type ResponseSingleValue = ApiResponseSingleLarS7owG & {
-  result?: ValueOY5wJPpX;
-};
+/**
+ * Cloudflare account ID
+ *
+ * @example 699d98642c564d2e855e9661899b7252
+ * @maxLength 32
+ */
+export type TunnelAccountId = string;
 
-export type Result = {
-  data: Data;
+export type TunnelApiResponseCollection = {
+  errors: TunnelMessages;
+  messages: TunnelMessages;
+  result: Record<string, any> | any[] | string | null;
   /**
-   * Number of seconds between current time and last processed event, in another words how many seconds of data could be missing.
+   * Whether the API call was successful
    *
-   * @example 60
-   * @minimum 0
+   * @example true
    */
-  data_lag: number;
+  success: true;
+  result_info?: TunnelResultInfo;
+};
+
+export type TunnelApiResponseCommon = {
+  errors: TunnelMessages;
+  messages: TunnelMessages;
+  result: Record<string, any> | any[] | string;
   /**
-   * Maximum results for each metric (object mapping metric names to values). Currently always an empty object.
+   * Whether the API call was successful
+   *
+   * @example true
    */
-  max: Record<string, any>;
+  success: true;
+};
+
+export type TunnelApiResponseCommonFailure = {
   /**
-   * Minimum results for each metric (object mapping metric names to values). Currently always an empty object.
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
    */
-  min: Record<string, any>;
-  query: Query;
+  errors: TunnelMessages;
+  messages: TunnelMessages;
+  result: any | null;
   /**
-   * Total number of rows in the result.
+   * Whether the API call was successful
    *
-   * @example 100
-   * @minimum 0
-   */
-  rows: number;
-  /**
-   * Total results for metrics across all data (object mapping metric names to values).
+   * @example false
    */
-  totals: Record<string, any>;
+  success: false;
 };
 
+export type TunnelApiResponseSingle = TunnelApiResponseCommon;
+
 /**
- * Metrics on Workers KV requests.
+ * The cloudflared OS architecture used to establish this connection.
+ *
+ * @example linux_amd64
  */
-export type Result0iSKYUfO = {
-  data:
-    | {
-        /**
-         * List of metrics returned by the query.
-         */
-        metrics: any[];
-      }[]
-    | null;
-  /**
-   * Number of seconds between current time and last processed event, i.e. how many seconds of data could be missing.
-   *
-   * @example 0
-   * @minimum 0
-   */
-  data_lag: number;
-  /**
-   * Maximum results for each metric.
-   */
-  max: void;
-  /**
-   * Minimum results for each metric.
-   */
-  min: void;
-  query: QueryLWVM8wx5;
-  /**
-   * Total number of rows in the result.
-   *
-   * @example 2
-   * @minimum 0
-   */
-  rows: number;
+export type TunnelArch = string;
+
+export type TunnelArgoTunnel = {
   /**
-   * Total results for metrics across all data.
+   * The tunnel connections between your origin and Cloudflare's edge.
    */
-  totals: void;
+  connections: TunnelConnection[];
+  created_at: TunnelCreatedAt;
+  deleted_at?: TunnelDeletedAt;
+  id: TunnelTunnelId;
+  name: TunnelTunnelName;
 };
 
-export type ResultInfo = {
-  /**
-   * Total number of results for the requested service
-   *
-   * @example 1
-   */
-  count?: number;
-  /**
-   * Current page within paginated list of results
-   *
-   * @example 1
-   */
-  page?: number;
+/**
+ * A Cloudflare Tunnel that connects your origin to Cloudflare's edge.
+ */
+export type TunnelCfdTunnel = {
+  account_tag?: TunnelAccountId;
+  connections?: TunnelConnections;
+  conns_active_at?: TunnelConnsActiveAt;
+  conns_inactive_at?: TunnelConnsInactiveAt;
+  created_at?: TunnelCreatedAt;
+  deleted_at?: TunnelDeletedAt;
+  id?: TunnelTunnelId;
+  metadata?: TunnelMetadata;
+  name?: TunnelTunnelName;
+  remote_config?: TunnelRemoteConfig;
+  status?: TunnelStatus;
+  tun_type?: TunnelTunnelType;
+};
+
+/**
+ * UUID of the Cloudflare Tunnel connector.
+ *
+ * @example 1bedc50d-42b3-473c-b108-ff3d10c0d925
+ * @format uuid
+ * @maxLength 36
+ */
+export type TunnelClientId = string;
+
+/**
+ * The Cloudflare data center used for this connection.
+ *
+ * @example DFW
+ */
+export type TunnelColoName = string;
+
+/**
+ * Optional remark describing the route.
+ *
+ * @example Example comment for this route.
+ * @maxLength 100
+ */
+export type TunnelComment = string;
+
+/**
+ * The tunnel configuration and ingress rules.
+ */
+export type TunnelConfig = {
   /**
-   * Number of results per page of results
+   * List of public hostname definitions. At least one ingress rule needs to be defined for the tunnel.
    *
-   * @example 20
+   * @minItems 1
    */
-  per_page?: number;
+  ingress?: TunnelIngressRule[];
+  originRequest?: TunnelOriginRequest;
   /**
-   * Total results available without any search parameters
-   *
-   * @example 2000
+   * Enable private network access from WARP users to private network routes. This is enabled if the tunnel has an assigned route.
    */
-  total_count?: number;
+  ['warp-routing']?: {
+    /**
+     * @default false
+     */
+    enabled?: boolean;
+  };
 };
 
 /**
- * Number of retries for fetching DNS responses from upstream nameservers (not counting the initial attempt).
+ * Indicates if this is a locally or remotely configured tunnel. If `local`, manage the tunnel using a YAML file on the origin machine. If `cloudflare`, manage the tunnel on the Zero Trust dashboard.
  *
- * @default 2
- * @example 2
- * @maximum 2
- * @minimum 0
+ * @default local
+ * @example cloudflare
  */
-export type Retries = number;
+export type TunnelConfigSrc = 'local' | 'cloudflare';
 
 /**
- * The number of retries to attempt in case of a timeout before marking the origin as unhealthy. Retries are attempted immediately.
- *
- * @default 2
+ * The version of the remote tunnel configuration. Used internally to sync cloudflared with the Zero Trust dashboard.
  */
-export type Retries7RuyOW7F = number;
+export type TunnelConfigVersion = number;
 
 /**
- * The number of retries to attempt in case of a timeout before marking the origin as unhealthy. Retries are attempted immediately.
- *
- * @default 2
+ * Cloudflare Tunnel configuration
  */
-export type RetriesGl6521CK = number;
+export type TunnelConfiguration = {
+  account_id?: TunnelIdentifier;
+  config?: TunnelConfig;
+  created_at?: TunnelTimestamp;
+  source?: TunnelSchemasConfigSrc;
+  tunnel_id?: TunnelTunnelId;
+  version?: TunnelSchemasConfigVersion;
+};
+
+export type TunnelConfigurationResponse = TunnelSchemasApiResponseSingle & {
+  result?: TunnelConfiguration;
+};
+
+export type TunnelConnection = {
+  colo_name?: TunnelColoName;
+  is_pending_reconnect?: TunnelIsPendingReconnect;
+  uuid?: TunnelConnectionId;
+};
 
 /**
- * The number of retries to attempt in case of a timeout before marking the origin as unhealthy. Retries are attempted immediately.
+ * UUID of the Cloudflare Tunnel connection.
  *
- * @default 2
+ * @example 1bedc50d-42b3-473c-b108-ff3d10c0d925
+ * @format uuid
+ * @maxLength 36
  */
-export type RetriesZPd5bYtZ = number;
+export type TunnelConnectionId = string;
 
 /**
- * The revision of the Railgun receiver.
- *
- * @example 123
+ * The Cloudflare Tunnel connections between your origin and Cloudflare's edge.
  */
-export type Revision = string;
+export type TunnelConnections = TunnelSchemasConnection[];
 
 /**
- * A list of device ids to revoke.
+ * Timestamp of when the tunnel established at least one connection to Cloudflare's edge. If `null`, the tunnel is inactive.
  *
- * @maxLength 200
+ * @example 2009-11-10T23:00:00Z
+ * @format date-time
  */
-export type RevokeDevicesRequest = SchemasUuid4P4vJwxm[];
+export type TunnelConnsActiveAt = string;
 
 /**
- * A list of device ids to revoke.
+ * Timestamp of when the tunnel became inactive (no connections to Cloudflare's edge). If `null`, the tunnel is active.
  *
- * @maxLength 200
+ * @example 2009-11-10T23:00:00Z
+ * @format date-time
  */
-export type RevokeDevicesRequestXUKeM0p2 = Uuid[];
+export type TunnelConnsInactiveAt = string;
 
 /**
- * When the device was revoked.
+ * Timestamp of when the resource was created.
  *
- * @example 2017-06-14T00:00:00Z
+ * @example 2021-01-25T18:22:34.317854Z
  * @format date-time
  */
-export type RevokedAt = string;
+export type TunnelCreatedAt = string;
 
 /**
- * Specifies that, when a WAF rule matches, its configured action will be replaced by the action configured in this object.
+ * Timestamp of when the resource was deleted. If `null`, the resource has not been deleted.
+ *
+ * @example 2009-11-10T23:00:00Z
+ * @format date-time
  */
-export type RewriteAction = {
-  block?: WafRewriteAction;
-  /**
-   * @example block
-   */
-  challenge?: void;
-  /**
-   * @example block
-   */
-  ['default']?: void;
-  disable?: WafRewriteAction;
+export type TunnelDeletedAt = string;
+
+export type TunnelEmptyResponse = {
+  errors: TunnelMessages;
+  messages: TunnelMessages;
+  result: any | any | any | null;
   /**
-   * @example disable
+   * Whether the API call was successful
+   *
+   * @example true
    */
-  simulate?: void;
+  success: true;
 };
 
 /**
- * Hostname risk score, which is a value between 0 (lowest risk) to 1 (highest risk).
+ * If provided, include only tunnels that were created (and not deleted) before this time.
+ *
+ * @example 2019-10-12T07:20:50.52Z
+ * @format date-time
  */
-export type RiskScore = number;
+export type TunnelExistedAt = string;
 
-export type RiskTypes = void;
+/**
+ * Features enabled for the Cloudflare Tunnel.
+ */
+export type TunnelFeatures = string[];
 
 /**
- * Rocket Loader is a general-purpose asynchronous JavaScript optimisation that prioritises rendering your content while loading your site's Javascript asynchronously. Turning on Rocket Loader will immediately improve a web page's rendering time sometimes measured as Time to First Paint (TTFP), and also the `window.onload` time (assuming there is JavaScript on the page). This can have a positive impact on your Google search ranking. When turned on, Rocket Loader will automatically defer the loading of all Javascript referenced in your HTML, with no configuration required. Refer to [Understanding Rocket Loader](https://support.cloudflare.com/hc/articles/200168056) for more information.
+ * A flag to enable the ICMP proxy for the account network.
+ *
+ * @example true
  */
-export type RocketLoader = {
-  /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
-   *
-   * @default true
-   */
-  editable?: true | false;
-  /**
-   * ID of the zone setting.
-   *
-   * @example rocket_loader
-   */
-  id: 'rocket_loader';
-  /**
-   * last time this setting was modified.
-   *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
-   */
-  modified_on?: string | null;
-  /**
-   * Current value of the zone setting.
-   *
-   * @example on
-   */
-  value: RocketLoaderValue;
-};
+export type TunnelIcmpProxyEnabled = boolean;
 
 /**
- * Value of the zone setting.
+ * Identifier
  *
- * @default off
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type RocketLoaderValue = 'on' | 'off';
+export type TunnelIdentifier = string;
 
-export type Role = {
+/**
+ * Public hostname
+ */
+export type TunnelIngressRule = {
   /**
-   * Description of role's permissions.
+   * Public hostname for this service.
    *
-   * @example Administrative access to the entire Account
+   * @example tunnel.example.com
    */
-  description: string;
-  id: RoleComponentsSchemasIdentifier;
+  hostname: string;
+  originRequest?: TunnelOriginRequest;
   /**
-   * Role name.
+   * Requests with this path route to this public hostname.
    *
-   * @example Account Administrator
-   * @maxLength 120
+   * @default
+   * @example subpath
    */
-  name: string;
-  permissions: Permissions;
+  path?: string;
+  /**
+   * Protocol and address of destination server. Supported protocols: http://, https://, unix://, tcp://, ssh://, rdp://, unix+tls://, smb://. Alternatively can return a HTTP status code http_status:[code] e.g. 'http_status:404'.
+   *
+   * @example https://localhost:8001
+   */
+  service: string;
 };
 
 /**
- * Role identifier tag.
+ * @example 10.1.0.137
+ */
+export type TunnelIp = string;
+
+/**
+ * The private IPv4 or IPv6 range connected by the route, in CIDR notation.
  *
- * @example 3536bcfad5faccb999b47003c79917fb
- * @maxLength 32
+ * @example 172.16.0.0/16
  */
-export type RoleComponentsSchemasIdentifier = string;
+export type TunnelIpNetwork = string;
 
 /**
- * List of role names for the user at the account.
+ * IP/CIDR range in URL-encoded format
+ *
+ * @example 172.16.0.0%2F16
  */
-export type Roles = string[];
+export type TunnelIpNetworkEncoded = string;
 
-export type Route = {
-  created_on?: CreatedOn;
-  description?: DescriptionPhEFvENx;
-  id?: Identifier;
-  modified_on?: ModifiedOnMQy5ittP;
-  nexthop: Nexthop;
-  prefix: Prefix;
-  priority: Priority;
-  scope?: Scope;
-  weight?: Weight;
-};
+/**
+ * If `true`, this virtual network is the default for the account.
+ *
+ * @example true
+ */
+export type TunnelIsDefaultNetwork = boolean;
+
+/**
+ * Cloudflare continues to track connections for several minutes after they disconnect. This is an optimization to improve latency and reliability of reconnecting.  If `true`, the connection has disconnected but is still being tracked. If `false`, the connection is actively serving traffic.
+ *
+ * @example false
+ */
+export type TunnelIsPendingReconnect = boolean;
 
-export type RouteNoId = {
-  pattern: Pattern2dXyN8SA;
-  script?: SchemasScriptName;
+export type TunnelLegacyTunnelResponseCollection = TunnelApiResponseCollection & {
+  result?: TunnelArgoTunnel[];
 };
 
-export type RouteResponseCollection = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | any[] | string;
+export type TunnelLegacyTunnelResponseSingle = {
+  errors: TunnelMessages;
+  messages: TunnelMessages;
+  result: TunnelArgoTunnel;
   /**
    * Whether the API call was successful
    *
@@ -20227,1309 +41168,1618 @@ export type RouteResponseCollection = {
   success: true;
 };
 
-export type RouteResponseSingle = ApiResponseSingleLarS7owG & {
-  result?: Routes;
-};
+/**
+ * Management resources the token will have access to.
+ *
+ * @example logs
+ */
+export type TunnelManagementResources = 'logs';
 
-export type RouteVdCUMuBC = {
+export type TunnelMessages = {
   /**
-   * The timestamp of when the override was last modified.
-   *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * @minimum 1000
    */
-  modified_on?: string;
+  code: number;
+  message: string;
+}[];
+
+/**
+ * Metadata associated with the tunnel.
+ *
+ * @example {}
+ */
+export type TunnelMetadata = Record<string, any>;
+
+/**
+ * A flag to enable WARP to WARP traffic.
+ *
+ * @example true
+ */
+export type TunnelOfframpWarpEnabled = boolean;
+
+/**
+ * Configuration parameters for the public hostname specific connection settings between cloudflared and origin server.
+ */
+export type TunnelOriginRequest = {
   /**
-   * The type of route.
-   *
-   * @example forward_url
+   * For all L7 requests to this hostname, cloudflared will validate each request's Cf-Access-Jwt-Assertion request header.
    */
-  name?: 'forward_url';
-  value?: {
+  access?: {
     /**
-     * The response type for the URL redirect.
-     *
-     * @example temporary
+     * Access applications that are allowed to reach this hostname for this Tunnel. Audience tags can be identified in the dashboard or via the List Access policies API.
      */
-    type?: 'temporary' | 'permanent';
+    audTag: string[];
     /**
-     * The URL to redirect the request to.
-     * Notes: ${num} refers to the position of '*' in the constraint value.
+     * Deny traffic that has not fulfilled Access authorization.
      *
-     * @example http://www.example.com/somewhere/$1/astring/$2/anotherstring/$3
-     */
-    url?: string;
-  };
-};
-
-export type RouteAddSingleRequest = {
-  description?: DescriptionPhEFvENx;
-  nexthop: Nexthop;
-  prefix: Prefix;
-  priority: Priority;
-  scope?: Scope;
-  weight?: Weight;
-};
-
-export type RouteDeleteId = {
-  id: Identifier;
-};
-
-export type RouteDeleteManyRequest = {
-  routes: RouteDeleteId[];
-};
-
-export type RouteDeletedResponse = ApiResponseSingleRxxEmdsv & {
-  result?: {
-    /**
-     * @example true
+     * @default false
      */
-    deleted?: boolean;
-    deleted_route?: Record<string, any>;
-  };
-};
-
-export type RouteModifiedResponse = ApiResponseSingleRxxEmdsv & {
-  result?: {
+    required?: boolean;
     /**
-     * @example true
+     * @default Your Zero Trust organization name.
      */
-    modified?: boolean;
-    modified_route?: Record<string, any>;
-  };
-};
-
-export type RouteResponseCollection = ApiResponseCollection & {
-  result?: Teamnet[];
-};
-
-export type RouteResponseSingle = ApiResponseSingleLarS7owG & {
-  result?: Record<string, any>;
-};
-
-export type RouteSingleResponse = ApiResponseSingleRxxEmdsv & {
-  result?: {
-    route?: Record<string, any>;
-  };
-};
-
-export type RouteUpdateManyRequest = {
-  routes: RouteUpdateSingleRequest[];
-};
-
-export type RouteUpdateRequest = RouteAddSingleRequest;
-
-export type RouteUpdateSingleRequest = {
-  id: Identifier;
-} & RouteAddSingleRequest;
-
-export type Routes = {
-  id: CommonComponentsSchemasIdentifier;
-  pattern: Pattern2dXyN8SA;
-  script: SchemasScriptName;
-};
-
-export type RoutesCollectionResponse = ApiResponseSingleRxxEmdsv & {
-  result?: {
-    routes?: Route[];
+    teamName: string;
   };
-};
-
-export type Rule =
-  | EmailRule
-  | DomainRule
-  | EveryoneRule
-  | IpRule
-  | IpListRule
-  | CertificateRule
-  | AccessGroupRule
-  | AzureGroupRule
-  | GithubOrganizationRule
-  | GsuiteGroupRule
-  | OktaGroupRule
-  | SamlGroupRule;
-
-export type RuleBzMd43YS = {
   /**
-   * The available actions that a rule can apply to a matched request.
+   * Path to the certificate authority (CA) for the certificate of your origin. This option should be used only if your certificate is not signed by Cloudflare.
    *
-   * @example whitelist
-   * @example block
-   * @example challenge
-   * @example js_challenge
-   * @example managed_challenge
+   * @default
    */
-  allowed_modes: SchemasMode[];
-  configuration: SchemasConfiguration;
+  caPool?: string;
   /**
-   * The timestamp of when the rule was created.
+   * Timeout for establishing a new TCP connection to your origin server. This excludes the time taken to establish TLS, which is controlled by tlsTimeout.
    *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * @default 10
    */
-  created_on?: string;
-  id: RuleComponentsSchemasIdentifier;
-  mode: SchemasMode;
+  connectTimeout?: number;
   /**
-   * The timestamp of when the rule was last modified.
+   * Disables chunked transfer encoding. Useful if you are running a WSGI server.
+   */
+  disableChunkedEncoding?: boolean;
+  /**
+   * Attempt to connect to origin using HTTP2. Origin must be configured as https.
+   */
+  http2Origin?: boolean;
+  /**
+   * Sets the HTTP Host header on requests sent to the local service.
+   */
+  httpHostHeader?: string;
+  /**
+   * Maximum number of idle keepalive connections between Tunnel and your origin. This does not restrict the total number of concurrent connections.
    *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * @default 100
    */
-  modified_on?: string;
-  notes?: Notes;
-};
-
-/**
- * Additional settings that modify the rule's action.
- */
-export type RuleSettings = {
+  keepAliveConnections?: number;
   /**
-   * Add custom headers to allowed requests, in the form of key-value pairs. Keys are header names, pointing to an array with its header value(s).
+   * Timeout after which an idle keepalive connection can be discarded.
    *
-   * @example {"My-Next-Header":["foo","bar"],"X-Custom-Header-Name":["somecustomvalue"]}
+   * @default 90
    */
-  add_headers?: Record<string, any>;
+  keepAliveTimeout?: number;
   /**
-   * Set by parent MSP accounts to enable their children to bypass this rule.
+   * Disable the “happy eyeballs” algorithm for IPv4/IPv6 fallback if your local network has misconfigured one of the protocols.
    *
-   * @example false
+   * @default false
    */
-  allow_child_bypass?: boolean;
+  noHappyEyeballs?: boolean;
   /**
-   * Audit ssh action settings
+   * Disables TLS verification of the certificate presented by your origin. Will allow any certificate from the origin to be accepted.
+   *
+   * @default false
    */
-  audit_ssh?: {
-    /**
-     * Turn on SSH command logging.
-     *
-     * @example false
-     */
-    command_logging?: boolean;
-  };
+  noTLSVerify?: boolean;
   /**
-   * Configure how browser isolation behaves.
+   * Hostname that cloudflared should expect from your origin server certificate.
+   *
+   * @default
    */
-  biso_admin_controls?: {
-    /**
-     * Disable copy-paste.
-     *
-     * @example false
-     */
-    dcp?: boolean;
-    /**
-     * Disable download.
-     *
-     * @example false
-     */
-    dd?: boolean;
-    /**
-     * Disable keyboard usage.
-     *
-     * @example false
-     */
-    dk?: boolean;
-    /**
-     * Disable printing.
-     *
-     * @example false
-     */
-    dp?: boolean;
-    /**
-     * Disable upload.
-     *
-     * @example false
-     */
-    du?: boolean;
-  };
+  originServerName?: string;
   /**
-   * Enable the custom block page.
+   * cloudflared starts a proxy server to translate HTTP traffic into TCP when proxying, for example, SSH or RDP. This configures what type of proxy will be started. Valid options are: "" for the regular proxy and "socks" for a SOCKS5 proxy.
    *
-   * @example true
+   * @default
    */
-  block_page_enabled?: boolean;
+  proxyType?: string;
   /**
-   * The text describing why this block occurred that will be displayed on the custom block page (if enabled).
+   * The timeout after which a TCP keepalive packet is sent on a connection between Tunnel and the origin server.
    *
-   * @example This website is a security risk
+   * @default 30
    */
-  block_reason?: string;
+  tcpKeepAlive?: number;
   /**
-   * Set by children MSP accounts to bypass their parent's rules.
+   * Timeout for completing a TLS handshake to your origin server, if you have chosen to connect Tunnel to an HTTPS server.
    *
-   * @example false
+   * @default 10
    */
-  bypass_parent_rule?: boolean;
+  tlsTimeout?: number;
+};
+
+/**
+ * Number of results to display.
+ *
+ * @maximum 1000
+ * @minimum 1
+ */
+export type TunnelPerPage = number;
+
+/**
+ * If `true`, the tunnel can be configured remotely from the Zero Trust dashboard. If `false`, the tunnel must be configured locally on the origin machine.
+ *
+ * @example true
+ */
+export type TunnelRemoteConfig = boolean;
+
+export type TunnelResultInfo = {
   /**
-   * Configure how session check behaves.
+   * Total number of results for the requested service
+   *
+   * @example 1
    */
-  check_session?: {
-    /**
-     * Configure how fresh the session needs to be to be considered valid.
-     *
-     * @example 300s
-     */
-    duration?: string;
-    /**
-     * Enable session enforcement for this fule.
-     *
-     * @example true
-     */
-    enforce?: boolean;
-  };
+  count?: number;
   /**
-   * Configure how Proxy traffic egresses. Can be set for rules with Egress action and Egress filter. Can be omitted to indicate local egress via Warp IPs
+   * Current page within paginated list of results
+   *
+   * @example 1
    */
-  egress?: {
-    /**
-     * The IPv4 address to be used for egress.
-     *
-     * @example 192.0.2.2
-     */
-    ipv4?: string;
-    /**
-     * The IPv4 address to be used for egress in the event of an error egressing with the primary IPv4. Can be '0.0.0.0' to indicate local egreass via Warp IPs.
-     *
-     * @example 192.0.2.3
-     */
-    ipv4_fallback?: string;
-    /**
-     * The IPv6 range to be used for egress.
-     *
-     * @example 2001:DB8::/64
-     */
-    ipv6?: string;
-  };
+  page?: number;
+  /**
+   * Number of results per page of results
+   *
+   * @example 20
+   */
+  per_page?: number;
+  /**
+   * Total results available without any search parameters
+   *
+   * @example 2000
+   */
+  total_count?: number;
+};
+
+export type TunnelRoute = {
+  comment?: TunnelComment;
+  created_at?: TunnelCreatedAt;
+  deleted_at?: TunnelDeletedAt;
+  id?: TunnelRouteId;
+  network?: TunnelIpNetwork;
+  tunnel_id?: TunnelTunnelId;
+  virtual_network_id?: TunnelVirtualNetworkId;
+};
+
+/**
+ * UUID of the route.
+ *
+ * @example f70ff985-a4ef-4643-bbbc-4a0ed4fc8415
+ * @maxLength 36
+ */
+export type TunnelRouteId = string;
+
+export type TunnelRouteResponseSingle = {
+  errors: TunnelMessages;
+  messages: TunnelMessages;
+  result: TunnelRoute;
   /**
-   * INSECURE - disable DNSSEC validation (for allow actions).
+   * Whether the API call was successful
    *
-   * @example false
+   * @example true
    */
-  insecure_disable_dnssec_validation?: boolean;
+  success: true;
+};
+
+/**
+ * Timestamp of when the tunnel connection was started.
+ *
+ * @example 2009-11-10T23:00:00Z
+ * @format date-time
+ */
+export type TunnelRunAt = string;
+
+export type TunnelSchemasApiResponseCommon = {
+  errors: TunnelMessages;
+  messages: TunnelMessages;
   /**
-   * Include IPs in DNS resolver category blocks. By default categories only block on domain names.
+   * Whether the API call was successful
    *
    * @example true
    */
-  ip_categories?: boolean;
+  success: true;
+};
+
+export type TunnelSchemasApiResponseSingle = TunnelSchemasApiResponseCommon;
+
+/**
+ * Indicates if this is a locally or remotely configured tunnel. If `local`, manage the tunnel using a YAML file on the origin machine. If `cloudflare`, manage the tunnel's configuration on the Zero Trust dashboard.
+ *
+ * @default local
+ * @example cloudflare
+ */
+export type TunnelSchemasConfigSrc = 'local' | 'cloudflare';
+
+/**
+ * The version of the Tunnel Configuration.
+ */
+export type TunnelSchemasConfigVersion = number;
+
+export type TunnelSchemasConnection = {
+  client_id?: TunnelClientId;
+  client_version?: TunnelVersion;
+  colo_name?: TunnelColoName;
+  id?: TunnelConnectionId;
+  is_pending_reconnect?: TunnelIsPendingReconnect;
   /**
-   * Send matching traffic to the supplied destination IP address and port.
+   * Timestamp of when the connection was established.
+   *
+   * @example 2021-01-25T18:22:34.317854Z
+   * @format date-time
    */
-  l4override?: {
-    /**
-     * IPv4 or IPv6 address.
-     *
-     * @example 1.1.1.1
-     */
-    ip?: string;
-    /**
-     * A port number to use for TCP/UDP overrides.
-     */
-    port?: number;
-  };
+  opened_at?: string;
   /**
-   * Override matching DNS queries with this.
+   * The public IP address of the host running cloudflared.
    *
-   * @example example.com
+   * @example 10.1.0.137
    */
-  override_host?: string;
+  origin_ip?: TunnelIp;
+  uuid?: TunnelConnectionId;
+};
+
+/**
+ * The status of the tunnel. Valid values are `inactive` (tunnel has never been run), `degraded` (tunnel is active and able to serve traffic but in an unhealthy state), `healthy` (tunnel is active and able to serve traffic), or `down` (tunnel can not serve traffic as it has no connections to the Cloudflare Edge).
+ *
+ * @example healthy
+ */
+export type TunnelStatus = 'inactive' | 'degraded' | 'healthy' | 'down';
+
+export type TunnelTeamnet = {
+  comment?: TunnelComment;
+  created_at?: TunnelCreatedAt;
+  deleted_at?: TunnelDeletedAt;
+  id?: TunnelRouteId;
+  network?: TunnelIpNetwork;
+  tun_type?: TunnelTunnelType;
+  tunnel_id?: TunnelTunnelId;
+  tunnel_name?: TunnelTunnelName;
+  virtual_network_id?: TunnelVirtualNetworkId;
+  virtual_network_name?: TunnelVirtualNetworkName;
+};
+
+export type TunnelTeamnetResponseCollection = TunnelApiResponseCollection & {
+  result?: TunnelTeamnet[];
+};
+
+export type TunnelTeamnetResponseSingle = {
+  errors: TunnelMessages;
+  messages: TunnelMessages;
+  result: TunnelTeamnet;
   /**
-   * Override matching DNS queries with this.
+   * Whether the API call was successful
    *
-   * @example 1.1.1.1
-   * @example 2.2.2.2
+   * @example true
    */
-  override_ips?: string[];
+  success: true;
+};
+
+/**
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
+ */
+export type TunnelTimestamp = string;
+
+export type TunnelTunnelResponseCollection = TunnelApiResponseCollection & {
+  result?: (TunnelCfdTunnel | TunnelWarpConnectorTunnel)[];
+};
+
+export type TunnelTunnelResponseSingle = {
+  errors: TunnelMessages;
+  messages: TunnelMessages;
+  result: TunnelCfdTunnel | TunnelWarpConnectorTunnel | string;
   /**
-   * Configure DLP payload logging.
+   * Whether the API call was successful
+   *
+   * @example true
    */
-  payload_log?: {
-    /**
-     * Enable DLP payload logging for this rule.
-     *
-     * @example true
-     */
-    enabled?: boolean;
-  };
+  success: true;
+};
+
+/**
+ * A client (typically cloudflared) that maintains connections to a Cloudflare data center.
+ */
+export type TunnelTunnelClient = {
+  arch?: TunnelArch;
+  config_version?: TunnelConfigVersion;
+  conns?: TunnelConnections;
+  features?: TunnelFeatures;
+  id?: TunnelConnectionId;
+  run_at?: TunnelRunAt;
+  version?: TunnelVersion;
+};
+
+export type TunnelTunnelClientResponse = {
+  errors: TunnelMessages;
+  messages: TunnelMessages;
+  result: TunnelTunnelClient;
   /**
-   * Configure behavior when an upstream cert is invalid / an SSL error occurs.
+   * Whether the API call was successful
+   *
+   * @example true
    */
-  untrusted_cert?: {
-    /**
-     * The action to perform upon seeing an untrusted certificate. Default action is error with HTTP code 526.
-     *
-     * @example error
-     */
-    action?: 'pass_through' | 'block' | 'error';
-  };
+  success: true;
+};
+
+export type TunnelTunnelConnectionsResponse = TunnelApiResponseCollection & {
+  result?: TunnelTunnelClient[];
 };
 
 /**
- * The action to take when the expression matches.
+ * UUID of the tunnel.
  *
- * @example bypass_waiting_room
+ * @example f70ff985-a4ef-4643-bbbc-4a0ed4fc8415
+ * @format uuid
+ * @maxLength 36
  */
-export type RuleAction = 'bypass_waiting_room';
+export type TunnelTunnelId = string;
 
 /**
- * Actions pattern.
+ * The id of the tunnel linked and the date that link was created.
+ */
+export type TunnelTunnelLink = {
+  created_at?: TunnelCreatedAt;
+  linked_tunnel_id?: TunnelTunnelId;
+};
+
+export type TunnelTunnelLinksResponse = TunnelApiResponseCollection & {
+  result?: TunnelTunnelLink[];
+};
+
+/**
+ * A user-friendly name for a tunnel.
+ *
+ * @example blog
  */
-export type RuleActionKGdPufYw = {
+export type TunnelTunnelName = string;
+
+export type TunnelTunnelResponseToken = {
+  errors: TunnelMessages;
+  messages: TunnelMessages;
   /**
-   * Type of supported action.
+   * @example eyJhIjoiNWFiNGU5Z...
+   */
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
    *
-   * @example forward
+   * @example true
    */
-  type: 'forward' | 'worker';
-  value: string[];
+  success: true;
 };
 
 /**
- * List actions patterns.
+ * Sets the password required to run a locally-managed tunnel. Must be at least 32 bytes and encoded as a base64 string.
+ *
+ * @example AQIDBAUGBwgBAgMEBQYHCAECAwQFBgcIAQIDBAUGBwg=
  */
-export type RuleActions = RuleActionKGdPufYw[];
+export type TunnelTunnelSecret = string;
 
 /**
- * Action for the catch-all routing rule.
+ * The type of tunnel.
+ *
+ * @example cfd_tunnel
  */
-export type RuleCatchallAction = {
-  /**
-   * Type of action for catch-all rule.
-   *
-   * @example forward
-   */
-  type: 'drop' | 'forward' | 'worker';
-  value?: string[];
+export type TunnelTunnelType = 'cfd_tunnel' | 'warp_connector' | 'ip_sec' | 'gre' | 'cni';
+
+/**
+ * The types of tunnels to filter separated by a comma.
+ *
+ * @example cfd_tunnel,warp_connector
+ */
+export type TunnelTunnelTypes = string;
+
+/**
+ * The cloudflared version used to establish this connection.
+ *
+ * @example 2022.7.1
+ */
+export type TunnelVersion = string;
+
+export type TunnelVirtualNetwork = {
+  comment: TunnelVirtualNetworkComment;
+  created_at: TunnelCreatedAt;
+  deleted_at?: TunnelDeletedAt;
+  id: TunnelVirtualNetworkId;
+  is_default_network: TunnelIsDefaultNetwork;
+  name: TunnelVirtualNetworkName;
 };
 
 /**
- * List actions for the catch-all routing rule.
+ * Optional remark describing the virtual network.
+ *
+ * @example Staging VPC for data science
+ * @maxLength 256
  */
-export type RuleCatchallActions = RuleCatchallAction[];
+export type TunnelVirtualNetworkComment = string;
 
 /**
- * Matcher for catch-all routing rule.
+ * UUID of the virtual network.
+ *
+ * @example f70ff985-a4ef-4643-bbbc-4a0ed4fc8415
+ * @format uuid
+ */
+export type TunnelVirtualNetworkId = string;
+
+/**
+ * A user-friendly name for the virtual network.
+ *
+ * @example us-east-1-vpc
+ * @maxLength 256
  */
-export type RuleCatchallMatcher = {
+export type TunnelVirtualNetworkName = string;
+
+export type TunnelVnetResponseCollection = TunnelApiResponseCollection & {
+  result?: TunnelVirtualNetwork[];
+};
+
+export type TunnelVnetResponseSingle = {
+  errors: TunnelMessages;
+  messages: TunnelMessages;
+  result: TunnelVirtualNetwork;
   /**
-   * Type of matcher. Default is 'all'.
+   * Whether the API call was successful
    *
-   * @example all
+   * @example true
    */
-  type: 'all';
+  success: true;
 };
 
 /**
- * List of matchers for the catch-all routing rule.
+ * A Warp Connector Tunnel that connects your origin to Cloudflare's edge.
  */
-export type RuleCatchallMatchers = RuleCatchallMatcher[];
+export type TunnelWarpConnectorTunnel = {
+  account_tag?: TunnelAccountId;
+  connections?: TunnelConnections;
+  conns_active_at?: TunnelConnsActiveAt;
+  conns_inactive_at?: TunnelConnsInactiveAt;
+  created_at?: TunnelCreatedAt;
+  deleted_at?: TunnelDeletedAt;
+  id?: TunnelTunnelId;
+  metadata?: TunnelMetadata;
+  name?: TunnelTunnelName;
+  status?: TunnelStatus;
+  tun_type?: TunnelTunnelType;
+};
 
-export type RuleCollectionResponse = ApiResponseCollection & {
-  result?: RuleBzMd43YS[];
+export type TunnelZeroTrustConnectivitySettingsResponse = {
+  errors: TunnelMessages;
+  messages: TunnelMessages;
+  result:
+    | {
+        icmp_proxy_enabled?: TunnelIcmpProxyEnabled;
+        offramp_warp_enabled?: TunnelOfframpWarpEnabled;
+      }
+    | any[]
+    | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
 };
 
-export type RuleComponentsSchemasBase = {
-  description?: RuleComponentsSchemasDescription;
+export type TurnstileApiResponseCommon = {
+  errors: TurnstileMessages;
+  messages: TurnstileMessages;
   /**
-   * The rule group to which the current WAF rule belongs.
+   * Whether the API call was successful
+   *
+   * @example true
    */
-  group?: {
-    id?: GroupComponentsSchemasIdentifier;
-    name?: GroupComponentsSchemasName;
-  };
-  id?: RuleComponentsSchemasIdentifier2;
-  package_id?: PackageComponentsSchemasIdentifier;
-  priority?: SchemasPriority;
+  success: boolean;
 };
 
-export type RuleComponentsSchemasBase2 = RuleComponentsSchemasBase;
+export type TurnstileApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: TurnstileMessages;
+  messages: TurnstileMessages;
+  result: Record<string, any> | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: boolean;
+};
 
 /**
- * The public description of the WAF rule.
+ * If bot_fight_mode is set to `true`, Cloudflare issues computationally
+ * expensive challenges in response to malicious bots (ENT only).
  *
- * @example SQL injection prevention for SELECT statements
+ * @example false
  */
-export type RuleComponentsSchemasDescription = string;
+export type TurnstileBotFightMode = boolean;
 
 /**
- * The unique identifier of the IP Access rule.
+ * If Turnstile is embedded on a Cloudflare site and the widget should grant challenge clearance,
+ * this setting can determine the clearance level to be set
  *
- * @example 92f17202ed8bd63d69a66b86a49a8f6b
- * @maxLength 32
+ * @example interactive
  */
-export type RuleComponentsSchemasIdentifier = string;
+export type TurnstileClearanceLevel = 'no_clearance' | 'jschallenge' | 'managed' | 'interactive';
 
 /**
- * The unique identifier of the WAF rule.
+ * When the widget was created.
  *
- * @example f939de3be84e66e757adcdcb87908023
- * @maxLength 32
+ * @example 2014-01-01T05:20:00.123123Z
+ * @format date-time
  */
-export type RuleComponentsSchemasIdentifier2 = string;
-
-export type RuleComponentsSchemasRule =
-  | EmailRule
-  | DomainRule
-  | EveryoneRule
-  | IpRule
-  | IpListRule
-  | CertificateRule
-  | AccessGroupRule
-  | AzureGroupRule
-  | GithubOrganizationRule
-  | GsuiteGroupRule
-  | OktaGroupRule
-  | SamlGroupRule;
+export type TurnstileCreatedOn = string;
 
 /**
- * The description of the rule.
- *
- * @default
- * @example allow all traffic from 10.20.30.40
+ * @example 203.0.113.1
+ * @example cloudflare.com
+ * @example blog.example.com
+ * @maxLength 10
  */
-export type RuleDescription = string;
+export type TurnstileDomains = string[];
 
 /**
- * When set to true, the rule is enabled.
+ * Return the Ephemeral ID in /siteverify (ENT only).
  *
- * @default true
- * @example true
+ * @example false
  */
-export type RuleEnabled = boolean;
+export type TurnstileEphemeralId = boolean;
 
 /**
- * Routing rule status.
+ * Identifier
  *
- * @default true
- * @example true
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type RuleEnabledXvrbaudJ = true | false;
+export type TurnstileIdentifier = string;
 
 /**
- * Criteria defining when there is a match for the current rule.
+ * If `invalidate_immediately` is set to `false`, the previous secret will
+ * remain valid for two hours. Otherwise, the secret is immediately
+ * invalidated, and requests using it will be rejected.
  *
- * @example ip.src in {10.20.30.40}
+ * @default false
  */
-export type RuleExpression = string;
+export type TurnstileInvalidateImmediately = boolean;
 
-export type RuleGroupResponseCollection = ApiResponseCollection & {
-  result?: SchemasGroup[];
-};
+export type TurnstileMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
 
-export type RuleGroupResponseSingle = ApiResponseSingleLarS7owG & {
-  result?: Record<string, any>;
-};
+/**
+ * Widget Mode
+ *
+ * @example invisible
+ */
+export type TurnstileMode = 'non-interactive' | 'invisible' | 'managed';
 
 /**
- * The ID of the rule.
+ * When the widget was modified.
  *
- * @example 25756b2dfe6e378a06b033b670413757
+ * @example 2014-01-01T05:20:00.123123Z
+ * @format date-time
  */
-export type RuleId = string;
+export type TurnstileModifiedOn = string;
 
 /**
- * @example 2890e6fa406311ed9b5a23f70f6fb8cf
+ * Human readable widget name. Not unique. Cloudflare suggests that you
+ * set this to a meaningful string to make it easier to identify your
+ * widget, and where it is used.
+ *
+ * @example blog.cloudflare.com login form
+ * @maxLength 254
+ * @minLength 1
  */
-export type RuleIdentifier = void;
+export type TurnstileName = string;
 
 /**
- * Routing rule identifier.
+ * Do not show any Cloudflare branding on the widget (ENT only).
  *
- * @example a7e6fb77503c41d8a7f3113c6918f10c
- * @maxLength 32
+ * @example false
  */
-export type RuleIdentifier2K5KLBLf = string;
+export type TurnstileOfflabel = boolean;
 
 /**
- * Matching pattern to forward your actions.
+ * Region where this widget can be used.
+ *
+ * @default world
  */
-export type RuleMatcher = {
+export type TurnstileRegion = 'world';
+
+export type TurnstileResultInfo = {
   /**
-   * Field for type matcher.
+   * Total number of results for the requested service
    *
-   * @example to
+   * @example 1
    */
-  field: 'to';
+  count: number;
   /**
-   * Type of matcher.
+   * Current page within paginated list of results
    *
-   * @example literal
+   * @example 1
    */
-  type: 'literal';
+  page: number;
   /**
-   * Value for matcher.
+   * Number of results per page of results
    *
-   * @example test@example.com
-   * @maxLength 90
+   * @example 20
    */
-  value: string;
+  per_page: number;
+  /**
+   * Total results available without any search parameters
+   *
+   * @example 2000
+   */
+  total_count: number;
 };
 
 /**
- * Matching patterns to forward to your actions.
+ * Secret key for this widget.
+ *
+ * @example 0x4AAF00AAAABn0R22HWm098HVBjhdsYUc
  */
-export type RuleMatchers = RuleMatcher[];
+export type TurnstileSecret = string;
 
 /**
- * Routing rule name.
+ * Widget item identifier tag.
  *
- * @example Send to user@example.net rule.
- * @maxLength 256
+ * @example 0x4AAF00AAAABn0R22HWm-YUc
+ * @maxLength 32
  */
-export type RuleName = string;
+export type TurnstileSitekey = string;
 
 /**
- * Reorder the position of a rule
+ * A Turnstile widget's detailed configuration
  */
-export type RulePosition =
-  | {
-      /**
-       * Places the rule in the exact position specified by the integer number <POSITION_NUMBER>. Position numbers start with 1. Existing rules in the ruleset from the specified position number onward are shifted one position (no rule is overwritten).
-       */
-      index?: number;
-    }
-  | {
-      /**
-       * Places the rule before rule <RULE_ID>. Use this argument with an empty rule ID value ("") to set the rule as the first rule in the ruleset.
-       *
-       * @example <RULE_ID>
-       */
-      before?: string;
-    }
-  | {
-      /**
-       * Places the rule after rule <RULE_ID>. Use this argument with an empty rule ID value ("") to set the rule as the last rule in the ruleset.
-       *
-       * @example <RULE_ID>
-       */
-      after?: string;
-    };
+export type TurnstileWidgetDetail = {
+  bot_fight_mode: TurnstileBotFightMode;
+  clearance_level: TurnstileClearanceLevel;
+  created_on: TurnstileCreatedOn;
+  domains: TurnstileDomains;
+  ephemeral_id: TurnstileEphemeralId;
+  mode: TurnstileMode;
+  modified_on: TurnstileModifiedOn;
+  name: TurnstileName;
+  offlabel: TurnstileOfflabel;
+  region: TurnstileRegion;
+  secret: TurnstileSecret;
+  sitekey: TurnstileSitekey;
+};
 
 /**
- * Priority of the routing rule.
- *
- * @default 0
- * @minimum 0
+ * A Turnstile Widgets configuration as it appears in listings
  */
-export type RulePriority = number;
-
-export type RuleProperties = {
-  actions?: RuleActions;
-  enabled?: RuleEnabledXvrbaudJ;
-  matchers?: RuleMatchers;
-  name?: RuleName;
-  priority?: RulePriority;
-  tag?: RuleIdentifier2K5KLBLf;
-};
-
-export type RuleResponseCollection = ApiResponseCollection & {
-  result?: ComponentsSchemasRule[];
-};
-
-export type RuleResponseSingle = ApiResponseSingleLarS7owG & {
-  result?: Record<string, any>;
-};
-
-export type RuleResponseSingle0HO9Xvuc = ApiResponseSingleSiIqFfOd & {
-  result?: RulesFaVxDtoM;
+export type TurnstileWidgetList = {
+  bot_fight_mode: TurnstileBotFightMode;
+  clearance_level: TurnstileClearanceLevel;
+  created_on: TurnstileCreatedOn;
+  domains: TurnstileDomains;
+  ephemeral_id: TurnstileEphemeralId;
+  mode: TurnstileMode;
+  modified_on: TurnstileModifiedOn;
+  name: TurnstileName;
+  offlabel: TurnstileOfflabel;
+  region: TurnstileRegion;
+  sitekey: TurnstileSitekey;
 };
 
-export type RuleResult = {
-  action?: RuleAction;
-  description?: RuleDescription;
-  enabled?: RuleEnabled;
-  expression?: RuleExpression;
-  id?: RuleId;
-  last_updated?: Timestamp;
-  version?: RuleVersion;
-};
-
-export type RuleSingleIdResponse = ApiResponseSingleLarS7owG & {
-  result?: {
-    id?: RuleComponentsSchemasIdentifier;
-  };
+export type VectorizeApiResponseCollection = {
+  errors: VectorizeMessages;
+  messages: VectorizeMessages;
+  result: Record<string, any> | any[] | string | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+  result_info?: VectorizeResultInfo;
 };
 
-export type RuleSingleResponse = ApiResponseSingleLarS7owG & {
-  result?: RuleBzMd43YS;
+export type VectorizeApiResponseCommon = {
+  errors: VectorizeMessages;
+  messages: VectorizeMessages;
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
 };
 
-/**
- * The version of the rule.
- *
- * @example 1
- */
-export type RuleVersion = string;
-
-/**
- * BETA Field Not General Access: A list of rules for this load balancer to execute.
- */
-export type Rules = {
+export type VectorizeApiResponseCommonFailure = {
   /**
-   * The condition expressions to evaluate. If the condition evaluates to true, the overrides or fixed_response in this rule will be applied. An empty condition is always true. For more details on condition expressions, please see https://developers.cloudflare.com/load-balancing/understand-basics/load-balancing-rules/expressions.
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: VectorizeMessages;
+  messages: VectorizeMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
    *
-   * @example http.request.uri.path contains "/testing"
+   * @example false
    */
-  condition?: string;
+  success: false;
+};
+
+export type VectorizeApiResponseSingle = {
+  errors: VectorizeMessages;
+  messages: VectorizeMessages;
+  result: Record<string, any> | string | string | null;
   /**
-   * Disable this specific rule. It will no longer be evaluated by this load balancer.
+   * Whether the API call was successful
    *
-   * @default false
+   * @example true
    */
-  disabled?: boolean;
+  success: true;
+};
+
+export type VectorizeCreateIndexRequest = {
   /**
-   * A collection of fields used to directly respond to the eyeball instead of routing to a pool. If a fixed_response is supplied the rule will be marked as terminates.
+   * Specifies the type of configuration to use for the index.
    */
-  fixed_response?: {
-    /**
-     * The http 'Content-Type' header to include in the response.
-     *
-     * @example application/json
-     * @maxLength 32
-     */
-    content_type?: string;
-    /**
-     * The http 'Location' header to include in the response.
-     *
-     * @example www.example.com
-     * @maxLength 2048
-     */
-    location?: string;
-    /**
-     * Text to include as the http body.
-     *
-     * @example Testing Hello
-     * @maxLength 1024
-     */
-    message_body?: string;
-    /**
-     * The http status code to respond with.
-     */
-    status_code?: number;
-  };
+  config: VectorizeIndexConfiguration;
+  description?: VectorizeIndexDescription;
+  name: VectorizeIndexName;
+};
+
+export type VectorizeCreateIndexResponse = {
+  config?: VectorizeIndexDimensionConfiguration;
   /**
-   * Name of this rule. Only used for human readability.
+   * Specifies the timestamp the resource was created as an ISO8601 string.
    *
-   * @example route the path /testing to testing datacenter.
-   * @maxLength 200
+   * @example 2022-11-15T18:25:44.442097Z
+   * @format date-time
    */
-  name?: string;
+  created_on?: string;
+  description?: VectorizeIndexDescription;
   /**
-   * A collection of overrides to apply to the load balancer when this rule's condition is true. All fields are optional.
+   * Specifies the timestamp the resource was modified as an ISO8601 string.
+   *
+   * @example 2022-11-15T18:25:44.442097Z
+   * @format date-time
    */
-  overrides?: {
-    adaptive_routing?: AdaptiveRouting;
-    country_pools?: CountryPools;
-    default_pools?: DefaultPools;
-    fallback_pool?: FallbackPool;
-    location_strategy?: LocationStrategy;
-    pop_pools?: PopPools;
-    random_steering?: RandomSteering;
-    region_pools?: RegionPools;
-    session_affinity?: SessionAffinity;
-    session_affinity_attributes?: SessionAffinityAttributes;
-    session_affinity_ttl?: SessionAffinityTtl;
-    steering_policy?: SteeringPolicy;
-    ttl?: TtlHaRIhRKD;
-  };
+  modified_on?: string;
+  name?: VectorizeIndexName;
+};
+
+export type VectorizeCreateMetadataIndexRequest = {
   /**
-   * The order in which rules should be executed in relation to each other. Lower values are executed first. Values do not need to be sequential. If no value is provided for any rule the array order of the rules field will be used to assign a priority.
-   *
-   * @default 0
+   * Specifies the type of metadata property to index.
    */
-  priority?: number;
+  indexType: 'string' | 'number' | 'boolean';
   /**
-   * If this rule's condition is true, this causes rule evaluation to stop after processing this rule.
+   * Specifies the metadata property to index.
    *
-   * @default false
+   * @example random_metadata_property
    */
-  terminates?: boolean;
-}[];
-
-/**
- * An object that allows you to override the action of specific WAF rules. Each key of this object must be the ID of a WAF rule, and each value must be a valid WAF action. Unless you are disabling a rule, ensure that you also enable the rule group that this WAF rule belongs to. When creating a new URI-based WAF override, you must provide a `groups` object or a `rules` object.
- *
- * @example {"100015":"disable"}
- */
-export type Rules8wmBD69l = {
-  [key: string]: WafAction;
+  propertyName: string;
 };
 
-export type RulesFaVxDtoM = RuleProperties;
+export type VectorizeCreateMetadataIndexResponse = {
+  mutationId?: VectorizeMutationUuid;
+};
 
-export type RulesLzz0wOUq = {
-  action?: ActionCzIx4RfS;
-  created_at?: Timestamp;
-  deleted_at?: DeletedAt;
-  description?: SchemasDescriptionLlKmoyYd;
-  device_posture?: DevicePosture;
-  enabled?: EnabledQcoBB5YJ;
-  filters?: FiltersUTAknCFs;
-  id?: Uuid1mDHWugl;
-  identity?: Identity;
-  name?: ComponentsSchemasNameDiPhdb0D;
-  precedence?: PrecedenceEPoGsEKD;
-  rule_settings?: RuleSettings;
-  schedule?: Schedule;
-  traffic?: Traffic;
-  updated_at?: Timestamp;
+export type VectorizeDeleteMetadataIndexRequest = {
+  /**
+   * Specifies the metadata property for which the index must be deleted.
+   *
+   * @example random_metadata_property
+   */
+  propertyName: string;
 };
 
-/**
- * @example 6f91088a406011ed95aed352566e8d4c
- */
-export type RulesComponentsSchemasAccountIdentifier = void;
+export type VectorizeDeleteMetadataIndexResponse = {
+  mutationId?: VectorizeMutationUuid;
+};
 
 /**
- * The action to perform when the rule matches.
+ * Identifier
  *
- * @example execute
- * @pattern ^[a-z_]+$
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type RulesComponentsSchemasAction = string;
+export type VectorizeIdentifier = string;
 
 /**
- * An informative description of the rule.
- *
- * @default
- * @example Execute the OWASP ruleset when the IP address is not 1.1.1.1
+ * Specifies the type of configuration to use for the index.
  */
-export type RulesComponentsSchemasDescription = string;
+export type VectorizeIndexConfiguration = VectorizeIndexDimensionConfiguration | VectorizeIndexPresetConfiguration;
 
-/**
- * Whether the rule should be executed.
- *
- * @default true
- * @example true
- */
-export type RulesComponentsSchemasEnabled = boolean;
+export type VectorizeIndexDeleteVectorsByIdRequest = {
+  /**
+   * A list of vector identifiers to delete from the index indicated by the path.
+   *
+   * @example 5121db81354a40c6aedc3fe1ace51c59
+   * @example f90eb49c2107486abdfd78c67e853430
+   */
+  ids?: VectorizeVectorIdentifier[];
+};
 
-/**
- * The unique ID of the rule.
- *
- * @example 3a03d665bac047339bb530ecb439a90d
- */
-export type RulesComponentsSchemasId = string;
+export type VectorizeIndexDeleteVectorsByIdResponse = {
+  /**
+   * The count of the vectors successfully deleted.
+   *
+   * @example 42
+   */
+  count?: number;
+  /**
+   * Array of vector identifiers of the vectors that were successfully processed for deletion.
+   */
+  ids?: VectorizeVectorIdentifier[];
+};
 
-/**
- * A rule object.
- */
-export type RulesComponentsSchemasRule = {
-  action?: RulesComponentsSchemasAction;
-  action_parameters?: ActionParameters;
-  categories?: CategoriesGr0NL98E;
-  description?: RulesComponentsSchemasDescription;
-  enabled?: RulesComponentsSchemasEnabled;
-  expression?: SchemasExpression;
-  id?: RulesComponentsSchemasId;
-  last_updated?: SchemasLastUpdated;
-  logging?: Logging;
-  ref?: ComponentsSchemasRef;
-  version?: SchemasVersion;
+export type VectorizeIndexDeleteVectorsByIdV2Response = {
+  mutationId?: VectorizeMutationUuid;
 };
 
 /**
- * The number of rules in the current rule group.
+ * Specifies the description of the index.
  *
- * @default 0
- * @example 10
+ * @example This is my example index.
  */
-export type RulesCount = number;
+export type VectorizeIndexDescription = string;
 
-export type RulesResponseCollection = ApiResponseCollection & {
-  result?: RuleResult[];
+export type VectorizeIndexDimensionConfiguration = {
+  dimensions: VectorizeIndexDimensions;
+  metric: VectorizeIndexMetric;
 };
 
-export type RulesResponseCollectionQMasv9nu = ApiResponseCollection & {
-  result?: RulesFaVxDtoM[];
-  result_info?: {
-    /**
-     * @example 1
-     */
-    count?: void;
-    /**
-     * @example 1
-     */
-    page?: void;
-    /**
-     * @example 20
-     */
-    per_page?: void;
-    /**
-     * @example 1
-     */
-    total_count?: void;
-  };
+/**
+ * Specifies the number of dimensions for the index
+ *
+ * @example 768
+ * @maximum 1536
+ * @minimum 1
+ */
+export type VectorizeIndexDimensions = number;
+
+export type VectorizeIndexGetVectorsByIdRequest = {
+  /**
+   * A list of vector identifiers to retrieve from the index indicated by the path.
+   *
+   * @example 5121db81354a40c6aedc3fe1ace51c59
+   * @example f90eb49c2107486abdfd78c67e853430
+   */
+  ids?: VectorizeVectorIdentifier[];
 };
 
 /**
- * A ruleset object.
+ * Array of vectors with matching ids.
+ *
+ * @example {"id":"some-vector-id","metadata":{"another-key":"another-value","customer-id":442},"values":[0.812,0.621,0.261]}
+ * @example {"id":"other-vector-id","metadata":{"another-key":"with-a-value","customer-id":2151},"namespace":"namespaced","values":[0.961,0.751,0.661]}
  */
-export type Ruleset = {
-  description?: RulesetsComponentsSchemasDescription;
-  id?: RulesetsComponentsSchemasId;
-  kind?: SchemasKind;
-  last_updated?: LastUpdated;
-  name?: RulesetsComponentsSchemasName;
-  phase?: Phase;
-  rules?: SchemasRules;
-  version?: VersionF60UUqsl;
+export type VectorizeIndexGetVectorsByIdResponse = {
+  id?: VectorizeVectorIdentifier;
+  metadata?: Record<string, any>;
+  namespace?: string | null;
+  values?: number[];
+}[];
+
+export type VectorizeIndexInfoResponse = {
+  dimensions?: VectorizeIndexDimensions;
+  /**
+   * Specifies the timestamp the last mutation batch was processed as an ISO8601 string.
+   *
+   * @example 2024-07-22T18:25:44.442097Z
+   * @format date-time
+   */
+  processedUpToDatetime?: string | null;
+  processedUpToMutation?: VectorizeMutationUuid;
+  /**
+   * Specifies the number of vectors present in the index
+   *
+   * @example 300000
+   */
+  vectorCount?: number;
 };
 
-export type RulesetResponse = {
-  errors: Messages;
-  messages: Messages;
-  result: Ruleset;
+export type VectorizeIndexInsertResponse = {
   /**
-   * Whether the API call was successful
+   * Specifies the count of the vectors successfully inserted.
    *
-   * @example true
+   * @example 768
    */
-  success: true;
+  count?: number;
+  /**
+   * Array of vector identifiers of the vectors successfully inserted.
+   */
+  ids?: VectorizeVectorIdentifier[];
 };
 
-/**
- * A ruleset object.
- */
-export type RulesetWithoutRules = {
-  description?: RulesetsComponentsSchemasDescription;
-  id?: RulesetsComponentsSchemasId;
-  kind?: SchemasKind;
-  last_updated?: LastUpdated;
-  name?: RulesetsComponentsSchemasName;
-  phase?: Phase;
-  version?: VersionF60UUqsl;
+export type VectorizeIndexInsertV2Response = {
+  mutationId?: VectorizeMutationUuid;
 };
 
 /**
- * An informative description of the ruleset.
- *
- * @default
- * @example My ruleset to execute managed rulesets
+ * Specifies the type of metric to use calculating distance.
  */
-export type RulesetsComponentsSchemasDescription = string;
+export type VectorizeIndexMetric = 'cosine' | 'euclidean' | 'dot-product';
 
 /**
- * The unique ID of the ruleset.
- *
- * @example 2f2feab2026849078ba485f918791bdc
- * @pattern ^[0-9a-f]{32}$
+ * @example example-index
+ * @pattern ^([a-z]+[a-z0-9_-]*[a-z0-9]+)$
  */
-export type RulesetsComponentsSchemasId = string;
+export type VectorizeIndexName = string;
 
 /**
- * The human-readable name of the ruleset.
+ * Specifies the preset to use for the index.
  *
- * @example My ruleset
+ * @example @cf/baai/bge-small-en-v1.5
  */
-export type RulesetsComponentsSchemasName = string;
+export type VectorizeIndexPreset =
+  | '@cf/baai/bge-small-en-v1.5'
+  | '@cf/baai/bge-base-en-v1.5'
+  | '@cf/baai/bge-large-en-v1.5'
+  | 'openai/text-embedding-ada-002'
+  | 'cohere/embed-multilingual-v2.0';
 
-export type RulesetsResponse = {
-  errors: Messages;
-  messages: Messages;
+export type VectorizeIndexPresetConfiguration = {
+  preset: VectorizeIndexPreset;
+};
+
+export type VectorizeIndexQueryRequest = {
   /**
-   * A list of rulesets. The returned information will not include the rules in each ruleset.
+   * A metadata filter expression used to limit nearest neighbor results.
+   *
+   * @example {"has_viewed":{"$ne":true},"streaming_platform":"netflix"}
    */
-  result: Record<string, any> | any[] | string;
+  filter?: Record<string, any>;
   /**
-   * Whether the API call was successful
+   * Whether to return the metadata associated with the closest vectors.
    *
-   * @example true
+   * @default false
    */
-  success: true;
+  returnMetadata?: boolean;
+  /**
+   * Whether to return the values associated with the closest vectors.
+   *
+   * @default false
+   */
+  returnValues?: boolean;
+  /**
+   * The number of nearest neighbors to find.
+   *
+   * @default 5
+   * @example 5
+   */
+  topK?: number;
+  /**
+   * The search vector that will be used to find the nearest neighbors.
+   *
+   * @example 0.5
+   * @example 0.5
+   * @example 0.5
+   */
+  vector: number[];
 };
 
-/**
- * Timestamp of when the tunnel connection was started.
- *
- * @example 2009-11-10T23:00:00Z
- * @format date-time
- */
-export type RunAt = string;
-
-export type SaasApp = {
+export type VectorizeIndexQueryResponse = {
   /**
-   * The service provider's endpoint that is responsible for receiving and parsing a SAML assertion.
-   *
-   * @example https://example.com
+   * Specifies the count of vectors returned by the search
    */
-  consumer_service_url?: string;
-  created_at?: Timestamp;
-  custom_attributes?: {
-    /**
-     * The name of the attribute.
-     *
-     * @example family_name
-     */
-    name?: string;
+  count?: number;
+  /**
+   * Array of vectors matched by the search
+   */
+  matches?: {
+    id?: VectorizeVectorIdentifier;
+    metadata?: Record<string, any> | null;
     /**
-     * A globally unique name for an identity or service provider.
-     *
-     * @example urn:oasis:names:tc:SAML:2.0:attrname-format:basic
+     * The score of the vector according to the index's distance metric
      */
-    name_format?:
-      | 'urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified'
-      | 'urn:oasis:names:tc:SAML:2.0:attrname-format:basic'
-      | 'urn:oasis:names:tc:SAML:2.0:attrname-format:uri';
-    source?: {
-      /**
-       * The name of the IdP attribute.
-       *
-       * @example last_name
-       */
-      name?: string;
-    };
-  };
+    score?: number;
+    values?: number[] | null;
+  }[];
+};
+
+export type VectorizeIndexQueryV2Request = {
   /**
-   * The unique identifier for your SaaS application.
+   * A metadata filter expression used to limit nearest neighbor results.
    *
-   * @example https://example.cloudflareaccess.com
+   * @example {"has_viewed":{"$ne":true},"streaming_platform":"netflix"}
    */
-  idp_entity_id?: string;
+  filter?: Record<string, any>;
   /**
-   * The format of the name identifier sent to the SaaS application.
+   * Whether to return no metadata, indexed metadata or all metadata associated with the closest vectors.
    *
-   * @example id
+   * @default none
    */
-  name_id_format?: 'id' | 'email';
+  returnMetadata?: 'none' | 'indexed' | 'all';
   /**
-   * The Access public certificate that will be used to verify your identity.
+   * Whether to return the values associated with the closest vectors.
    *
-   * @example example unique name
+   * @default false
    */
-  public_key?: string;
+  returnValues?: boolean;
   /**
-   * A globally unique name for an identity or service provider.
+   * The number of nearest neighbors to find.
    *
-   * @example example unique name
+   * @default 5
+   * @example 5
    */
-  sp_entity_id?: string;
+  topK?: number;
   /**
-   * The endpoint where your SaaS application will send login requests.
+   * The search vector that will be used to find the nearest neighbors.
    *
-   * @example https://example.cloudflareaccess.com/cdn-cgi/access/sso/saml/b3f58a2b414e0b51d45c8c2af26fccca0e27c63763c426fa52f98dcf0b3b3bfd
+   * @example 0.5
+   * @example 0.5
+   * @example 0.5
    */
-  sso_endpoint?: string;
-  updated_at?: Timestamp;
+  vector: number[];
 };
 
-export type SaasProps = {
-  allowed_idps?: AllowedIdps;
-  app_launcher_visible?: AppLauncherVisible;
-  auto_redirect_to_identity?: SchemasAutoRedirectToIdentity;
-  logo_url?: LogoUrl;
-  name?: AppsComponentsSchemasName;
-  saas_app?: SaasApp;
+export type VectorizeIndexQueryV2Response = {
   /**
-   * The application type.
-   *
-   * @example saas
+   * Specifies the count of vectors returned by the search
    */
-  type?: string;
+  count?: number;
+  /**
+   * Array of vectors matched by the search
+   */
+  matches?: {
+    id?: VectorizeVectorIdentifier;
+    metadata?: Record<string, any> | null;
+    namespace?: string | null;
+    /**
+     * The score of the vector according to the index's distance metric
+     */
+    score?: number;
+    values?: number[] | null;
+  }[];
 };
 
-export type SaasProps5uhJMdOI = {
-  allowed_idps?: AllowedIdps;
-  app_launcher_visible?: AppLauncherVisible;
-  auto_redirect_to_identity?: AutoRedirectToIdentityB0IhfGBw;
-  logo_url?: LogoUrl;
-  name?: AppsComponentsSchemasName;
-  saas_app?: SaasApp;
+export type VectorizeIndexUpsertResponse = {
   /**
-   * The application type.
+   * Specifies the count of the vectors successfully inserted.
    *
-   * @example saas
+   * @example 768
    */
-  type?: string;
+  count?: number;
+  /**
+   * Array of vector identifiers of the vectors successfully inserted.
+   */
+  ids?: VectorizeVectorIdentifier[];
+};
+
+export type VectorizeIndexUpsertV2Response = {
+  mutationId?: VectorizeMutationUuid;
 };
 
 /**
- * Sets the SameSite cookie setting, which provides increased security against CSRF attacks.
- *
- * @example strict
+ * @example {"metadataIndexes":[{"indexType":"number","propertyName":"some-num-prop"},{"indexType":"string","propertyName":"some-str-prop"},{"indexType":"boolean","propertyName":"some-bool-prop"}]}
  */
-export type SameSiteCookieAttribute = string;
-
-export type Saml = {
+export type VectorizeListMetadataIndexResponse = {
   /**
-   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   * Array of indexed metadata properties.
    */
-  config: {
-    /**
-     * A list of SAML attribute names that will be added to your signed JWT token and can be used in SAML policy rules.
-     *
-     * @example group
-     * @example department_code
-     * @example divison
-     */
-    attributes?: string[];
-    /**
-     * The attribute name for email in the SAML response.
-     *
-     * @example Email
-     */
-    email_attribute_name?: string;
-    /**
-     * Add a list of attribute names that will be returned in the response header from the Access callback.
-     */
-    header_attributes?: {
-      /**
-       * attribute name from the IDP
-       */
-      attribute_name?: string;
-      /**
-       * header that will be added on the request to the origin
-       */
-      header_name?: string;
-    }[];
-    /**
-     * X509 certificate to verify the signature in the SAML authentication response
-     */
-    idp_public_certs?: string[];
-    /**
-     * IdP Entity ID or Issuer URL
-     *
-     * @example https://whoami.com
-     */
-    issuer_url?: string;
+  metadataIndexes?: {
     /**
-     * Sign the SAML authentication request with Access credentials. To verify the signature, use the public key from the Access certs endpoints.
+     * Specifies the type of indexed metadata property.
      */
-    sign_request?: boolean;
+    indexType?: 'string' | 'number' | 'boolean';
     /**
-     * URL to send the SAML authentication requests to
+     * Specifies the indexed metadata property.
      *
-     * @example https://edgeaccess.org/idp/saml/login
+     * @example random_metadata_property
      */
-    sso_target_url?: string;
-  };
-  id?: Uuid;
-  name: SchemasNameIXVfNmuB;
+    propertyName?: string;
+  }[];
+};
+
+export type VectorizeMessages = {
   /**
-   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   * @minimum 1000
    */
-  scim_config?: {
-    /**
-     * A flag to enable or disable SCIM for the identity provider.
-     */
-    enabled?: boolean;
-    /**
-     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
-     */
-    group_member_deprovision?: boolean;
-    /**
-     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
-     */
-    seat_deprovision?: boolean;
-    /**
-     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
-     */
-    secret?: string;
-    /**
-     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
-     */
-    user_deprovision?: boolean;
-  };
+  code: number;
+  message: string;
+}[];
+
+/**
+ * The unique identifier for the async mutation operation containing the changeset.
+ *
+ * @example 0000aaaa-11bb-22cc-33dd-444444eeeeee
+ * @maxLength 36
+ */
+export type VectorizeMutationUuid = void;
+
+export type VectorizeResultInfo = {
   /**
-   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   * Total number of results for the requested service
    *
-   * @example onetimepin
+   * @example 1
    */
-  type: string;
+  count?: number;
+  /**
+   * Current page within paginated list of results
+   *
+   * @example 1
+   */
+  page?: number;
+  /**
+   * Number of results per page of results
+   *
+   * @example 20
+   */
+  per_page?: number;
+  /**
+   * Total results available without any search parameters
+   *
+   * @example 2000
+   */
+  total_count?: number;
 };
 
-/**
- * Matches a SAML group.
- * Requires a SAML identity provider.
- */
-export type SamlGroupRule = {
-  saml: {
-    /**
-     * The name of the SAML attribute.
-     *
-     * @example group
-     */
-    attribute_name: string;
-    /**
-     * The SAML attribute value to look for.
-     *
-     * @example devs@cloudflare.com
-     */
-    attribute_value: string;
-  };
+export type VectorizeUpdateIndexRequest = {
+  description: VectorizeIndexDescription;
 };
 
 /**
- * The sample parameter is the sample rate of the records set by the client: "sample": 1 is 100% of records "sample": 10 is 10% and so on.
+ * Identifier for a Vector
+ *
+ * @example some-vector-id-023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 64
+ */
+export type VectorizeVectorIdentifier = string;
+
+/**
+ * The available states for the rule group.
  *
- * @example 1
+ * @example on
+ * @example off
  */
-export type Sample = number;
+export type WafManagedRulesAllowedModes = WafManagedRulesMode[];
 
 /**
- * When `?sample=` is provided, a sample of matching records is returned. If `sample=0.1` then 10% of records will be returned. Sampling is random: repeated calls will not only return different records, but likely will also vary slightly in number of returned records. When `?count=` is also specified, `count` is applied to the number of returned records, not the sampled records. So, with `sample=0.05` and `count=7`, when there is a total of 100 records available, approximately five will be returned. When there are 1000 records, seven will be returned. When there are 10,000 records, seven will be returned.
+ * Defines the available modes for the current WAF rule.
  *
- * @example 0.1
- * @maximum 1
- * @minimum 0
+ * @example on
+ * @example off
  */
-export type SampleDCLw1eAf = number;
+export type WafManagedRulesAllowedModesAllowTraditional = WafManagedRulesModeAllowTraditional[];
 
 /**
- * The size of the image relative to the overall size of the video. This parameter will adapt to horizontal and vertical videos automatically. `0.0` indicates no scaling (use the size of the image as-is), and `1.0 `fills the entire video.
+ * Defines the available modes for the current WAF rule. Applies to anomaly detection WAF rules.
  *
- * @default 0.15
- * @example 0.1
- * @maximum 1
- * @minimum 0
+ * @example on
+ * @example off
+ */
+export type WafManagedRulesAllowedModesAnomaly = WafManagedRulesModeAnomaly[];
+
+/**
+ * The list of possible actions of the WAF rule when it is triggered.
+ *
+ * @example default
+ * @example disable
+ * @example simulate
+ * @example block
+ * @example challenge
  */
-export type Scale = number;
+export type WafManagedRulesAllowedModesDenyTraditional = WafManagedRulesModeDenyTraditional[];
 
 /**
- * Schedule for activating DNS policies. Does not apply to HTTP or network policies.
+ * When triggered, anomaly detection WAF rules contribute to an overall threat score that will determine if a request is considered malicious. You can configure the total scoring threshold through the 'sensitivity' property of the WAF package.
  */
-export type Schedule = {
+export type WafManagedRulesAnomalyRule = WafManagedRulesSchemasBase & {
+  allowed_modes?: WafManagedRulesAllowedModesAnomaly;
+  mode?: WafManagedRulesModeAnomaly;
+};
+
+export type WafManagedRulesApiResponseCollection = {
+  errors: WafManagedRulesMessages;
+  messages: WafManagedRulesMessages;
+  result: Record<string, any> | any[] | string | null;
   /**
-   * The time intervals when the rule will be active on Fridays, in increasing order from 00:00-24:00.  If this parameter is omitted, the rule will be deactivated on Fridays.
+   * Whether the API call was successful
    *
-   * @example 08:00-12:30,13:30-17:00
+   * @example true
    */
-  fri?: string;
+  success: true;
+  result_info?: WafManagedRulesResultInfo;
+};
+
+export type WafManagedRulesApiResponseCommon = {
+  errors: WafManagedRulesMessages;
+  messages: WafManagedRulesMessages;
+  result: Record<string, any> | any[] | string;
   /**
-   * The time intervals when the rule will be active on Mondays, in increasing order from 00:00-24:00. If this parameter is omitted, the rule will be deactivated on Mondays.
+   * Whether the API call was successful
    *
-   * @example 08:00-12:30,13:30-17:00
+   * @example true
    */
-  mon?: string;
+  success: true;
+};
+
+export type WafManagedRulesApiResponseCommonFailure = {
   /**
-   * The time intervals when the rule will be active on Saturdays, in increasing order from 00:00-24:00.  If this parameter is omitted, the rule will be deactivated on Saturdays.
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: WafManagedRulesMessages;
+  messages: WafManagedRulesMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
    *
-   * @example 08:00-12:30,13:30-17:00
+   * @example false
    */
-  sat?: string;
+  success: false;
+};
+
+export type WafManagedRulesApiResponseSingle = {
+  errors: WafManagedRulesMessages;
+  messages: WafManagedRulesMessages;
+  result: (Record<string, any> | any[] | string | null) | (Record<string, any> | any[] | string | null);
   /**
-   * The time intervals when the rule will be active on Sundays, in increasing order from 00:00-24:00. If this parameter is omitted, the rule will be deactivated on Sundays.
+   * Whether the API call was successful
    *
-   * @example 08:00-12:30,13:30-17:00
+   * @example true
    */
-  sun?: string;
+  success: true;
+};
+
+export type WafManagedRulesBase = {
+  description?: WafManagedRulesSchemasDescription;
   /**
-   * The time intervals when the rule will be active on Thursdays, in increasing order from 00:00-24:00. If this parameter is omitted, the rule will be deactivated on Thursdays.
+   * The rule group to which the current WAF rule belongs.
+   */
+  group?: {
+    id?: WafManagedRulesComponentsSchemasIdentifier;
+    name?: WafManagedRulesName;
+  };
+  id?: WafManagedRulesRuleComponentsSchemasIdentifier;
+  package_id?: WafManagedRulesIdentifier;
+  priority?: WafManagedRulesPriority;
+};
+
+/**
+ * The unique identifier of the rule group.
+ *
+ * @example de677e5818985db1285d0e80225f06e5
+ * @maxLength 32
+ */
+export type WafManagedRulesComponentsSchemasIdentifier = string;
+
+/**
+ * The default action/mode of a rule.
+ *
+ * @example block
+ */
+export type WafManagedRulesDefaultMode = 'disable' | 'simulate' | 'block' | 'challenge';
+
+/**
+ * An informative summary of what the rule group does.
+ *
+ * @example Group designed to protect against IP addresses that are a threat and typically used to launch DDoS attacks
+ */
+export type WafManagedRulesDescription = string | null;
+
+export type WafManagedRulesGroup = {
+  description?: WafManagedRulesDescription;
+  id?: WafManagedRulesComponentsSchemasIdentifier;
+  modified_rules_count?: WafManagedRulesModifiedRulesCount;
+  name?: WafManagedRulesName;
+  package_id?: WafManagedRulesIdentifier;
+  rules_count?: WafManagedRulesRulesCount;
+};
+
+/**
+ * The unique identifier of a WAF package.
+ *
+ * @example a25a9a7e9c00afc1fb2e0245519d725b
+ * @maxLength 32
+ */
+export type WafManagedRulesIdentifier = string;
+
+export type WafManagedRulesMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+/**
+ * The state of the rules contained in the rule group. When `on`, the rules in the group are configurable/usable.
+ *
+ * @default on
+ */
+export type WafManagedRulesMode = 'on' | 'off';
+
+/**
+ * When set to `on`, the current rule will be used when evaluating the request. Applies to traditional (allow) WAF rules.
+ *
+ * @example on
+ */
+export type WafManagedRulesModeAllowTraditional = 'on' | 'off';
+
+/**
+ * When set to `on`, the current WAF rule will be used when evaluating the request. Applies to anomaly detection WAF rules.
+ *
+ * @example on
+ */
+export type WafManagedRulesModeAnomaly = 'on' | 'off';
+
+/**
+ * The action that the current WAF rule will perform when triggered. Applies to traditional (deny) WAF rules.
+ *
+ * @example block
+ */
+export type WafManagedRulesModeDenyTraditional = 'default' | 'disable' | 'simulate' | 'block' | 'challenge';
+
+/**
+ * The number of rules within the group that have been modified from their default configuration.
+ *
+ * @default 0
+ * @example 2
+ */
+export type WafManagedRulesModifiedRulesCount = number;
+
+/**
+ * The name of the rule group.
+ *
+ * @example Project Honey Pot
+ */
+export type WafManagedRulesName = string;
+
+/**
+ * The order in which the individual WAF rule is executed within its rule group.
+ */
+export type WafManagedRulesPriority = string;
+
+export type WafManagedRulesResultInfo = {
+  /**
+   * Total number of results for the requested service
    *
-   * @example 08:00-12:30,13:30-17:00
+   * @example 1
    */
-  thu?: string;
+  count?: number;
   /**
-   * The time zone the rule will be evaluated against. If a [valid time zone city name](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List) is provided, Gateway will always use the current time at that time zone. If this parameter is omitted, then the time zone inferred from the user's source IP is used to evaluate the rule. If Gateway cannot determine the time zone from the IP, we will fall back to the time zone of the user's connected data center.
+   * Current page within paginated list of results
    *
-   * @example America/New York
+   * @example 1
    */
-  time_zone?: string;
+  page?: number;
   /**
-   * The time intervals when the rule will be active on Tuesdays, in increasing order from 00:00-24:00. If this parameter is omitted, the rule will be deactivated on Tuesdays.
+   * Number of results per page of results
    *
-   * @example 08:00-12:30,13:30-17:00
+   * @example 20
    */
-  tue?: string;
+  per_page?: number;
   /**
-   * The time intervals when the rule will be active on Wednesdays, in increasing order from 00:00-24:00. If this parameter is omitted, the rule will be deactivated on Wednesdays.
+   * Total results available without any search parameters
    *
-   * @example 08:00-12:30,13:30-17:00
+   * @example 2000
    */
-  wed?: string;
+  total_count?: number;
 };
 
+export type WafManagedRulesRule =
+  | WafManagedRulesAnomalyRule
+  | WafManagedRulesTraditionalDenyRule
+  | WafManagedRulesTraditionalAllowRule;
+
 /**
- * Polling frequency for the WARP client posture check. Default: `5m` (poll every five minutes). Minimum: `1m`.
+ * The unique identifier of the WAF rule.
  *
- * @example 1h
+ * @example f939de3be84e66e757adcdcb87908023
+ * @maxLength 32
+ */
+export type WafManagedRulesRuleComponentsSchemasIdentifier = string;
+
+export type WafManagedRulesRuleGroupResponseCollection = WafManagedRulesApiResponseCollection & {
+  result?: WafManagedRulesSchemasGroup[];
+};
+
+export type WafManagedRulesRuleGroupResponseSingle = WafManagedRulesApiResponseSingle & {
+  result?: Record<string, any>;
+};
+
+export type WafManagedRulesRuleResponseCollection = WafManagedRulesApiResponseCollection & {
+  result?: WafManagedRulesRule[];
+};
+
+export type WafManagedRulesRuleResponseSingle = WafManagedRulesApiResponseSingle & {
+  result?: Record<string, any>;
+};
+
+/**
+ * The number of rules in the current rule group.
+ *
+ * @default 0
+ * @example 10
  */
-export type ScheduleVkuQMHl2 = string;
+export type WafManagedRulesRulesCount = number;
+
+export type WafManagedRulesSchemasBase = WafManagedRulesBase;
 
 /**
- * Polling frequency for the WARP client posture check. Default: `5m` (poll every five minutes). Minimum: `1m`.
+ * The public description of the WAF rule.
  *
- * @example 1h
+ * @example SQL injection prevention for SELECT statements
  */
-export type ScheduleXq5rkQsP = string;
+export type WafManagedRulesSchemasDescription = string;
 
-export type SchemaResponseDiscovery = DefaultResponse & {
-  result?: {
-    schemas?: Openapi[];
-    timestamp?: string;
-  };
+export type WafManagedRulesSchemasGroup = WafManagedRulesGroup & {
+  allowed_modes?: WafManagedRulesAllowedModes;
+  mode?: WafManagedRulesMode;
 };
 
-export type SchemaResponseWithThresholds = DefaultResponse & {
-  result?: {
-    schemas?: Openapiwiththresholds[];
-    timestamp?: string;
-  };
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type WafManagedRulesSchemasIdentifier = string;
+
+/**
+ * When triggered, traditional WAF rules cause the firewall to immediately act on the request based on the rule configuration. An 'allow' rule will immediately allow the request and no other rules will be processed.
+ */
+export type WafManagedRulesTraditionalAllowRule = WafManagedRulesBase & {
+  allowed_modes?: WafManagedRulesAllowedModesAllowTraditional;
+  mode?: WafManagedRulesModeAllowTraditional;
 };
 
 /**
- * True if the user has authenticated with Cloudflare Access.
- *
- * @example false
+ * When triggered, traditional WAF rules cause the firewall to immediately act upon the request based on the configuration of the rule. A 'deny' rule will immediately respond to the request based on the configured rule action/mode (for example, 'block') and no other rules will be processed.
  */
-export type SchemasAccessSeat = boolean;
+export type WafManagedRulesTraditionalDenyRule = WafManagedRulesBase & {
+  allowed_modes?: WafManagedRulesAllowedModesDenyTraditional;
+  default_mode?: WafManagedRulesDefaultMode;
+  mode?: WafManagedRulesModeDenyTraditional;
+};
+
+export type WafProductApiBundleApiResponseCollection = {
+  errors: WafProductApiBundleMessages;
+  messages: WafProductApiBundleMessages;
+  result: Record<string, any> | any[] | string | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type WafProductApiBundleApiResponseCommon = {
+  errors: WafProductApiBundleMessages;
+  messages: WafProductApiBundleMessages;
+  result: Record<string, any> | any[] | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
 
-export type SchemasAccount = Account;
+export type WafProductApiBundleApiResponseCommonFailure = {
+  /**
+   * @example {"code":10100,"message":"Unknown error occured, please try again"}
+   * @minLength 1
+   */
+  errors: WafProductApiBundleMessages;
+  messages: WafProductApiBundleMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
 
-/**
- * Account identifier tag.
- *
- * @example 023e105f4ecef8ad9ca31a8372d0c353
- * @maxLength 32
- */
-export type SchemasAccountIdentifier = string;
+export type WafProductApiBundleApiResponseSingle = {
+  errors: WafProductApiBundleMessages;
+  messages: WafProductApiBundleMessages;
+  result: (Record<string, any> | null) | (string | null) | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
 
 /**
- * The action to perform when the threshold of matched traffic within the configured period is exceeded.
+ * A custom set of username/password expressions to match Leaked Credential Checks on
  */
-export type SchemasAction = {
-  mode?: Mode;
-  response?: CustomResponse;
-  timeout?: TimeoutHaHBovKX;
+export type WafProductApiBundleCustomDetection = {
+  id?: WafProductApiBundleDetectionId;
+  /**
+   * The ruleset expression to use in matching the password in a request
+   *
+   * @example lookup_json_string(http.request.body.raw, "secret")
+   */
+  password?: string;
+  /**
+   * The ruleset expression to use in matching the username in a request
+   *
+   * @example lookup_json_string(http.request.body.raw, "user")
+   */
+  username?: string;
 };
 
 /**
- * The parameters configuring the action.
+ * A custom scan expression to match Content Scanning on
  */
-export type SchemasActionParameters = ActionParametersRoute;
+export type WafProductApiBundleCustomScan = {
+  id?: WafProductApiBundleCustomScanId;
+  payload?: WafProductApiBundleCustomScanPayload;
+};
 
 /**
- * Address.
+ * Identifier
  *
- * @example 123 Sesame St.
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type SchemasAddress = string;
+export type WafProductApiBundleCustomScanId = WafProductApiBundleIdentifier;
 
 /**
- * Enablement of prefix advertisement to the Internet.
+ * Ruleset expression to use in matching content objects
  *
- * @example true
+ * @example lookup_json_string(http.request.body.raw, "file")
  */
-export type SchemasAdvertised = boolean;
+export type WafProductApiBundleCustomScanPayload = string;
 
 /**
- * Type of notification that has been dispatched.
+ * Identifier
  *
- * @example universal_ssl_event_type
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type SchemasAlertType = string;
+export type WafProductApiBundleDetectionId = WafProductApiBundleIdentifier;
 
 /**
- * The result of the authentication event.
+ * Identifier
  *
- * @default false
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type SchemasAllowed = boolean;
+export type WafProductApiBundleIdentifier = string;
 
-export type SchemasApiResponseCommon = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | any[] | string;
+export type WafProductApiBundleMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+export type WafProductApiBundleResponseCustomDetection = WafProductApiBundleApiResponseSingle & {
+  result?: WafProductApiBundleCustomDetection;
+};
+
+export type WafProductApiBundleResponseCustomDetectionCollection = WafProductApiBundleApiResponseCollection & {
+  result?: WafProductApiBundleCustomDetection[];
+};
+
+export type WafProductApiBundleResponseCustomScanCollection = WafProductApiBundleSchemasApiResponseCollection & {
+  result?: WafProductApiBundleCustomScan[];
+};
+
+export type WafProductApiBundleResponseStatus = WafProductApiBundleApiResponseSingle & {
+  result?: WafProductApiBundleStatus;
+};
+
+export type WafProductApiBundleSchemasApiResponseCollection = {
+  errors: WafProductApiBundleMessages;
+  messages: WafProductApiBundleMessages;
+  result: Record<string, any> | any[] | (string | null) | null;
   /**
    * Whether the API call was successful
    *
@@ -21538,13 +42788,25 @@ export type SchemasApiResponseCommon = {
   success: true;
 };
 
-export type SchemasApiResponseCommonFailure = {
+export type WafProductApiBundleSchemasApiResponseCommon = {
+  errors: WafProductApiBundleMessages;
+  messages: WafProductApiBundleMessages;
+  result: Record<string, any> | any[] | (string | null);
   /**
-   * @example {"code":7003,"message":"No route for the URI"}
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
+
+export type WafProductApiBundleSchemasApiResponseCommonFailure = {
+  /**
+   * @example {"code":10000,"message":"Authentication error"}
    * @minLength 1
    */
-  errors: Messages;
-  messages: Messages;
+  errors: WafProductApiBundleMessages;
+  messages: WafProductApiBundleMessages;
   result: any | null;
   /**
    * Whether the API call was successful
@@ -21554,16 +42816,10 @@ export type SchemasApiResponseCommonFailure = {
   success: false;
 };
 
-export type SchemasApiResponseSingleId = {
-  errors: Messages;
-  messages: Messages;
-  result:
-    | {
-        id: SchemasIdentifier;
-      }
-    | any[]
-    | string
-    | null;
+export type WafProductApiBundleSchemasApiResponseSingle = {
+  errors: WafProductApiBundleMessages;
+  messages: WafProductApiBundleMessages;
+  result: (Record<string, any> | null) | (string | null) | (string | null);
   /**
    * Whether the API call was successful
    *
@@ -21572,2670 +42828,3356 @@ export type SchemasApiResponseSingleId = {
   success: true;
 };
 
-/**
- * Displays the application in the App Launcher.
- *
- * @example true
- */
-export type SchemasAppLauncherVisible = boolean;
-
-export type SchemasApps =
-  | (BasicAppResponseProps & SchemasSelfHostedProps)
-  | (BasicAppResponseProps & SaasProps)
-  | (BasicAppResponseProps & SchemasSshProps)
-  | (BasicAppResponseProps & SchemasVncProps)
-  | (BasicAppResponseProps & AppLauncherProps)
-  | (BasicAppResponseProps & WarpProps)
-  | (BasicAppResponseProps & BisoProps)
-  | (BasicAppResponseProps & SchemasBookmarkProps);
-
-export type SchemasAppsJxIYBSY3 =
-  | (BasicAppResponseProps & SelfHostedPropsUAlJDzGr)
-  | (BasicAppResponseProps & SaasProps5uhJMdOI)
-  | (BasicAppResponseProps & SshProps)
-  | (BasicAppResponseProps & VncProps)
-  | (BasicAppResponseProps & AppLauncherProps)
-  | (BasicAppResponseProps & WarpProps)
-  | (BasicAppResponseProps & BisoProps)
-  | (BasicAppResponseProps & SchemasBookmarkPropsIeg438mR);
-
-/**
- * AS number associated with the node object.
- */
-export type SchemasAsn = string;
+export type WafProductApiBundleSchemasResponseStatus = WafProductApiBundleSchemasApiResponseSingle & {
+  result?: WafProductApiBundleSchemasStatus;
+};
 
 /**
- * Audience tag.
- *
- * @example 737646a56ab1df6ec9bddc7e5ca84eaf3b0768850f3ffb5d74f1534911fe3893
- * @maxLength 64
+ * The status for Content Scanning
  */
-export type SchemasAud = string;
+export type WafProductApiBundleSchemasStatus = {
+  /**
+   * Last modification date (ISO 8601) of the Content Scanning status
+   *
+   * @example 2024-12-02T09:57:23.150259Z
+   */
+  modified?: string;
+  /**
+   * Status of Content Scanning
+   *
+   * @example enabled
+   */
+  value?: string;
+};
 
 /**
- * When set to `true`, users skip the identity provider selection step during login. You must specify only one identity provider in allowed_idps.
- *
- * @default false
+ * The overall status for Leaked Credential Checks
  */
-export type SchemasAutoRedirectToIdentity = boolean;
+export type WafProductApiBundleStatus = {
+  /**
+   * Whether or not Leaked Credential Checks are enabled
+   *
+   * @example true
+   */
+  enabled?: boolean;
+};
 
 /**
- * [Automatic Platform Optimization for WordPress](https://developers.cloudflare.com/automatic-platform-optimization/) serves your WordPress site from Cloudflare's edge network and caches third-party fonts.
+ * Only available for the Waiting Room Advanced subscription. Additional hostname and path combinations to which this waiting room will be applied. There is an implied wildcard at the end of the path. The hostname and path combination must be unique to this and all other waiting rooms.
  */
-export type SchemasAutomaticPlatformOptimization = {
+export type WaitingroomAdditionalRoutes = {
   /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   * The hostname to which this waiting room will be applied (no wildcards). The hostname must be the primary domain, subdomain, or custom hostname (if using SSL for SaaS) of this zone. Please do not include the scheme (http:// or https://).
    *
-   * @default true
+   * @example shop2.example.com
    */
-  editable?: true | false;
+  host?: string;
   /**
-   * ID of the zone setting.
+   * Sets the path within the host to enable the waiting room on. The waiting room will be enabled for all subpaths as well. If there are two waiting rooms on the same subpath, the waiting room for the most specific path will be chosen. Wildcards and query parameters are not supported.
    *
-   * @example automatic_platform_optimization
+   * @default /
+   * @example /shop2/checkout
    */
-  id: 'automatic_platform_optimization';
+  path?: string;
+}[];
+
+export type WaitingroomApiResponseCollection = WaitingroomSchemasApiResponseCommon & {
+  result_info?: WaitingroomResultInfo;
+};
+
+export type WaitingroomApiResponseCommon = Record<string, any>;
+
+export type WaitingroomApiResponseCommonFailure = {
   /**
-   * last time this setting was modified.
-   *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
    */
-  modified_on?: string | null;
+  errors: WaitingroomMessages;
+  messages: WaitingroomMessages;
+  result: any | null;
   /**
-   * Current value of the zone setting.
+   * Whether the API call was successful
    *
-   * @example on
+   * @example false
    */
-  value: AutomaticPlatformOptimization;
+  success: false;
+};
+
+export type WaitingroomApiResponseSingle = {
+  result: Record<string, any> | string;
 };
 
 /**
- * Shows if a domain is available for transferring into Cloudflare Registrar.
- *
- * @example false
+ * Configures cookie attributes for the waiting room cookie. This encrypted cookie stores a user's status in the waiting room, such as queue position.
  */
-export type SchemasAvailable = boolean;
-
-export type SchemasAzureAD = {
-  /**
-   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
-   */
-  config: GenericOauthConfig & {
-    /**
-     * Your Azure directory uuid
-     *
-     * @example <your azure directory uuid>
-     */
-    directory_id?: string;
-    /**
-     * Should Cloudflare try to load groups from your account
-     */
-    support_groups?: boolean;
-  };
-  id?: Uuid;
-  name: SchemasNameIXVfNmuB;
+export type WaitingroomCookieAttributes = {
   /**
-   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   * Configures the SameSite attribute on the waiting room cookie. Value `auto` will be translated to `lax` or `none` depending if **Always Use HTTPS** is enabled. Note that when using value `none`, the secure attribute cannot be set to `never`.
+   *
+   * @default auto
+   * @example auto
    */
-  scim_config?: {
-    /**
-     * A flag to enable or disable SCIM for the identity provider.
-     */
-    enabled?: boolean;
-    /**
-     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
-     */
-    group_member_deprovision?: boolean;
-    /**
-     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
-     */
-    seat_deprovision?: boolean;
-    /**
-     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
-     */
-    secret?: string;
-    /**
-     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
-     */
-    user_deprovision?: boolean;
-  };
+  samesite?: 'auto' | 'lax' | 'none' | 'strict';
   /**
-   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   * Configures the Secure attribute on the waiting room cookie. Value `always` indicates that the Secure attribute will be set in the Set-Cookie header, `never` indicates that the Secure attribute will not be set, and `auto` will set the Secure attribute depending if **Always Use HTTPS** is enabled.
    *
-   * @example onetimepin
+   * @default auto
+   * @example auto
    */
-  type: string;
+  secure?: 'auto' | 'always' | 'never';
+};
+
+/**
+ * Appends a '_' + a custom suffix to the end of Cloudflare Waiting Room's cookie name(__cf_waitingroom). If `cookie_suffix` is "abcd", the cookie name will be `__cf_waitingroom_abcd`. This field is required if using `additional_routes`.
+ *
+ * @example abcd
+ */
+export type WaitingroomCookieSuffix = string;
+
+export type WaitingroomCreateRule = {
+  action: WaitingroomRuleAction;
+  description?: WaitingroomRuleDescription;
+  enabled?: WaitingroomRuleEnabled;
+  expression: WaitingroomRuleExpression;
 };
 
-export type SchemasBase = {
-  /**
-   * Identifier of the zone setting.
-   *
-   * @example development_mode
-   */
-  id: string;
-  /**
-   * last time this setting was modified.
-   *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
-   */
-  modified_on: string | null;
-};
+/**
+ * Only available for the Waiting Room Advanced subscription. This is a template html file that will be rendered at the edge. If no custom_page_html is provided, the default waiting room will be used. The template is based on mustache ( https://mustache.github.io/ ). There are several variables that are evaluated by the Cloudflare edge:
+ * 1. {{`waitTimeKnown`}} Acts like a boolean value that indicates the behavior to take when wait time is not available, for instance when queue_all is **true**.
+ * 2. {{`waitTimeFormatted`}} Estimated wait time for the user. For example, five minutes. Alternatively, you can use:
+ * 3. {{`waitTime`}} Number of minutes of estimated wait for a user.
+ * 4. {{`waitTimeHours`}} Number of hours of estimated wait for a user (`Math.floor(waitTime/60)`).
+ * 5. {{`waitTimeHourMinutes`}} Number of minutes above the `waitTimeHours` value (`waitTime%60`).
+ * 6. {{`queueIsFull`}} Changes to **true** when no more people can be added to the queue.
+ *
+ * To view the full list of variables, look at the `cfWaitingRoom` object described under the `json_response_enabled` property in other Waiting Room API calls.
+ *
+ * @default
+ * @example {{#waitTimeKnown}} {{waitTime}} mins {{/waitTimeKnown}} {{^waitTimeKnown}} Queue all enabled {{/waitTimeKnown}}
+ */
+export type WaitingroomCustomPageHtml = string;
+
+/**
+ * The language of the default page template. If no default_template_language is provided, then `en-US` (English) will be used.
+ *
+ * @default en-US
+ * @example es-ES
+ */
+export type WaitingroomDefaultTemplateLanguage =
+  | 'en-US'
+  | 'es-ES'
+  | 'de-DE'
+  | 'fr-FR'
+  | 'it-IT'
+  | 'ja-JP'
+  | 'ko-KR'
+  | 'pt-BR'
+  | 'zh-CN'
+  | 'zh-TW'
+  | 'nl-NL'
+  | 'pl-PL'
+  | 'id-ID'
+  | 'tr-TR'
+  | 'ar-EG'
+  | 'ru-RU'
+  | 'fa-IR'
+  | 'bg-BG'
+  | 'hr-HR'
+  | 'cs-CZ'
+  | 'da-DK'
+  | 'fi-FI'
+  | 'lt-LT'
+  | 'ms-MY'
+  | 'nb-NO'
+  | 'ro-RO'
+  | 'el-GR'
+  | 'he-IL'
+  | 'hi-IN'
+  | 'hu-HU'
+  | 'sr-BA'
+  | 'sk-SK'
+  | 'sl-SI'
+  | 'sv-SE'
+  | 'tl-PH'
+  | 'th-TH'
+  | 'uk-UA'
+  | 'vi-VN';
+
+/**
+ * A note that you can use to add more details about the waiting room.
+ *
+ * @default
+ * @example Production - DO NOT MODIFY
+ */
+export type WaitingroomDescription = string;
+
+/**
+ * Only available for the Waiting Room Advanced subscription. Disables automatic renewal of session cookies. If `true`, an accepted user will have session_duration minutes to browse the site. After that, they will have to go through the waiting room again. If `false`, a user's session cookie will be automatically renewed on every request.
+ *
+ * @default false
+ * @example false
+ */
+export type WaitingroomDisableSessionRenewal = boolean;
+
+/**
+ * A list of enabled origin commands.
+ */
+export type WaitingroomEnabledOriginCommands = 'revoke'[];
+
+export type WaitingroomEstimatedQueuedUsers = number;
+
+export type WaitingroomEstimatedTotalActiveUsers = number;
+
+/**
+ * If set, the event will override the waiting room's `custom_page_html` property while it is active. If null, the event will inherit it.
+ *
+ * @example {{#waitTimeKnown}} {{waitTime}} mins {{/waitTimeKnown}} {{^waitTimeKnown}} Event is prequeueing / Queue all enabled {{/waitTimeKnown}}
+ */
+export type WaitingroomEventCustomPageHtml = string | null;
+
+/**
+ * A note that you can use to add more details about the event.
+ *
+ * @default
+ * @example Production event - DO NOT MODIFY
+ */
+export type WaitingroomEventDescription = string;
+
+/**
+ * @example {{#waitTimeKnown}} {{waitTime}} mins {{/waitTimeKnown}} {{^waitTimeKnown}} Event is prequeueing / Queue all enabled {{/waitTimeKnown}}
+ */
+export type WaitingroomEventDetailsCustomPageHtml = string;
 
-export type SchemasBookmarkProps = {
-  /**
-   * @default true
-   */
-  app_launcher_visible?: void;
-  /**
-   * The URL or domain of the bookmark.
-   *
-   * @example https://mybookmark.com
-   */
-  domain: void;
-  logo_url?: LogoUrl;
-  name?: AppsComponentsSchemasName;
-  /**
-   * The application type.
-   *
-   * @example bookmark
-   */
-  type: string;
-};
+/**
+ * @example false
+ */
+export type WaitingroomEventDetailsDisableSessionRenewal = boolean;
 
-export type SchemasBookmarkPropsIeg438mR = {
-  /**
-   * @default true
-   */
-  app_launcher_visible?: void;
-  /**
-   * The URL or domain of the bookmark.
-   *
-   * @example https://mybookmark.com
-   */
-  domain?: void;
-  logo_url?: LogoUrl;
-  name?: AppsComponentsSchemasName;
-  /**
-   * The application type.
-   *
-   * @example bookmark
-   */
-  type?: string;
+export type WaitingroomEventDetailsNewUsersPerMinute = number;
+
+/**
+ * @example random
+ */
+export type WaitingroomEventDetailsQueueingMethod = string;
+
+export type WaitingroomEventDetailsResponse = WaitingroomApiResponseSingle & {
+  result?: WaitingroomEventDetailsResult;
 };
 
-export type SchemasCa = {
-  aud?: Aud;
-  id?: CaComponentsSchemasId;
-  public_key?: PublicKey;
+export type WaitingroomEventDetailsResult = {
+  created_on?: WaitingroomTimestamp;
+  custom_page_html?: WaitingroomEventDetailsCustomPageHtml;
+  description?: WaitingroomEventDescription;
+  disable_session_renewal?: WaitingroomEventDetailsDisableSessionRenewal;
+  event_end_time?: WaitingroomEventEndTime;
+  event_start_time?: WaitingroomEventStartTime;
+  id?: WaitingroomEventId;
+  modified_on?: WaitingroomTimestamp;
+  name?: WaitingroomEventName;
+  new_users_per_minute?: WaitingroomEventDetailsNewUsersPerMinute;
+  prequeue_start_time?: WaitingroomEventPrequeueStartTime;
+  queueing_method?: WaitingroomEventDetailsQueueingMethod;
+  session_duration?: WaitingroomEventDetailsSessionDuration;
+  shuffle_at_event_start?: WaitingroomEventShuffleAtEventStart;
+  suspended?: WaitingroomEventSuspended;
+  total_active_users?: WaitingroomEventDetailsTotalActiveUsers;
 };
 
+export type WaitingroomEventDetailsSessionDuration = number;
+
+export type WaitingroomEventDetailsTotalActiveUsers = number;
+
 /**
- * Controls whether the membership can be deleted via the API or not.
+ * If set, the event will override the waiting room's `disable_session_renewal` property while it is active. If null, the event will inherit it.
+ */
+export type WaitingroomEventDisableSessionRenewal = boolean | null;
+
+/**
+ * An ISO 8601 timestamp that marks the end of the event.
  *
- * @example true
+ * @example 2021-09-28T17:00:00.000Z
  */
-export type SchemasCanDelete = boolean;
+export type WaitingroomEventEndTime = string;
 
-export type SchemasCentrify = {
-  /**
-   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
-   */
-  config: GenericOauthConfig & {
-    /**
-     * Your centrify account url
-     *
-     * @example https://abc123.my.centrify.com/
-     */
-    centrify_account?: string;
-    /**
-     * Your centrify app id
-     *
-     * @example exampleapp
-     */
-    centrify_app_id?: string;
-  };
-  id?: Uuid;
-  name: SchemasNameIXVfNmuB;
-  /**
-   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
-   */
-  scim_config?: {
-    /**
-     * A flag to enable or disable SCIM for the identity provider.
-     */
-    enabled?: boolean;
-    /**
-     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
-     */
-    group_member_deprovision?: boolean;
-    /**
-     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
-     */
-    seat_deprovision?: boolean;
-    /**
-     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
-     */
-    secret?: string;
-    /**
-     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
-     */
-    user_deprovision?: boolean;
+/**
+ * @example 25756b2dfe6e378a06b033b670413757
+ */
+export type WaitingroomEventId = string;
+
+export type WaitingroomEventIdResponse = WaitingroomApiResponseSingle & {
+  result?: {
+    id?: WaitingroomEventId;
   };
-  /**
-   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
-   *
-   * @example onetimepin
-   */
-  type: string;
 };
 
 /**
- * The zone's SSL certificate or SSL certificate and intermediate(s).
+ * A unique name to identify the event. Only alphanumeric characters, hyphens and underscores are allowed.
  *
- * @example -----BEGIN CERTIFICATE----- MIIDtTCCAp2gAwIBAgIJAM15n7fdxhRtMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV BAYTAlVTMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX aWRnaXRzIFB0eSBMdGQwHhcNMTQwMzExMTkyMTU5WhcNMTQwNDEwMTkyMTU5WjBF MQswCQYDVQQGEwJVUzETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50 ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB CgKCAQEAvq3sKsHpeduJHimOK+fvQdKsI8z8A05MZyyLp2/R/GE8FjNv+hkVY1WQ LIyTNNQH7CJecE1nbTfo8Y56S7x/rhxC6/DJ8MIulapFPnorq46KU6yRxiM0MQ3N nTJHlHA2ozZta6YBBfVfhHWl1F0IfNbXCLKvGwWWMbCx43OfW6KTkbRnE6gFWKuO fSO5h2u5TaWVuSIzBvYs7Vza6m+gtYAvKAJV2nSZ+eSEFPDo29corOy8+huEOUL8 5FAw4BFPsr1TlrlGPFitduQUHGrSL7skk1ESGza0to3bOtrodKei2s9bk5MXm7lZ qI+WZJX4Zu9+mzZhc9pCVi8r/qlXuQIDAQABo4GnMIGkMB0GA1UdDgQWBBRvavf+ sWM4IwKiH9X9w1vl6nUVRDB1BgNVHSMEbjBsgBRvavf+sWM4IwKiH9X9w1vl6nUV RKFJpEcwRTELMAkGA1UEBhMCVVMxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNV BAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZIIJAM15n7fdxhRtMAwGA1UdEwQF MAMBAf8wDQYJKoZIhvcNAQEFBQADggEBABY2ZzBaW0dMsAAT7tPJzrVWVzQx6KU4 UEBLudIlWPlkAwTnINCWR/8eNjCCmGA4heUdHmazdpPa8RzwOmc0NT1NQqzSyktt vTqb4iHD7+8f9MqJ9/FssCfTtqr/Qst/hGH4Wmdf1EJ/6FqYAAb5iRlPgshFZxU8 uXtA8hWn6fK6eISD9HBdcAFToUvKNZ1BIDPvh9f95Ine8ar6yGd56TUNrHR8eHBs ESxz5ddVR/oWRysNJ+aGAyYqHS8S/ttmC7r4XCAHqXptkHPCGRqkAhsterYhd4I8 /cBzejUobNCjjHFbtkAL/SjxZOLW+pNkZwfeYdM8iPkD54Uua1v2tdw= -----END CERTIFICATE-----
+ * @example production_webinar_event
  */
-export type SchemasCertificate = string;
-
-export type SchemasCertificateObject = {
-  certificate?: HostnameAuthenticatedOriginPullComponentsSchemasCertificate;
-  expires_on?: HostnameAuthenticatedOriginPullComponentsSchemasExpiresOn;
-  id?: Identifier;
-  issuer?: Issuer;
-  serial_number?: SerialNumber;
-  signature?: Signature;
-  status?: HostnameAuthenticatedOriginPullComponentsSchemasStatus;
-  uploaded_on?: ComponentsSchemasUploadedOn;
-};
+export type WaitingroomEventName = string;
 
-export type SchemasCertificateObjectAlDI2xY5 = {
-  certificate?: HostnameAuthenticatedOriginPullComponentsSchemasCertificate;
-  expires_on?: HostnameAuthenticatedOriginPullComponentsSchemasExpiresOn;
-  id?: HostnameAuthenticatedOriginPullComponentsSchemasIdentifier;
-  issuer?: Issuer;
-  serial_number?: SerialNumber;
-  signature?: Signature;
-  status?: HostnameAuthenticatedOriginPullComponentsSchemasStatus;
-  uploaded_on?: ComponentsSchemasUploadedOn;
-};
+/**
+ * If set, the event will override the waiting room's `new_users_per_minute` property while it is active. If null, the event will inherit it. This can only be set if the event's `total_active_users` property is also set.
+ *
+ * @maximum 2147483647
+ * @minimum 200
+ */
+export type WaitingroomEventNewUsersPerMinute = number | null;
 
 /**
- * Certificate Authority selected for the order.  Selecting Let's Encrypt will reduce customization of other fields: validation_method must be 'txt', validity_days must be 90, cloudflare_branding must be omitted, and hosts must contain only 2 entries, one for the zone name and one for the subdomain wildcard of the zone name (e.g. example.com, *.example.com).
+ * An ISO 8601 timestamp that marks when to begin queueing all users before the event starts. The prequeue must start at least five minutes before `event_start_time`.
  *
- * @example digicert
+ * @example 2021-09-28T15:00:00.000Z
  */
-export type SchemasCertificateAuthority = 'digicert' | 'google' | 'lets_encrypt';
+export type WaitingroomEventPrequeueStartTime = string | null;
 
 /**
- * The Certificate Authority that Total TLS certificates will be issued through.
+ * If set, the event will override the waiting room's `queueing_method` property while it is active. If null, the event will inherit it.
  *
- * @example google
+ * @example random
  */
-export type SchemasCertificateAuthorityNfQsLnVr = 'google' | 'lets_encrypt';
+export type WaitingroomEventQueueingMethod = string | null;
 
-export type SchemasCertificateResponseCollection = ApiResponseCollection & {
-  result?: CertificatesJ6E1yuF3[];
+export type WaitingroomEventResponse = WaitingroomApiResponseSingle & {
+  result?: WaitingroomEventResult;
 };
 
-export type SchemasCertificateResponseSingle = ApiResponseSingleZZHeSkIR & {
-  result?: Record<string, any>;
+export type WaitingroomEventResponseCollection = WaitingroomApiResponseCollection & {
+  result?: WaitingroomEventResult[];
 };
 
-export type SchemasCertificateResponseSingleI8qAM9fN = ApiResponseSingleLarS7owG & {
-  result?: Record<string, any>;
+export type WaitingroomEventResult = {
+  created_on?: WaitingroomTimestamp;
+  custom_page_html?: WaitingroomEventCustomPageHtml;
+  description?: WaitingroomEventDescription;
+  disable_session_renewal?: WaitingroomEventDisableSessionRenewal;
+  event_end_time?: WaitingroomEventEndTime;
+  event_start_time?: WaitingroomEventStartTime;
+  id?: WaitingroomEventId;
+  modified_on?: WaitingroomTimestamp;
+  name?: WaitingroomEventName;
+  new_users_per_minute?: WaitingroomEventNewUsersPerMinute;
+  prequeue_start_time?: WaitingroomEventPrequeueStartTime;
+  queueing_method?: WaitingroomEventQueueingMethod;
+  session_duration?: WaitingroomEventSessionDuration;
+  shuffle_at_event_start?: WaitingroomEventShuffleAtEventStart;
+  suspended?: WaitingroomEventSuspended;
+  total_active_users?: WaitingroomEventTotalActiveUsers;
 };
 
 /**
- * The uploaded root CA certificate.
- * 
- * @example -----BEGIN CERTIFICATE-----
-MIIDmDCCAoCgAwIBAgIUKTOAZNjcXVZRj4oQt0SHsl1c1vMwDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVVMxFjAUBgNVBAgMDVNhbiBGcmFuY2lzY28xEzARBgNVBAcMCkNhbGlmb3JuaWExFTATBgNVBAoMDEV4YW1wbGUgSW5jLjAgFw0yMjExMjIxNjU5NDdaGA8yMTIyMTAyOTE2NTk0N1owUTELMAkGA1UEBhMCVVMxFjAUBgNVBAgMDVNhbiBGcmFuY2lzY28xEzARBgNVBAcMCkNhbGlmb3JuaWExFTATBgNVBAoMDEV4YW1wbGUgSW5jLjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMRcORwgJFTdcG/2GKI+cFYiOBNDKjCZUXEOvXWY42BkH9wxiMT869CO+enA1w5pIrXow6kCM1sQspHHaVmJUlotEMJxyoLFfA/8Kt1EKFyobOjuZs2SwyVyJ2sStvQuUQEosULZCNGZEqoH5g6zhMPxaxm7ZLrrsDZ9maNGVqo7EWLWHrZ57Q/5MtTrbxQL+eXjUmJ9K3kS+3uEwMdqR6Z3BluU1ivanpPc1CN2GNhdO0/hSY4YkGEnuLsqJyDd3cIiB1MxuCBJ4ZaqOd2viV1WcP3oU3dxVPm4MWyfYIldMWB14FahScxLhWdRnM9YZ/i9IFcLypXsuz7DjrJPtPUCAwEAAaNmMGQwHQYDVR0OBBYEFP5JzLUawNF+c3AXsYTEWHh7z2czMB8GA1UdIwQYMBaAFP5JzLUawNF+c3AXsYTEWHh7z2czMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAGAQH/AgEBMA0GCSqGSIb3DQEBCwUAA4IBAQBc+Be7NDhpE09y7hLPZGRPl1cSKBw4RI0XIv6rlbSTFs5EebpTGjhx/whNxwEZhB9HZ7111Oa1YlT8xkI9DshB78mjAHCKBAJ76moK8tkG0aqdYpJ4ZcJTVBB7l98Rvgc7zfTii7WemTy72deBbSeiEtXavm4EF0mWjHhQ5Nxpnp00Bqn5g1x8CyTDypgmugnep+xG+iFzNmTdsz7WI9T/7kDMXqB7M/FPWBORyS98OJqNDswCLF8bIZYwUBEe+bRHFomoShMzaC3tvim7WCb16noDkSTMlfKO4pnvKhpcVdSgwcruATV7y+W+Lvmz2OT/Gui4JhqeoTewsxndhDDE
------END CERTIFICATE-----
+ * If set, the event will override the waiting room's `session_duration` property while it is active. If null, the event will inherit it.
+ *
+ * @maximum 30
+ * @minimum 1
  */
-export type SchemasCertificates = string;
-
-export type SchemasCidrConfiguration = {
-  /**
-   * The configuration target. You must set the target to `ip_range` when specifying an IP address range in the Zone Lockdown rule.
-   *
-   * @example ip_range
-   */
-  target?: 'ip_range';
-  /**
-   * The IP address range to match. You can only use prefix lengths `/16` and `/24`.
-   *
-   * @example 198.51.100.4/16
-   */
-  value?: string;
-};
+export type WaitingroomEventSessionDuration = number | null;
 
-export type SchemasCollectionInviteResponse = ApiResponseCollection & {
-  result?: SchemasInvite[];
-};
+/**
+ * If enabled, users in the prequeue will be shuffled randomly at the `event_start_time`. Requires that `prequeue_start_time` is not null. This is useful for situations when many users will join the event prequeue at the same time and you want to shuffle them to ensure fairness. Naturally, it makes the most sense to enable this feature when the `queueing_method` during the event respects ordering such as **fifo**, or else the shuffling may be unnecessary.
+ *
+ * @default false
+ */
+export type WaitingroomEventShuffleAtEventStart = boolean;
 
-export type SchemasCollectionResponse = ApiResponseCollection & {
-  result?: {
-    additional_information?: AdditionalInformation;
-    application?: ApplicationIDJD2oSO;
-    content_categories?: ContentCategories;
-    domain?: SchemasDomainName;
-    popularity_rank?: PopularityRank;
-    risk_score?: RiskScore;
-    risk_types?: RiskTypes;
-  }[];
-};
+/**
+ * An ISO 8601 timestamp that marks the start of the event. At this time, queued users will be processed with the event's configuration. The start time must be at least one minute before `event_end_time`.
+ *
+ * @example 2021-09-28T15:30:00.000Z
+ */
+export type WaitingroomEventStartTime = string;
 
 /**
- * The Cloudflare data center used for this connection.
+ * Suspends or allows an event. If set to `true`, the event is ignored and traffic will be handled based on the waiting room configuration.
  *
- * @example DFW
+ * @default false
  */
-export type SchemasColoName = string;
+export type WaitingroomEventSuspended = boolean;
 
 /**
- * Optional remark describing the virtual network.
+ * If set, the event will override the waiting room's `total_active_users` property while it is active. If null, the event will inherit it. This can only be set if the event's `new_users_per_minute` property is also set.
  *
- * @example Staging VPC for data science
+ * @maximum 2147483647
+ * @minimum 200
  */
-export type SchemasComment = string;
+export type WaitingroomEventTotalActiveUsers = number | null;
 
 /**
- * Array of available components values for the plan.
+ * The host name to which the waiting room will be applied (no wildcards). Please do not include the scheme (http:// or https://). The host and path combination must be unique.
+ *
+ * @example shop.example.com
  */
-export type SchemasComponentValues = ComponentValue[];
+export type WaitingroomHost = string;
 
 /**
- * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type SchemasConfig = Record<string, any>;
+export type WaitingroomIdentifier = string;
 
 /**
- * The configuration object containing information for the WARP client to detect the managed network.
+ * Only available for the Waiting Room Advanced subscription. If `true`, requests to the waiting room with the header `Accept: application/json` will receive a JSON response object with information on the user's status in the waiting room as opposed to the configured static HTML page. This JSON response object has one property `cfWaitingRoom` which is an object containing the following fields:
+ * 1. `inWaitingRoom`: Boolean indicating if the user is in the waiting room (always **true**).
+ * 2. `waitTimeKnown`: Boolean indicating if the current estimated wait times are accurate. If **false**, they are not available.
+ * 3. `waitTime`: Valid only when `waitTimeKnown` is **true**. Integer indicating the current estimated time in minutes the user will wait in the waiting room. When `queueingMethod` is **random**, this is set to `waitTime50Percentile`.
+ * 4. `waitTime25Percentile`: Valid only when `queueingMethod` is **random** and `waitTimeKnown` is **true**. Integer indicating the current estimated maximum wait time for the 25% of users that gain entry the fastest (25th percentile).
+ * 5. `waitTime50Percentile`: Valid only when `queueingMethod` is **random** and `waitTimeKnown` is **true**. Integer indicating the current estimated maximum wait time for the 50% of users that gain entry the fastest (50th percentile). In other words, half of the queued users are expected to let into the origin website before `waitTime50Percentile` and half are expected to be let in after it.
+ * 6. `waitTime75Percentile`: Valid only when `queueingMethod` is **random** and `waitTimeKnown` is **true**. Integer indicating the current estimated maximum wait time for the 75% of users that gain entry the fastest (75th percentile).
+ * 7. `waitTimeFormatted`: String displaying the `waitTime` formatted in English for users. If `waitTimeKnown` is **false**, `waitTimeFormatted` will display **unavailable**.
+ * 8. `queueIsFull`: Boolean indicating if the waiting room's queue is currently full and not accepting new users at the moment.
+ * 9. `queueAll`: Boolean indicating if all users will be queued in the waiting room and no one will be let into the origin website.
+ * 10. `lastUpdated`: String displaying the timestamp as an ISO 8601 string of the user's last attempt to leave the waiting room and be let into the origin website. The user is able to make another attempt after `refreshIntervalSeconds` past this time. If the user makes a request too soon, it will be ignored and `lastUpdated` will not change.
+ * 11. `refreshIntervalSeconds`: Integer indicating the number of seconds after `lastUpdated` until the user is able to make another attempt to leave the waiting room and be let into the origin website. When the `queueingMethod` is `reject`, there is no specified refresh time — it will always be **zero**.
+ * 12. `queueingMethod`: The queueing method currently used by the waiting room. It is either **fifo**, **random**, **passthrough**, or **reject**.
+ * 13. `isFIFOQueue`: Boolean indicating if the waiting room uses a FIFO (First-In-First-Out) queue.
+ * 14. `isRandomQueue`: Boolean indicating if the waiting room uses a Random queue where users gain access randomly.
+ * 15. `isPassthroughQueue`: Boolean indicating if the waiting room uses a passthrough queue. Keep in mind that when passthrough is enabled, this JSON response will only exist when `queueAll` is **true** or `isEventPrequeueing` is **true** because in all other cases requests will go directly to the origin.
+ * 16. `isRejectQueue`: Boolean indicating if the waiting room uses a reject queue.
+ * 17. `isEventActive`: Boolean indicating if an event is currently occurring. Events are able to change a waiting room's behavior during a specified period of time. For additional information, look at the event properties `prequeue_start_time`, `event_start_time`, and `event_end_time` in the documentation for creating waiting room events. Events are considered active between these start and end times, as well as during the prequeueing period if it exists.
+ * 18. `isEventPrequeueing`: Valid only when `isEventActive` is **true**. Boolean indicating if an event is currently prequeueing users before it starts.
+ * 19. `timeUntilEventStart`: Valid only when `isEventPrequeueing` is **true**. Integer indicating the number of minutes until the event starts.
+ * 20. `timeUntilEventStartFormatted`: String displaying the `timeUntilEventStart` formatted in English for users. If `isEventPrequeueing` is **false**, `timeUntilEventStartFormatted` will display **unavailable**.
+ * 21. `timeUntilEventEnd`: Valid only when `isEventActive` is **true**. Integer indicating the number of minutes until the event ends.
+ * 22. `timeUntilEventEndFormatted`: String displaying the `timeUntilEventEnd` formatted in English for users. If `isEventActive` is **false**, `timeUntilEventEndFormatted` will display **unavailable**.
+ * 23. `shuffleAtEventStart`: Valid only when `isEventActive` is **true**. Boolean indicating if the users in the prequeue are shuffled randomly when the event starts.
+ *
+ * An example cURL to a waiting room could be:
+ *
+ * 	curl -X GET "https://example.com/waitingroom" \
+ * 		-H "Accept: application/json"
+ *
+ * If `json_response_enabled` is **true** and the request hits the waiting room, an example JSON response when `queueingMethod` is **fifo** and no event is active could be:
+ *
+ * 	{
+ * 		"cfWaitingRoom": {
+ * 			"inWaitingRoom": true,
+ * 			"waitTimeKnown": true,
+ * 			"waitTime": 10,
+ * 			"waitTime25Percentile": 0,
+ * 			"waitTime50Percentile": 0,
+ * 			"waitTime75Percentile": 0,
+ * 			"waitTimeFormatted": "10 minutes",
+ * 			"queueIsFull": false,
+ * 			"queueAll": false,
+ * 			"lastUpdated": "2020-08-03T23:46:00.000Z",
+ * 			"refreshIntervalSeconds": 20,
+ * 			"queueingMethod": "fifo",
+ * 			"isFIFOQueue": true,
+ * 			"isRandomQueue": false,
+ * 			"isPassthroughQueue": false,
+ * 			"isRejectQueue": false,
+ * 			"isEventActive": false,
+ * 			"isEventPrequeueing": false,
+ * 			"timeUntilEventStart": 0,
+ * 			"timeUntilEventStartFormatted": "unavailable",
+ * 			"timeUntilEventEnd": 0,
+ * 			"timeUntilEventEndFormatted": "unavailable",
+ * 			"shuffleAtEventStart": false
+ * 		}
+ * 	}
  *
- * @example {"sha256":"b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c","tls_sockaddr":"foo.bar:1234"}
- */
-export type SchemasConfigRequest = TlsConfigRequest;
-
-/**
- * The configuration object containing information for the WARP client to detect the managed network.
+ * If `json_response_enabled` is **true** and the request hits the waiting room, an example JSON response when `queueingMethod` is **random** and an event is active could be:
  *
- * @example {"sha256":"b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c","tls_sockaddr":"foo.bar:1234"}
- */
-export type SchemasConfigResponse = TlsConfigResponse;
-
-/**
- * The rule configuration.
- */
-export type SchemasConfiguration =
-  | IpConfiguration
-  | Ipv6Configuration
-  | CidrConfiguration
-  | AsnConfiguration
-  | CountryConfiguration;
-
-/**
- * The IdP used to authenticate.
+ * 	{
+ * 		"cfWaitingRoom": {
+ * 			"inWaitingRoom": true,
+ * 			"waitTimeKnown": true,
+ * 			"waitTime": 10,
+ * 			"waitTime25Percentile": 5,
+ * 			"waitTime50Percentile": 10,
+ * 			"waitTime75Percentile": 15,
+ * 			"waitTimeFormatted": "5 minutes to 15 minutes",
+ * 			"queueIsFull": false,
+ * 			"queueAll": false,
+ * 			"lastUpdated": "2020-08-03T23:46:00.000Z",
+ * 			"refreshIntervalSeconds": 20,
+ * 			"queueingMethod": "random",
+ * 			"isFIFOQueue": false,
+ * 			"isRandomQueue": true,
+ * 			"isPassthroughQueue": false,
+ * 			"isRejectQueue": false,
+ * 			"isEventActive": true,
+ * 			"isEventPrequeueing": false,
+ * 			"timeUntilEventStart": 0,
+ * 			"timeUntilEventStartFormatted": "unavailable",
+ * 			"timeUntilEventEnd": 15,
+ * 			"timeUntilEventEndFormatted": "15 minutes",
+ * 			"shuffleAtEventStart": true
+ * 		}
+ * 	}.
  *
- * @example saml
+ * @default false
+ * @example false
  */
-export type SchemasConnection = string;
+export type WaitingroomJsonResponseEnabled = boolean;
 
-/**
- * When the device was created.
- *
- * @example 2017-06-14T00:00:00Z
- * @format date-time
- */
-export type SchemasCreated = string;
+export type WaitingroomMaxEstimatedTimeMinutes = number;
 
-/**
- * The time when the certificate was created.
- *
- * @example 2100-01-01T05:20:00Z
- * @format date-time
- */
-export type SchemasCreatedAt = string;
+export type WaitingroomMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
 
 /**
- * The date and time the tunnel was created.
+ * A unique name to identify the waiting room. Only alphanumeric characters, hyphens and underscores are allowed.
  *
- * @example 2017-06-14T00:00:00Z
- * @format date-time
+ * @example production_webinar
  */
-export type SchemasCreatedOn = string;
+export type WaitingroomName = string;
 
 /**
- * The RFC 3339 timestamp of when the list was created.
+ * Sets the number of new users that will be let into the route every minute. This value is used as baseline for the number of users that are let in per minute. So it is possible that there is a little more or little less traffic coming to the route based on the traffic patterns at that time around the world.
  *
- * @example 2020-01-01T08:00:00Z
+ * @maximum 2147483647
+ * @minimum 200
  */
-export type SchemasCreatedOnNgcP5F83 = string;
+export type WaitingroomNewUsersPerMinute = number;
 
 /**
- * The Certificate Signing Request (CSR). Must be newline-encoded.
+ * An ISO 8601 timestamp that marks when the next event will begin queueing.
  *
- * @example -----BEGIN CERTIFICATE REQUEST-----\nMIICY....\n-----END CERTIFICATE REQUEST-----\n
+ * @example 2021-09-28T15:00:00.000Z
  */
-export type SchemasCsr = string;
+export type WaitingroomNextEventPrequeueStartTime = string | null;
 
 /**
- * Opaque token indicating the position from which to continue when requesting the next set of records. A valid value for the cursor can be obtained from the cursors object in the result_info structure.
+ * An ISO 8601 timestamp that marks when the next event will start.
  *
- * @example AAAAANuhDN7SjacTnSVsDu3WW1Lvst6dxJGTjRY5BhxPXdf6L6uTcpd_NVtjhn11OUYRsVEykxoUwF-JQU4dn6QylZSKTOJuG0indrdn_MlHpMRtsxgXjs-RPdHYIVm3odE_uvEQ_dTQGFm8oikZMohns34DLBgrQpc
+ * @example 2021-09-28T15:00:00.000Z
  */
-export type SchemasCursor = string;
+export type WaitingroomNextEventStartTime = string | null;
 
-/**
- * Whether the policy is the default policy for an account.
- *
- * @example false
- */
-export type SchemasDefault = boolean;
+export type WaitingroomPatchRule = {
+  action: WaitingroomRuleAction;
+  description?: WaitingroomRuleDescription;
+  enabled?: WaitingroomRuleEnabled;
+  expression: WaitingroomRuleExpression;
+  position?: WaitingroomRulePosition;
+};
 
 /**
- * True if the device was deleted.
+ * Sets the path within the host to enable the waiting room on. The waiting room will be enabled for all subpaths as well. If there are two waiting rooms on the same subpath, the waiting room for the most specific path will be chosen. Wildcards and query parameters are not supported.
  *
- * @example true
+ * @default /
+ * @example /shop/checkout
  */
-export type SchemasDeleted = boolean;
+export type WaitingroomPath = string;
 
-/**
- * An optional description field which may be used to describe the types of IPs or zones on the map.
- *
- * @example My Ecommerce zones
- */
-export type SchemasDescription = string | null;
+export type WaitingroomPreviewResponse = WaitingroomApiResponseSingle & {
+  result?: {
+    preview_url?: WaitingroomPreviewUrl;
+  };
+};
 
 /**
- * A human-readable description of the pool.
+ * URL where the custom waiting room page can temporarily be previewed.
  *
- * @example Primary data center - Provider XYZ
+ * @example http://waitingrooms.dev/preview/35af8c12-6d68-4608-babb-b53435a5ddfb
  */
-export type SchemasDescriptionZxAuqPgI = string;
+export type WaitingroomPreviewUrl = string;
+
+export type WaitingroomQueryEvent = {
+  custom_page_html?: WaitingroomEventCustomPageHtml;
+  description?: WaitingroomEventDescription;
+  disable_session_renewal?: WaitingroomEventDisableSessionRenewal;
+  event_end_time: WaitingroomEventEndTime;
+  event_start_time: WaitingroomEventStartTime;
+  name: WaitingroomEventName;
+  new_users_per_minute?: WaitingroomEventNewUsersPerMinute;
+  prequeue_start_time?: WaitingroomEventPrequeueStartTime;
+  queueing_method?: WaitingroomEventQueueingMethod;
+  session_duration?: WaitingroomEventSessionDuration;
+  shuffle_at_event_start?: WaitingroomEventShuffleAtEventStart;
+  suspended?: WaitingroomEventSuspended;
+  total_active_users?: WaitingroomEventTotalActiveUsers;
+};
+
+export type WaitingroomQueryPreview = {
+  custom_html: WaitingroomCustomPageHtml;
+};
+
+export type WaitingroomQueryWaitingroom = {
+  additional_routes?: WaitingroomAdditionalRoutes;
+  cookie_attributes?: WaitingroomCookieAttributes;
+  cookie_suffix?: WaitingroomCookieSuffix;
+  custom_page_html?: WaitingroomCustomPageHtml;
+  default_template_language?: WaitingroomDefaultTemplateLanguage;
+  description?: WaitingroomDescription;
+  disable_session_renewal?: WaitingroomDisableSessionRenewal;
+  enabled_origin_commands?: WaitingroomEnabledOriginCommands;
+  host: WaitingroomHost;
+  json_response_enabled?: WaitingroomJsonResponseEnabled;
+  name: WaitingroomName;
+  new_users_per_minute: WaitingroomNewUsersPerMinute;
+  path?: WaitingroomPath;
+  queue_all?: WaitingroomQueueAll;
+  queueing_method?: WaitingroomQueueingMethod;
+  queueing_status_code?: WaitingroomQueueingStatusCode;
+  session_duration?: WaitingroomSessionDuration;
+  suspended?: WaitingroomSuspended;
+  total_active_users: WaitingroomTotalActiveUsers;
+};
 
 /**
- * The billing item description.
+ * If queue_all is `true`, all the traffic that is coming to a route will be sent to the waiting room. No new traffic can get to the route once this field is set and estimated time will become unavailable.
  *
- * @example The billing item description
- * @maxLength 255
+ * @default false
+ * @example true
  */
-export type SchemasDescriptionAeOWNvGr = string;
+export type WaitingroomQueueAll = boolean;
 
 /**
- * The description of the Rule.
+ * Sets the queueing method used by the waiting room. Changing this parameter from the **default** queueing method is only available for the Waiting Room Advanced subscription. Regardless of the queueing method, if `queue_all` is enabled or an event is prequeueing, users in the waiting room will not be accepted to the origin. These users will always see a waiting room page that refreshes automatically. The valid queueing methods are:
+ * 1. `fifo` **(default)**: First-In-First-Out queue where customers gain access in the order they arrived.
+ * 2. `random`: Random queue where customers gain access randomly, regardless of arrival time.
+ * 3. `passthrough`: Users will pass directly through the waiting room and into the origin website. As a result, any configured limits will not be respected while this is enabled. This method can be used as an alternative to disabling a waiting room (with `suspended`) so that analytics are still reported. This can be used if you wish to allow all traffic normally, but want to restrict traffic during a waiting room event, or vice versa.
+ * 4. `reject`: Users will be immediately rejected from the waiting room. As a result, no users will reach the origin website while this is enabled. This can be used if you wish to reject all traffic while performing maintenance, block traffic during a specified period of time (an event), or block traffic while events are not occurring. Consider a waiting room used for vaccine distribution that only allows traffic during sign-up events, and otherwise blocks all traffic. For this case, the waiting room uses `reject`, and its events override this with `fifo`, `random`, or `passthrough`. When this queueing method is enabled and neither `queueAll` is enabled nor an event is prequeueing, the waiting room page **will not refresh automatically**.
  *
- * @example Block the bad websites based on host name
+ * @default fifo
+ * @example fifo
  */
-export type SchemasDescriptionLlKmoyYd = string;
+export type WaitingroomQueueingMethod = 'fifo' | 'random' | 'passthrough' | 'reject';
 
 /**
- * A description of the policy.
+ * HTTP status code returned to a user while in the queue.
  *
- * @example Policy for test teams.
- * @maxLength 500
+ * @default 200
+ * @example 202
  */
-export type SchemasDescriptionTQ4Ivhfo = string;
+export type WaitingroomQueueingStatusCode = 200 | 202 | 429;
 
-/**
- * An optional description of the GRE tunnel.
- *
- * @example Tunnel for ISP X
- */
-export type SchemasDescriptionVR40R5E7 = string;
+export type WaitingroomResponseCollection = WaitingroomApiResponseCollection & {
+  result?: WaitingroomWaitingroom[];
+};
 
-/**
- * A string to search for in the description of existing rules.
- *
- * @example endpoints
- */
-export type SchemasDescriptionSearch = string;
+export type WaitingroomResultInfo = {
+  /**
+   * Total number of results for the requested service
+   *
+   * @example 1
+   */
+  count?: number;
+  /**
+   * Current page within paginated list of results
+   *
+   * @example 1
+   */
+  page?: number;
+  /**
+   * Number of results per page of results
+   *
+   * @example 20
+   */
+  per_page?: number;
+  /**
+   * Total results available without any search parameters
+   *
+   * @example 2000
+   */
+  total_count?: number;
+};
 
 /**
- * Unique WebSocket address that will receive messages from Cloudflare’s edge.
+ * The action to take when the expression matches.
  *
- * @example wss://logs.cloudflare.com/instant-logs/ws/sessions/99d471b1ca3c23cc8e30b6acec5db987
- * @format uri
- * @maxLength 4096
+ * @example bypass_waiting_room
  */
-export type SchemasDestinationConf = string;
+export type WaitingroomRuleAction = 'bypass_waiting_room';
 
 /**
- * This field shows up only if the pool is disabled. This field is set with the time the pool was disabled at.
+ * The description of the rule.
  *
- * @format date-time
+ * @default
+ * @example allow all traffic from 10.20.30.40
  */
-export type SchemasDisabledAt = string;
-
-export type SchemasDnsFirewall = DnsFirewall;
+export type WaitingroomRuleDescription = string;
 
 /**
- * The domain of the Bookmark application.
+ * When set to true, the rule is enabled.
  *
- * @example example.com
+ * @default true
+ * @example true
  */
-export type SchemasDomain = string;
+export type WaitingroomRuleEnabled = boolean;
 
 /**
- * The domain and path that Access will secure.
+ * Criteria defining when there is a match for the current rule.
  *
- * @example test.example.com/admin
+ * @example ip.src in {10.20.30.40}
  */
-export type SchemasDomainA7q0ZzCX = string;
+export type WaitingroomRuleExpression = string;
 
 /**
- * Domain identifier.
+ * The ID of the rule.
  *
- * @example ea95132c15732412d22c1476fa83f27a
- * @maxLength 32
+ * @example 25756b2dfe6e378a06b033b670413757
  */
-export type SchemasDomainIdentifier = string;
+export type WaitingroomRuleId = string;
 
 /**
- * @example cloudflare.com
+ * Reorder the position of a rule
  */
-export type SchemasDomainName = string;
+export type WaitingroomRulePosition =
+  | {
+      /**
+       * Places the rule in the exact position specified by the integer number <POSITION_NUMBER>. Position numbers start with 1. Existing rules in the ruleset from the specified position number onward are shifted one position (no rule is overwritten).
+       */
+      index?: number;
+    }
+  | {
+      /**
+       * Places the rule before rule <RULE_ID>. Use this argument with an empty rule ID value ("") to set the rule as the first rule in the ruleset.
+       *
+       * @example <RULE_ID>
+       */
+      before?: string;
+    }
+  | {
+      /**
+       * Places the rule after rule <RULE_ID>. Use this argument with an empty rule ID value ("") to set the rule as the last rule in the ruleset.
+       *
+       * @example <RULE_ID>
+       */
+      after?: string;
+    };
 
-/**
- * The email of the user.
- *
- * @example jdoe@example.com
- * @format email
- */
-export type SchemasEmail = string;
+export type WaitingroomRuleResult = {
+  action?: WaitingroomRuleAction;
+  description?: WaitingroomRuleDescription;
+  enabled?: WaitingroomRuleEnabled;
+  expression?: WaitingroomRuleExpression;
+  id?: WaitingroomRuleId;
+  last_updated?: WaitingroomTimestamp;
+  version?: WaitingroomRuleVersion;
+};
 
 /**
- * The email address of the authenticating user.
+ * The version of the rule.
  *
- * @example user@example.com
- * @format email
+ * @example 1
  */
-export type SchemasEmailJb7fdlGM = string;
+export type WaitingroomRuleVersion = string;
 
-export type SchemasEmptyResponse = {
-  result?: Record<string, any> | null;
-  /**
-   * @example true
-   */
-  success?: true | false;
+export type WaitingroomRulesResponseCollection = WaitingroomApiResponseCollection & {
+  result?: WaitingroomRuleResult[];
 };
 
-export type SchemasEmptyResponseVoKOxgxB = {
-  result?: void | null;
+export type WaitingroomSchemasApiResponseCommon = {
+  errors: WaitingroomMessages;
+  messages: WaitingroomMessages;
   /**
+   * Whether the API call was successful
+   *
    * @example true
    */
-  success?: true | false;
+  success: true;
 };
 
 /**
- * Disabling Universal SSL removes any currently active Universal SSL certificates for your zone from the edge and prevents any future Universal SSL certificates from being ordered. If there are no advanced certificates or custom certificates uploaded for the domain, visitors will be unable to access the domain over HTTPS.
- *
- * By disabling Universal SSL, you understand that the following Cloudflare settings and preferences will result in visitors being unable to visit your domain unless you have uploaded a custom certificate or purchased an advanced certificate.
- *
- * * HSTS
- * * Always Use HTTPS
- * * Opportunistic Encryption
- * * Onion Routing
- * * Any Page Rules redirecting traffic to HTTPS
- *
- * Similarly, any HTTP redirect to HTTPS at the origin while the Cloudflare proxy is enabled will result in users being unable to visit your site without a valid certificate at Cloudflare's edge.
- *
- * If you do not have a valid custom or advanced certificate at Cloudflare's edge and are unsure if any of the above Cloudflare settings are enabled, or if any HTTP redirects exist at your origin, we advise leaving Universal SSL enabled for your domain.
- *
- * @example true
- */
-export type SchemasEnabled = boolean;
-
-/**
- * Whether to enable (the default) this origin within the pool. Disabled origins will not receive traffic and are excluded from health checks. The origin will only be disabled for the current pool.
+ * Whether to allow verified search engine crawlers to bypass all waiting rooms on this zone.
+ * Verified search engine crawlers will not be tracked or counted by the waiting room system,
+ * and will not appear in waiting room analytics.
  *
- * @default true
- * @example true
- */
-export type SchemasEnabledFbTTZgfc = boolean;
-
-/**
- * Rules evaluated with a NOT logical operator. To match the policy, a user cannot meet any of the Exclude rules.
+ * @default false
+ * @example true
  */
-export type SchemasExclude = Rule[];
+export type WaitingroomSearchEngineCrawlerBypass = boolean;
 
 /**
- * Rules evaluated with a NOT logical operator. To match the policy, a user cannot meet any of the Exclude rules.
+ * Lifetime of a cookie (in minutes) set by Cloudflare for users who get access to the route. If a user is not seen by Cloudflare again in that time period, they will be treated as a new user that visits the route.
+ *
+ * @default 5
+ * @maximum 30
+ * @minimum 1
  */
-export type SchemasExcludeTDuKARb5 = RuleComponentsSchemasRule[];
+export type WaitingroomSessionDuration = number;
+
+export type WaitingroomSingleResponse = WaitingroomApiResponseSingle & {
+  result?: WaitingroomWaitingroom;
+};
 
 /**
- * The expected HTTP response codes or code ranges of the health check, comma-separated. This parameter is only valid for HTTP and HTTPS monitors.
- *
- * @default 200
- * @example 2xx
+ * @example queueing
  */
-export type SchemasExpectedCodes = string;
+export type WaitingroomStatus = 'event_prequeueing' | 'not_queueing' | 'queueing';
 
 /**
- * Sets the expiration time for a posture check result. If empty, the result remains valid until it is overwritten by new data from the WARP client.
- *
- * @example 1h
+ * @example 25756b2dfe6e378a06b033b670413757
  */
-export type SchemasExpiration = string;
+export type WaitingroomStatusEventId = string;
+
+export type WaitingroomStatusResponse = WaitingroomApiResponseSingle & {
+  result?: {
+    estimated_queued_users?: WaitingroomEstimatedQueuedUsers;
+    estimated_total_active_users?: WaitingroomEstimatedTotalActiveUsers;
+    event_id?: WaitingroomStatusEventId;
+    max_estimated_time_minutes?: WaitingroomMaxEstimatedTimeMinutes;
+    status?: WaitingroomStatus;
+  };
+};
 
 /**
- * When the certificate will expire.
+ * Suspends or allows traffic going to the waiting room. If set to `true`, the traffic will not go to the waiting room.
  *
- * @example 2014-01-01T05:20:00.12345Z
- * @format date-time
+ * @default false
  */
-export type SchemasExpiresOn = string;
+export type WaitingroomSuspended = boolean;
 
 /**
- * When the invite is no longer active.
- *
- * @example 2014-01-01T05:20:00Z
+ * @example 2014-01-01T05:20:00.12345Z
  * @format date-time
  */
-export type SchemasExpiresOnL7MyoHWU = string;
+export type WaitingroomTimestamp = string;
 
 /**
- * The expression defining which traffic will match the rule.
+ * Sets the total number of active user sessions on the route at a point in time. A route is a combination of host and path on which a waiting room is available. This value is used as a baseline for the total number of active user sessions on the route. It is possible to have a situation where there are more or less active users sessions on the route based on the traffic patterns at that time around the world.
  *
- * @example ip.src ne 1.1.1.1
+ * @maximum 2147483647
+ * @minimum 200
  */
-export type SchemasExpression = string;
+export type WaitingroomTotalActiveUsers = number;
 
-export type SchemasFacebook = {
-  /**
-   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
-   */
-  config: GenericOauthConfig;
-  id?: Uuid;
-  name: SchemasNameIXVfNmuB;
-  /**
-   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
-   */
-  scim_config?: {
-    /**
-     * A flag to enable or disable SCIM for the identity provider.
-     */
-    enabled?: boolean;
-    /**
-     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
-     */
-    group_member_deprovision?: boolean;
-    /**
-     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
-     */
-    seat_deprovision?: boolean;
-    /**
-     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
-     */
-    secret?: string;
-    /**
-     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
-     */
-    user_deprovision?: boolean;
-  };
-  /**
-   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
-   *
-   * @example onetimepin
-   */
-  type: string;
-};
+export type WaitingroomUpdateRules = WaitingroomCreateRule[];
 
 /**
- * Features enabled for the Cloudflare Tunnel.
+ * @example 699d98642c564d2e855e9661899b7252
  */
-export type SchemasFeatures = string[];
+export type WaitingroomWaitingRoomId = string;
 
-export type SchemasFilterResponseCollection = ApiResponseCollection & {
+export type WaitingroomWaitingRoomIdResponse = WaitingroomApiResponseSingle & {
   result?: {
-    description?: FiltersComponentsSchemasDescription;
-    expression: Expression;
-    id: FiltersComponentsSchemasId;
-    paused: FiltersComponentsSchemasPaused;
-    ref?: SchemasRef;
-  }[];
+    id?: WaitingroomWaitingRoomId;
+  };
 };
 
-export type SchemasFilterResponseSingle = ApiResponseSingleLarS7owG & {
-  result:
-    | {
-        description?: FiltersComponentsSchemasDescription;
-        expression: Expression;
-        id: FiltersComponentsSchemasId;
-        paused: FiltersComponentsSchemasPaused;
-        ref?: SchemasRef;
-      }
-    | (void | null);
+export type WaitingroomWaitingroom = {
+  additional_routes?: WaitingroomAdditionalRoutes;
+  cookie_attributes?: WaitingroomCookieAttributes;
+  cookie_suffix?: WaitingroomCookieSuffix;
+  created_on?: WaitingroomTimestamp;
+  custom_page_html?: WaitingroomCustomPageHtml;
+  default_template_language?: WaitingroomDefaultTemplateLanguage;
+  description?: WaitingroomDescription;
+  disable_session_renewal?: WaitingroomDisableSessionRenewal;
+  enabled_origin_commands?: WaitingroomEnabledOriginCommands;
+  host?: WaitingroomHost;
+  id?: WaitingroomWaitingRoomId;
+  json_response_enabled?: WaitingroomJsonResponseEnabled;
+  modified_on?: WaitingroomTimestamp;
+  name?: WaitingroomName;
+  new_users_per_minute?: WaitingroomNewUsersPerMinute;
+  next_event_prequeue_start_time?: WaitingroomNextEventPrequeueStartTime;
+  next_event_start_time?: WaitingroomNextEventStartTime;
+  path?: WaitingroomPath;
+  queue_all?: WaitingroomQueueAll;
+  queueing_method?: WaitingroomQueueingMethod;
+  queueing_status_code?: WaitingroomQueueingStatusCode;
+  session_duration?: WaitingroomSessionDuration;
+  suspended?: WaitingroomSuspended;
+  total_active_users?: WaitingroomTotalActiveUsers;
+};
+
+export type WaitingroomZoneSettings = {
+  search_engine_crawler_bypass?: WaitingroomSearchEngineCrawlerBypass;
+};
+
+export type WaitingroomZoneSettingsResponse = WaitingroomApiResponseSingle & {
+  result: {
+    search_engine_crawler_bypass: WaitingroomSearchEngineCrawlerBypass;
+  };
 };
 
-/**
- * Format of additional configuration options (filters) for the alert type. Data type of filters during policy creation: Array of strings.
- *
- * @example {"ComparisonOperator":"==","Key":"zones","Optional":false}
- * @example {"ComparisonOperator":">=","Key":"slo","Optional":true}
- */
-export type SchemasFilterOptions = any[];
+export type Web3ApiResponseCollection = {
+  errors: Web3Messages;
+  messages: Web3Messages;
+  result: Record<string, any> | any[] | string | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+  result_info?: Web3ResultInfo;
+};
 
-export type SchemasFilters = {
+export type Web3ApiResponseCommon = {
+  errors: Web3Messages;
+  messages: Web3Messages;
+  result: Record<string, any> | any[] | string;
   /**
-   * The target to search in existing rules.
+   * Whether the API call was successful
    *
-   * @example ip
+   * @example true
    */
-  ['configuration.target']?: 'ip' | 'ip_range' | 'asn' | 'country';
+  success: true;
+};
+
+export type Web3ApiResponseCommonFailure = {
   /**
-   * The target value to search for in existing rules: an IP address, an IP address range, or a country code, depending on the provided `configuration.target`.
-   * Notes: You can search for a single IPv4 address, an IP address range with a subnet of '/16' or '/24', or a two-letter ISO-3166-1 alpha-2 country code.
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: Web3Messages;
+  messages: Web3Messages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
    *
-   * @example 198.51.100.4
+   * @example false
    */
-  ['configuration.value']?: string;
+  success: false;
+};
+
+export type Web3ApiResponseSingle = {
+  errors: Web3Messages;
+  messages: Web3Messages;
+  result: (Record<string, any> | null) | (string | null) | string;
   /**
-   * When set to `all`, all the search requirements must match. When set to `any`, only one of the search requirements has to match.
+   * Whether the API call was successful
    *
-   * @default all
+   * @example true
    */
-  match?: 'any' | 'all';
-  mode?: SchemasMode;
+  success: true;
+};
+
+export type Web3ApiResponseSingleId = {
+  errors: Web3Messages;
+  messages: Web3Messages;
+  result:
+    | {
+        id: Web3Identifier;
+      }
+    | any[]
+    | string
+    | null;
   /**
-   * The string to search for in the notes of existing IP Access rules.
-   * Notes: For example, the string 'attack' would match IP Access rules with notes 'Attack 26/02' and 'Attack 27/02'. The search is case insensitive.
+   * Whether the API call was successful
    *
-   * @example my note
+   * @example true
    */
-  notes?: string;
+  success: true;
 };
 
-export type SchemasForceResponse = ApiResponseSingleWkFwqHKI & {
-  result?: SchemasForceResult;
+export type Web3CollectionResponse = Web3ApiResponseCollection & {
+  result?: Web3Web3Hostname[];
 };
 
 /**
- * When force_notify query parameter is set to true, the response is a simple string
+ * Behavior of the content list.
  *
- * @example OK
+ * @example block
  */
-export type SchemasForceResult = string;
+export type Web3ContentListAction = 'block';
+
+export type Web3ContentListDetails = {
+  action?: Web3ContentListAction;
+};
+
+export type Web3ContentListDetailsResponse = Web3ApiResponseSingle & {
+  result?: Web3ContentListDetails;
+};
 
 /**
- * The frequency at which you will be billed for this plan.
- *
- * @example monthly
+ * Content list entries.
  */
-export type SchemasFrequency = 'weekly' | 'monthly' | 'quarterly' | 'yearly';
+export type Web3ContentListEntries = Web3ContentListEntry[];
 
 /**
- * True if the user has logged into the WARP client.
- *
- * @example false
+ * Content list entry to be blocked.
  */
-export type SchemasGatewaySeat = boolean;
-
-export type SchemasGithub = {
-  /**
-   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
-   */
-  config: GenericOauthConfig;
-  id?: Uuid;
-  name: SchemasNameIXVfNmuB;
-  /**
-   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
-   */
-  scim_config?: {
-    /**
-     * A flag to enable or disable SCIM for the identity provider.
-     */
-    enabled?: boolean;
-    /**
-     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
-     */
-    group_member_deprovision?: boolean;
-    /**
-     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
-     */
-    seat_deprovision?: boolean;
-    /**
-     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
-     */
-    secret?: string;
-    /**
-     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
-     */
-    user_deprovision?: boolean;
-  };
-  /**
-   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
-   *
-   * @example onetimepin
-   */
-  type: string;
-};
-
-export type SchemasGoogle = {
-  /**
-   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
-   */
-  config: GenericOauthConfig;
-  id?: Uuid;
-  name: SchemasNameIXVfNmuB;
-  /**
-   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
-   */
-  scim_config?: {
-    /**
-     * A flag to enable or disable SCIM for the identity provider.
-     */
-    enabled?: boolean;
-    /**
-     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
-     */
-    group_member_deprovision?: boolean;
-    /**
-     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
-     */
-    seat_deprovision?: boolean;
-    /**
-     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
-     */
-    secret?: string;
-    /**
-     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
-     */
-    user_deprovision?: boolean;
-  };
-  /**
-   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
-   *
-   * @example onetimepin
-   */
-  type: string;
+export type Web3ContentListEntry = {
+  content?: Web3ContentListEntryContent;
+  created_on?: Web3Timestamp;
+  description?: Web3ContentListEntryDescription;
+  id?: Web3Identifier;
+  modified_on?: Web3Timestamp;
+  type?: Web3ContentListEntryType;
 };
 
-export type SchemasGoogleApps = {
-  /**
-   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
-   */
-  config: GenericOauthConfig & {
-    /**
-     * Your companies TLD
-     *
-     * @example mycompany.com
-     */
-    apps_domain?: string;
-  };
-  id?: Uuid;
-  name: SchemasNameIXVfNmuB;
-  /**
-   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
-   */
-  scim_config?: {
-    /**
-     * A flag to enable or disable SCIM for the identity provider.
-     */
-    enabled?: boolean;
-    /**
-     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
-     */
-    group_member_deprovision?: boolean;
-    /**
-     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
-     */
-    seat_deprovision?: boolean;
-    /**
-     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
-     */
-    secret?: string;
-    /**
-     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
-     */
-    user_deprovision?: boolean;
-  };
-  /**
-   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
-   *
-   * @example onetimepin
-   */
-  type: string;
+export type Web3ContentListEntryCollectionResponse = Web3ApiResponseCollection & {
+  result?: {
+    entries?: Web3ContentListEntries;
+  };
 };
 
-export type SchemasGroup = Group & {
-  allowed_modes?: AllowedModes;
-  mode?: ComponentsSchemasMode;
+/**
+ * CID or content path of content to block.
+ *
+ * @example QmPZ9gcCEpqKTo6aq61g2nXGUhM4iCL3ewB6LDXZCtioEB
+ * @maxLength 500
+ */
+export type Web3ContentListEntryContent = string;
+
+export type Web3ContentListEntryCreateRequest = {
+  content: Web3ContentListEntryContent;
+  description?: Web3ContentListEntryDescription;
+  type: Web3ContentListEntryType;
 };
 
-export type SchemasGroups = {
-  created_at?: Timestamp;
-  exclude?: ExcludeW6GORlYf;
-  id?: SchemasUuid;
-  include?: IncludeRuTbCgSD;
-  name?: GroupsComponentsSchemasName;
-  require?: RequireBZzd5gGi;
-  updated_at?: Timestamp;
+/**
+ * An optional description of the content list entry.
+ *
+ * @example this is my content list entry
+ * @maxLength 500
+ */
+export type Web3ContentListEntryDescription = string;
+
+export type Web3ContentListEntrySingleResponse = Web3ApiResponseSingle & {
+  result?: Web3ContentListEntry;
 };
 
 /**
- * The request header is used to pass additional information with an HTTP request. Currently supported header is 'Host'.
+ * Type of content list entry to block.
+ *
+ * @example cid
+ */
+export type Web3ContentListEntryType = 'cid' | 'content_path';
+
+export type Web3ContentListUpdateRequest = {
+  action: Web3ContentListAction;
+  entries: Web3ContentListEntries;
+};
+
+export type Web3CreateRequest = {
+  description?: Web3Description;
+  dnslink?: Web3Dnslink;
+  name: Web3Name;
+  target: Web3Target;
+};
+
+/**
+ * An optional description of the hostname.
+ *
+ * @example This is my IPFS gateway.
+ * @maxLength 500
+ */
+export type Web3Description = string;
+
+/**
+ * DNSLink value used if the target is ipfs.
+ *
+ * @example /ipns/onboarding.ipfs.cloudflare.com
+ */
+export type Web3Dnslink = string;
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type SchemasHeader = {
-  Host?: Host;
+export type Web3Identifier = string;
+
+export type Web3Messages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
+
+export type Web3ModifyRequest = {
+  description?: Web3Description;
+  dnslink?: Web3Dnslink;
 };
 
-export type SchemasHealthCheck = {
+/**
+ * The hostname that will point to the target gateway via CNAME.
+ *
+ * @example gateway.example.com
+ * @maxLength 255
+ */
+export type Web3Name = string;
+
+export type Web3ResultInfo = {
   /**
-   * Determines whether to run healthchecks for a tunnel.
+   * Total number of results for the requested service
    *
-   * @default true
-   * @example true
+   * @example 1
    */
-  enabled?: boolean;
+  count?: number;
   /**
-   * How frequent the health check is run. The default value is `mid`.
+   * Current page within paginated list of results
    *
-   * @default mid
-   * @example low
+   * @example 1
    */
-  rate?: 'low' | 'mid' | 'high';
+  page?: number;
   /**
-   * The destination address in a request type health check. After the healthcheck is decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded to this address. This field defaults to `customer_gre_endpoint address`.
+   * Number of results per page of results
    *
-   * @example 203.0.113.1
+   * @example 20
    */
-  target?: string;
+  per_page?: number;
   /**
-   * The type of healthcheck to run, reply or request. The default value is `reply`.
+   * Total results available without any search parameters
    *
-   * @default reply
-   * @example request
+   * @example 2000
    */
-  type?: 'reply' | 'request';
+  total_count?: number;
 };
 
-/**
- * The keyless SSL name.
- *
- * @example example.com
- * @format hostname
- * @maxLength 253
- */
-export type SchemasHost = string;
-
-/**
- * The hostname on the origin for which the client certificate uploaded will be used.
- *
- * @example app.example.com
- * @maxLength 255
- */
-export type SchemasHostname = string;
+export type Web3SingleResponse = Web3ApiResponseSingle & {
+  result?: Web3Web3Hostname;
+};
 
 /**
- * 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.
+ * Status of the hostname's activation.
  *
- * @example example.com
- * @example *.example.com
- * @example www.example.com
+ * @example active
  */
-export type SchemasHosts = string[];
+export type Web3Status = 'active' | 'pending' | 'deleting' | 'error';
 
 /**
- * The ID of the user.
+ * Target gateway of the hostname.
  *
- * @example f3b12456-80dd-4e89-9f5f-ba3dfff12365
+ * @example ipfs
  */
-export type SchemasId = void;
+export type Web3Target = 'ethereum' | 'ipfs' | 'ipfs_universal_path';
 
 /**
- * Identifier for the tail.
- *
- * @example 03dc9f77817b488fb26c5861ec18f791
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
  */
-export type SchemasIdSivlyEAs = string;
+export type Web3Timestamp = string;
 
-export type SchemasIdResponse = ApiResponseSingleKLIlNaxV & {
-  result?: {
-    id?: Id4G7SFJfZ;
-  };
+export type Web3Web3Hostname = {
+  created_on?: Web3Timestamp;
+  description?: Web3Description;
+  dnslink?: Web3Dnslink;
+  id?: Web3Identifier;
+  modified_on?: Web3Timestamp;
+  name?: Web3Name;
+  status?: Web3Status;
+  target?: Web3Target;
 };
 
-export type SchemasIdResponse3xp0iyUS = ApiResponseSingleI8cJ1fX8 & {
-  result?: void | null;
+export type WorkersKvApiResponseCollection = WorkersKvApiResponseCommon & {
+  result_info?: WorkersKvResultInfo;
 };
 
-export type SchemasIdResponseJN8dJaI9 = ApiResponseSingleLarS7owG & {
-  result?: {
-    id?: PoolComponentsSchemasIdentifier;
-  };
+export type WorkersKvApiResponseCommon = {
+  errors: WorkersKvMessages;
+  messages: WorkersKvMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
 };
 
-export type SchemasIdResponseO4zIs7MB = ApiResponseSingleWkFwqHKI & {
-  result?: {
-    id?: SchemasIdentifier0HsWUjPr;
-  };
+export type WorkersKvApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: WorkersKvMessages;
+  messages: WorkersKvMessages;
+  /**
+   * @x-stainless-empty-object true
+   */
+  result: Record<string, any> | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
 };
 
-export type SchemasIdResponseS4kskEwS = ApiResponseSingleUl1k90Mw & {
-  result?: {
-    id?: SchemasIdentifierVx9UGvBM;
-  };
+export type WorkersKvApiResponseCommonNoResult = WorkersKvApiResponseCommon & {
+  /**
+   * @x-stainless-empty-object true
+   */
+  result?: Record<string, any> | null;
 };
 
-/**
- * Identifier
- *
- * @example 023e105f4ecef8ad9ca31a8372d0c353
- * @maxLength 32
- */
-export type SchemasIdentifier = string;
+export type WorkersKvBulkResult = {
+  /**
+   * Number of keys successfully updated
+   *
+   * @example 100
+   */
+  successful_key_count?: number;
+  /**
+   * Name of the keys that failed to be fully updated. They should be retried.
+   */
+  unsuccessful_keys?: string[];
+};
 
-/**
- * @example 69cd1e104af3e6ed3cb344f263fd0d5a
- */
-export type SchemasIdentifier0HsWUjPr = void;
+export type WorkersKvBulkDelete = WorkersKvKeyNameBulk[];
 
-export type SchemasIdentifierIAZAtI9f = void;
+export type WorkersKvBulkWrite = {
+  /**
+   * Whether or not the server should base64 decode the value before storing it. Useful for writing values that wouldn't otherwise be valid JSON strings, such as images.
+   *
+   * @default false
+   */
+  base64?: boolean;
+  expiration?: WorkersKvExpiration;
+  expiration_ttl?: WorkersKvExpirationTtl;
+  key?: WorkersKvKeyNameBulk;
+  metadata?: WorkersKvListMetadata;
+  /**
+   * A UTF-8 encoded string to be stored, up to 25 MiB in length.
+   *
+   * @example Some string
+   * @maxLength 26214400
+   */
+  value?: string;
+}[];
 
 /**
- * @example 17b5962d775c646f3f9725cbc7a53df4
+ * Metrics on Workers KV requests.
  */
-export type SchemasIdentifierVx9UGvBM = void;
+export type WorkersKvComponentsSchemasResult = {
+  /**
+   * @example {"metrics":[[2,4],[16,32]]}
+   */
+  data:
+    | {
+        dimensions?: string[];
+        /**
+         * List of metrics returned by the query.
+         */
+        metrics: number[][];
+      }[]
+    | null;
+  /**
+   * Number of seconds between current time and last processed event, i.e. how many seconds of data could be missing.
+   *
+   * @example 0
+   * @minimum 0
+   */
+  data_lag: number;
+  /**
+   * Maximum results for each metric.
+   *
+   * @example {"storedBytes":32,"storedKeys":4}
+   */
+  max: {
+    [key: string]: number;
+  };
+  /**
+   * Minimum results for each metric.
+   *
+   * @example {"storedBytes":16,"storedKeys":2}
+   */
+  min: {
+    [key: string]: number;
+  };
+  query: WorkersKvQuery;
+  /**
+   * Total number of rows in the result.
+   *
+   * @example 2
+   * @minimum 0
+   */
+  rows: number;
+  /**
+   * Time interval buckets by beginning and ending
+   */
+  time_intervals?: string[][];
+  /**
+   * Total results for metrics across all data.
+   *
+   * @example {"storedBytes":48,"storedKeys":6}
+   */
+  totals: {
+    [key: string]: number;
+  };
+};
+
+export type WorkersKvCreateRenameNamespaceBody = {
+  title: WorkersKvNamespaceTitle;
+};
 
 /**
- * Keyless certificate identifier tag.
+ * Opaque token indicating the position from which to continue when requesting the next set of records if the amount of list results was limited by the limit parameter. A valid value for the cursor can be obtained from the cursors object in the result_info structure.
  *
- * @example 4d2844d2ce78891c34d0b6c0535a291e
- * @maxLength 32
+ * @example 6Ck1la0VxJ0djhidm1MdX2FyDGxLKVeeHZZmORS_8XeSuhz9SjIJRaSa2lnsF01tQOHrfTGAP3R5X1Kv5iVUuMbNKhWNAXHOl6ePB0TUL8nw
  */
-export type SchemasIdentifierEWv7yjg2 = string;
+export type WorkersKvCursor = string;
 
 /**
- * Tunnel identifier tag.
+ * The time, measured in number of seconds since the UNIX epoch, at which the key should expire.
  *
- * @example c4a7362d577a6c3019a474fd6f485821
- * @maxLength 32
+ * @example 1578435000
  */
-export type SchemasIdentifierRYBwrxr7 = string;
+export type WorkersKvExpiration = number;
 
-export type SchemasIdentityProvider = {
-  /**
-   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
-   */
-  config: Record<string, any>;
-  id?: Uuid;
-  name: SchemasNameIXVfNmuB;
-  /**
-   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
-   */
-  scim_config?: {
-    /**
-     * A flag to enable or disable SCIM for the identity provider.
-     */
-    enabled?: boolean;
-    /**
-     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
-     */
-    group_member_deprovision?: boolean;
-    /**
-     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
-     */
-    seat_deprovision?: boolean;
-    /**
-     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
-     */
-    secret?: string;
-    /**
-     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
-     */
-    user_deprovision?: boolean;
-  };
+/**
+ * The number of seconds for which the key should be visible before it expires. At least 60.
+ *
+ * @example 300
+ */
+export type WorkersKvExpirationTtl = number;
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type WorkersKvIdentifier = string;
+
+/**
+ * A name for a value. A value stored under a given key may be retrieved via the same key.
+ */
+export type WorkersKvKey = {
   /**
-   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   * The time, measured in number of seconds since the UNIX epoch, at which the key will expire. This property is omitted for keys that will not expire.
    *
-   * @example onetimepin
+   * @example 1577836800
    */
-  type: string;
+  expiration?: number;
+  metadata?: WorkersKvListMetadata;
+  name: WorkersKvKeyName;
 };
 
-export type SchemasIdentityProviders =
-  | SchemasAzureAD
-  | SchemasCentrify
-  | SchemasFacebook
-  | SchemasGithub
-  | SchemasGoogle
-  | SchemasGoogleApps
-  | SchemasLinkedin
-  | SchemasOidc
-  | SchemasOkta
-  | SchemasOnelogin
-  | SchemasPingone
-  | SchemasSaml
-  | SchemasYandex;
-
-export type SchemasInclude = SplitTunnelInclude[];
-
 /**
- * The interval between each posture check with the third party API. Use "m" for minutes (e.g. "5m") and "h" for hours (e.g. "12h").
+ * A key's name. The name may be at most 512 bytes. All printable, non-whitespace characters are valid. Use percent-encoding to define key names as part of a URL.
  *
- * @example 10m
+ * @example My-Key
+ * @maxLength 512
  */
-export type SchemasInterval = string;
+export type WorkersKvKeyName = string;
 
-export type SchemasInvite = UserInvite;
+/**
+ * A key's name. The name may be at most 512 bytes. All printable, non-whitespace characters are valid.
+ *
+ * @example My-Key
+ * @maxLength 512
+ */
+export type WorkersKvKeyNameBulk = string;
 
 /**
- * The IP address of the authenticating user.
+ * Arbitrary JSON that is associated with a key.
  *
- * @example 198.41.129.166
+ * @example {"someMetadataKey":"someMetadataValue"}
  */
-export type SchemasIp = string;
+export type WorkersKvListMetadata = {
+  [key: string]: any;
+};
 
-export type SchemasIpConfiguration = {
+export type WorkersKvMessages = {
   /**
-   * The configuration target. You must set the target to `ip` when specifying an IP address in the Zone Lockdown rule.
-   *
-   * @example ip
+   * @minimum 1000
    */
-  target?: 'ip';
+  code: number;
+  message: string;
+}[];
+
+/**
+ * Arbitrary JSON to be associated with a key/value pair.
+ *
+ * @example {"someMetadataKey": "someMetadataValue"}
+ */
+export type WorkersKvMetadata = string;
+
+export type WorkersKvNamespace = {
+  id: WorkersKvNamespaceIdentifier;
   /**
-   * The IP address to match. This address will be compared to the IP address of incoming requests.
+   * True if keys written on the URL will be URL-decoded before storing. For example, if set to "true", a key written on the URL as "%3F" will be stored as "?".
    *
-   * @example 198.51.100.4
+   * @example true
    */
-  value?: string;
+  supports_url_encoding?: boolean;
+  title: WorkersKvNamespaceTitle;
 };
 
 /**
- * The set of IPs on the Address Map.
+ * Namespace identifier tag.
+ *
+ * @example 0f2ac74b498b48028cb68387c421e279
+ * @maxLength 32
  */
-export type SchemasIps = AddressMapsIp[];
+export type WorkersKvNamespaceIdentifier = string;
 
 /**
- * The certificate authority that issued the certificate.
+ * A human-readable string name for a Namespace.
  *
- * @example O=Example Inc.,L=California,ST=San Francisco,C=US
+ * @example My Own Namespace
  */
-export type SchemasIssuer = string;
+export type WorkersKvNamespaceTitle = string;
 
 /**
- * The device's public key.
- *
- * @example yek0SUYoOQ10vMGsIYAevozXUQpQtNFJFfFGqER/BGc=
+ * For specifying result metrics.
  */
-export type SchemasKey = string;
+export type WorkersKvQuery = {
+  /**
+   * Can be used to break down the data by given attributes.
+   *
+   * @default []
+   */
+  dimensions?: string[];
+  /**
+   * Used to filter rows by one or more dimensions. Filters can be combined using OR and AND boolean logic. AND takes precedence over OR in all the expressions. The OR operator is defined using a comma (,) or OR keyword surrounded by whitespace. The AND operator is defined using a semicolon (;) or AND keyword surrounded by whitespace. Note that the semicolon is a reserved character in URLs (rfc1738) and needs to be percent-encoded as %3B. Comparison options are:
+   *
+   * Operator                  | Name                            | URL Encoded
+   * --------------------------|---------------------------------|--------------------------
+   * ==                        | Equals                          | %3D%3D
+   * !=                        | Does not equals                 | !%3D
+   * >                        | Greater Than                    | %3E
+   * <                         | Less Than                       | %3C
+   * >=                       | Greater than or equal to        | %3E%3D
+   * <=                        | Less than or equal to           | %3C%3D     .
+   *
+   * @default ""
+   */
+  filters?: string;
+  /**
+   * Limit number of returned metrics.
+   *
+   * @default 10000
+   */
+  limit?: number;
+  /**
+   * One or more metrics to compute.
+   */
+  metrics?: string[];
+  /**
+   * Start of time interval to query, defaults to 6 hours before request received.
+   *
+   * @default <6 hours ago>
+   * @example 2019-01-02T02:20:00Z
+   * @format date-time
+   */
+  since?: string;
+  /**
+   * Array of dimensions or metrics to sort by, each dimension/metric may be prefixed by - (descending) or + (ascending).
+   *
+   * @default []
+   */
+  sort?: string[];
+  /**
+   * End of time interval to query, defaults to current time.
+   *
+   * @default <now>
+   * @example 2019-01-02T03:20:00Z
+   * @format date-time
+   */
+  until?: string;
+};
 
 /**
- * The kind of the ruleset.
- *
- * @example root
+ * Metrics on Workers KV requests.
  */
-export type SchemasKind = 'custom' | 'root' | 'zone';
+export type WorkersKvResult = {
+  data:
+    | {
+        dimensions?: string[];
+        /**
+         * List of metrics returned by the query.
+         */
+        metrics: number[][];
+      }[]
+    | null;
+  /**
+   * Number of seconds between current time and last processed event, i.e. how many seconds of data could be missing.
+   *
+   * @example 0
+   * @minimum 0
+   */
+  data_lag: number;
+  /**
+   * Maximum results for each metric.
+   */
+  max: {
+    [key: string]: number;
+  };
+  /**
+   * Minimum results for each metric.
+   */
+  min: {
+    [key: string]: number;
+  };
+  query: WorkersKvQuery;
+  /**
+   * Total number of rows in the result.
+   *
+   * @example 2
+   * @minimum 0
+   */
+  rows: number;
+  /**
+   * Time interval buckets by beginning and ending
+   */
+  time_intervals?: string[][];
+  /**
+   * Total results for metrics across all data.
+   */
+  totals: {
+    [key: string]: number;
+  };
+};
+
+export type WorkersKvResultInfo = {
+  /**
+   * Total number of results for the requested service
+   *
+   * @example 1
+   */
+  count?: number;
+  /**
+   * Current page within paginated list of results
+   *
+   * @example 1
+   */
+  page?: number;
+  /**
+   * Number of results per page of results
+   *
+   * @example 20
+   */
+  per_page?: number;
+  /**
+   * Total results available without any search parameters
+   *
+   * @example 2000
+   */
+  total_count?: number;
+};
 
 /**
- * The timestamp of when the rule was last modified.
- *
- * @example 2000-01-01T00:00:00.000000Z
+ * Metrics on Workers KV requests.
  */
-export type SchemasLastUpdated = string;
-
-export type SchemasLinkedin = {
+export type WorkersKvSchemasResult = {
   /**
-   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   * @example {"metrics":[[2,4],[16,32]]}
    */
-  config: GenericOauthConfig;
-  id?: Uuid;
-  name: SchemasNameIXVfNmuB;
+  data:
+    | {
+        dimensions?: string[];
+        /**
+         * List of metrics returned by the query.
+         */
+        metrics: number[][];
+      }[]
+    | null;
   /**
-   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   * Number of seconds between current time and last processed event, i.e. how many seconds of data could be missing.
+   *
+   * @example 0
+   * @minimum 0
    */
-  scim_config?: {
-    /**
-     * A flag to enable or disable SCIM for the identity provider.
-     */
-    enabled?: boolean;
-    /**
-     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
-     */
-    group_member_deprovision?: boolean;
-    /**
-     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
-     */
-    seat_deprovision?: boolean;
-    /**
-     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
-     */
-    secret?: string;
-    /**
-     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
-     */
-    user_deprovision?: boolean;
+  data_lag: number;
+  /**
+   * Maximum results for each metric.
+   *
+   * @example {"readKiB":32,"requests":4}
+   */
+  max: {
+    [key: string]: number;
   };
   /**
-   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   * Minimum results for each metric.
    *
-   * @example onetimepin
+   * @example {"readKiB":16,"requests":2}
+   */
+  min: {
+    [key: string]: number;
+  };
+  query: WorkersKvQuery;
+  /**
+   * Total number of rows in the result.
+   *
+   * @example 2
+   * @minimum 0
+   */
+  rows: number;
+  /**
+   * Time interval buckets by beginning and ending
+   */
+  time_intervals?: string[][];
+  /**
+   * Total results for metrics across all data.
+   *
+   * @example {"readKiB":48,"requests":6}
    */
-  type: string;
+  totals: {
+    [key: string]: number;
+  };
 };
 
 /**
- * The wirefilter expression to match devices.
+ * A byte sequence to be stored, up to 25 MiB in length.
  *
- * @example user.identity == "test@cloudflare.com"
- * @maxLength 500
- */
-export type SchemasMatch = string;
-
-/**
- * The conditions that the client must match to run the rule.
+ * @example Some Value
  */
-export type SchemasMatchPKnBbWyP = MatchItem[];
+export type WorkersKvValue = string;
 
-export type SchemasMember = Member;
+export type WorkersAccountSettings = {
+  default_usage_model?: string;
+  green_compute?: boolean;
+};
 
-/**
- * What EXIF data should be preserved in the output image.
- *
- * @example none
- */
-export type SchemasMetadata = 'keep' | 'copyright' | 'none';
+export type WorkersAccountSettingsResponse = WorkersApiResponseCommon & {
+  result?: WorkersAccountSettings;
+};
 
 /**
- * The method to use for the health check. This defaults to 'GET' for HTTP/HTTPS based checks and 'connection_established' for TCP based health checks.
+ * Identifer of the account.
  *
- * @default GET
- * @example GET
+ * @example 9a7806061c88ada191ed06f989cc3dac
  */
-export type SchemasMethod = string;
+export type WorkersAccountIdentifier = string;
 
-/**
- * The action to apply to a matched request.
- *
- * @example challenge
- */
-export type SchemasMode = 'block' | 'challenge' | 'whitelist' | 'js_challenge' | 'managed_challenge';
+export type WorkersApiResponseCollection = WorkersApiResponseCommon & {
+  result_info?: WorkersResultInfo;
+};
 
-/**
- * The date and time the tunnel was last modified.
- *
- * @example 2017-06-14T05:20:00Z
- * @format date-time
- */
-export type SchemasModifiedOn = string;
+export type WorkersApiResponseCommon = {
+  errors: WorkersMessages;
+  messages: WorkersMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
+};
 
-/**
- * The timestamp of when the Page Rule was last modified.
- *
- * @example 2014-01-01T05:20:00.12345Z
- * @format date-time
- */
-export type SchemasModifiedOnPkJiYI69 = string;
+export type WorkersApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: WorkersMessages;
+  messages: WorkersMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
+};
 
-/**
- * When the certificate was last modified.
- *
- * @example 2014-01-01T05:20:00Z
- * @format date-time
- */
-export type SchemasModifiedOnRHJWTByl = string;
+export type WorkersApiResponseSingle = WorkersApiResponseCommon;
 
-export type SchemasModifiedTunnelsCollectionResponse = ApiResponseSingleRxxEmdsv & {
+export type WorkersApiResponseSingleId = WorkersApiResponseCommon & {
   result?: {
-    /**
-     * @example true
-     */
-    modified?: boolean;
-    modified_ipsec_tunnels?: IpsecTunnel[];
-  };
+    id: WorkersIdentifier;
+  } | null;
 };
 
-/**
- * The ID of the Monitor to use for checking the health of origins within this pool.
- */
-export type SchemasMonitor = void;
+export type WorkersAssetsBinding = {
+  name: WorkersBindingName;
+  /**
+   * The class of resource that the binding provides.
+   *
+   * @example assets
+   */
+  type: 'assets';
+};
 
 /**
- * The Maximum Transmission Unit (MTU) in bytes for the interconnect. The minimum value is 576.
- *
- * @default 1476
+ * A binding to allow the Worker to communicate with resources
  */
-export type SchemasMtu = number;
+export type WorkersBinding =
+  | WorkersKvNamespaceBinding
+  | WorkersServiceBinding
+  | WorkersDoBinding
+  | WorkersR2Binding
+  | WorkersQueueBinding
+  | WorkersD1Binding
+  | WorkersDispatchNamespaceBinding
+  | WorkersMtlsCertBinding
+  | WorkersAssetsBinding;
 
 /**
- * The name of the IPsec tunnel. The name cannot share a name with other tunnels.
+ * A JavaScript variable name for the binding.
  *
- * @example IPsec_1
+ * @example myBinding
  */
-export type SchemasName = string;
+export type WorkersBindingName = string;
 
 /**
- * The name of the Location.
- *
- * @example Austin Office Location
+ * List of bindings attached to this Worker
  */
-export type SchemasName4xhKRX0o = string;
+export type WorkersBindings = WorkersBinding[];
 
 /**
- * TSIG key name.
+ * Date indicating targeted support in the Workers runtime. Backwards incompatible fixes to the runtime following this date will not affect this Worker.
  *
- * @example tsig.customer.cf.
+ * @example 2021-01-01
  */
-export type SchemasNameDv0ow20v = string;
+export type WorkersCompatibilityDate = string;
 
 /**
- * The device name.
+ * Flag that enables or disables a specific feature in the Workers runtime.
  *
- * @example My mobile device
+ * @example nodejs_compat
  */
-export type SchemasNameLohsu7Gg = string;
+export type WorkersCompatibilityFlag = string;
 
 /**
- * Optional unique name for the certificate. Only used for human readability.
+ * Flags that enable or disable certain features in the Workers runtime. Used to enable upcoming features or opt in or out of specific changes not included in a `compatibility_date`.
  *
- * @example example_ca_cert
+ * @example nodejs_compat
  */
-export type SchemasNameUG4dW73x = string;
+export type WorkersCompatibilityFlags = WorkersCompatibilityFlag[];
 
-/**
- * The name of the identity provider, shown to users on the login page.
- *
- * @example Widget Corps IDP
- */
-export type SchemasNameIXVfNmuB = string;
+export type WorkersCompletedUploadAssetsResponse = WorkersApiResponseCommon & {
+  result?: {
+    /**
+     * A "completion" JWT which can be redeemed when creating a Worker version.
+     */
+    jwt?: string;
+  };
+};
+
+export type WorkersCreateAssetsUploadSessionObject = {
+  /**
+   * A manifest ([path]: {hash, size}) map of files to upload. As an example, `/blog/hello-world.html` would be a valid path key.
+   */
+  manifest?: {
+    [key: string]: WorkersManifestValue;
+  };
+};
+
+export type WorkersCreateAssetsUploadSessionResponse = WorkersApiResponseCommon & {
+  result?: {
+    /**
+     * The requests to make to upload assets.
+     */
+    buckets?: string[][];
+    /**
+     * A JWT to use as authentication for uploading assets.
+     */
+    jwt?: string;
+  };
+};
 
 /**
- * Organization name.
+ * When the script was created.
  *
- * @example Cloudflare, Inc.
- * @maxLength 100
+ * @example 2017-01-01T00:00:00Z
+ * @format date-time
  */
-export type SchemasNameMUD1zc5L = string;
+export type WorkersCreatedOn = string;
+
+export type WorkersCronObject = {
+  created_on?: string;
+  /**
+   * @example [see original specs]
+   */
+  cron?: string;
+  modified_on?: string;
+};
+
+export type WorkersCronTriggerResponseCollection = WorkersApiResponseCommon & {
+  result?: {
+    schedules?: WorkersCronObject[];
+  };
+};
 
 /**
- * A human-identifiable name for the origin.
+ * Opaque token indicating the position from which to continue when requesting the next set of records. A valid value for the cursor can be obtained from the cursors object in the result_info structure.
  *
- * @example app-server-1
+ * @example AAAAANuhDN7SjacTnSVsDu3WW1Lvst6dxJGTjRY5BhxPXdf6L6uTcpd_NVtjhn11OUYRsVEykxoUwF-JQU4dn6QylZSKTOJuG0indrdn_MlHpMRtsxgXjs-RPdHYIVm3odE_uvEQ_dTQGFm8oikZMohns34DLBgrQpc
  */
-export type SchemasNamePvgM4uwK = string;
+export type WorkersCursor = string;
 
-export type SchemasNamespace = {
-  ['class']?: void;
-  id?: void;
-  name?: void;
-  script?: void;
-};
-
-export type SchemasOidc = {
+export type WorkersD1Binding = {
+  binding: WorkersBindingName;
   /**
-   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   * ID of the D1 database to bind to
+   *
+   * @example xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    */
-  config: GenericOauthConfig & {
-    /**
-     * The authorization_endpoint URL of your IdP
-     *
-     * @example https://accounts.google.com/o/oauth2/auth
-     */
-    auth_url?: string;
-    /**
-     * The jwks_uri endpoint of your IdP to allow the IdP keys to sign the tokens
-     *
-     * @example https://www.googleapis.com/oauth2/v3/certs
-     */
-    certs_url?: string;
-    /**
-     * List of custom claims that will be pulled from your id_token and added to your signed Access JWT token.
-     *
-     * @example given_name
-     * @example locale
-     */
-    claims?: string[];
-    /**
-     * OAuth scopes
-     *
-     * @example openid
-     * @example email
-     * @example profile
-     */
-    scopes?: string[];
-    /**
-     * The token_endpoint URL of your IdP
-     *
-     * @example https://accounts.google.com/o/oauth2/token
-     */
-    token_url?: string;
-  };
-  id?: Uuid;
-  name: SchemasNameIXVfNmuB;
+  id: string;
   /**
-   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   * The name of the D1 database associated with the 'id' provided.
+   *
+   * @example prod-database-auth
    */
-  scim_config?: {
-    /**
-     * A flag to enable or disable SCIM for the identity provider.
-     */
-    enabled?: boolean;
-    /**
-     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
-     */
-    group_member_deprovision?: boolean;
-    /**
-     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
-     */
-    seat_deprovision?: boolean;
-    /**
-     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
-     */
-    secret?: string;
-    /**
-     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
-     */
-    user_deprovision?: boolean;
-  };
+  name: string;
   /**
-   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   * The class of resource that the binding provides.
    *
-   * @example onetimepin
+   * @example d1
    */
-  type: string;
+  type: 'd1';
 };
 
-export type SchemasOkta = {
-  /**
-   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
-   */
-  config: GenericOauthConfig & {
+/**
+ * @example bcf48806-b317-4351-9ee7-36e7d557d4de
+ * @maxLength 36
+ */
+export type WorkersDeploymentIdentifier = string;
+
+export type WorkersDeploymentsBase = {
+  annotations?: {
     /**
-     * Your okta account url
+     * Human-readable message about the deployment. Truncated to 100 bytes.
      *
-     * @example https://dev-abc123.oktapreview.com
+     * @example Deploy bug fix.
+     * @maxLength 100
      */
-    okta_account?: string;
+    ['workers/message']?: string;
   };
-  id?: Uuid;
-  name: SchemasNameIXVfNmuB;
   /**
-   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   * @example user@example.com
    */
-  scim_config?: {
-    /**
-     * A flag to enable or disable SCIM for the identity provider.
-     */
-    enabled?: boolean;
-    /**
-     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
-     */
-    group_member_deprovision?: boolean;
-    /**
-     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
-     */
-    seat_deprovision?: boolean;
+  author_email?: string;
+  /**
+   * @example 2022-11-08T17:19:29.176266Z
+   */
+  created_on?: string;
+  /**
+   * @example dc78f0bc-05c5-46b7-bb4e-137f55930378
+   * @maxLength 36
+   */
+  id?: WorkersSchemasDeploymentIdentifier;
+  /**
+   * @example api
+   */
+  source?: string;
+  strategy?: string;
+};
+
+export type WorkersDeploymentsCreateBody = WorkersDeploymentsBase & WorkersDeploymentsStrategyPercentage;
+
+export type WorkersDeploymentsListResponse = WorkersApiResponseCommon & {
+  result?: {
     /**
-     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     * @example {"id":"bcf48806-b317-4351-9ee7-36e7d557d4de","metadata":{"author_email":"user@example.com","author_id":"408cbcdfd4dda4617efef40b04d168a1","created_on":"2022-11-15T18:25:44.442097Z","modified_on":"2022-11-15T18:25:44.442097Z","source":"api"},"number":2}
+     * @example {"id":"18f97339-c287-4872-9bdd-e2135c07ec12","metadata":{"author_email":"user@example.com","author_id":"408cbcdfd4dda4617efef40b04d168a1","created_on":"2022-11-08T17:30:56.968096Z","modified_on":"2022-11-08T17:30:56.968096Z","source":"api"},"number":1}
      */
-    secret?: string;
+    items?: WorkersVersionItemShort[];
     /**
-     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     * @example {"id":"bcf48806-b317-4351-9ee7-36e7d557d4de","metadata":{"author_email":"user@example.com","author_id":"408cbcdfd4dda4617efef40b04d168a1","created_on":"2022-11-15T18:25:44.442097Z","modified_on":"2022-11-15T18:25:44.442097Z","source":"api"},"number":2,"resources":{"bindings":[{"json":"example_binding","name":"JSON_VAR","type":"json"}],"script":{"etag":"13a3240e8fb414561b0366813b0b8f42b3e6cfa0d9e70e99835dae83d0d8a794","handlers":["fetch"],"last_deployed_from":"api"},"script_runtime":{"usage_model":"bundled"}}}
      */
-    user_deprovision?: boolean;
+    latest?: Record<string, any>;
   };
-  /**
-   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
-   *
-   * @example onetimepin
-   */
-  type: string;
 };
 
-export type SchemasOnelogin = {
-  /**
-   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
-   */
-  config: GenericOauthConfig & {
+export type WorkersDeploymentsSingleResponse = WorkersApiResponseCommon & {
+  result?: {
+    /**
+     * @example 18f97339-c287-4872-9bdd-e2135c07ec12
+     */
+    id?: string;
     /**
-     * Your OneLogin account url
-     *
-     * @example https://mycompany.onelogin.com
+     * @example {"author_email":"user@example.com","author_id":"408cbcdfd4dda4617efef40b04d168a1","created_on":"2022-11-08T17:19:29.176266Z","modified_on":"2022-11-08T17:19:29.176266Z","source":"api"}
      */
-    onelogin_account?: string;
-  };
-  id?: Uuid;
-  name: SchemasNameIXVfNmuB;
-  /**
-   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
-   */
-  scim_config?: {
+    metadata?: Record<string, any>;
     /**
-     * A flag to enable or disable SCIM for the identity provider.
+     * @example 1
      */
-    enabled?: boolean;
+    number?: number;
     /**
-     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
+     * @example {"bindings":[{"json":"example_binding","name":"JSON_VAR","type":"json"}],"script":{"etag":"13a3240e8fb414561b0366813b0b8f42b3e6cfa0d9e70e99835dae83d0d8a794","handlers":["fetch"],"last_deployed_from":"api"},"script_runtime":{"usage_model":"bundled"}}
      */
-    group_member_deprovision?: boolean;
+    resources?: Record<string, any>;
+  };
+};
+
+export type WorkersDeploymentsStrategyPercentage = {
+  strategy: 'percentage';
+  versions: {
     /**
-     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
+     * @example 100
+     * @maximum 100
+     * @minimum 0.01
      */
-    seat_deprovision?: boolean;
+    percentage: number;
+    version_id: WorkersSchemasVersionIdentifier;
+  }[];
+};
+
+export type WorkersDispatchNamespaceBinding = {
+  name: WorkersBindingName;
+  /**
+   * Namespace to bind to
+   *
+   * @example my-namespace
+   */
+  namespace: string;
+  /**
+   * Outbound worker
+   */
+  outbound?: {
     /**
-     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
+     * Pass information from the Dispatch Worker to the Outbound Worker through the parameters
      */
-    secret?: string;
+    params?: string[];
     /**
-     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
+     * Outbound worker
      */
-    user_deprovision?: boolean;
+    worker?: {
+      /**
+       * Environment of the outbound worker
+       */
+      environment?: string;
+      /**
+       * Name of the outbound worker
+       */
+      service?: string;
+    };
   };
   /**
-   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   * The class of resource that the binding provides.
    *
-   * @example onetimepin
+   * @example dispatch_namespace
    */
-  type: string;
+  type: 'dispatch_namespace';
 };
 
-export type SchemasOperation = {
+/**
+ * Name of the Workers for Platforms dispatch namespace.
+ *
+ * @example my-dispatch-namespace
+ * @pattern ^.+$
+ */
+export type WorkersDispatchNamespaceName = string;
+
+export type WorkersDoBinding = {
   /**
-   * The RFC 3339 timestamp of when the operation was completed.
+   * The exported class name of the Durable Object
    *
-   * @example 2020-01-01T08:00:00Z
+   * @example MyDurableObject
    */
-  completed?: string;
+  class_name: string;
   /**
-   * A message describing the error when the status is `failed`.
+   * The environment of the script_name to bind to
    *
-   * @example This list is at the maximum number of items
+   * @example production
    */
-  error?: string;
-  id: OperationId;
+  environment?: string;
+  name: WorkersBindingName;
+  namespace_id?: WorkersNamespaceIdentifier;
   /**
-   * The current status of the asynchronous operation.
+   * The script where the Durable Object is defined, if it is external to this Worker
    *
-   * @example failed
+   * @example my-other-worker
    */
-  status: 'pending' | 'running' | 'completed' | 'failed';
+  script_name?: string;
+  /**
+   * The class of resource that the binding provides.
+   *
+   * @example durable_object_namespace
+   */
+  type: 'durable_object_namespace';
+};
+
+export type WorkersDomain = {
+  environment?: WorkersSchemasEnvironment;
+  hostname?: WorkersHostname;
+  id?: WorkersDomainIdentifier;
+  service?: WorkersSchemasService;
+  zone_id?: WorkersZoneIdentifier;
+  zone_name?: WorkersZoneName;
+};
+
+export type WorkersDomainResponseCollection = WorkersApiResponseCommon & {
+  result?: WorkersDomain[];
+};
+
+export type WorkersDomainResponseSingle = WorkersApiResponseCommon & {
+  result?: WorkersDomain;
 };
 
 /**
- * @example {"max_ttl":15,"packet_type":"icmp"}
+ * Identifer of the Worker Domain.
+ *
+ * @example dbe10b4bc17c295377eabd600e1787fd
  */
-export type SchemasOptions = {
-  max_ttl?: MaxTtl;
-  packet_type?: PacketType;
-  packets_per_ttl?: PacketsPerTtl;
-  port?: TracerouteComponentsSchemasPort;
-  wait_time?: WaitTime;
-};
+export type WorkersDomainIdentifier = string;
 
 /**
- * Name of organization.
+ * @example true
+ */
+export type WorkersEnabled = boolean;
+
+/**
+ * Optional environment if the Worker utilizes one.
  *
- * @example Cloudflare, Inc.
+ * @example production
+ */
+export type WorkersEnvironment = string;
+
+/**
+ * Hashed script content, can be used in a If-None-Match header when updating.
+ *
+ * @example ea95132c15732412d22c1476fa83f27a
  */
-export type SchemasOrganization = string;
+export type WorkersEtag = string;
+
+export type WorkersFilterNoId = {
+  enabled: WorkersEnabled;
+  pattern: WorkersSchemasPattern;
+};
+
+export type WorkersFilterResponseCollection = WorkersApiResponseCommon & {
+  result?: WorkersFilters[];
+};
 
-export type SchemasOrganizations = {
-  auth_domain?: AuthDomain;
-  created_at?: Timestamp;
-  is_ui_read_only?: IsUiReadOnly;
-  login_design?: LoginDesign;
-  name?: NameRPn8IBAr;
-  ui_read_only_toggle_reason?: UiReadOnlyToggleReason;
-  updated_at?: Timestamp;
-  user_seat_expiration_inactive_time?: UserSeatExpirationInactiveTime;
+export type WorkersFilterResponseSingle = WorkersApiResponseSingle & {
+  result?: WorkersFilters;
 };
 
-export type SchemasOrigin = {
-  address?: AddressGVmFzzym;
-  disabled_at?: DisabledAt;
-  enabled?: OriginComponentsSchemasEnabled;
-  header?: SchemasHeader;
-  name?: OriginComponentsSchemasName;
-  virtual_network_id?: VirtualNetworkId;
-  weight?: WeightUxsoOG5s;
+export type WorkersFilters = {
+  enabled: WorkersEnabled;
+  id: WorkersIdentifier;
+  pattern: WorkersSchemasPattern;
 };
 
 /**
- * Update enablement of Smart Tiered Cache
+ * Whether a Worker contains assets.
+ *
+ * @example false
  */
-export type SchemasPatch = {
-  value: SchemasValue;
-};
+export type WorkersHasAssets = boolean;
 
 /**
- * Update enablement of Tiered Caching
+ * Whether a Worker contains modules.
+ *
+ * @example false
  */
-export type SchemasPatchFvWadKai = {
-  value: ComponentsSchemasValue;
-};
+export type WorkersHasModules = boolean;
 
 /**
- * @example example.net/*
+ * Hostname of the Worker Domain.
+ *
+ * @example foo.example.com
  */
-export type SchemasPattern = string;
+export type WorkersHostname = string;
 
 /**
- * When true, indicates that the rule is currently paused.
+ * Identifier for the tail.
  *
- * @example false
+ * @example 03dc9f77817b488fb26c5861ec18f791
  */
-export type SchemasPaused = boolean;
+export type WorkersId = string;
 
 /**
- * Number of results to display.
+ * Identifier
  *
- * @minimum 1
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type SchemasPerPage = number;
+export type WorkersIdentifier = string;
+
+export type WorkersKvNamespaceBinding = {
+  name: WorkersBindingName;
+  namespace_id: WorkersNamespaceIdentifier;
+  /**
+   * The class of resource that the binding provides.
+   *
+   * @example kv_namespace
+   */
+  type: 'kv_namespace';
+};
 
 /**
- * Access permissions for this User.
+ * Limits to apply for this Worker.
  */
-export type SchemasPermissions = string[];
+export type WorkersLimits = {
+  /**
+   * The amount of CPU time this Worker can use in milliseconds.
+   *
+   * @example 50
+   */
+  cpu_ms?: number;
+};
 
 /**
- * The phase where the ruleset is executed.
+ * Whether Logpush is turned on for the Worker.
+ *
+ * @example false
  */
-export type SchemasPhase = 'http_request_transform' | 'http_request_late_transform' | 'http_response_headers_transform';
+export type WorkersLogpush = boolean;
 
-export type SchemasPingone = {
+export type WorkersManifestValue = {
   /**
-   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   * The hash of the file.
    */
-  config: GenericOauthConfig & {
-    /**
-     * Your PingOne environment identifier
-     *
-     * @example 342b5660-0c32-4936-a5a4-ce21fae57b0a
-     */
-    ping_env_id?: string;
-  };
-  id?: Uuid;
-  name: SchemasNameIXVfNmuB;
+  hash?: string;
   /**
-   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   * The size of the file in bytes.
    */
-  scim_config?: {
-    /**
-     * A flag to enable or disable SCIM for the identity provider.
-     */
-    enabled?: boolean;
-    /**
-     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
-     */
-    group_member_deprovision?: boolean;
-    /**
-     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
-     */
-    seat_deprovision?: boolean;
-    /**
-     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
-     */
-    secret?: string;
-    /**
-     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
-     */
-    user_deprovision?: boolean;
-  };
+  size?: number;
+};
+
+export type WorkersMessages = {
   /**
-   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
-   *
-   * @example onetimepin
+   * @minimum 1000
    */
-  type: string;
+  code: number;
+  message: string;
+}[];
+
+export type WorkersMigrationStep = {
+  /**
+   * A list of classes to delete Durable Object namespaces from.
+   */
+  deleted_classes?: string[];
+  /**
+   * A list of classes to create Durable Object namespaces from.
+   */
+  new_classes?: string[];
+  /**
+   * A list of classes to create Durable Object namespaces with SQLite from.
+   */
+  new_sqlite_classes?: string[];
+  /**
+   * A list of classes with Durable Object namespaces that were renamed.
+   */
+  renamed_classes?: {
+    from?: string;
+    to?: string;
+  }[];
+  /**
+   * A list of transfers for Durable Object namespaces from a different Worker and class to a class defined in this Worker.
+   */
+  transferred_classes?: {
+    from?: string;
+    from_script?: string;
+    to?: string;
+  }[];
 };
 
-export type SchemasPolicies = {
-  approval_groups?: ApprovalGroups;
-  approval_required?: ApprovalRequired;
-  created_at?: Timestamp;
-  decision?: Decision;
-  exclude?: SchemasExcludeTDuKARb5;
-  id?: ComponentsSchemasUuid;
-  include?: IncludeRuTbCgSD;
-  name?: PoliciesComponentsSchemasName;
-  precedence?: Precedence;
-  purpose_justification_prompt?: PurposeJustificationPrompt;
-  purpose_justification_required?: PurposeJustificationRequired;
-  require?: SchemasRequire3P4NgB4B;
-  updated_at?: Timestamp;
+export type WorkersMigrationTagConditions = {
+  /**
+   * Tag to set as the latest migration tag.
+   *
+   * @example v2
+   */
+  new_tag?: string;
+  /**
+   * Tag used to verify against the latest migration tag for this Worker. If they don't match, the upload is rejected.
+   *
+   * @example v1
+   */
+  old_tag?: string;
 };
 
 /**
- * The port number to connect to for the health check. Required for TCP, UDP, and SMTP checks. HTTP and HTTPS checks should only define the port when using a non-standard port (HTTP: default 80, HTTPS: default 443).
+ * When the script was last modified.
  *
- * @default 0
+ * @example 2017-01-01T00:00:00Z
+ * @format date-time
  */
-export type SchemasPort = number;
+export type WorkersModifiedOn = string;
 
-/**
- * Port number to connect to for the health check. Required for TCP, UDP, and SMTP checks. HTTP and HTTPS checks should only define the port when using a non-standard port (HTTP: default 80, HTTPS: default 443).
- *
- * @default 0
- */
-export type SchemasPortRWJFwo9O = number;
+export type WorkersMtlsCertBinding = {
+  /**
+   * ID of the certificate to bind to
+   *
+   * @example efwu2n6s-q69d-2kr9-184j-4913e8h391k6
+   */
+  certificate_id: string;
+  name: WorkersBindingName;
+  /**
+   * The class of resource that the binding provides.
+   *
+   * @example mtls_certificate
+   */
+  type: 'mtls_certificate';
+};
 
-/**
- * The precedence of the policy. Lower values indicate higher precedence. Policies will be evaluated in ascending order of this field.
- *
- * @example 100
- */
-export type SchemasPrecedence = number;
+export type WorkersMultipleStepMigrations = WorkersMigrationTagConditions & {
+  /**
+   * Migrations to apply in order.
+   */
+  steps?: WorkersMigrationStep[];
+};
 
-/**
- * @example p1aba936b94213e5b8dca0c0dbf1f9cc
- */
-export type SchemasPreviewId = void;
+export type WorkersNamespace = {
+  ['class']?: string;
+  id?: string;
+  name?: string;
+  script?: string;
+  use_sqlite?: boolean;
+};
 
-/**
- * The amount you will be billed for this plan.
- *
- * @example 0
- */
-export type SchemasPrice = number;
+export type WorkersNamespaceDeleteResponse = WorkersApiResponseCommon & {
+  result?: any | null;
+};
 
-/**
- * The order in which the individual WAF rule is executed within its rule group.
- */
-export type SchemasPriority = string;
+export type WorkersNamespaceListResponse = WorkersApiResponseCommon & {
+  result?: WorkersNamespaceResponse[];
+};
 
-/**
- * The hostname certificate's private key.
- * 
- * @example -----BEGIN RSA PRIVATE KEY-----
-MIIEowIBAAKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmG
-dtcGbg/1CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKn
-abIRuGvBKwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpid
-tnKX/a+50GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+py
-FxIXjbEIdZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pE
-ewooaeO2izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABAoIBACbhTYXBZYKmYPCb
-HBR1IBlCQA2nLGf0qRuJNJZg5iEzXows/6tc8YymZkQE7nolapWsQ+upk2y5Xdp/
-axiuprIs9JzkYK8Ox0r+dlwCG1kSW+UAbX0bQ/qUqlsTvU6muVuMP8vZYHxJ3wmb
-+ufRBKztPTQ/rYWaYQcgC0RWI20HTFBMxlTAyNxYNWzX7RKFkGVVyB9RsAtmcc8g
-+j4OdosbfNoJPS0HeIfNpAznDfHKdxDk2Yc1tV6RHBrC1ynyLE9+TaflIAdo2MVv
-KLMLq51GqYKtgJFIlBRPQqKoyXdz3fGvXrTkf/WY9QNq0J1Vk5ERePZ54mN8iZB7
-9lwy/AkCgYEA6FXzosxswaJ2wQLeoYc7ceaweX/SwTvxHgXzRyJIIT0eJWgx13Wo
-/WA3Iziimsjf6qE+SI/8laxPp2A86VMaIt3Z3mJN/CqSVGw8LK2AQst+OwdPyDMu
-iacE8lj/IFGC8mwNUAb9CzGU3JpU4PxxGFjS/eMtGeRXCWkK4NE+G08CgYEA1Kp9
-N2JrVlqUz+gAX+LPmE9OEMAS9WQSQsfCHGogIFDGGcNf7+uwBM7GAaSJIP01zcoe
-VAgWdzXCv3FLhsaZoJ6RyLOLay5phbu1iaTr4UNYm5WtYTzMzqh8l1+MFFDl9xDB
-vULuCIIrglM5MeS/qnSg1uMoH2oVPj9TVst/ir8CgYEAxrI7Ws9Zc4Bt70N1As+U
-lySjaEVZCMkqvHJ6TCuVZFfQoE0r0whdLdRLU2PsLFP+q7qaeZQqgBaNSKeVcDYR
-9B+nY/jOmQoPewPVsp/vQTCnE/R81spu0mp0YI6cIheT1Z9zAy322svcc43JaWB7
-mEbeqyLOP4Z4qSOcmghZBSECgYACvR9Xs0DGn+wCsW4vze/2ei77MD4OQvepPIFX
-dFZtlBy5ADcgE9z0cuVB6CiL8DbdK5kwY9pGNr8HUCI03iHkW6Zs+0L0YmihfEVe
-PG19PSzK9CaDdhD9KFZSbLyVFmWfxOt50H7YRTTiPMgjyFpfi5j2q348yVT0tEQS
-fhRqaQKBgAcWPokmJ7EbYQGeMbS7HC8eWO/RyamlnSffdCdSc7ue3zdVJxpAkQ8W
-qu80pEIF6raIQfAf8MXiiZ7auFOSnHQTXUbhCpvDLKi0Mwq3G8Pl07l+2s6dQG6T
-lv6XTQaMyf6n1yjzL+fzDrH3qXMxHMO/b13EePXpDMpY7HQpoLDi
------END RSA PRIVATE KEY-----
- */
-export type SchemasPrivateKey = string;
+export type WorkersNamespaceResponse = {
+  created_by?: WorkersIdentifier;
+  created_on?: WorkersCreatedOn;
+  modified_by?: WorkersIdentifier;
+  modified_on?: WorkersModifiedOn;
+  namespace_id?: WorkersUuid;
+  namespace_name?: WorkersDispatchNamespaceName;
+  script_count?: WorkersScriptCount;
+};
 
-export type SchemasRailgun = {
-  activation: Activation;
-  created_on?: ComponentsSchemasCreatedOn;
-  enabled: RailgunComponentsSchemasEnabled;
-  id: RailgunComponentsSchemasIdentifier;
-  modified_on?: RailgunComponentsSchemasModifiedOn;
-  name: RailgunComponentsSchemasName;
-  status: RailgunComponentsSchemasStatus;
-  upgrade_info?: UpgradeInfo;
-  zones_connected: ZonesConnected;
+/**
+ * Details about a worker uploaded to a Workers for Platforms namespace.
+ */
+export type WorkersNamespaceScriptResponse = {
+  created_on?: WorkersCreatedOn;
+  dispatch_namespace?: WorkersDispatchNamespaceName;
+  modified_on?: WorkersModifiedOn;
+  script?: WorkersScriptResponse;
 };
 
-export type SchemasRailgunResponseCollection = ApiResponseCollection & {
-  result?: Record<string, any>[];
+export type WorkersNamespaceScriptResponseSingle = WorkersApiResponseCommon & {
+  result?: WorkersNamespaceScriptResponse;
 };
 
-export type SchemasRatePlan = RatePlan;
+export type WorkersNamespaceSingleResponse = WorkersApiResponseCommon & {
+  result?: WorkersNamespaceResponse;
+};
 
 /**
- * A short reference tag. Allows you to select related filters.
+ * Namespace identifier tag.
  *
- * @example FIL-100
- * @maxLength 50
+ * @example 0f2ac74b498b48028cb68387c421e279
+ * @maxLength 32
  */
-export type SchemasRef = string;
+export type WorkersNamespaceIdentifier = string;
 
-export type SchemasReferencesResponse = ApiResponseCollection & {
+export type WorkersObject = {
   /**
-   * List of resources that reference a given pool.
+   * Whether the Durable Object has stored data.
    *
-   * @example {"reference_type":"referrer","resource_id":"699d98642c564d2e855e9661899b7252","resource_name":"www.example.com","resource_type":"load_balancer"}
-   * @example {"reference_type":"referral","resource_id":"f1aba936b94213e5b8dca0c0dbf1f9cc","resource_name":"Login page monitor","resource_type":"monitor"}
+   * @example true
    */
-  result?: {
-    reference_type?: '*' | 'referral' | 'referrer';
-    resource_id?: string;
-    resource_name?: string;
-    resource_type?: string;
-  }[];
+  hasStoredData?: boolean;
+  /**
+   * ID of the Durable Object.
+   *
+   * @example fe7803fc55b964e09d94666545aab688d360c6bda69ba349ced1e5f28d2fc2c8
+   */
+  id?: string;
 };
 
-export type SchemasRequestModel = {
-  scope?: ScopeAeLzE8f9;
-  type?: UrlNormalizationComponentsSchemasType;
+/**
+ * Observability settings for the Worker.
+ */
+export type WorkersObservability = {
+  /**
+   * Whether observability is enabled for the Worker.
+   *
+   * @example true
+   */
+  enabled: boolean;
+  /**
+   * The sampling rate for incoming requests. From 0 to 1 (1 = 100%, 0.1 = 10%). Default is 1.
+   *
+   * @example 0.1
+   */
+  head_sampling_rate?: number | null;
 };
 
 /**
- * Breakdown of totals for requests.
+ * @example example.net/*
  */
-export type SchemasRequests = {
+export type WorkersPattern = string;
+
+export type WorkersPlacementConfig = {
   /**
-   * Total number of requests served.
+   * Enables [Smart Placement](https://developers.cloudflare.com/workers/configuration/smart-placement). Only `"smart"` is currently supported
    */
-  all?: number;
+  mode?: 'smart';
+};
+
+/**
+ * Specifies the placement mode for the Worker (e.g. 'smart').
+ *
+ * @example smart
+ */
+export type WorkersPlacementMode = string;
+
+export type WorkersQueueBinding = {
+  name: WorkersBindingName;
   /**
-   * Total number of cached requests served.
+   * Name of the Queue to bind to
+   *
+   * @example my-queue
    */
-  cached?: number;
+  queue_name: string;
   /**
-   * A variable list of key/value pairs where the key represents the type of content served, and the value is the number of requests.
+   * The class of resource that the binding provides.
    *
-   * @example {"css":15343,"gif":23178,"html":1234213,"javascript":318236,"jpeg":1982048}
+   * @example queue
    */
-  content_type?: Record<string, any>;
+  type: 'queue';
+};
+
+export type WorkersR2Binding = {
   /**
-   * A variable list of key/value pairs where the key is a two-digit country code and the value is the number of requests served to that country.
+   * R2 bucket to bind to
    *
-   * @example {"AG":37298,"GI":293846,"US":4181364}
+   * @example my-r2-bucket
    */
-  country?: Record<string, any>;
+  bucket_name: string;
+  name: WorkersBindingName;
   /**
-   * Key/value pairs where the key is a HTTP status code and the value is the number of requests served with that code.
+   * The class of resource that the binding provides.
    *
-   * @example {"200":13496983,"301":283,"400":187936,"402":1828,"404":1293}
+   * @example r2_bucket
    */
-  http_status?: {
-    [key: string]: any;
-  };
+  type: 'r2_bucket';
+};
+
+export type WorkersResultInfo = {
   /**
-   * A break down of requests served over HTTPS.
+   * Total number of results for the requested service
+   *
+   * @example 1
    */
-  ssl?: {
-    /**
-     * The number of requests served over HTTPS.
-     */
-    encrypted?: number;
-    /**
-     * The number of requests served over HTTP.
-     */
-    unencrypted?: number;
-  };
+  count?: number;
   /**
-   * A breakdown of requests by their SSL protocol.
+   * Current page within paginated list of results
+   *
+   * @example 1
    */
-  ssl_protocols?: {
-    /**
-     * The number of requests served over TLS v1.0.
-     */
-    TLSv1?: number;
-    /**
-     * The number of requests served over TLS v1.1.
-     */
-    ['TLSv1.1']?: number;
-    /**
-     * The number of requests served over TLS v1.2.
-     */
-    ['TLSv1.2']?: number;
-    /**
-     * The number of requests served over TLS v1.3.
-     */
-    ['TLSv1.3']?: number;
-    /**
-     * The number of requests served over HTTP.
-     */
-    none?: number;
-  };
+  page?: number;
   /**
-   * Total number of requests served from the origin.
+   * Number of results per page of results
+   *
+   * @example 20
    */
-  uncached?: number;
+  per_page?: number;
+  /**
+   * Total results available without any search parameters
+   *
+   * @example 2000
+   */
+  total_count?: number;
 };
 
-/**
- * Rules evaluated with an AND logical operator. To match the policy, a user must meet all of the Require rules.
- */
-export type SchemasRequire = Rule[];
-
-/**
- * Rules evaluated with an AND logical operator. To match the policy, a user must meet all of the Require rules.
- */
-export type SchemasRequire3P4NgB4B = RuleComponentsSchemasRule[];
-
-export type SchemasResponse = ApiResponseCollection & {
-  result?: IpComponentsSchemasIp[];
+export type WorkersRouteNoId = {
+  pattern: WorkersPattern;
+  script?: WorkersScriptName;
 };
 
-export type SchemasResponseCollection = ApiResponseCollection & {
-  result?: IpamDelegations[];
+export type WorkersRouteResponseCollection = WorkersApiResponseCommon & {
+  result?: WorkersRoutes[];
 };
 
-export type SchemasResponseCollectionFatTvRX3 = ApiResponseCollection & {
-  result?: Peer[];
+export type WorkersRouteResponseSingle = WorkersApiResponseSingle & {
+  result?: WorkersRoutes;
 };
 
-export type SchemasResponseCollectionGAYd9fKS = ApiResponseCollection & {
-  result?: DevicePostureIntegrations[];
+export type WorkersRoutes = {
+  id: WorkersIdentifier;
+  pattern: WorkersPattern;
+  script: WorkersScriptName;
 };
 
-export type SchemasResponseCollectionQ5PNs9Pv = ApiResponseCollection & {
-  /**
-   * @example {"id":"7cf72faf220841aabcfdfab81c43c4f6","name":"Billing Read","scopes":["com.cloudflare.api.account"]}
-   * @example {"id":"9d24387c6e8544e2bc4024a03991339f","name":"Load Balancing: Monitors and Pools Read","scopes":["com.cloudflare.api.account"]}
-   * @example {"id":"d2a1802cc9a34e30852f8b33869b2f3c","name":"Load Balancing: Monitors and Pools Write","scopes":["com.cloudflare.api.account"]}
-   * @example {"id":"8b47d2786a534c08a1f94ee8f9f599ef","name":"Workers KV Storage Read","scopes":["com.cloudflare.api.account"]}
-   * @example {"id":"f7f0eda5697f475c90846e879bab8666","name":"Workers KV Storage Write","scopes":["com.cloudflare.api.account"]}
-   * @example {"id":"1a71c399035b4950a1bd1466bbe4f420","name":"Workers Scripts Read","scopes":["com.cloudflare.api.account"]}
-   * @example {"id":"e086da7e2179491d91ee5f35b3ca210a","name":"Workers Scripts Write","scopes":["com.cloudflare.api.account"]}
-   */
-  result?: Record<string, any>[];
-};
+export type WorkersSchemasBinding = WorkersKvNamespaceBinding | WorkersWasmModuleBinding;
 
-export type SchemasResponseCollectionCi9TfJMj = ApiResponseCollection & {
-  result?: Groups[];
-};
+/**
+ * @example dc78f0bc-05c5-46b7-bb4e-137f55930378
+ * @maxLength 36
+ */
+export type WorkersSchemasDeploymentIdentifier = string;
 
-export type SchemasResponseCollectionQfLanROf = ApiResponseCollection & {
-  result?: Locations[];
+export type WorkersSchemasDeploymentsListResponse = WorkersApiResponseCommon & {
+  result?: {
+    deployments?: (WorkersDeploymentsBase & WorkersDeploymentsStrategyPercentage)[];
+  };
 };
 
-export type SchemasResponseCollectionToy0ZwDj = ApiResponseCollection & {
-  result?: Pool[];
+export type WorkersSchemasDeploymentsSingleResponse = WorkersApiResponseCommon & {
+  result?: WorkersDeploymentsBase & WorkersDeploymentsStrategyPercentage;
 };
 
-export type SchemasResponseModel = {
-  scope?: ScopeAeLzE8f9;
-  type?: UrlNormalizationComponentsSchemasType;
-};
+/**
+ * Worker environment associated with the zone and hostname.
+ *
+ * @example production
+ */
+export type WorkersSchemasEnvironment = string;
+
+/**
+ * ID of the namespace.
+ *
+ * @example 5fd1cafff895419c8bcc647fc64ab8f0
+ */
+export type WorkersSchemasId = string;
+
+/**
+ * @example example.net/*
+ */
+export type WorkersSchemasPattern = string;
 
-export type SchemasResponseSingle = ApiResponseSingleLarS7owG & {
+export type WorkersSchemasScriptResponseSingle = WorkersApiResponseSingle & {
   result?: Record<string, any>;
 };
 
 /**
- * Metrics on Workers KV requests.
+ * Name of the script.
+ *
+ * @example this-is_my_script-01
+ * @pattern ^[a-z0-9_][a-z0-9-_]*$
  */
-export type SchemasResult = {
-  /**
-   * @example {"metrics":[[2,4],[16,32]]}
-   */
-  data:
-    | {
-        /**
-         * List of metrics returned by the query.
-         */
-        metrics: any[];
-      }[]
-    | null;
-  /**
-   * Number of seconds between current time and last processed event, i.e. how many seconds of data could be missing.
-   *
-   * @example 0
-   * @minimum 0
-   */
-  data_lag: number;
-  /**
-   * Maximum results for each metric.
-   *
-   * @example {"readKiB":32,"requests":4}
-   */
-  max: void;
-  /**
-   * Minimum results for each metric.
-   *
-   * @example {"readKiB":16,"requests":2}
-   */
-  min: void;
-  query: QueryLWVM8wx5;
+export type WorkersSchemasScriptName = string;
+
+/**
+ * Worker service associated with the zone and hostname.
+ *
+ * @example foo
+ */
+export type WorkersSchemasService = string;
+
+/**
+ * @example bcf48806-b317-4351-9ee7-36e7d557d4de
+ * @maxLength 36
+ */
+export type WorkersSchemasVersionIdentifier = string;
+
+export type WorkersScriptAndVersionSettingsItem = {
+  bindings?: WorkersBindings;
+  compatibility_date?: WorkersCompatibilityDate;
+  compatibility_flags?: WorkersCompatibilityFlags;
+  limits?: WorkersLimits;
+  logpush?: WorkersLogpush;
   /**
-   * Total number of rows in the result.
-   *
-   * @example 2
-   * @minimum 0
+   * Migrations to apply for Durable Objects associated with this Worker.
    */
-  rows: number;
+  migrations?: WorkersSingleStepMigrations | WorkersMultipleStepMigrations;
+  observability?: WorkersObservability;
+  placement?: WorkersPlacementConfig;
+  tags?: WorkersTags;
+  tail_consumers?: WorkersTailConsumers;
+  usage_model?: WorkersUsageModel;
+};
+
+export type WorkersScriptAndVersionSettingsResponse = WorkersApiResponseCommon & {
+  result?: WorkersScriptAndVersionSettingsItem;
+};
+
+export type WorkersScriptResponse = {
+  created_on?: WorkersCreatedOn;
+  etag?: WorkersEtag;
+  has_assets?: WorkersHasAssets;
+  has_modules?: WorkersHasModules;
   /**
-   * Total results for metrics across all data.
+   * The id of the script in the Workers system. Usually the script name.
    *
-   * @example {"readKiB":48,"requests":6}
+   * @example my-workers-script
    */
-  totals: void;
+  id?: string;
+  logpush?: WorkersLogpush;
+  modified_on?: WorkersModifiedOn;
+  placement_mode?: WorkersPlacementMode;
+  tail_consumers?: WorkersTailConsumers;
+  usage_model?: WorkersUsageModel;
+};
+
+export type WorkersScriptResponseCollection = WorkersApiResponseCommon & {
+  result?: WorkersScriptResponse[];
 };
 
-export type SchemasRole = {
-  description: DescriptionWY1HJwZu;
-  id: RoleComponentsSchemasIdentifier;
-  name: ComponentsSchemasNameWXo9HKYH;
-  permissions: SchemasPermissions;
+export type WorkersScriptResponseSingle = WorkersApiResponseSingle & {
+  result?: WorkersScriptResponse;
 };
 
-export type SchemasRule = RuleBzMd43YS & {
+export type WorkersScriptResponseUpload = WorkersScriptResponse & {
   /**
-   * All zones owned by the user will have the rule applied.
+   * @example 10
    */
-  scope?: {
-    email?: EmailPuzf53IC;
-    id?: CommonComponentsSchemasIdentifier;
-    /**
-     * The scope of the rule.
-     *
-     * @example user
-     */
-    type?: 'user' | 'organization';
-  };
+  startup_time_ms?: number;
+};
+
+export type WorkersScriptResponseUploadSingle = WorkersApiResponseSingle & {
+  result?: WorkersScriptResponseUpload;
+};
+
+export type WorkersScriptSettingsItem = {
+  logpush?: WorkersLogpush;
+  observability?: WorkersObservability;
+  tail_consumers?: WorkersTailConsumers;
+};
+
+export type WorkersScriptSettingsResponse = WorkersApiResponseCommon & {
+  result?: WorkersScriptSettingsItem;
 };
 
 /**
- * The list of rules in the ruleset.
+ * The current number of scripts in this Dispatch Namespace
+ *
+ * @example 800
  */
-export type SchemasRules = RulesComponentsSchemasRule[];
+export type WorkersScriptCount = number;
 
-export type SchemasRuleset = {
-  /**
-   * @example
-   */
-  description?: void;
+/**
+ * @example 8ee82b3a2c0f42928b8f14dae4a97121
+ * @maxLength 32
+ */
+export type WorkersScriptIdentifier = string;
+
+/**
+ * Name of the script, used in URLs and route configuration.
+ *
+ * @example this-is_my_script-01
+ * @pattern ^[a-z0-9_][a-z0-9-_]*$
+ */
+export type WorkersScriptName = string;
+
+export type WorkersSecret = {
   /**
-   * @example 2f2feab2026849078ba485f918791bdc
+   * The name of this secret, this is what will be used to access it inside the Worker.
+   *
+   * @example MY_SECRET
    */
-  id?: void;
+  name?: string;
   /**
-   * @example zone
+   * The value of the secret.
+   *
+   * @example eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
    */
-  kind?: void;
+  text?: string;
   /**
-   * @example default
+   * The type of secret to put.
+   *
+   * @example secret_text
    */
-  name?: void;
+  type?: 'secret_text';
+};
+
+export type WorkersSecretResponse = {
   /**
-   * @example http_request_origin
+   * The name of this secret, this is what will be used to access it inside the Worker.
+   *
+   * @example MY_SECRET
    */
-  phase?: void;
+  name?: string;
   /**
-   * The rules in the ruleset.
+   * The type of secret.
+   *
+   * @example secret_text
    */
-  rules?: OriginRulesComponentsSchemasRule[];
+  type?: 'secret_text';
 };
 
-export type SchemasSaml = {
+/**
+ * A JavaScript variable name for the secret binding.
+ *
+ * @example mySecret
+ */
+export type WorkersSecretName = string;
+
+/**
+ * Name of Worker to bind to
+ *
+ * @example my-worker
+ */
+export type WorkersService = string;
+
+export type WorkersServiceBinding = {
   /**
-   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   * Optional environment if the Worker utilizes one.
+   *
+   * @example production
    */
-  config: {
-    /**
-     * A list of SAML attribute names that will be added to your signed JWT token and can be used in SAML policy rules.
-     *
-     * @example group
-     * @example department_code
-     * @example divison
-     */
-    attributes?: string[];
-    /**
-     * The attribute name for email in the SAML response.
-     *
-     * @example Email
-     */
-    email_attribute_name?: string;
-    /**
-     * Add a list of attribute names that will be returned in the response header from the Access callback.
-     */
-    header_attributes?: {
-      /**
-       * attribute name from the IDP
-       */
-      attribute_name?: string;
-      /**
-       * header that will be added on the request to the origin
-       */
-      header_name?: string;
-    }[];
-    /**
-     * X509 certificate to verify the signature in the SAML authentication response
-     */
-    idp_public_certs?: string[];
-    /**
-     * IdP Entity ID or Issuer URL
-     *
-     * @example https://whoami.com
-     */
-    issuer_url?: string;
-    /**
-     * Sign the SAML authentication request with Access credentials. To verify the signature, use the public key from the Access certs endpoints.
-     */
-    sign_request?: boolean;
-    /**
-     * URL to send the SAML authentication requests to
-     *
-     * @example https://edgeaccess.org/idp/saml/login
-     */
-    sso_target_url?: string;
-  };
-  id?: Uuid;
-  name: SchemasNameIXVfNmuB;
+  environment: string;
+  name: WorkersBindingName;
   /**
-   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   * Name of Worker to bind to
+   *
+   * @example my-worker
    */
-  scim_config?: {
-    /**
-     * A flag to enable or disable SCIM for the identity provider.
-     */
-    enabled?: boolean;
-    /**
-     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
-     */
-    group_member_deprovision?: boolean;
-    /**
-     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
-     */
-    seat_deprovision?: boolean;
-    /**
-     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
-     */
-    secret?: string;
-    /**
-     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
-     */
-    user_deprovision?: boolean;
-  };
+  service: string;
   /**
-   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   * The class of resource that the binding provides.
    *
-   * @example onetimepin
+   * @example service
    */
-  type: string;
+  type: 'service';
 };
 
 /**
- * Name of the script to apply when the route is matched. The route is skipped when this is blank/missing.
- *
- * @example this-is_my_script-01
- * @pattern ^[a-z0-9_][a-z0-9-_]*$
+ * A single set of migrations to apply.
  */
-export type SchemasScriptName = string;
-
-export type SchemasSelfHostedProps = {
-  allowed_idps?: AllowedIdps;
-  app_launcher_visible?: AppLauncherVisible;
-  auto_redirect_to_identity?: SchemasAutoRedirectToIdentity;
-  cors_headers?: CorsHeaders;
-  custom_deny_message?: CustomDenyMessage;
-  custom_deny_url?: CustomDenyUrl;
-  domain: Domain;
-  enable_binding_cookie?: EnableBindingCookie;
-  http_only_cookie_attribute?: HttpOnlyCookieAttribute;
-  logo_url?: LogoUrl;
-  name?: AppsComponentsSchemasName;
-  same_site_cookie_attribute?: SameSiteCookieAttribute;
-  service_auth_401_redirect?: ServiceAuth401Redirect;
-  session_duration?: SessionDuration;
-  skip_interstitial?: SkipInterstitial;
+export type WorkersSingleStepMigrations = WorkersMigrationTagConditions & WorkersMigrationStep;
+
+export type WorkersSubdomainObject = {
   /**
-   * The application type.
-   *
-   * @example self_hosted
+   * @example example-subdomain
    */
-  type: string;
+  subdomain?: string;
+};
+
+export type WorkersSubdomainResponse = WorkersApiResponseCommon & {
+  result?: WorkersSubdomainObject;
 };
 
 /**
- * The certificate serial number.
+ * Tag to help you manage your Worker
  *
- * @example 235217144297995885180570755458463043449861756659
+ * @example my-tag
  */
-export type SchemasSerialNumber = string;
+export type WorkersTag = string;
 
 /**
- * Worker service associated with the zone and hostname.
- *
- * @example foo
+ * Tags to help you manage your Workers
  */
-export type SchemasService = string;
+export type WorkersTags = WorkersTag[];
+
+export type WorkersTailResponse = WorkersApiResponseCommon & {
+  result?: {
+    expires_at?: string;
+    id?: string;
+    url?: string;
+  };
+};
 
 /**
- * Certificate's signature algorithm.
+ * List of Workers that will consume logs from the attached Worker.
  */
-export type SchemasSignature = 'ECDSAWithSHA256' | 'SHA1WithRSA' | 'SHA256WithRSA';
+export type WorkersTailConsumers = WorkersTailConsumersScript[];
 
-export type SchemasSingleResponse = ApiResponseSingleZ04EBmfK & {
-  result?: IpamDelegations;
+/**
+ * A reference to a script that will consume logs from the attached Worker.
+ */
+export type WorkersTailConsumersScript = {
+  /**
+   * Optional environment if the Worker utilizes one.
+   *
+   * @example production
+   */
+  environment?: string;
+  /**
+   * Optional dispatch namespace the script belongs to.
+   *
+   * @example my-namespace
+   */
+  namespace?: string;
+  /**
+   * Name of Worker that is to be the consumer.
+   *
+   * @example my-log-consumer
+   */
+  service: string;
 };
 
-export type SchemasSingleResponse36Q7XKcn = ApiResponseSingleLarS7owG & {
-  result?: ApiShield;
+export type WorkersUploadAssetsResponse = WorkersApiResponseCommon & {
+  /**
+   * @maxProperties 0
+   */
+  result?: void;
 };
 
-export type SchemasSingleResponseCC6Dlpuj = ApiResponseSingleVxjnpV7r & {
-  result?: Locations;
+export type WorkersUsageModelObject = {
+  usage_model?: string;
 };
 
-export type SchemasSingleResponseL5N1aBjf = ApiResponseSingleKLIlNaxV & {
-  result?: IdentityProviders;
+export type WorkersUsageModelResponse = WorkersApiResponseCommon & {
+  result?: WorkersUsageModelObject;
 };
 
-export type SchemasSingleResponseYi1wsaX1 = ApiResponseSingleUl1k90Mw & {
-  result?: Pool;
-};
+/**
+ * Usage model for the Worker invocations.
+ *
+ * @example unbound
+ */
+export type WorkersUsageModel = 'bundled' | 'unbound';
+
+/**
+ * API Resource UUID tag.
+ *
+ * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
+ * @maxLength 36
+ */
+export type WorkersUuid = string;
 
-export type SchemasSingleResponseL7tHFHv0 = ApiResponseSingleWkFwqHKI & {
-  result?: Peer;
+export type WorkersVersionItemFull = WorkersVersionItemShort & {
+  /**
+   * @example {"bindings":[{"json":"example_binding","name":"JSON_VAR","type":"json"}],"script":{"etag":"13a3240e8fb414561b0366813b0b8f42b3e6cfa0d9e70e99835dae83d0d8a794","handlers":["fetch"],"last_deployed_from":"api"},"script_runtime":{"usage_model":"bundled"}}
+   */
+  resources: Record<string, any>;
 };
 
-export type SchemasSingleResponseU9ST3zLM = ApiResponseSingleI8cJ1fX8 & {
-  result?: DevicePostureIntegrations;
+export type WorkersVersionItemShort = {
+  /**
+   * @example 18f97339-c287-4872-9bdd-e2135c07ec12
+   */
+  id?: string;
+  /**
+   * @example {"author_email":"user@example.com","author_id":"408cbcdfd4dda4617efef40b04d168a1","created_on":"2022-11-08T17:19:29.176266Z","modified_on":"2022-11-08T17:19:29.176266Z","source":"api"}
+   */
+  metadata?: Record<string, any>;
+  /**
+   * @example 1
+   */
+  number?: number;
 };
 
-export type SchemasSshProps = {
-  allowed_idps?: AllowedIdps;
-  app_launcher_visible?: AppLauncherVisible;
-  auto_redirect_to_identity?: SchemasAutoRedirectToIdentity;
-  cors_headers?: CorsHeaders;
-  custom_deny_message?: CustomDenyMessage;
-  custom_deny_url?: CustomDenyUrl;
-  domain: Domain;
-  enable_binding_cookie?: EnableBindingCookie;
-  http_only_cookie_attribute?: HttpOnlyCookieAttribute;
-  logo_url?: LogoUrl;
-  name?: AppsComponentsSchemasName;
-  same_site_cookie_attribute?: SameSiteCookieAttribute;
-  service_auth_401_redirect?: ServiceAuth401Redirect;
-  session_duration?: SessionDuration;
-  skip_interstitial?: SkipInterstitial;
+export type WorkersVersionItemUploaded = WorkersVersionItemFull & {
   /**
-   * The application type.
-   *
-   * @example ssh
+   * @example 10
    */
-  type: string;
+  startup_time_ms?: number;
 };
 
 /**
- * The custom page state.
- *
- * @example default
+ * @example bcf48806-b317-4351-9ee7-36e7d557d4de
+ * @maxLength 36
  */
-export type SchemasState = 'default' | 'customized';
+export type WorkersVersionIdentifier = string;
 
-/**
- * Status of the Keyless SSL.
- *
- * @example active
- */
-export type SchemasStatus = 'active' | 'deleted';
+export type WorkersVersionsListResponse = WorkersApiResponseCommon & {
+  result?: {
+    items?: WorkersVersionItemShort[];
+  };
+};
 
-/**
- * Status of this membership.
- *
- * @example accepted
- */
-export type SchemasStatusJI04pNVL = 'accepted' | 'pending' | 'rejected';
+export type WorkersVersionsSingleResponse = WorkersApiResponseCommon & {
+  result?: WorkersVersionItemFull;
+};
 
-/**
- * The subdomain to be used as the destination in the proxy client.
- *
- * @example oli3n9zkz5.proxy.cloudflare-gateway.com
- */
-export type SchemasSubdomain = string;
+export type WorkersVersionsUploadResponse = WorkersApiResponseCommon & {
+  result?: WorkersVersionItemUploaded;
+};
+
+export type WorkersWasmModuleBinding = {
+  name: WorkersBindingName;
+  /**
+   * The class of resource that the binding provides.
+   *
+   * @example wasm_module
+   */
+  type: 'wasm_module';
+};
 
 /**
- * Target gateway of the hostname.
+ * Identifier of the zone.
  *
- * @example ipfs
+ * @example 593c9c94de529bbbfaac7c53ced0447d
  */
-export type SchemasTarget = 'ethereum' | 'ipfs' | 'ipfs_universal_path' | 'polygon';
+export type WorkersZoneIdentifier = string;
 
 /**
- * The timeout (in seconds) before marking the health check as failed.
+ * Name of the zone.
  *
- * @default 5
+ * @example example.com
  */
-export type SchemasTimeout = number;
+export type WorkersZoneName = string;
 
-export type SchemasToken = Token;
+export type ZarazApiResponseCommon = {
+  errors: ZarazMessages;
+  messages: ZarazMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: boolean;
+};
 
-export type SchemasTunnelAddSingleRequest = {
-  cloudflare_endpoint: CloudflareIpsecEndpoint;
-  customer_endpoint?: CustomerIpsecEndpoint;
-  description?: ComponentsSchemasDescription;
-  interface_address: InterfaceAddress;
-  name: SchemasName;
-  psk?: Psk;
+export type ZarazApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: ZarazMessages;
+  messages: ZarazMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
 };
 
-export type SchemasTunnelDeletedResponse = ApiResponseSingleRxxEmdsv & {
-  result?: {
+export type ZarazBaseMc = ZarazBaseTool & {
+  /**
+   * Actions configured on a tool. Either this or neoEvents field is required.
+   */
+  actions?: {
+    [key: string]: {
+      /**
+       * Tool event type
+       */
+      actionType: string;
+      /**
+       * List of blocking triggers IDs
+       */
+      blockingTriggers: string[];
+      /**
+       * Event payload
+       */
+      data: Record<string, any>;
+      /**
+       * List of firing triggers IDs
+       *
+       * @minItems 1
+       */
+      firingTriggers: string[];
+    };
+  };
+  /**
+   * Tool's internal name
+   */
+  component: string;
+  /**
+   * DEPRECATED - List of actions configured on a tool. Either this or actions field is required. If both are present, actions field will take precedence.
+   */
+  neoEvents?: {
+    /**
+     * Tool event type
+     */
+    actionType: string;
+    /**
+     * List of blocking triggers IDs
+     */
+    blockingTriggers: string[];
+    /**
+     * Event payload
+     */
+    data: Record<string, any>;
     /**
-     * @example true
+     * List of firing triggers IDs
+     *
+     * @minItems 1
      */
-    deleted?: boolean;
-    deleted_ipsec_tunnel?: Record<string, any>;
+    firingTriggers: string[];
+  }[];
+  /**
+   * List of permissions granted to the component
+   */
+  permissions: string[];
+  /**
+   * Tool's settings
+   */
+  settings: {
+    [key: string]: string | boolean;
   };
 };
 
-/**
- * UUID of the Cloudflare Tunnel serving the route.
- */
-export type SchemasTunnelId = void;
+export type ZarazBaseTool = {
+  /**
+   * List of blocking trigger IDs
+   */
+  blockingTriggers: string[];
+  /**
+   * Default fields for tool's actions
+   */
+  defaultFields: {
+    [key: string]: string | boolean;
+  };
+  /**
+   * Default consent purpose ID
+   */
+  defaultPurpose?: string;
+  /**
+   * Whether tool is enabled
+   */
+  enabled: boolean;
+  /**
+   * Tool's name defined by the user
+   */
+  name: string;
+  /**
+   * Vendor name for TCF compliant consent modal, required for Custom Managed Components and Custom HTML tool with a defaultPurpose assigned
+   */
+  vendorName?: string;
+  /**
+   * Vendor's Privacy Policy URL for TCF compliant consent modal, required for Custom Managed Components and Custom HTML tool with a defaultPurpose assigned
+   */
+  vendorPolicyUrl?: string;
+};
 
-export type SchemasTunnelModifiedResponse = ApiResponseSingleRxxEmdsv & {
-  result?: {
+export type ZarazClickListenerRule = {
+  action: 'clickListener';
+  id: string;
+  settings: {
+    selector: string;
+    type: 'xpath' | 'css';
     /**
-     * @example true
+     * @minimum 0
      */
-    modified?: boolean;
-    modified_ipsec_tunnel?: Record<string, any>;
+    waitForTags: number;
   };
 };
 
-/**
- * The user-friendly name of the Cloudflare Tunnel serving the route.
- */
-export type SchemasTunnelName = void;
-
-export type SchemasTunnelResponseCollection = ApiResponseCollection & {
-  result?: Tunnel[];
-};
-
-export type SchemasTunnelResponseSingle = ApiResponseSingleLarS7owG & {
-  result?: Tunnel;
+export type ZarazCustomManagedComponent = ZarazBaseMc & {
+  type: 'custom-mc';
+  /**
+   * Cloudflare worker that acts as a managed component
+   */
+  worker: {
+    escapedWorkerName: string;
+    workerTag: string;
+  };
 };
 
-export type SchemasTunnelSingleResponse = ApiResponseSingleRxxEmdsv & {
-  result?: {
-    ipsec_tunnel?: Record<string, any>;
+export type ZarazElementVisibilityRule = {
+  action: 'elementVisibility';
+  id: string;
+  settings: {
+    selector: string;
   };
 };
 
-export type SchemasTunnelUpdateRequest = SchemasTunnelAddSingleRequest;
-
-export type SchemasTunnelsCollectionResponse = ApiResponseSingleRxxEmdsv & {
-  result?: {
-    ipsec_tunnels?: IpsecTunnel[];
+export type ZarazFormSubmissionRule = {
+  action: 'formSubmission';
+  id: string;
+  settings: {
+    selector: string;
+    validate: boolean;
   };
 };
 
 /**
- * The type of Device Posture Integration.
- *
- * @example workspace_one
- */
-export type SchemasType = 'workspace_one' | 'crowdstrike_s2s' | 'uptycs' | 'intune' | 'kolide';
-
-/**
- * The type of characteristic.
- *
- * @example header
- */
-export type SchemasType73ZGJLlz = 'header' | 'cookie';
-
-/**
- * End of time interval to query, defaults to current time. Timestamp must be in RFC3339 format and uses UTC unless otherwise specified.
- *
- * @example 2014-01-02T03:20:00Z
- * @format date-time
- */
-export type SchemasUntil = string;
-
-/**
- * This is the time the certificate was updated.
- *
- * @example 2022-11-22T17:32:30.467938Z
- * @format date-time
- */
-export type SchemasUpdatedAt = string;
-
-/**
- * This is the time the certificate was uploaded.
- *
- * @example 2019-10-28T18:11:23.37411Z
- * @format date-time
- */
-export type SchemasUploadedOn = string;
-
-/**
- * The URL pattern to match, composed of a host and a path such as `example.org/path*`. Normalization is applied before the pattern is matched. `*` wildcards are expanded to match applicable traffic. Query strings are not matched. Set the value to `*` to match all traffic to your zone.
+ * Identifier
  *
- * @example *.example.org/path*
- * @maxLength 1024
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type SchemasUrl = string;
+export type ZarazIdentifier = string;
 
-/**
- * The URLs to include in the rule definition. You can use wildcards. Each entered URL will be escaped before use, which means you can only use simple wildcard patterns.
- */
-export type SchemasUrls = string[];
+export type ZarazLoadRule = {
+  id: string;
+  match: string;
+  op:
+    | 'CONTAINS'
+    | 'EQUALS'
+    | 'STARTS_WITH'
+    | 'ENDS_WITH'
+    | 'MATCH_REGEX'
+    | 'NOT_MATCH_REGEX'
+    | 'GREATER_THAN'
+    | 'GREATER_THAN_OR_EQUAL'
+    | 'LESS_THAN'
+    | 'LESS_THAN_OR_EQUAL';
+  value: string;
+};
 
-/**
- * The unique identifier for the Access group.
- */
-export type SchemasUuid = void;
+export type ZarazManagedComponent = ZarazBaseMc & {
+  type: 'component';
+};
 
-/**
- * Device ID.
- *
- * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
- * @maxLength 36
- */
-export type SchemasUuid4P4vJwxm = string;
+export type ZarazMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
 
-/**
- * @example ed35569b41ce4d1facfe683550f54086
- */
-export type SchemasUuidHmO1cTZ9 = void;
+export type ZarazScrollDepthRule = {
+  action: 'scrollDepth';
+  id: string;
+  settings: {
+    positions: string;
+  };
+};
 
-/**
- * Validation method in use for a certificate pack order.
- *
- * @example txt
- */
-export type SchemasValidationMethod = 'http' | 'cname' | 'txt';
+export type ZarazTimerRule = {
+  action: 'timer';
+  id: string;
+  settings: {
+    /**
+     * @minimum 50
+     */
+    interval: number;
+    /**
+     * @minimum 0
+     */
+    limit: number;
+  };
+};
 
-/**
- * The validity period in days for the certificates ordered via Total TLS.
- */
-export type SchemasValidityDays = 90;
+export type ZarazVariableMatchRule = {
+  action: 'variableMatch';
+  id: string;
+  settings: {
+    match: string;
+    variable: string;
+  };
+};
 
 /**
- * Enables Tiered Cache.
+ * Zaraz configuration
  *
- * @example on
+ * @example {"consent":{"cookieName":"zaraz-consent","customIntroDisclaimerDismissed":true,"enabled":false},"dataLayer":true,"debugKey":"my-debug-key","settings":{"autoInjectScript":true,"ecommerce":true,"initPath":"/i"},"tools":{"aJvt":{"actions":{"hrnc":{"actionType":"pageview","blockingTriggers":[],"data":{"__zaraz_setting_name":"Page view","ev":"PageView"},"firingTriggers":["Pageview"]}},"component":"facebook-pixel","defaultFields":{"testKey":"TEST123456"},"enabled":true,"name":"Facebook Pixel","permissions":["access_client_kv"],"settings":{"accessToken":"ABcdEFg","ecommerce":true,"property":"12345"},"type":"component"}},"triggers":{"ktBn":{"Pageview":{"clientRules":[],"description":"All page loads","excludeRules":[],"loadRules":[{"match":"{{ client.__zarazTrack }}","op":"EQUALS","value":"Pageview"}],"name":"Pageview","system":"pageload"}}},"variables":{"Autd":{"name":"ip","type":"string","value":"{{ system.device.ip }}"}},"zarazVersion":43}
  */
-export type SchemasValue = 'on' | 'off';
+export type ZarazZarazConfigBase = {
+  /**
+   * Cloudflare Monitoring settings.
+   */
+  analytics?: {
+    /**
+     * Consent purpose assigned to Monitoring.
+     */
+    defaultPurpose?: string;
+    /**
+     * Whether Advanced Monitoring reports are enabled.
+     */
+    enabled?: boolean;
+    /**
+     * Session expiration time (seconds).
+     *
+     * @maximum 86400
+     * @minimum 60
+     */
+    sessionExpTime?: number;
+  };
+  /**
+   * Consent management configuration.
+   */
+  consent?: {
+    buttonTextTranslations?: {
+      /**
+       * Object where keys are language codes
+       */
+      accept_all: {
+        [key: string]: string;
+      };
+      /**
+       * Object where keys are language codes
+       */
+      confirm_my_choices: {
+        [key: string]: string;
+      };
+      /**
+       * Object where keys are language codes
+       */
+      reject_all: {
+        [key: string]: string;
+      };
+    };
+    companyEmail?: string;
+    companyName?: string;
+    companyStreetAddress?: string;
+    consentModalIntroHTML?: string;
+    /**
+     * Object where keys are language codes
+     */
+    consentModalIntroHTMLWithTranslations?: {
+      [key: string]: string;
+    };
+    cookieName?: string;
+    customCSS?: string;
+    customIntroDisclaimerDismissed?: boolean;
+    defaultLanguage?: string;
+    enabled: boolean;
+    hideModal?: boolean;
+    /**
+     * Object where keys are purpose alpha-numeric IDs
+     */
+    purposes?: {
+      [key: string]: {
+        description: string;
+        name: string;
+      };
+    };
+    /**
+     * Object where keys are purpose alpha-numeric IDs
+     */
+    purposesWithTranslations?: {
+      [key: string]: {
+        /**
+         * Object where keys are language codes
+         */
+        description: {
+          [key: string]: string;
+        };
+        /**
+         * Object where keys are language codes
+         */
+        name: {
+          [key: string]: string;
+        };
+        order: number;
+      };
+    };
+    tcfCompliant?: boolean;
+  };
+  /**
+   * Data layer compatibility mode enabled.
+   */
+  dataLayer: boolean;
+  /**
+   * The key for Zaraz debug mode.
+   */
+  debugKey: string;
+  /**
+   * Single Page Application support enabled.
+   */
+  historyChange?: boolean;
+  /**
+   * General Zaraz settings.
+   */
+  settings: {
+    /**
+     * Automatic injection of Zaraz scripts enabled.
+     */
+    autoInjectScript: boolean;
+    /**
+     * Details of the worker that receives and edits Zaraz Context object.
+     */
+    contextEnricher?: {
+      escapedWorkerName: string;
+      workerTag: string;
+    };
+    /**
+     * The domain Zaraz will use for writing and reading its cookies.
+     */
+    cookieDomain?: string;
+    /**
+     * Ecommerce API enabled.
+     */
+    ecommerce?: boolean;
+    /**
+     * Custom endpoint for server-side track events.
+     */
+    eventsApiPath?: string;
+    /**
+     * Hiding external referrer URL enabled.
+     */
+    hideExternalReferer?: boolean;
+    /**
+     * Trimming IP address enabled.
+     */
+    hideIPAddress?: boolean;
+    /**
+     * Removing URL query params enabled.
+     */
+    hideQueryParams?: boolean;
+    /**
+     * Removing sensitive data from User Aagent string enabled.
+     */
+    hideUserAgent?: boolean;
+    /**
+     * Custom endpoint for Zaraz init script.
+     */
+    initPath?: string;
+    /**
+     * Injection of Zaraz scripts into iframes enabled.
+     */
+    injectIframes?: boolean;
+    /**
+     * Custom path for Managed Components server functionalities.
+     */
+    mcRootPath?: string;
+    /**
+     * Custom endpoint for Zaraz main script.
+     */
+    scriptPath?: string;
+    /**
+     * Custom endpoint for Zaraz tracking requests.
+     */
+    trackPath?: string;
+  };
+  /**
+   * Triggers set up under Zaraz configuration, where key is the trigger alpha-numeric ID and value is the trigger configuration.
+   */
+  triggers: {
+    [key: string]: {
+      /**
+       * Trigger description.
+       */
+      description?: string;
+      /**
+       * Rules defining when the trigger is not fired.
+       */
+      excludeRules: (
+        | ZarazLoadRule
+        | ZarazClickListenerRule
+        | ZarazTimerRule
+        | ZarazFormSubmissionRule
+        | ZarazVariableMatchRule
+        | ZarazScrollDepthRule
+        | ZarazElementVisibilityRule
+      )[];
+      /**
+       * Rules defining when the trigger is fired.
+       */
+      loadRules: (
+        | ZarazLoadRule
+        | ZarazClickListenerRule
+        | ZarazTimerRule
+        | ZarazFormSubmissionRule
+        | ZarazVariableMatchRule
+        | ZarazScrollDepthRule
+        | ZarazElementVisibilityRule
+      )[];
+      /**
+       * Trigger name.
+       */
+      name: string;
+      system?: 'pageload';
+    };
+  };
+  /**
+   * Variables set up under Zaraz configuration, where key is the variable alpha-numeric ID and value is the variable configuration. Values of variables of type secret are not included.
+   */
+  variables: {
+    [key: string]:
+      | {
+          name: string;
+          type: 'string' | 'secret';
+          value: string;
+        }
+      | {
+          name: string;
+          type: 'worker';
+          value: {
+            escapedWorkerName: string;
+            workerTag: string;
+          };
+        };
+  };
+  /**
+   * Zaraz internal version of the config.
+   */
+  zarazVersion: number;
+};
 
 /**
- * Enables Argo Smart Routing.
+ * Zaraz configuration
  *
- * @example on
+ * @example {"consent":{"cookieName":"zaraz-consent","customIntroDisclaimerDismissed":true,"enabled":false},"dataLayer":true,"debugKey":"my-debug-key","settings":{"autoInjectScript":true,"ecommerce":true,"initPath":"/i"},"tools":{"aJvt":{"actions":{"hrnc":{"actionType":"pageview","blockingTriggers":[],"data":{"__zaraz_setting_name":"Page view","ev":"PageView"},"firingTriggers":["Pageview"]}},"component":"facebook-pixel","defaultFields":{"testKey":"TEST123456"},"enabled":true,"name":"Facebook Pixel","permissions":["access_client_kv"],"settings":{"accessToken":"ABcdEFg","ecommerce":true,"property":"12345"},"type":"component"}},"triggers":{"ktBn":{"Pageview":{"clientRules":[],"description":"All page loads","excludeRules":[],"loadRules":[{"match":"{{ client.__zarazTrack }}","op":"EQUALS","value":"Pageview"}],"name":"Pageview","system":"pageload"}}},"variables":{"Autd":{"name":"ip","type":"string","value":"{{ system.device.ip }}"}},"zarazVersion":43}
  */
-export type SchemasValueGg4TAeXR = 'on' | 'off';
+export type ZarazZarazConfigBody = ZarazZarazConfigBase & {
+  /**
+   * Tools set up under Zaraz configuration, where key is the alpha-numeric tool ID and value is the tool configuration object.
+   */
+  tools?: {
+    [key: string]: ZarazManagedComponent | ZarazCustomManagedComponent;
+  };
+};
 
-/**
- * Object specifying available variants for an image.
- *
- * @example https://imagedelivery.net/MTt4OTd0b0w5aj/107b9558-dd06-4bbd-5fef-9c2c16bb7900/thumbnail
- * @example https://imagedelivery.net/MTt4OTd0b0w5aj/107b9558-dd06-4bbd-5fef-9c2c16bb7900/hero
- * @example https://imagedelivery.net/MTt4OTd0b0w5aj/107b9558-dd06-4bbd-5fef-9c2c16bb7900/original
- */
-export type SchemasVariants = (ThumbnailUrlWiwugRbe | HeroUrl | OriginalUrl)[];
+export type ZarazZarazConfigHistoryResponse = ZarazApiResponseCommon & {
+  /**
+   * Object where keys are numericc onfiguration IDs
+   *
+   * @example {"12345":{"config":{"consent":{"cookieName":"zaraz-consent","customIntroDisclaimerDismissed":true,"enabled":false},"dataLayer":true,"debugKey":"my-debug-key","settings":{"autoInjectScript":true},"tools":{"aJvt":{"component":"facebook-pixel","defaultFields":{"testKey":"TEST123456"},"enabled":true,"name":"Facebook Pixel","neoEvents":[{"actionType":"pageview","blockingTriggers":[],"data":{"__zaraz_setting_name":"Page view","ev":"PageView"},"firingTriggers":["Pageview"]}],"permissions":["access_client_kv"],"settings":{"accessToken":"ABcdEFg","ecommerce":true,"property":"12345"},"type":"component"}},"triggers":{"ktBn":{"Pageview":{"clientRules":[],"description":"All page loads","excludeRules":[],"loadRules":[{"match":"{{ client.__zarazTrack }}","op":"EQUALS","value":"Pageview"}],"name":"Pageview","system":"pageload"}}},"variables":{"Autd":{"name":"ip","type":"string","value":"{{ system.device.ip }}"}},"zarazVersion":43},"createdAt":"2023-02-23T05:05:55.155273Z","id":12345,"updatedAt":"2023-02-23T05:05:55.155273Z","userId":"278d0d0g123cd8e49d45ea64f12faa37"},"23456":null}
+   */
+  result?: {
+    [key: string]: ZarazZarazConfigRowBase &
+      ({
+        config: ZarazZarazConfigReturn;
+      } | null);
+  };
+};
 
-/**
- * The version of the rule.
- *
- * @example 1
- * @pattern ^[0-9]+$
- */
-export type SchemasVersion = string;
+export type ZarazZarazConfigResponse = ZarazApiResponseCommon & {
+  result?: ZarazZarazConfigReturn;
+};
 
 /**
- * UUID of the Tunnel Virtual Network this route belongs to. If no virtual networks are configured, the route is assigned to the default virtual network of the account.
+ * Zaraz configuration
+ *
+ * @example {"consent":{"cookieName":"zaraz-consent","customIntroDisclaimerDismissed":true,"enabled":false},"dataLayer":true,"debugKey":"my-debug-key","settings":{"autoInjectScript":true,"ecommerce":true,"initPath":"/i"},"tools":{"aJvt":{"actions":{"hrnc":{"actionType":"pageview","blockingTriggers":[],"data":{"__zaraz_setting_name":"Page view","ev":"PageView"},"firingTriggers":["Pageview"]}},"component":"facebook-pixel","defaultFields":{"testKey":"TEST123456"},"enabled":true,"name":"Facebook Pixel","permissions":["access_client_kv"],"settings":{"accessToken":"ABcdEFg","ecommerce":true,"property":"12345"},"type":"component"}},"triggers":{"ktBn":{"Pageview":{"clientRules":[],"description":"All page loads","excludeRules":[],"loadRules":[{"match":"{{ client.__zarazTrack }}","op":"EQUALS","value":"Pageview"}],"name":"Pageview","system":"pageload"}}},"variables":{"Autd":{"name":"ip","type":"string","value":"{{ system.device.ip }}"}},"zarazVersion":43}
  */
-export type SchemasVirtualNetworkId = void;
-
-export type SchemasVncProps = {
-  allowed_idps?: AllowedIdps;
-  app_launcher_visible?: AppLauncherVisible;
-  auto_redirect_to_identity?: SchemasAutoRedirectToIdentity;
-  cors_headers?: CorsHeaders;
-  custom_deny_message?: CustomDenyMessage;
-  custom_deny_url?: CustomDenyUrl;
-  domain: Domain;
-  enable_binding_cookie?: EnableBindingCookie;
-  http_only_cookie_attribute?: HttpOnlyCookieAttribute;
-  logo_url?: LogoUrl;
-  name?: AppsComponentsSchemasName;
-  same_site_cookie_attribute?: SameSiteCookieAttribute;
-  service_auth_401_redirect?: ServiceAuth401Redirect;
-  session_duration?: SessionDuration;
-  skip_interstitial?: SkipInterstitial;
+export type ZarazZarazConfigReturn = ZarazZarazConfigBase & {
   /**
-   * The application type.
-   *
-   * @example vnc
+   * Tools set up under Zaraz configuration, where key is the alpha-numeric tool ID and value is the tool configuration object.
    */
-  type: string;
+  tools?: {
+    [key: string]: ZarazManagedComponent | ZarazCustomManagedComponent;
+  };
 };
 
-export type SchemasYandex = {
+export type ZarazZarazConfigRowBase = {
   /**
-   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   * Date and time the configuration was created
+   *
+   * @format date-time
    */
-  config: GenericOauthConfig;
-  id?: Uuid;
-  name: SchemasNameIXVfNmuB;
+  createdAt: string;
   /**
-   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   * ID of the configuration
    */
-  scim_config?: {
-    /**
-     * A flag to enable or disable SCIM for the identity provider.
-     */
-    enabled?: boolean;
-    /**
-     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
-     */
-    group_member_deprovision?: boolean;
-    /**
-     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
-     */
-    seat_deprovision?: boolean;
-    /**
-     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests. If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
-     */
-    secret?: string;
-    /**
-     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
-     */
-    user_deprovision?: boolean;
-  };
+  id: number;
   /**
-   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   * Date and time the configuration was last updated
    *
-   * @example onetimepin
+   * @format date-time
    */
-  type: string;
+  updatedAt: string;
+  /**
+   * Alpha-numeric ID of the account user who published the configuration
+   */
+  userId: string;
 };
 
-export type SchemasZone = {
-  name?: void;
+export type ZarazZarazHistoryResponse = ZarazApiResponseCommon & {
+  result?: (ZarazZarazConfigRowBase & {
+    /**
+     * Configuration description provided by the user who published this configuration
+     */
+    description: string;
+  })[];
 };
 
 /**
- * The HTTP schemes to match. You can specify one scheme (`['HTTPS']`), both schemes (`['HTTP','HTTPS']`), or all schemes (`['_ALL_']`). This field is optional.
- *
- * @example HTTP
- * @example HTTPS
+ * Zaraz workflow
  */
-export type Schemes = string[];
+export type ZarazZarazWorkflow = 'realtime' | 'preview';
 
-/**
- * Used only for ECMP routes.
- */
-export type Scope = {
-  colo_names?: ColoNames;
-  colo_regions?: ColoRegions;
+export type ZarazZarazWorkflowResponse = ZarazApiResponseCommon & {
+  result?: ZarazZarazWorkflow;
 };
 
+export type ZarazZoneIdentifier = ZarazIdentifier;
+
 /**
- * The scope of the URL normalization.
+ * The action to preform when the associated traffic, identity, and device posture expressions are either absent or evaluate to `true`.
  *
- * @example incoming
+ * @example allow
  */
-export type ScopeAeLzE8f9 = string;
+export type ZeroTrustGatewayAction =
+  | 'on'
+  | 'off'
+  | 'allow'
+  | 'block'
+  | 'scan'
+  | 'noscan'
+  | 'safesearch'
+  | 'ytrestricted'
+  | 'isolate'
+  | 'noisolate'
+  | 'override'
+  | 'l4_override'
+  | 'egress'
+  | 'resolve'
+  | 'quarantine';
 
-export type Script = {
-  /**
-   * @example 2021-08-18T10:51:10.09615Z
-   */
-  added_at?: void;
-  /**
-   * @example false
-   */
-  domain_reported_malicious?: void;
-  /**
-   * @example 2021-09-02T10:17:54Z
-   */
-  fetched_at?: void;
-  /**
-   * @example blog.cloudflare.com/page
-   */
-  first_page_url?: void;
-  /**
-   * @example 2021-08-18T10:51:08Z
-   */
-  first_seen_at?: void;
-  /**
-   * @example e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
-   */
-  hash?: void;
-  /**
-   * @example blog.cloudflare.com
-   */
-  host?: void;
-  /**
-   * @example c9ef84a6bf5e47138c75d95e2f933e8f
-   */
-  id?: void;
-  /**
-   * @example 10
-   */
-  js_integrity_score?: void;
-  /**
-   * @example 2021-09-02T09:57:54Z
-   */
-  last_seen_at?: void;
-  /**
-   * @example blog.cloudflare.com/page1
-   * @example blog.cloudflare.com/page2
-   */
-  page_urls?: void;
-  /**
-   * @example https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/js/bootstrap.min.js
-   */
-  url?: void;
+/**
+ * Activity log settings.
+ */
+export type ZeroTrustGatewayActivityLogSettings = {
   /**
-   * @example false
+   * Enable activity logging.
+   *
+   * @example true
    */
-  url_contains_cdn_cgi_path?: void;
+  enabled?: boolean;
 };
 
-export type ScriptResponse = {
-  created_on?: CreatedOnLPNq9Pbi;
-  etag?: EtagCXrJI57j;
-  /**
-   * The id of the script in the Workers system. Usually the script name.
-   *
-   * @example my-workers-script
-   */
-  id?: string;
-  logpush?: Logpush;
-  modified_on?: ModifiedOnKlppwHF4;
-  usage_model?: UsageModel;
+/**
+ * Anti-virus settings.
+ */
+export type ZeroTrustGatewayAntiVirusSettings = {
+  enabled_download_phase?: ZeroTrustGatewayEnabledDownloadPhase;
+  enabled_upload_phase?: ZeroTrustGatewayEnabledUploadPhase;
+  fail_closed?: ZeroTrustGatewayFailClosed;
+  notification_settings?: ZeroTrustGatewayNotificationSettings;
 };
 
-export type ScriptResponseCollection = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | any[] | string;
+export type ZeroTrustGatewayApiResponseCollection = ZeroTrustGatewayApiResponseCommon & {
+  result_info?: ZeroTrustGatewayResultInfo;
+};
+
+export type ZeroTrustGatewayApiResponseCommon = {
+  errors: ZeroTrustGatewayMessages;
+  messages: ZeroTrustGatewayMessages;
   /**
    * Whether the API call was successful
    *
@@ -24244,2255 +46186,2570 @@ export type ScriptResponseCollection = {
   success: true;
 };
 
-export type ScriptResponseCollectionC4kQ40kQ = {
-  errors: Messages;
-  messages: Messages;
-  result: Record<string, any> | any[] | string;
+export type ZeroTrustGatewayApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: ZeroTrustGatewayMessages;
+  messages: ZeroTrustGatewayMessages;
+  result: any | null;
   /**
    * Whether the API call was successful
    *
-   * @example true
+   * @example false
    */
-  success: true;
-};
-
-export type ScriptResponseSingle = ApiResponseSingle66BR6r1o & {
-  result?: ScriptResponse;
+  success: false;
 };
 
-export type ScriptResponseSingle9UZV8MbP = ApiResponseSingleLarS7owG & {
-  result?: Record<string, any>;
-};
+export type ZeroTrustGatewayApiResponseSingle = ZeroTrustGatewayApiResponseCommon;
 
-/**
- * @example 8ee82b3a2c0f42928b8f14dae4a97121
- * @maxLength 32
- */
-export type ScriptIdentifier = string;
+export type ZeroTrustGatewayAppTypes = ZeroTrustGatewayApplication | ZeroTrustGatewayApplicationType;
 
 /**
- * Name of the script, used in URLs and route configuration.
+ * The name of the application or application type.
  *
- * @example this-is_my_script-01
- * @pattern ^[a-z0-9_][a-z0-9-_]*$
+ * @example Facebook
  */
-export type ScriptName = string;
+export type ZeroTrustGatewayAppTypesComponentsSchemasName = string;
 
-export type Search = {
-  /**
-   * A list of resources matching the search query.
-   */
-  resources?: ResourceReference[];
+export type ZeroTrustGatewayAppTypesComponentsSchemasResponseCollection = ZeroTrustGatewayApiResponseCollection & {
+  result?: ZeroTrustGatewayAppTypes[];
 };
 
 /**
- * Allows searching in multiple properties of a DNS record simultaneously. This parameter is intended for human users, not automation. Its exact behavior is intentionally left unspecified and is subject to change in the future. This parameter works independently of the `match` setting. For automated searches, please use the other available parameters.
- *
- * @example www.cloudflare.com
+ * The identifier for this application. There is only one application per ID.
  */
-export type SearchHtkiGkPK = string;
+export type ZeroTrustGatewayAppId = number;
 
-export type SearchParams = {
-  /**
-   * Search query term.
-   *
-   * @default
-   * @example primary
-   */
-  query?: string;
+/**
+ * The identifier for the type of this application. There can be many applications with the same type. This refers to the `id` of a returned application type.
+ */
+export type ZeroTrustGatewayAppTypeId = number;
+
+export type ZeroTrustGatewayApplication = {
+  application_type_id?: ZeroTrustGatewayAppTypeId;
+  created_at?: ZeroTrustGatewayTimestamp;
+  id?: ZeroTrustGatewayAppId;
+  name?: ZeroTrustGatewayAppTypesComponentsSchemasName;
+};
+
+export type ZeroTrustGatewayApplicationType = {
+  created_at?: ZeroTrustGatewayTimestamp;
   /**
-   * The type of references to include ("*" for all).
+   * A short summary of applications with this type.
    *
-   * @default
-   * @example *
+   * @example Applications used to communicate or collaborate in a business setting.
    */
-  references?: '' | '*' | 'referral' | 'referrer';
-};
-
-export type SearchResult = {
-  result?: Search;
+  description?: string;
+  id?: ZeroTrustGatewayAppTypeId;
+  name?: ZeroTrustGatewayAppTypesComponentsSchemasName;
 };
 
-export type Seat = {
-  access_seat: AccessSeat;
-  gateway_seat: GatewaySeat;
-  seat_uid: SeatUid;
+export type ZeroTrustGatewayAuditSshSettingsComponentsSchemasSingleResponse = ZeroTrustGatewayApiResponseSingle & {
+  result?: ZeroTrustGatewaySettings;
 };
 
 /**
- * The unique API identifier for the Zero Trust seat.
+ * Seed ID
+ *
+ * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
+ * @maxLength 36
  */
-export type SeatUid = void;
-
-export type Seats = {
-  access_seat?: AccessSeat;
-  created_at?: Timestamp;
-  gateway_seat?: GatewaySeat;
-  seat_uid?: SeatUid;
-  updated_at?: Timestamp;
-};
-
-export type SeatsComponentsSchemasResponseCollection = ApiResponseCollection & {
-  result?: Seats[];
-};
-
-export type SeatsDefinition = Seat[];
+export type ZeroTrustGatewayAuditSshSettingsComponentsSchemasUuid = string;
 
 /**
- * TSIG secret.
+ * True if the category is in beta and subject to change.
  *
- * @example caf79a7804b04337c9c66ccd7bef9190a1e1679b5dd03d8aa10f7ad45e1a9dab92b417896c15d4d007c7c14194538d2a5d0feffdecc5a7f0e1c570cfa700837c
+ * @example false
  */
-export type Secret = string;
+export type ZeroTrustGatewayBeta = boolean;
 
 /**
- * Optional secret that will be passed in the `cf-webhook-auth` header when dispatching a webhook notification. Secrets are not returned in any API response body.
+ * The deployment status of the certificate on Cloudflare's edge. Certificates in the 'available' (previously called 'active') state may be used for Gateway TLS interception.
  */
-export type SecretLnW39Y7R = string;
+export type ZeroTrustGatewayBindingStatus = 'pending_deployment' | 'available' | 'pending_deletion' | 'inactive';
 
 /**
- * Cloudflare security header for a zone.
+ * Block page layout settings.
  */
-export type SecurityHeader = {
+export type ZeroTrustGatewayBlockPageSettings = {
   /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   * Block page background color in #rrggbb format.
+   */
+  background_color?: string;
+  /**
+   * Enable only cipher suites and TLS versions compliant with FIPS 140-2.
    *
-   * @default true
+   * @example true
    */
-  editable?: true | false;
+  enabled?: boolean;
   /**
-   * ID of the zone's security header.
+   * Block page footer text.
    *
-   * @example security_header
+   * @example --footer--
    */
-  id: 'security_header';
+  footer_text?: string;
   /**
-   * last time this setting was modified.
+   * Block page header text.
    *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * @example --header--
    */
-  modified_on?: string | null;
+  header_text?: string;
   /**
-   * Current value of the zone setting.
+   * Full URL to the logo file.
    *
-   * @example on
+   * @example https://logos.com/a.png
    */
-  value: SecurityHeaderValue;
-};
-
-export type SecurityHeaderValue = {
+  logo_path?: string;
   /**
-   * Strict Transport Security.
+   * Admin email for users to contact.
+   *
+   * @example admin@example.com
    */
-  strict_transport_security?: {
-    /**
-     * Whether or not strict transport security is enabled.
-     *
-     * @example true
-     */
-    enabled?: boolean;
-    /**
-     * Include all subdomains for strict transport security.
-     *
-     * @example true
-     */
-    include_subdomains?: boolean;
-    /**
-     * Max age in seconds of the strict transport security.
-     *
-     * @example 86400
-     */
-    max_age?: number;
-    /**
-     * Whether or not to include 'X-Content-Type-Options: nosniff' header.
-     *
-     * @example true
-     */
-    nosniff?: boolean;
-  };
+  mailto_address?: string;
+  /**
+   * Subject line for emails created from block page.
+   *
+   * @example Blocked User Inquiry
+   */
+  mailto_subject?: string;
+  /**
+   * Block page title.
+   *
+   * @example Cloudflare
+   */
+  name?: string;
+  /**
+   * Suppress detailed info at the bottom of the block page.
+   *
+   * @example false
+   */
+  suppress_footer?: boolean;
 };
 
 /**
- * Choose the appropriate security profile for your website, which will automatically adjust each of the security settings. If you choose to customize an individual security setting, the profile will become Custom. (https://support.cloudflare.com/hc/en-us/articles/200170056).
+ * DLP body scanning settings.
  */
-export type SecurityLevel = {
+export type ZeroTrustGatewayBodyScanningSettings = {
   /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   * Set the inspection mode to either `deep` or `shallow`.
    *
-   * @default true
+   * @example deep
    */
-  editable?: true | false;
+  inspection_mode?: string;
+};
+
+/**
+ * Browser isolation settings.
+ */
+export type ZeroTrustGatewayBrowserIsolationSettings = {
   /**
-   * ID of the zone setting.
+   * Enable non-identity onramp support for Browser Isolation.
    *
-   * @example security_level
+   * @example true
    */
-  id: 'security_level';
+  non_identity_enabled?: boolean;
   /**
-   * last time this setting was modified.
+   * Enable Clientless Browser Isolation.
    *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * @example true
    */
-  modified_on?: string | null;
+  url_browser_isolation_enabled?: boolean;
+};
+
+export type ZeroTrustGatewayCategories = {
+  beta?: ZeroTrustGatewayBeta;
+  ['class']?: ZeroTrustGatewayClass;
+  description?: ZeroTrustGatewayComponentsSchemasDescription;
+  id?: ZeroTrustGatewayId;
+  name?: ZeroTrustGatewayCategoriesComponentsSchemasName;
   /**
-   * Current value of the zone setting.
-   *
-   * @example on
+   * All subcategories for this category.
    */
-  value: SecurityLevelValue;
+  subcategories?: ZeroTrustGatewaySubcategory[];
 };
 
 /**
- * Value of the zone setting.
+ * The name of the category.
  *
- * @default medium
+ * @example Education
+ */
+export type ZeroTrustGatewayCategoriesComponentsSchemasName = string;
+
+export type ZeroTrustGatewayCategoriesComponentsSchemasResponseCollection = ZeroTrustGatewayApiResponseCollection & {
+  result?: ZeroTrustGatewayCategories[];
+};
+
+/**
+ * Certificate settings for Gateway TLS interception. If not specified, the Cloudflare Root CA will be used.
  */
-export type SecurityLevelValue = 'off' | 'essentially_off' | 'low' | 'medium' | 'high' | 'under_attack';
-
-export type SelfHostedProps = {
-  allowed_idps?: AllowedIdps;
-  app_launcher_visible?: AppLauncherVisible;
-  auto_redirect_to_identity?: SchemasAutoRedirectToIdentity;
-  cors_headers?: CorsHeaders;
-  custom_deny_message?: CustomDenyMessage;
-  custom_deny_url?: CustomDenyUrl;
-  domain: Domain;
-  enable_binding_cookie?: EnableBindingCookie;
-  http_only_cookie_attribute?: HttpOnlyCookieAttribute;
-  logo_url?: LogoUrl;
-  name?: AppsComponentsSchemasName;
-  path_cookie_attribute?: PathCookieAttribute;
-  same_site_cookie_attribute?: SameSiteCookieAttribute;
-  service_auth_401_redirect?: ServiceAuth401Redirect;
-  session_duration?: SessionDuration;
-  skip_interstitial?: SkipInterstitial;
+export type ZeroTrustGatewayCertificateSettings = {
   /**
-   * The application type.
+   * UUID of certificate to be used for interception. Certificate must be available (previously called 'active') on the edge. A nil UUID will indicate the Cloudflare Root CA should be used.
    *
-   * @example self_hosted
+   * @example d1b364c5-1311-466e-a194-f0e943e0799f
    */
-  type: string;
+  id: string;
 };
 
-export type SelfHostedPropsUAlJDzGr = {
-  allowed_idps?: AllowedIdps;
-  app_launcher_visible?: AppLauncherVisible;
-  auto_redirect_to_identity?: AutoRedirectToIdentityB0IhfGBw;
-  cors_headers?: CorsHeaders;
-  custom_deny_message?: CustomDenyMessage;
-  custom_deny_url?: CustomDenyUrl;
-  domain?: SchemasDomainA7q0ZzCX;
-  enable_binding_cookie?: EnableBindingCookie;
-  http_only_cookie_attribute?: HttpOnlyCookieAttribute;
-  logo_url?: LogoUrl;
-  name?: AppsComponentsSchemasName;
-  same_site_cookie_attribute?: SameSiteCookieAttribute;
-  service_auth_401_redirect?: ServiceAuth401Redirect;
-  session_duration?: SessionDuration;
-  skip_interstitial?: SkipInterstitial;
+export type ZeroTrustGatewayCertificates = {
+  binding_status?: ZeroTrustGatewayBindingStatus;
   /**
-   * The application type.
+   * The CA certificate
    *
-   * @example self_hosted
+   * @example -----BEGIN CERTIFICATE-----\nMIIDmDCCAoCgAwIBAgIUKTOAZNjcXVZRj4oQt0SHsl1c1vMwDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVVMxFjAUBgNVBAgMDVNhbiBGcmFuY2lzY28xEzARBgNVBAcMCkNhbGlmb3JuaWExFTATBgNVBAoMDEV4YW1wbGUgSW5jLjAgFw0yMjExMjIxNjU5NDdaGA8yMTIyMTAyOTE2NTk0N1owUTELMAkGA1UEBhMCVVMxFjAUBgNVBAgMDVNhbiBGcmFuY2lzY28xEzARBgNVBAcMCkNhbGlmb3JuaWExFTATBgNVBAoMDEV4YW1wbGUgSW5jLjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMRcORwgJFTdcG/2GKI+cFYiOBNDKjCZUXEOvXWY42BkH9wxiMT869CO+enA1w5pIrXow6kCM1sQspHHaVmJUlotEMJxyoLFfA/8Kt1EKFyobOjuZs2SwyVyJ2sStvQuUQEosULZCNGZEqoH5g6zhMPxaxm7ZLrrsDZ9maNGVqo7EWLWHrZ57Q/5MtTrbxQL+eXjUmJ9K3kS+3uEwMdqR6Z3BluU1ivanpPc1CN2GNhdO0/hSY4YkGEnuLsqJyDd3cIiB1MxuCBJ4ZaqOd2viV1WcP3oU3dxVPm4MWyfYIldMWB14FahScxLhWdRnM9YZ/i9IFcLypXsuz7DjrJPtPUCAwEAAaNmMGQwHQYDVR0OBBYEFP5JzLUawNF+c3AXsYTEWHh7z2czMB8GA1UdIwQYMBaAFP5JzLUawNF+c3AXsYTEWHh7z2czMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAGAQH/AgEBMA0GCSqGSIb3DQEBCwUAA4IBAQBc+Be7NDhpE09y7hLPZGRPl1cSKBw4RI0XIv6rlbSTFs5EebpTGjhx/whNxwEZhB9HZ7111Oa1YlT8xkI9DshB78mjAHCKBAJ76moK8tkG0aqdYpJ4ZcJTVBB7l98Rvgc7zfTii7WemTy72deBbSeiEtXavm4EF0mWjHhQ5Nxpnp00Bqn5g1x8CyTDypgmugnep+xG+iFzNmTdsz7WI9T/7kDMXqB7M/FPWBORyS98OJqNDswCLF8bIZYwUBEe+bRHFomoShMzaC3tvim7WCb16noDkSTMlfKO4pnvKhpcVdSgwcruATV7y+W+Lvmz2OT/Gui4JhqeoTewsxndhDDE\n-----END CERTIFICATE-----\n
    */
-  type?: string;
+  certificate?: string;
+  created_at?: ZeroTrustGatewayTimestamp;
+  expires_on?: ZeroTrustGatewayTimestamp;
+  /**
+   * The SHA256 fingerprint of the certificate.
+   *
+   * @example E9:19:49:AA:DD:D8:1E:C1:20:2A:D8:22:BF:A5:F8:FC:1A:F7:10:9F:C7:5B:69:AB:0:31:91:8B:61:B4:BF:1C
+   */
+  fingerprint?: string;
+  id?: ZeroTrustGatewayUuid;
+  /**
+   * Use this certificate for Gateway TLS interception
+   */
+  in_use?: boolean;
+  /**
+   * The organization that issued the certificate.
+   *
+   * @example Example Inc.
+   */
+  issuer_org?: string;
+  /**
+   * The entire issuer field of the certificate.
+   *
+   * @example O=Example Inc.,L=California,ST=San Francisco,C=US
+   */
+  issuer_raw?: string;
+  type?: ZeroTrustGatewayType;
+  updated_at?: ZeroTrustGatewayTimestamp;
+  uploaded_on?: ZeroTrustGatewayTimestamp;
 };
 
 /**
- * The sensitivity of the WAF package.
+ * Cloudflare account ID.
  *
- * @default high
+ * @example 699d98642c564d2e855e9661899b7252
+ * @maxLength 32
  */
-export type Sensitivity = 'high' | 'medium' | 'low' | 'off';
+export type ZeroTrustGatewayCfAccountId = string;
 
 /**
- * Timestamp of when the notification was dispatched in ISO 8601 format.
+ * Which account types are allowed to create policies based on this category. `blocked` categories are blocked unconditionally for all accounts. `removalPending` categories can be removed from policies but not added. `noBlock` categories cannot be blocked.
  *
- * @example 2021-10-08T17:52:17.571336Z
- * @format date-time
+ * @example premium
  */
-export type Sent = string;
+export type ZeroTrustGatewayClass = 'free' | 'premium' | 'blocked' | 'removalPending' | 'noBlock';
 
 /**
- * The serial number on the uploaded certificate.
+ * True if the location is the default location.
  *
- * @example 6743787633689793699141714808227354901
+ * @example false
  */
-export type SerialNumber = string;
+export type ZeroTrustGatewayClientDefault = boolean;
 
 /**
- * The device serial number.
+ * A short summary of domains in the category.
  *
- * @example EXAMPLEHMD6R
+ * @example Sites related to educational content that are not included in other categories such as Science, Technology or Educational institutions.
  */
-export type SerialNumberJQ6wzAYC = string;
+export type ZeroTrustGatewayComponentsSchemasDescription = string;
 
 /**
- * If there is sensitive content on your website that you want visible to real visitors, but that you want to hide from suspicious visitors, all you have to do is wrap the content with Cloudflare SSE tags. Wrap any content that you want to be excluded from suspicious visitors in the following SSE tags: <!--sse--><!--/sse-->. For example: <!--sse-->  Bad visitors won't see my phone number, 555-555-5555 <!--/sse-->. Note: SSE only will work with HTML. If you have HTML minification enabled, you won't see the SSE tags in your HTML source when it's served through Cloudflare. SSE will still function in this case, as Cloudflare's HTML minification and SSE functionality occur on-the-fly as the resource moves through our network to the visitor's computer. (https://support.cloudflare.com/hc/en-us/articles/200170036).
+ * The name of the rule.
+ *
+ * @example block bad websites
+ */
+export type ZeroTrustGatewayComponentsSchemasName = string;
+
+export type ZeroTrustGatewayComponentsSchemasResponseCollection = ZeroTrustGatewayApiResponseCollection & {
+  result?: ZeroTrustGatewayLocations[];
+};
+
+export type ZeroTrustGatewayComponentsSchemasSingleResponse = ZeroTrustGatewayApiResponseSingle & {
+  result?: ZeroTrustGatewayLocations;
+};
+
+/**
+ * @example ed35569b41ce4d1facfe683550f54086
+ */
+export type ZeroTrustGatewayComponentsSchemasUuid = string;
+
+/**
+ * The number of items in the list.
+ *
+ * @example 20
+ */
+export type ZeroTrustGatewayCount = number;
+
+/**
+ * Custom certificate settings for BYO-PKI. (deprecated and replaced by `certificate`)
+ *
+ * @deprecated true
  */
-export type ServerSideExclude = {
+export type ZeroTrustGatewayCustomCertificateSettings = {
   /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   * Certificate status (internal).
    *
-   * @default true
+   * @example pending_deployment
    */
-  editable?: true | false;
+  binding_status?: string;
   /**
-   * ID of the zone setting.
+   * Enable use of custom certificate authority for signing Gateway traffic.
    *
-   * @example server_side_exclude
+   * @example true
    */
-  id: 'server_side_exclude';
+  enabled: boolean;
   /**
-   * last time this setting was modified.
+   * UUID of certificate (ID from MTLS certificate store).
    *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * @example d1b364c5-1311-466e-a194-f0e943e0799f
    */
-  modified_on?: string | null;
+  id?: string;
   /**
-   * Current value of the zone setting.
-   *
-   * @example on
+   * @format date-time
    */
-  value: ServerSideExcludeValue;
+  updated_at?: string;
 };
 
 /**
- * Value of the zone setting.
+ * Date of deletion, if any.
  *
- * @default on
+ * @format date-time
  */
-export type ServerSideExcludeValue = 'on' | 'off';
+export type ZeroTrustGatewayDeletedAt = string | null;
 
 /**
- * The service using the certificate.
+ * The description of the list.
  *
- * @example gateway
+ * @example The serial numbers for administrators
  */
-export type Service = string;
-
-export type ServiceTokens = {
-  client_id?: ClientId;
-  created_at?: Timestamp;
-  /**
-   * The ID of the service token.
-   */
-  id?: void;
-  name?: ServiceTokensComponentsSchemasName;
-  updated_at?: Timestamp;
-};
+export type ZeroTrustGatewayDescription = string;
 
 /**
- * The name of the service token.
+ * The description of the list item, if present
  *
- * @example CI/CD token
+ * @example Austin office IP
+ * @minimum 0
  */
-export type ServiceTokensComponentsSchemasName = string;
+export type ZeroTrustGatewayDescriptionItem = string;
 
-export type ServiceTokensComponentsSchemasResponseCollection = ApiResponseCollection & {
-  result?: ServiceTokens[];
-};
+/**
+ * The wirefilter expression used for device posture check matching.
+ *
+ * @example any(device_posture.checks.passed[*] in {"1308749e-fcfb-4ebc-b051-fe022b632644"})
+ */
+export type ZeroTrustGatewayDevicePosture = string;
 
-export type ServiceTokensComponentsSchemasSingleResponse = ApiResponseSingleKLIlNaxV & {
-  result?: ServiceTokens;
-};
+/**
+ * The identifier of the pair of IPv4 addresses assigned to this location.
+ *
+ * @example 0e4a32c6-6fb8-4858-9296-98f51631e8e6
+ */
+export type ZeroTrustGatewayDnsDestinationIpsIdRead = string;
 
-export type ServiceTokensComponentsSchemasSingleResponseAyQvwAXm = ApiResponseSingleLarS7owG & {
-  result?: ServiceTokens;
-};
+/**
+ * The identifier of the pair of IPv4 addresses assigned to this location. When creating a location, if this field is absent or set with null, the pair of shared IPv4 addresses (0e4a32c6-6fb8-4858-9296-98f51631e8e6) is auto-assigned. When updating a location, if the field is absent or set with null, the pre-assigned pair remains unchanged.
+ *
+ * @example 0e4a32c6-6fb8-4858-9296-98f51631e8e6
+ */
+export type ZeroTrustGatewayDnsDestinationIpsIdWrite = string;
 
 /**
- * Returns a 401 status code when the request is blocked by a Service Auth policy.
+ * The uuid identifier of the IPv6 block brought to the gateway, so that this location's IPv6 address is allocated from the Bring Your Own Ipv6(BYOIPv6) block and not from the standard CloudFlare IPv6 block.
  *
- * @example true
+ * @example b08f7231-d458-495c-98ef-190604c9ee83
  */
-export type ServiceAuth401Redirect = boolean;
+export type ZeroTrustGatewayDnsDestinationIpv6BlockId = string;
 
-export type ServiceModeV2 = {
+export type ZeroTrustGatewayDnsResolverSettingsV4 = {
   /**
-   * The mode to run the WARP client under.
+   * IPv4 address of upstream resolver.
    *
-   * @example proxy
+   * @example 2.2.2.2
    */
-  mode?: string;
+  ip: string;
   /**
-   * The port number when used with proxy mode.
+   * A port number to use for upstream resolver. Defaults to 53 if unspecified.
    *
-   * @example 3000
+   * @example 5053
    */
   port?: number;
+  /**
+   * Whether to connect to this resolver over a private network. Must be set when vnet_id is set.
+   *
+   * @example true
+   */
+  route_through_private_network?: boolean;
+  /**
+   * Optionally specify a virtual network for this resolver. Uses default virtual network id if omitted.
+   *
+   * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
+   */
+  vnet_id?: string;
 };
 
-/**
- * The session_affinity specifies the type of session affinity the load balancer should use unless specified as "none" or ""(default). The supported types are "cookie" and "ip_cookie". "cookie" - On the first request to a proxied load balancer, a cookie is generated, encoding information of which origin the request will be forwarded to. Subsequent requests, by the same client to the same load balancer, will be sent to the origin server the cookie encodes, for the duration of the cookie and as long as the origin server remains healthy. If the cookie has expired or the origin server is unhealthy then a new origin server is calculated and used. "ip_cookie" behaves the same as "cookie" except the initial origin selection is stable and based on the client’s ip address.
- *
- * @default ""
- * @example cookie
- */
-export type SessionAffinity = 'none' | 'cookie' | 'ip_cookie' | '""';
-
-/**
- * Configures cookie attributes for session affinity cookie.
- */
-export type SessionAffinityAttributes = {
+export type ZeroTrustGatewayDnsResolverSettingsV6 = {
   /**
-   * Configures the drain duration in seconds. This field is only used when session affinity is enabled on the load balancer.
+   * IPv6 address of upstream resolver.
    *
-   * @example 100
+   * @example 2001:DB8::
    */
-  drain_duration?: number;
+  ip: string;
   /**
-   * Configures the SameSite attribute on session affinity cookie. Value "Auto" will be translated to "Lax" or "None" depending if Always Use HTTPS is enabled. Note: when using value "None", the secure attribute can not be set to "Never".
+   * A port number to use for upstream resolver. Defaults to 53 if unspecified.
    *
-   * @default Auto
-   * @example Auto
+   * @example 5053
    */
-  samesite?: 'Auto' | 'Lax' | 'None' | 'Strict';
+  port?: number;
   /**
-   * Configures the Secure attribute on session affinity cookie. Value "Always" indicates the Secure attribute will be set in the Set-Cookie header, "Never" indicates the Secure attribute will not be set, and "Auto" will set the Secure attribute depending if Always Use HTTPS is enabled.
+   * Whether to connect to this resolver over a private network. Must be set when vnet_id is set.
    *
-   * @default Auto
-   * @example Auto
+   * @example true
    */
-  secure?: 'Auto' | 'Always' | 'Never';
+  route_through_private_network?: boolean;
   /**
-   * Configures the zero-downtime failover between origins within a pool when session affinity is enabled. Value "none" means no failover takes place for sessions pinned to the origin (default). Value "temporary" means traffic will be sent to another other healthy origin until the originally pinned origin is available; note that this can potentially result in heavy origin flapping. Value "sticky" means the session affinity cookie is updated and subsequent requests are sent to the new origin. This feature is currently incompatible with Argo, Tiered Cache, and Bandwidth Alliance.
+   * Optionally specify a virtual network for this resolver. Uses default virtual network id if omitted.
    *
-   * @default none
-   * @example sticky
+   * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
    */
-  zero_downtime_failover?: 'none' | 'temporary' | 'sticky';
+  vnet_id?: string;
 };
 
-/**
- * Time, in seconds, until this load balancer's session affinity cookie expires after being created. This parameter is ignored unless a supported session affinity policy is set. The current default of 23 hours will be used unless session_affinity_ttl is explicitly set. The accepted range of values is between [1800, 604800]. Once the expiry time has been reached, subsequent requests may get sent to a different origin server.
- *
- * @example 5000
- */
-export type SessionAffinityTtl = number;
-
-/**
- * The amount of time that tokens issued for this application will be valid. Must be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s, m, h.
- *
- * @default 24h
- * @example 24h
- */
-export type SessionDuration = string;
-
-/**
- * Lifetime of a cookie (in minutes) set by Cloudflare for users who get access to the route. If a user is not seen by Cloudflare again in that time period, they will be treated as a new user that visits the route.
- *
- * @default 5
- * @maximum 30
- * @minimum 1
- */
-export type SessionDurationDWa1S8Ip = number;
-
-/**
- * Unique session id of the job.
- *
- * @example 99d471b1ca3c23cc8e30b6acec5db987
- */
-export type SessionId = string;
-
-export type Setting =
-  | Zerortt
-  | AdvancedDdos
-  | AlwaysOnline
-  | AlwaysUseHttps
-  | AutomaticHttpsRewrites
-  | Brotli
-  | BrowserCacheTtl
-  | BrowserCheck
-  | CacheLevel
-  | ChallengeTtl
-  | Ciphers
-  | CnameFlattening
-  | DevelopmentMode
-  | EarlyHints
-  | EdgeCacheTtl
-  | EmailObfuscation
-  | H2Prioritization
-  | HotlinkProtection
-  | Http2
-  | Http3
-  | ImageResizing
-  | IpGeolocation
-  | Ipv6
-  | MaxUpload
-  | MinTlsVersion
-  | Minify
-  | Mirage
-  | MobileRedirect
-  | Nel
-  | OpportunisticEncryption
-  | OpportunisticOnion
-  | OrangeToOrange
-  | OriginErrorPagePassThru
-  | OriginMaxHttpVersion
-  | Polish
-  | PrefetchPreload
-  | PrivacyPass
-  | ProxyReadTimeout
-  | PseudoIpv4
-  | ResponseBuffering
-  | RocketLoader
-  | SchemasAutomaticPlatformOptimization
-  | SecurityHeader
-  | SecurityLevel
-  | ServerSideExclude
-  | Sha1Support
-  | SortQueryStringForCache
-  | SslCvCTPIf1
-  | SslRecommender
-  | Tls12Only
-  | Tls13
-  | TlsClientAuth
-  | TrueClientIpHeader
-  | Waf
-  | Webp
-  | Websockets;
-
-export type Settings = {
+export type ZeroTrustGatewayDohEndpoint = {
   /**
-   * Request client certificates for this hostname in China. Can only be set to true if this zone is china network enabled.
+   * True if the endpoint is enabled for this location.
    *
-   * @example false
+   * @example true
    */
-  china_network: boolean;
+  enabled?: boolean;
+  networks?: ZeroTrustGatewayIpNetworks;
   /**
-   * Client Certificate Forwarding is a feature that takes the client cert provided by the eyeball to the edge, and forwards it to the origin as a HTTP header to allow logging on the origin.
+   * True if the endpoint requires [user identity](https://developers.cloudflare.com/cloudflare-one/connections/connect-devices/agentless/dns/dns-over-https/#filter-doh-requests-by-user) authentication.
    *
    * @example true
    */
-  client_certificate_forwarding: boolean;
+  require_token?: boolean;
+};
+
+export type ZeroTrustGatewayDotEndpoint = {
   /**
-   * The hostname that these settings apply to.
+   * True if the endpoint is enabled for this location.
    *
-   * @example admin.example.com
+   * @example true
    */
-  hostname: string;
+  enabled?: boolean;
+  networks?: ZeroTrustGatewayIpNetworks;
+};
+
+/**
+ * True if the location needs to resolve EDNS queries.
+ *
+ * @example false
+ */
+export type ZeroTrustGatewayEcsSupport = boolean;
+
+export type ZeroTrustGatewayEmptyResponse = ZeroTrustGatewayApiResponseSingle & {
+  result?: Record<string, any>;
 };
 
-export type SettingsPG6mq1EP = EmailSettingsProperties;
+/**
+ * True if the rule is enabled.
+ *
+ * @example true
+ */
+export type ZeroTrustGatewayEnabled = boolean;
 
 /**
- * Settings available for the zone.
+ * Enable anti-virus scanning on downloads.
  *
- * @example {"id":"browser_check","properties":[{"name":"value","type":"toggle"}]}
- * @example {"id":"browser_cache_ttl","properties":[{"max":31536000,"min":1800,"name":"value","suggested_values":[1800,3600,7200,10800,14400,18000,28800,43200,57600,72000,86400,172800,259200,345600,432000,691200,1382400,2073600,2678400,5356800,16070400,31536000],"type":"range"}]}
- * @example {"id":"browser_check","properties":[{"name":"value","type":"toggle"}]}
- * @example {"id":"cache_key_fields","properties":[{"name":"value","properties":[{"allowEmpty":true,"choices":["include","exclude"],"multiple":false,"name":"query_string","type":"select"},{"allowEmpty":true,"choices":["include","exclude","check_presence"],"multiple":true,"name":"header","type":"select"},{"allowEmpty":false,"choices":["resolved"],"multiple":true,"name":"host","type":"select"},{"allowEmpty":true,"choices":["include","check_presence"],"multiple":true,"name":"cookie","type":"select"},{"allowEmpty":false,"choices":["device_type","geo","lang"],"multiple":true,"name":"user","type":"select"}],"type":"object"}]}
- * @example {"id":"cache_deception_armor","properties":[{"name":"value","type":"toggle"}]}
- * @example {"id":"cache_level","properties":[{"choices":["bypass","basic","simplified","aggressive","cache_everything"],"multiple":false,"name":"value","type":"select"}]}
- * @example {"id":"cache_ttl_by_status","properties":[{"allowEmpty":false,"name":"value","type":"object"}]}
- * @example {"id":"disable_apps","properties":[]}
- * @example {"id":"disable_performance","properties":[]}
- * @example {"id":"disable_security","properties":[]}
- * @example {"id":"edge_cache_ttl","properties":[{"max":2419200,"min":7200,"name":"value","suggested_values":[7200,10800,14400,18000,28800,43200,57600,72000,86400,172800,259200,345600,432000,518400,604800,1209600,2419200],"type":"range"}]}
- * @example {"id":"email_obfuscation","properties":[{"name":"value","type":"toggle"}]}
- * @example {"id":"forwarding_url","properties":[{"choices":[301,302],"multiple":false,"name":"status_code","type":"choice"},{"name":"url","type":"forwardingUrl"}]}
- * @example {"id":"ip_geolocation","properties":[{"name":"value","type":"toggle"}]}
- * @example {"id":"minify","properties":[{"allowEmpty":true,"choices":["html","css","js"],"multiple":true,"name":"value","type":"select"}]}
- * @example {"id":"explicit_cache_control","properties":[{"name":"value","type":"toggle"}]}
- * @example {"id":"rocket_loader","properties":[{"name":"value","type":"toggle"}]}
- * @example {"id":"security_level","properties":[{"choices":["essentially_off","low","medium","high","under_attack"],"multiple":false,"name":"value","type":"select"}]}
- * @example {"id":"server_side_exclude","properties":[{"name":"value","type":"toggle"}]}
- * @example {"id":"ssl","properties":[{"choices":["off","flexible","full","strict"],"multiple":false,"name":"value","type":"choice"}]}
+ * @example false
+ */
+export type ZeroTrustGatewayEnabledDownloadPhase = boolean;
+
+/**
+ * Enable anti-virus scanning on uploads.
+ *
+ * @example false
  */
-export type SettingsWG7ImyVP = Record<string, any>[];
+export type ZeroTrustGatewayEnabledUploadPhase = boolean;
 
 /**
- * Allow SHA1 support.
+ * The destination endpoints configured for this location. When updating a location, if this field is absent or set with null, the endpoints configuration remains unchanged.
+ */
+export type ZeroTrustGatewayEndpoints = {
+  doh?: ZeroTrustGatewayDohEndpoint;
+  dot?: ZeroTrustGatewayDotEndpoint;
+  ipv4?: ZeroTrustGatewayIpv4Endpoint;
+  ipv6?: ZeroTrustGatewayIpv6Endpoint;
+};
+
+/**
+ * The expiration time stamp and default duration of a DNS policy. Takes
+ * precedence over the policy's `schedule` configuration, if any.
+ *
+ * This does not apply to HTTP or network policies.
  */
-export type Sha1Support = {
+export type ZeroTrustGatewayExpiration = {
   /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   * The default duration a policy will be active in minutes. Must be set in order to use the `reset_expiration` endpoint on this rule.
    *
-   * @default true
+   * @example 10
+   * @minimum 5
    */
-  editable?: true | false;
+  duration?: number;
   /**
-   * Zone setting identifier.
+   * Whether the policy has expired.
    *
-   * @example sha1_support
+   * @example false
    */
-  id: 'sha1_support';
+  expired?: boolean;
   /**
-   * last time this setting was modified.
+   * The time stamp at which the policy will expire and cease to be
+   * applied.
    *
-   * @example 2014-01-01T05:20:00.12345Z
+   * Must adhere to RFC 3339 and include a UTC offset. Non-zero
+   * offsets are accepted but will be converted to the equivalent
+   * value with offset zero (UTC+00:00) and will be returned as time
+   * stamps with offset zero denoted by a trailing 'Z'.
+   *
+   * Policies with an expiration do not consider the timezone of
+   * clients they are applied to, and expire "globally" at the point
+   * given by their `expires_at` value.
+   *
+   * @example 2014-01-01T05:20:20Z
    * @format date-time
    */
-  modified_on?: string | null;
+  expires_at: ZeroTrustGatewayTimestamp & string;
+};
+
+/**
+ * Extended e-mail matching settings.
+ */
+export type ZeroTrustGatewayExtendedEmailMatching = {
   /**
-   * Current value of the zone setting.
+   * Enable matching all variants of user emails (with + or . modifiers) used as criteria in Firewall policies.
    *
-   * @example on
+   * @example true
    */
-  value: Sha1SupportValue;
+  enabled?: boolean;
 };
 
 /**
- * Value of the zone setting.
+ * Block requests for files that cannot be scanned.
  *
- * @default off
+ * @example false
  */
-export type Sha1SupportValue = 'off' | 'on';
+export type ZeroTrustGatewayFailClosed = boolean;
 
 /**
- * Properties of an integration entry in a custom profile
+ * The protocol or layer to evaluate the traffic, identity, and device posture expressions.
+ *
+ * @example http
  */
-export type SharedEntryUpdateIntegration = {
-  /**
-   * Whether the entry is enabled or not.
-   */
-  enabled?: boolean;
-  entry_id?: EntryId;
-};
+export type ZeroTrustGatewayFilters = ('http' | 'dns' | 'l4' | 'egress')[];
 
 /**
- * Properties of a predefined entry in a custom profile
+ * FIPS settings.
  */
-export type SharedEntryUpdatePredefined = {
+export type ZeroTrustGatewayFipsSettings = {
   /**
-   * Whether the entry is enabled or not.
+   * Enable only cipher suites and TLS versions compliant with FIPS 140-2.
    *
    * @example true
    */
-  enabled?: boolean;
-  entry_id?: EntryId;
+  tls?: boolean;
 };
 
-/**
- * The type of hash used for the certificate.
- *
- * @example SHA256WithRSA
- */
-export type Signature = string;
-
-export type SignedTokenRequest = {
-  /**
-   * The optional list of access rule constraints on the token. Access can be blocked or allowed based on an IP, IP range, or by country. Access rules are evaluated from first to last. If a rule matches, the associated action is applied and no further rules are evaluated.
-   *
-   * @example {"action":"block","country":["US","MX"],"type":"ip.geoip.country"}
-   * @example {"action":"allow","ip":["93.184.216.0/24","2400:cb00::/32"],"type":"ip.src"}
-   * @example {"action":"block","type":"any"}
-   */
-  accessRules?: AccessRules[];
+export type ZeroTrustGatewayGatewayAccountLoggingSettings = {
   /**
-   * The optional boolean value that enables using signed tokens to access MP4 download links for a video.
+   * Redact personally identifiable information from activity logging (PII fields are: source IP, user email, user ID, device ID, URL, referrer, user agent).
    *
-   * @default false
+   * @example true
    */
-  downloadable?: boolean;
+  redact_pii?: boolean;
   /**
-   * The optional unix epoch timestamp that specficies the time after a token is not accepted. The maximum time specification is 24 hours from issuing time. If this field is not set, the default is one hour after issuing.
+   * Logging settings by rule type.
    */
-  exp?: number;
+  settings_by_rule_type?: {
+    /**
+     * Logging settings for DNS firewall.
+     */
+    dns?: Record<string, any>;
+    /**
+     * Logging settings for HTTP/HTTPS firewall.
+     */
+    http?: Record<string, any>;
+    /**
+     * Logging settings for Network firewall.
+     */
+    l4?: Record<string, any>;
+  };
+};
+
+export type ZeroTrustGatewayGatewayAccountLoggingSettingsResponse = ZeroTrustGatewayApiResponseSingle & {
+  result?: ZeroTrustGatewayGatewayAccountLoggingSettings;
+};
+
+/**
+ * Account settings
+ */
+export type ZeroTrustGatewayGatewayAccountSettings = {
   /**
-   * The optional ID of a Stream signing key. If present, the `pem` field is also required.
-   *
-   * @example ab0d4ef71g4425f8dcba9041231813000
+   * Account settings
    */
-  id?: string;
+  settings?: {
+    activity_log?: ZeroTrustGatewayActivityLogSettings;
+    antivirus?: ZeroTrustGatewayAntiVirusSettings;
+    block_page?: ZeroTrustGatewayBlockPageSettings;
+    body_scanning?: ZeroTrustGatewayBodyScanningSettings;
+    browser_isolation?: ZeroTrustGatewayBrowserIsolationSettings;
+    certificate?: ZeroTrustGatewayCertificateSettings;
+    custom_certificate?: ZeroTrustGatewayCustomCertificateSettings;
+    extended_email_matching?: ZeroTrustGatewayExtendedEmailMatching;
+    fips?: ZeroTrustGatewayFipsSettings;
+    protocol_detection?: ZeroTrustGatewayProtocolDetection;
+    sandbox?: ZeroTrustGatewaySandbox;
+    tls_decrypt?: ZeroTrustGatewayTlsSettings;
+  };
+};
+
+export type ZeroTrustGatewayGatewayAccount = ZeroTrustGatewayApiResponseSingle & {
+  result?: {
+    gateway_tag?: ZeroTrustGatewayGatewayTag;
+    id?: ZeroTrustGatewayCfAccountId;
+    provider_name?: ZeroTrustGatewayProviderName;
+  };
+};
+
+export type ZeroTrustGatewayGatewayAccountConfig = ZeroTrustGatewayApiResponseSingle & {
   /**
-   * The optional unix epoch timestamp that specifies the time before a the token is not accepted. If this field is not set, the default is one hour before issuing.
+   * Account settings
    */
-  nbf?: number;
+  result?: ZeroTrustGatewayGatewayAccountSettings & {
+    created_at?: ZeroTrustGatewayTimestamp;
+    updated_at?: ZeroTrustGatewayTimestamp;
+  };
+};
+
+/**
+ * Gateway internal ID.
+ *
+ * @example f174e90afafe4643bbbc4a0ed4fc8415
+ * @maxLength 32
+ */
+export type ZeroTrustGatewayGatewayTag = string;
+
+export type ZeroTrustGatewayGenerateCertRequest = {
   /**
-   * The optional base64 encoded private key in PEM format associated with a Stream signing key. If present, the `id` field is also required.
+   * Number of days the generated certificate will be valid, minimum 1 day and maximum 30 years. Defaults to 5 years.
    *
-   * @example LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBc284dnBvOFpEWXRkOUgzbWlPaW1qYXAzVXlVM0oyZ3kwTUYvN1R4blJuRnkwRHpDCkxqUk9naFZsQ0hPQmxsd3NVaE9GU0lyYnN4K05tUTdBeS90TFpXSGxuVGF3UWJ5WGZGOStJeDhVSnNlSHBGV1oKNVF5Z1JYd2liSjh1MVVsZ2xlcmZHMkpueldjVXpZTzEySktZN3doSkw1ajROMWgxZFJNUXQ5Q1pkZFlCQWRzOQpCdk02cjRFMDcxQkhQekhWeDMrUTI1VWtubGdUNXIwS3FiM1E1Y0dlTlBXY1JreW1ybkJEWWR0OXR4eFFMb1dPCllzNXdsMnVYWFVYL0VGcDMwajU0Nmp6czllWExLYlNDbjJjTDZFVE96Y2x3aG9DRGx2a2VQT05rUE9LMDVKNUMKTm1TdFdhMG9hV1VGRzM0MFl3cVVrWGt4OU9tNndXd1JldU1uU1FJREFRQUJBb0lCQUFJOHo1ck5kOEdtOGJBMgo1S3pxQjI1R2lOVENwbUNJeW53NXRJWHZTQmNHcEdydUcvdlN2WG9kVlFVSVY0TWdHQkVXUEFrVzdsNWVBcHI4CnA1ZFd5SkRXYTNkdklFSE9vSEpYU3dBYksxZzZEMTNVa2NkZ1EyRGpoNVhuWDhHZCtBY2c2SmRTQWgxOWtYSHEKMk54RUtBVDB6Ri83a1g2MkRkREFBcWxmQkpGSXJodVIvZUdEVWh4L2piTTRhQ2JCcFdiM0pnRE9OYm5tS1ZoMwpxS2ZwZmRZZENZU1lzWUxrNTlxRDF2VFNwUVFUQ0VadW9VKzNzRVNhdkJzaUs1bU0vTzY5ZkRMRXNURG1MeTVQCmhEK3BMQXI0SlhNNjFwRGVBS0l3cUVqWWJybXlDRHRXTUdJNnZzZ0E1eXQzUUJaME9vV2w5QUkwdWxoZ3p4dXQKZ2ZFNTRRRUNnWUVBN0F3a0lhVEEzYmQ4Nk9jSVZnNFlrWGk1cm5aNDdsM1k4V24zcjIzUmVISXhLdkllRUtSbgp5bUlFNDFtRVBBSmlGWFpLK1VPTXdkeS9EcnFJUithT1JiT2NiV01jWUg2QzgvbG1wdVJFaXE3SW1Ub3VWcnA4CnlnUkprMWprVDA4cTIvNmg4eTBEdjJqMitsaHFXNzRNOUt0cmwxcTRlWmZRUFREL01tR1NnTWtDZ1lFQXdhY04KaSttN1p6dnJtL3NuekF2VlZ5SEtwZHVUUjNERk1naC9maC9tZ0ZHZ1RwZWtUOVV5b3FleGNYQXdwMVlhL01iQQoyNTVJVDZRbXZZTm5yNXp6Wmxic2tMV0hsYllvbWhmWnVXTHhXR3hRaEFORWdaMFVVdUVTRGMvbWx2UXZHbEtSCkZoaGhBUWlVSmdDamhPaHk1SlBiNGFldGRKd0UxK09lVWRFaE1vRUNnWUVBNG8yZ25CM1o4ck5xa3NzemlBek4KYmNuMlJVbDJOaW9pejBwS3JMaDFaT29NNE5BekpQdjJsaHRQMzdtS0htS1hLMHczRjFqTEgwSTBxZmxFVmVZbQpSU1huakdHazJjUnpBYUVzOGgrQzNheDE0Z01pZUtGU3BqNUpNOEFNbVVZOXQ1cUVhN2FYc3o0V1ZoOUlMYmVTCkRiNzlhKzVwd21LQVBrcnBsTHhyZFdrQ2dZQlNNSHVBWVdBbmJYZ1BDS2FZWklGVWJNUWNacmY0ZnpWQ2lmYksKYWZHampvRlNPZXdEOGdGK3BWdWJRTGwxbkFieU44ek1xVDRaaHhybUhpcFlqMjJDaHV2NmN3RXJtbGRiSnpwQwpBMnRaVXdkTk1ESFlMUG5lUHlZeGRJWnlsUXFVeW14SGkydElUQUxNcWtLOGV3ZWdXZHpkeGhQSlJScU5JazhrCmZIVHhnUUtCZ1FEUFc2UXIxY3F3QjNUdnVWdWR4WGRqUTdIcDFodXhrNEVWaEFJZllKNFhSTW1NUE5YS28wdHUKdUt6LzE0QW14R0dvSWJxYVc1bDMzeFNteUxhem84clNUN0tSTjVKME9JSHcrZkR5SFgxdHpVSjZCTldDcEFTcwpjbWdNK0htSzVON0w2bkNaZFJQY2IwU1hGaVRQUGhCUG1PVWFDUnpER0ZMK2JYM1VwajJKbWc9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
+   * @example 1826
    */
-  pem?: string;
+  validity_period_days?: number;
 };
 
-export type SignedTokenResponse = ApiResponseSingleYdRGfgTy & {
-  result?: {
-    /**
-     * The signed token used with the signed URLs feature.
-     *
-     * @example eyJhbGciOiJSUzI1NiIsImtpZCI6ImU5ZGI5OTBhODI2NjZkZDU3MWM3N2Y5NDRhNWM1YzhkIn0.eyJzdWIiOiJlYTk1MTMyYzE1NzMyNDEyZDIyYzE0NzZmYTgzZjI3YSIsImtpZCI6ImU5ZGI5OTBhODI2NjZkZDU3MWM3N2Y5NDRhNWM1YzhkIiwiZXhwIjoiMTUzNzQ2MDM2NSIsIm5iZiI6IjE1Mzc0NTMxNjUifQ.OZhqOARADn1iubK6GKcn25hN3nU-hCFF5q9w2C4yup0C4diG7aMIowiRpP-eDod8dbAJubsiFuTKrqPcmyCKWYsiv0TQueukqbQlF7HCO1TV-oF6El5-7ldJ46eD-ZQ0XgcIYEKrQOYFF8iDQbqPm3REWd6BnjKZdeVrLzuRaiSnZ9qqFpGu5dfxIY9-nZKDubJHqCr3Imtb211VIG_b9MdtO92JjvkDS-rxT_pkEfTZSafl1OU-98A7KBGtPSJHz2dHORIrUiTA6on4eIXTj9aFhGiir4rSn-rn0OjPRTtJMWIDMoQyE_fwrSYzB7MPuzL2t82BWaEbHZTfixBm5A
-     */
-    token?: string;
-  };
-};
+/**
+ * The identifier for this category. There is only one category per ID.
+ */
+export type ZeroTrustGatewayId = number;
 
 /**
- * The date and time a signing key was created.
- *
- * @example 2014-01-02T02:20:00Z
- * @format date-time
+ * @example 699d98642c564d2e855e9661899b7252
  */
-export type SigningKeyCreated = string;
+export type ZeroTrustGatewayIdentifier = string;
 
 /**
- * Start date and time of requesting data period in ISO 8601 format.
+ * The wirefilter expression used for identity matching.
  *
- * @example 2023-11-11T12:00:00Z
- * @format date-time
+ * @example any(identity.groups.name[*] in {"finance"})
  */
-export type Since = string;
+export type ZeroTrustGatewayIdentity = string;
 
 /**
- * The (inclusive) beginning of the requested time frame. This value can be a negative integer representing the number of minutes in the past relative to time the request is made, or can be an absolute timestamp that conforms to RFC 3339. At this point in time, it cannot exceed a time in the past greater than one year.
+ * IPV6 destination ip assigned to this location. DNS requests sent to this IP will counted as the request under this location. This field is auto-generated by Gateway.
  *
- * Ranges that the Cloudflare web application provides will provide the following period length for each point:
- * - Last 60 minutes (from -59 to -1): 1 minute resolution
- * - Last 7 hours (from -419 to -60): 15 minutes resolution
- * - Last 15 hours (from -899 to -420): 30 minutes resolution
- * - Last 72 hours (from -4320 to -900): 1 hour resolution
- * - Older than 3 days (-525600 to -4320): 1 day resolution.
- *
- * @default -10080
- * @example 2015-01-01T12:23:00Z
+ * @example 2001:0db8:85a3:0000:0000:8a2e:0370:7334
  */
-export type SinceO1OWzWkU = string | number;
-
-export type SingleInviteResponse = ApiResponseSingleLarS7owG & {
-  result?: Record<string, any>;
-};
-
-export type SingleMemberResponse = ApiResponseSingleLarS7owG & {
-  result?: Record<string, any>;
-};
-
-export type SingleMembershipResponse = ApiResponseSingleLarS7owG & {
-  result?: Record<string, any>;
-};
-
-export type SingleOrganizationResponse = ApiResponseSingleLarS7owG & {
-  result?: Record<string, any>;
-};
-
-export type SingleRequestOutgoing = {
-  id: Identifier6txek3jw;
-  name: NameSjz7boGi;
-  peers: Peers;
-};
+export type ZeroTrustGatewayIp = string;
 
-export type SingleResponse = ApiResponseSingleZ04EBmfK & {
-  result?: IpamPrefixes;
+export type ZeroTrustGatewayIpNetwork = {
+  /**
+   * The IP address or IP CIDR.
+   *
+   * @example 2001:85a3::/64
+   */
+  network: string;
 };
 
-export type SingleResponse9WvPBIoi = ApiResponseSingleVxjnpV7r & {
-  result?: Lists;
-};
+/**
+ * A list of allowed source IP network ranges for this endpoint. When empty, all source IPs are allowed. A non-empty list is only effective if the endpoint is enabled for this location.
+ */
+export type ZeroTrustGatewayIpNetworks = ZeroTrustGatewayIpNetwork[];
 
-export type SingleResponseGuXwMQTl = ApiResponseSingleWkFwqHKI & {
-  result?: Tsig;
-};
+/**
+ * A list of CIDRs to restrict ingress connections.
+ */
+export type ZeroTrustGatewayIps = string[];
 
-export type SingleResponseHInSCAYE = ApiResponseSingleI8cJ1fX8 & {
-  result?: DevicePostureRules;
+export type ZeroTrustGatewayIpv4Endpoint = {
+  /**
+   * True if the endpoint is enabled for this location.
+   *
+   * @example true
+   */
+  enabled?: boolean;
 };
 
-export type SingleResponseL9G76tiZ = ApiResponseSinglePn9rJJNX & {
-  result?: Waitingroom;
+export type ZeroTrustGatewayIpv4Network = {
+  /**
+   * The IPv4 address or IPv4 CIDR. IPv4 CIDRs are limited to a maximum of /24.
+   *
+   * @example 192.0.2.1/32
+   */
+  network: string;
 };
 
-export type SingleResponseMWfbtc4A = ApiResponseSingleKLIlNaxV & {
-  result?: Organizations;
-};
+/**
+ * A list of network ranges that requests from this location would originate from. A non-empty list is only effective if the ipv4 endpoint is enabled for this location.
+ */
+export type ZeroTrustGatewayIpv4Networks = ZeroTrustGatewayIpv4Network[];
 
-export type SingleResponseMt0dL1Zb = ApiResponseSingleUl1k90Mw & {
-  result?: Monitor;
+export type ZeroTrustGatewayIpv6Endpoint = {
+  /**
+   * True if the endpoint is enabled for this location.
+   *
+   * @example true
+   */
+  enabled?: boolean;
+  networks?: ZeroTrustGatewayIpv6Networks;
 };
 
-export type SingleResponseSdWXUg59 = ApiResponseSingleO4T7cMiV & {
-  result?: Healthchecks;
+export type ZeroTrustGatewayIpv6Network = {
+  /**
+   * The IPv6 address or IPv6 CIDR.
+   *
+   * @example 2001:85a3::/64
+   */
+  network: string;
 };
 
-export type SingleResponseH60I6kRL = ApiResponseSingleLarS7owG & {
-  result?: Configuration;
-};
+/**
+ * A list of allowed source IPv6 network ranges for this endpoint. When empty, all source IPs are allowed. A non-empty list is only effective if the endpoint is enabled for this location.
+ */
+export type ZeroTrustGatewayIpv6Networks = ZeroTrustGatewayIpv6Network[];
 
-export type SingleResponseHostnames = ApiResponseSingleKLIlNaxV & {
-  result?: Settings;
-};
+/**
+ * The items in the list.
+ */
+export type ZeroTrustGatewayItems = {
+  created_at?: ZeroTrustGatewayTimestamp;
+  description?: ZeroTrustGatewayDescriptionItem;
+  value?: ZeroTrustGatewayValue;
+}[];
 
-export type SingleResponseIncoming = ApiResponseSingleWkFwqHKI & {
-  result?: {
-    auto_refresh_seconds?: AutoRefreshSeconds;
-    checked_time?: Time;
-    created_time?: Time;
-    id?: Identifier6txek3jw;
-    modified_time?: Time;
-    name?: NameSjz7boGi;
-    peers?: Peers;
-    soa_serial?: SoaSerial;
+export type ZeroTrustGatewayListItemResponseCollection = ZeroTrustGatewayApiResponseCollection & {
+  result?: ZeroTrustGatewayItems[];
+} & {
+  result_info?: {
+    /**
+     * Total results returned based on your search parameters.
+     *
+     * @example 1
+     */
+    count?: number;
+    /**
+     * Current page within paginated list of results.
+     *
+     * @example 1
+     */
+    page?: number;
+    /**
+     * Number of results per page of results.
+     *
+     * @example 20
+     */
+    per_page?: number;
+    /**
+     * Total results available without any search parameters.
+     *
+     * @example 2000
+     */
+    total_count?: number;
   };
 };
 
-export type SingleResponseOutgoing = ApiResponseSingleWkFwqHKI & {
-  result?: {
-    checked_time?: Time;
-    created_time?: Time;
-    id?: Identifier6txek3jw;
-    last_transferred_time?: Time;
-    name?: NameSjz7boGi;
-    peers?: Peers;
-    soa_serial?: SoaSerial;
-  };
+export type ZeroTrustGatewayLists = {
+  count?: ZeroTrustGatewayCount;
+  created_at?: ZeroTrustGatewayTimestamp;
+  description?: ZeroTrustGatewayDescription;
+  id?: ZeroTrustGatewaySchemasUuid;
+  name?: ZeroTrustGatewayName;
+  type?: ZeroTrustGatewaySchemasType;
+  updated_at?: ZeroTrustGatewayTimestamp;
 };
 
-export type SingleResponseWithListItems = ApiResponseSingleVxjnpV7r & {
-  result?: {
-    created_at?: Timestamp;
-    description?: DescriptionX9wAFqIk;
-    id?: Uuid1mDHWugl;
-    items?: Items;
-    name?: NameCf4EglAb;
-    type?: TypeKFroakje;
-    updated_at?: Timestamp;
-  };
+export type ZeroTrustGatewayLocations = {
+  client_default?: ZeroTrustGatewayClientDefault;
+  created_at?: ZeroTrustGatewayTimestamp;
+  dns_destination_ips_id?: ZeroTrustGatewayDnsDestinationIpsIdRead;
+  dns_destination_ipv6_block_id?: ZeroTrustGatewayDnsDestinationIpv6BlockId;
+  doh_subdomain?: ZeroTrustGatewaySubdomain;
+  ecs_support?: ZeroTrustGatewayEcsSupport;
+  endpoints?: ZeroTrustGatewayEndpoints;
+  id?: ZeroTrustGatewayComponentsSchemasUuid;
+  ip?: ZeroTrustGatewayIp;
+  /**
+   * The primary destination IPv4 address from the pair identified by the dns_destination_ips_id. This field is read-only.
+   *
+   * @example 172.64.36.1
+   */
+  ipv4_destination?: string;
+  /**
+   * The backup destination IPv4 address from the pair identified by the dns_destination_ips_id. This field is read-only.
+   *
+   * @example 172.64.36.2
+   */
+  ipv4_destination_backup?: string;
+  name?: ZeroTrustGatewaySchemasName;
+  networks?: ZeroTrustGatewayIpv4Networks;
+  updated_at?: ZeroTrustGatewayTimestamp;
 };
 
-export type SingleRoleResponse = ApiResponseSingleLarS7owG & {
-  result?: Record<string, any>;
-};
+export type ZeroTrustGatewayMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
 
-export type SingleUserResponse = ApiResponseSingleLarS7owG & {
-  result?: Record<string, any>;
+/**
+ * The name of the list.
+ *
+ * @example Admin Serial Numbers
+ */
+export type ZeroTrustGatewayName = string;
+
+/**
+ * Configure a message to display on the user's device when an antivirus search is performed.
+ */
+export type ZeroTrustGatewayNotificationSettings = {
+  /**
+   * Set notification on
+   */
+  enabled?: boolean;
+  /**
+   * Customize the message shown in the notification.
+   */
+  msg?: string;
+  /**
+   * Optional URL to direct users to additional information. If not set, the notification will open a block page.
+   */
+  support_url?: string;
 };
 
 /**
- * The size of the media item in bytes.
- *
- * @example 4190963
+ * Precedence sets the order of your rules. Lower values indicate higher precedence. At each processing phase, applicable rules are evaluated in ascending order of this value.
  */
-export type Size = number;
+export type ZeroTrustGatewayPrecedence = number;
 
 /**
- * Subject Key Identifier
- *
- * @example 8e375af1389a069a0f921f8cc8e1eb12d784b949
+ * Protocol Detection settings.
  */
-export type Ski = string;
+export type ZeroTrustGatewayProtocolDetection = {
+  /**
+   * Enable detecting protocol on initial bytes of client traffic.
+   *
+   * @example true
+   */
+  enabled?: boolean;
+};
 
 /**
- * Enables automatic authentication through cloudflared.
+ * The name of the provider. Usually Cloudflare.
  *
- * @example true
+ * @example Cloudflare
  */
-export type SkipInterstitial = boolean;
+export type ZeroTrustGatewayProviderName = string;
 
-/**
- * The serial number of the SOA for the given zone.
- *
- * @example 2019102400
- */
-export type SoaSerial = number;
+export type ZeroTrustGatewayProxyEndpoints = {
+  created_at?: ZeroTrustGatewayTimestamp;
+  id?: ZeroTrustGatewayComponentsSchemasUuid;
+  ips?: ZeroTrustGatewayIps;
+  name?: ZeroTrustGatewayProxyEndpointsComponentsSchemasName;
+  subdomain?: ZeroTrustGatewaySchemasSubdomain;
+  updated_at?: ZeroTrustGatewayTimestamp;
+};
 
 /**
- * A comma-separated list of dimensions to sort by, where each dimension may be prefixed by - (descending) or + (ascending).
+ * The name of the proxy endpoint.
  *
- * @example +responseCode,-queryName
+ * @example Devops team
  */
-export type Sort = string;
+export type ZeroTrustGatewayProxyEndpointsComponentsSchemasName = string;
 
-/**
- * The sort order for the result set; sort fields must be included in `metrics` or `dimensions`.
- *
- * @example +count
- * @example -bytesIngress
- */
-export type SortTaWT8hAQ = any[];
+export type ZeroTrustGatewayProxyEndpointsComponentsSchemasResponseCollection =
+  ZeroTrustGatewayApiResponseCollection & {
+    result?: ZeroTrustGatewayProxyEndpoints[];
+  };
+
+export type ZeroTrustGatewayProxyEndpointsComponentsSchemasSingleResponse = ZeroTrustGatewayApiResponseSingle & {
+  result?: ZeroTrustGatewayProxyEndpoints;
+};
 
 /**
- * Cloudflare will treat files with the same query strings as the same file in cache, regardless of the order of the query strings. This is limited to Enterprise Zones.
+ * Base64 encoded HPKE public key used to encrypt all your ssh session logs. https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/use-cases/ssh/ssh-infrastructure-access/#enable-ssh-command-logging
  *
- * @default off
+ * @example 1pyl6I1tL7xfJuFYVzXlUW8uXXlpxegHXBzGCBKaSFA=
  */
-export type SortQueryStringForCache = {
+export type ZeroTrustGatewayPublicKey = string;
+
+export type ZeroTrustGatewayResponseCollection = ZeroTrustGatewayApiResponseCollection & {
+  result?: ZeroTrustGatewayCertificates[];
+};
+
+export type ZeroTrustGatewayResultInfo = {
   /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   * Total number of results for the requested service
    *
-   * @default true
+   * @example 1
    */
-  editable?: true | false;
+  count?: number;
   /**
-   * ID of the zone setting.
+   * Current page within paginated list of results
    *
-   * @example sort_query_string_for_cache
+   * @example 1
    */
-  id: 'sort_query_string_for_cache';
+  page?: number;
   /**
-   * last time this setting was modified.
+   * Number of results per page of results
    *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * @example 20
    */
-  modified_on?: string | null;
+  per_page?: number;
   /**
-   * Current value of the zone setting.
+   * Total results available without any search parameters
    *
-   * @example on
+   * @example 2000
    */
-  value: SortQueryStringForCacheValue;
+  total_count?: number;
 };
 
 /**
- * Value of the zone setting.
- *
- * @default off
+ * Additional settings that modify the rule's action.
  */
-export type SortQueryStringForCacheValue = 'on' | 'off';
-
-export type SplitTunnel = {
+export type ZeroTrustGatewayRuleSettings = {
   /**
-   * The address in CIDR format to exclude from the tunnel. If address is present, host must not be present.
+   * Add custom headers to allowed requests, in the form of key-value pairs. Keys are header names, pointing to an array with its header value(s).
    *
-   * @example 192.0.2.0/24
+   * @example {"My-Next-Header":["foo","bar"],"X-Custom-Header-Name":["somecustomvalue"]}
    */
-  address: string;
+  add_headers?: {
+    [key: string]: string;
+  };
   /**
-   * A description of the split tunnel item, displayed in the client UI.
+   * Set by parent MSP accounts to enable their children to bypass this rule.
    *
-   * @example Exclude testing domains from the tunnel
-   * @maxLength 100
+   * @example false
    */
-  description: string;
+  allow_child_bypass?: boolean;
+  /**
+   * Settings for the Audit SSH action.
+   */
+  audit_ssh?: {
+    /**
+     * Enable to turn on SSH command logging.
+     *
+     * @example false
+     */
+    command_logging?: boolean;
+  };
+  /**
+   * Configure how browser isolation behaves.
+   */
+  biso_admin_controls?: {
+    /**
+     * Set to false to enable copy-pasting.
+     *
+     * @example false
+     */
+    dcp?: boolean;
+    /**
+     * Set to false to enable downloading.
+     *
+     * @example false
+     */
+    dd?: boolean;
+    /**
+     * Set to false to enable keyboard usage.
+     *
+     * @example false
+     */
+    dk?: boolean;
+    /**
+     * Set to false to enable printing.
+     *
+     * @example false
+     */
+    dp?: boolean;
+    /**
+     * Set to false to enable uploading.
+     *
+     * @example false
+     */
+    du?: boolean;
+  };
   /**
-   * The domain name to exclude from the tunnel. If host is present, address must not be present.
+   * Enable the custom block page.
    *
-   * @example *.example.com
+   * @example true
    */
-  host?: string;
-};
-
-export type SplitTunnelInclude = {
+  block_page_enabled?: boolean;
   /**
-   * The address in CIDR format to include in the tunnel. If address is present, host must not be present.
+   * The text describing why this block occurred, displayed on the custom block page (if enabled).
    *
-   * @example 192.0.2.0/24
+   * @example This website is a security risk
    */
-  address: string;
+  block_reason?: string;
   /**
-   * A description of the split tunnel item, displayed in the client UI.
+   * Set by children MSP accounts to bypass their parent's rules.
    *
-   * @example Include testing domains from the tunnel
-   * @maxLength 100
+   * @example false
    */
-  description: string;
+  bypass_parent_rule?: boolean;
   /**
-   * The domain name to include in the tunnel. If host is present, address must not be present.
+   * Configure how session check behaves.
+   */
+  check_session?: {
+    /**
+     * Configure how fresh the session needs to be to be considered valid.
+     *
+     * @example 300s
+     */
+    duration?: string;
+    /**
+     * Set to true to enable session enforcement.
+     *
+     * @example true
+     */
+    enforce?: boolean;
+  };
+  /**
+   * Add your own custom resolvers to route queries that match the resolver policy. Cannot be used when resolve_dns_through_cloudflare is set. DNS queries will route to the address closest to their origin. Only valid when a rule's action is set to 'resolve'.
+   */
+  dns_resolvers?: {
+    ipv4?: ZeroTrustGatewayDnsResolverSettingsV4[];
+    ipv6?: ZeroTrustGatewayDnsResolverSettingsV6[];
+  };
+  /**
+   * Configure how Gateway Proxy traffic egresses. You can enable this setting for rules with Egress actions and filters, or omit it to indicate local egress via WARP IPs.
+   */
+  egress?: {
+    /**
+     * The IPv4 address to be used for egress.
+     *
+     * @example 192.0.2.2
+     */
+    ipv4?: string;
+    /**
+     * The fallback IPv4 address to be used for egress in the event of an error egressing with the primary IPv4. Can be '0.0.0.0' to indicate local egress via WARP IPs.
+     *
+     * @example 192.0.2.3
+     */
+    ipv4_fallback?: string;
+    /**
+     * The IPv6 range to be used for egress.
+     *
+     * @example 2001:DB8::/64
+     */
+    ipv6?: string;
+  };
+  /**
+   * Set to true, to ignore the category matches at CNAME domains in a response. If unchecked, the categories in this rule will be checked against all the CNAME domain categories in a response.
    *
-   * @example *.example.com
+   * @example true
    */
-  host?: string;
+  ignore_cname_category_matches?: boolean;
+  /**
+   * INSECURE - disable DNSSEC validation (for Allow actions).
+   *
+   * @example false
+   */
+  insecure_disable_dnssec_validation?: boolean;
+  /**
+   * Set to true to enable IPs in DNS resolver category blocks. By default categories only block based on domain names.
+   *
+   * @example true
+   */
+  ip_categories?: boolean;
+  /**
+   * Set to true to include IPs in DNS resolver indicator feed blocks. By default indicator feeds only block based on domain names.
+   *
+   * @example true
+   */
+  ip_indicator_feeds?: boolean;
+  /**
+   * Send matching traffic to the supplied destination IP address and port.
+   */
+  l4override?: {
+    /**
+     * IPv4 or IPv6 address.
+     *
+     * @example 1.1.1.1
+     */
+    ip?: string;
+    /**
+     * A port number to use for TCP/UDP overrides.
+     */
+    port?: number;
+  };
+  /**
+   * Configure a notification to display on the user's device when this rule is matched.
+   */
+  notification_settings?: {
+    /**
+     * Set notification on
+     */
+    enabled?: boolean;
+    /**
+     * Customize the message shown in the notification.
+     */
+    msg?: string;
+    /**
+     * Optional URL to direct users to additional information. If not set, the notification will open a block page.
+     */
+    support_url?: string;
+  };
+  /**
+   * Override matching DNS queries with a hostname.
+   *
+   * @example example.com
+   */
+  override_host?: string;
+  /**
+   * Override matching DNS queries with an IP or set of IPs.
+   *
+   * @example 1.1.1.1
+   * @example 2.2.2.2
+   */
+  override_ips?: string[];
+  /**
+   * Configure DLP payload logging.
+   */
+  payload_log?: {
+    /**
+     * Set to true to enable DLP payload logging for this rule.
+     *
+     * @example true
+     */
+    enabled?: boolean;
+  };
+  /**
+   * Settings that apply to quarantine rules
+   */
+  quarantine?: {
+    /**
+     * Types of files to sandbox.
+     */
+    file_types?: (
+      | 'exe'
+      | 'pdf'
+      | 'doc'
+      | 'docm'
+      | 'docx'
+      | 'rtf'
+      | 'ppt'
+      | 'pptx'
+      | 'xls'
+      | 'xlsm'
+      | 'xlsx'
+      | 'zip'
+      | 'rar'
+    )[];
+  };
+  /**
+   * Enable to send queries that match the policy to Cloudflare's default 1.1.1.1 DNS resolver. Cannot be set when dns_resolvers are specified. Only valid when a rule's action is set to 'resolve'.
+   *
+   * @example true
+   */
+  resolve_dns_through_cloudflare?: boolean;
+  /**
+   * Configure behavior when an upstream cert is invalid or an SSL error occurs.
+   */
+  untrusted_cert?: {
+    /**
+     * The action performed when an untrusted certificate is seen. The default action is an error with HTTP code 526.
+     *
+     * @example error
+     */
+    action?: 'pass_through' | 'block' | 'error';
+  };
 };
 
-export type SplitTunnelIncludeResponseCollection = ApiResponseCollection & {
-  result?: SplitTunnelInclude[];
+export type ZeroTrustGatewayRules = {
+  action?: ZeroTrustGatewayAction;
+  created_at?: ZeroTrustGatewayTimestamp;
+  deleted_at?: ZeroTrustGatewayDeletedAt;
+  description?: ZeroTrustGatewaySchemasDescription;
+  device_posture?: ZeroTrustGatewayDevicePosture;
+  enabled?: ZeroTrustGatewayEnabled;
+  expiration?: ZeroTrustGatewayExpiration;
+  filters?: ZeroTrustGatewayFilters;
+  id?: ZeroTrustGatewayRulesComponentsSchemasUuid;
+  identity?: ZeroTrustGatewayIdentity;
+  name?: ZeroTrustGatewayComponentsSchemasName;
+  precedence?: ZeroTrustGatewayPrecedence;
+  rule_settings?: ZeroTrustGatewayRuleSettings;
+  schedule?: ZeroTrustGatewaySchedule;
+  traffic?: ZeroTrustGatewayTraffic;
+  updated_at?: ZeroTrustGatewayTimestamp;
+  version?: ZeroTrustGatewayVersion;
 };
 
-export type SplitTunnelResponseCollection = ApiResponseCollection & {
-  result?: SplitTunnel[];
+export type ZeroTrustGatewayRulesComponentsSchemasResponseCollection = ZeroTrustGatewayApiResponseCollection & {
+  result?: ZeroTrustGatewayRules[];
 };
 
-export type SshProps = {
-  allowed_idps?: AllowedIdps;
-  app_launcher_visible?: AppLauncherVisible;
-  auto_redirect_to_identity?: AutoRedirectToIdentityB0IhfGBw;
-  cors_headers?: CorsHeaders;
-  custom_deny_message?: CustomDenyMessage;
-  custom_deny_url?: CustomDenyUrl;
-  domain?: SchemasDomainA7q0ZzCX;
-  enable_binding_cookie?: EnableBindingCookie;
-  http_only_cookie_attribute?: HttpOnlyCookieAttribute;
-  logo_url?: LogoUrl;
-  name?: AppsComponentsSchemasName;
-  same_site_cookie_attribute?: SameSiteCookieAttribute;
-  service_auth_401_redirect?: ServiceAuth401Redirect;
-  session_duration?: SessionDuration;
-  skip_interstitial?: SkipInterstitial;
-  /**
-   * The application type.
-   *
-   * @example ssh
-   */
-  type?: string;
+export type ZeroTrustGatewayRulesComponentsSchemasSingleResponse = ZeroTrustGatewayApiResponseSingle & {
+  result?: ZeroTrustGatewayRules;
 };
 
 /**
- * SSL properties for the custom hostname.
+ * The API resource UUID.
+ *
+ * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
+ * @maxLength 36
  */
-export type Ssl = {
-  /**
-   * A ubiquitous bundle has the highest probability of being verified everywhere, even by clients using outdated or unusual trust stores. An optimal bundle uses the shortest chain and newest intermediates. And the force bundle verifies the chain, but does not otherwise modify it.
-   *
-   * @default ubiquitous
-   * @example ubiquitous
-   */
-  bundle_method?: 'ubiquitous' | 'optimal' | 'force';
-  certificate_authority?: CertificateAuthority;
-  /**
-   * If a custom uploaded certificate is used.
-   *
-   * @example -----BEGIN CERTIFICATE-----\nMIIFJDCCBAygAwIBAgIQD0ifmj/Yi5NP/2gdUySbfzANBgkqhkiG9w0BAQsFADBN\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMScwJQYDVQQDEx5E...SzSHfXp5lnu/3V08I72q1QNzOCgY1XeL4GKVcj4or6cT6tX6oJH7ePPmfrBfqI/O\nOeH8gMJ+FuwtXYEPa4hBf38M5eU5xWG7\n-----END CERTIFICATE-----\n
-   */
-  custom_certificate?: string;
-  /**
-   * The identifier for the Custom CSR that was used.
-   *
-   * @example 7b163417-1d2b-4c84-a38a-2fb7a0cd7752
-   */
-  custom_csr_id?: string;
-  /**
-     * The key for a custom uploaded certificate.
-     *
-     * @example -----BEGIN RSA PRIVATE KEY-----
-    MIIEowIBAAKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmG
-    dtcGbg/1CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKn
-    abIRuGvBKwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpid
-    tnKX/a+50GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+py
-    FxIXjbEIdZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pE
-    ewooaeO2izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABAoIBACbhTYXBZYKmYPCb
-    HBR1IBlCQA2nLGf0qRuJNJZg5iEzXows/6tc8YymZkQE7nolapWsQ+upk2y5Xdp/
-    axiuprIs9JzkYK8Ox0r+dlwCG1kSW+UAbX0bQ/qUqlsTvU6muVuMP8vZYHxJ3wmb
-    +ufRBKztPTQ/rYWaYQcgC0RWI20HTFBMxlTAyNxYNWzX7RKFkGVVyB9RsAtmcc8g
-    +j4OdosbfNoJPS0HeIfNpAznDfHKdxDk2Yc1tV6RHBrC1ynyLE9+TaflIAdo2MVv
-    KLMLq51GqYKtgJFIlBRPQqKoyXdz3fGvXrTkf/WY9QNq0J1Vk5ERePZ54mN8iZB7
-    9lwy/AkCgYEA6FXzosxswaJ2wQLeoYc7ceaweX/SwTvxHgXzRyJIIT0eJWgx13Wo
-    /WA3Iziimsjf6qE+SI/8laxPp2A86VMaIt3Z3mJN/CqSVGw8LK2AQst+OwdPyDMu
-    iacE8lj/IFGC8mwNUAb9CzGU3JpU4PxxGFjS/eMtGeRXCWkK4NE+G08CgYEA1Kp9
-    N2JrVlqUz+gAX+LPmE9OEMAS9WQSQsfCHGogIFDGGcNf7+uwBM7GAaSJIP01zcoe
-    VAgWdzXCv3FLhsaZoJ6RyLOLay5phbu1iaTr4UNYm5WtYTzMzqh8l1+MFFDl9xDB
-    vULuCIIrglM5MeS/qnSg1uMoH2oVPj9TVst/ir8CgYEAxrI7Ws9Zc4Bt70N1As+U
-    lySjaEVZCMkqvHJ6TCuVZFfQoE0r0whdLdRLU2PsLFP+q7qaeZQqgBaNSKeVcDYR
-    9B+nY/jOmQoPewPVsp/vQTCnE/R81spu0mp0YI6cIheT1Z9zAy322svcc43JaWB7
-    mEbeqyLOP4Z4qSOcmghZBSECgYACvR9Xs0DGn+wCsW4vze/2ei77MD4OQvepPIFX
-    dFZtlBy5ADcgE9z0cuVB6CiL8DbdK5kwY9pGNr8HUCI03iHkW6Zs+0L0YmihfEVe
-    PG19PSzK9CaDdhD9KFZSbLyVFmWfxOt50H7YRTTiPMgjyFpfi5j2q348yVT0tEQS
-    fhRqaQKBgAcWPokmJ7EbYQGeMbS7HC8eWO/RyamlnSffdCdSc7ue3zdVJxpAkQ8W
-    qu80pEIF6raIQfAf8MXiiZ7auFOSnHQTXUbhCpvDLKi0Mwq3G8Pl07l+2s6dQG6T
-    lv6XTQaMyf6n1yjzL+fzDrH3qXMxHMO/b13EePXpDMpY7HQpoLDi
-    -----END RSA PRIVATE KEY-----
-     */
-  custom_key?: string;
-  /**
-   * The time the custom certificate expires on.
-   *
-   * @example 2021-02-06T18:11:23.531995Z
-   * @format date-time
-   */
-  expires_on?: string;
+export type ZeroTrustGatewayRulesComponentsSchemasUuid = string;
+
+/**
+ * Sandbox settings.
+ */
+export type ZeroTrustGatewaySandbox = {
   /**
-   * A list of Hostnames on a custom uploaded certificate.
+   * Enable sandbox.
    *
-   * @example app.example.com
-   * @example *.app.example.com
+   * @example true
    */
-  hosts?: any[];
+  enabled?: boolean;
   /**
-   * Custom hostname SSL identifier tag.
-   *
-   * @example 0d89c70d-ad9f-4843-b99f-6cc0252067e9
-   * @maxLength 36
-   * @minLength 36
+   * Action to take when the file cannot be scanned.
    */
-  id?: string;
+  fallback_action?: 'allow' | 'block';
+};
+
+/**
+ * The schedule for activating DNS policies. This does not apply to HTTP or network policies.
+ */
+export type ZeroTrustGatewaySchedule = {
   /**
-   * The issuer on a custom uploaded certificate.
+   * The time intervals when the rule will be active on Fridays, in increasing order from 00:00-24:00.  If this parameter is omitted, the rule will be deactivated on Fridays.
    *
-   * @example DigiCertInc
+   * @example 08:00-12:30,13:30-17:00
    */
-  issuer?: string;
+  fri?: string;
   /**
-   * Domain control validation (DCV) method used for this hostname.
+   * The time intervals when the rule will be active on Mondays, in increasing order from 00:00-24:00. If this parameter is omitted, the rule will be deactivated on Mondays.
    *
-   * @example txt
+   * @example 08:00-12:30,13:30-17:00
    */
-  method?: 'http' | 'txt' | 'email';
+  mon?: string;
   /**
-   * The serial number on a custom uploaded certificate.
+   * The time intervals when the rule will be active on Saturdays, in increasing order from 00:00-24:00.  If this parameter is omitted, the rule will be deactivated on Saturdays.
    *
-   * @example 6743787633689793699141714808227354901
+   * @example 08:00-12:30,13:30-17:00
    */
-  serial_number?: string;
-  settings?: Sslsettings;
+  sat?: string;
   /**
-   * The signature on a custom uploaded certificate.
+   * The time intervals when the rule will be active on Sundays, in increasing order from 00:00-24:00. If this parameter is omitted, the rule will be deactivated on Sundays.
    *
-   * @example SHA256WithRSA
+   * @example 08:00-12:30,13:30-17:00
    */
-  signature?: string;
+  sun?: string;
   /**
-   * Status of the hostname's SSL certificates.
+   * The time intervals when the rule will be active on Thursdays, in increasing order from 00:00-24:00. If this parameter is omitted, the rule will be deactivated on Thursdays.
    *
-   * @example pending_validation
+   * @example 08:00-12:30,13:30-17:00
    */
-  status?:
-    | 'initializing'
-    | 'pending_validation'
-    | 'deleted'
-    | 'pending_issuance'
-    | 'pending_deployment'
-    | 'pending_deletion'
-    | 'pending_expiration'
-    | 'expired'
-    | 'active'
-    | 'initializing_timed_out'
-    | 'validation_timed_out'
-    | 'issuance_timed_out'
-    | 'deployment_timed_out'
-    | 'deletion_timed_out'
-    | 'pending_cleanup'
-    | 'staging_deployment'
-    | 'staging_active'
-    | 'deactivating'
-    | 'inactive'
-    | 'backup_issued'
-    | 'holding_deployment';
+  thu?: string;
   /**
-   * Level of validation to be used for this hostname. Domain validation (dv) must be used.
+   * The time zone the rule will be evaluated against. If a [valid time zone city name](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List) is provided, Gateway will always use the current time at that time zone. If this parameter is omitted, then Gateway will use the time zone inferred from the user's source IP to evaluate the rule. If Gateway cannot determine the time zone from the IP, we will fall back to the time zone of the user's connected data center.
    *
-   * @example dv
+   * @example America/New York
    */
-  type?: 'dv';
+  time_zone?: string;
   /**
-   * The time the custom certificate was uploaded.
+   * The time intervals when the rule will be active on Tuesdays, in increasing order from 00:00-24:00. If this parameter is omitted, the rule will be deactivated on Tuesdays.
    *
-   * @example 2020-02-06T18:11:23.531995Z
-   * @format date-time
-   */
-  uploaded_on?: string;
-  /**
-   * Domain validation errors that have been received by the certificate authority (CA).
+   * @example 08:00-12:30,13:30-17:00
    */
-  validation_errors?: {
-    /**
-     * A domain validation error.
-     *
-     * @example SERVFAIL looking up CAA for app.example.com
-     */
-    message?: string;
-  }[];
-  validation_records?: ValidationRecord[];
+  tue?: string;
   /**
-   * Indicates whether the certificate covers a wildcard.
+   * The time intervals when the rule will be active on Wednesdays, in increasing order from 00:00-24:00. If this parameter is omitted, the rule will be deactivated on Wednesdays.
    *
-   * @example false
+   * @example 08:00-12:30,13:30-17:00
    */
-  wildcard?: boolean;
+  wed?: string;
 };
 
 /**
- * SSL encrypts your visitor's connection and safeguards credit card numbers and other personal data to and from your website. SSL can take up to 5 minutes to fully activate. Requires Cloudflare active on your root domain or www domain. Off: no SSL between the visitor and Cloudflare, and no SSL between Cloudflare and your web server  (all HTTP traffic). Flexible: SSL between the visitor and Cloudflare -- visitor sees HTTPS on your site, but no SSL between Cloudflare and your web server. You don't need to have an SSL cert on your web server, but your vistors will still see the site as being HTTPS enabled. Full:  SSL between the visitor and Cloudflare -- visitor sees HTTPS on your site, and SSL between Cloudflare and your web server. You'll need to have your own SSL cert or self-signed cert at the very least. Full (Strict): SSL between the visitor and Cloudflare -- visitor sees HTTPS on your site, and SSL between Cloudflare and your web server. You'll need to have a valid SSL certificate installed on your web server. This certificate must be signed by a certificate authority, have an expiration date in the future, and respond for the request domain name (hostname). (https://support.cloudflare.com/hc/en-us/articles/200170416).
+ * The description of the rule.
+ *
+ * @example Block bad websites based on their host name.
+ */
+export type ZeroTrustGatewaySchemasDescription = string;
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type ZeroTrustGatewaySchemasIdentifier = string;
+
+/**
+ * The name of the location.
+ *
+ * @example Austin Office Location
+ */
+export type ZeroTrustGatewaySchemasName = string;
+
+export type ZeroTrustGatewaySchemasResponseCollection = ZeroTrustGatewayApiResponseCollection & {
+  result?: ZeroTrustGatewayLists[];
+};
+
+export type ZeroTrustGatewaySchemasSingleResponse = ZeroTrustGatewayApiResponseSingle & {
+  result?: ZeroTrustGatewayLists;
+};
+
+/**
+ * The subdomain to be used as the destination in the proxy client.
+ *
+ * @example oli3n9zkz5.proxy.cloudflare-gateway.com
+ */
+export type ZeroTrustGatewaySchemasSubdomain = string;
+
+/**
+ * The type of list.
+ *
+ * @example SERIAL
+ */
+export type ZeroTrustGatewaySchemasType = 'SERIAL' | 'URL' | 'DOMAIN' | 'EMAIL' | 'IP';
+
+/**
+ * API Resource UUID tag.
+ *
+ * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
+ * @maxLength 36
+ */
+export type ZeroTrustGatewaySchemasUuid = string;
+
+export type ZeroTrustGatewaySettings = {
+  created_at?: ZeroTrustGatewayTimestamp;
+  public_key?: ZeroTrustGatewayPublicKey;
+  seed_id?: ZeroTrustGatewayAuditSshSettingsComponentsSchemasUuid;
+  updated_at?: ZeroTrustGatewayTimestamp;
+};
+
+export type ZeroTrustGatewaySingleResponse = ZeroTrustGatewayApiResponseSingle & {
+  result?: ZeroTrustGatewayCertificates;
+};
+
+export type ZeroTrustGatewaySingleResponseWithListItems = ZeroTrustGatewayApiResponseSingle & {
+  result?: {
+    created_at?: ZeroTrustGatewayTimestamp;
+    description?: ZeroTrustGatewayDescription;
+    id?: ZeroTrustGatewaySchemasUuid;
+    items?: ZeroTrustGatewayItems;
+    name?: ZeroTrustGatewayName;
+    type?: ZeroTrustGatewaySchemasType;
+    updated_at?: ZeroTrustGatewayTimestamp;
+  };
+};
+
+export type ZeroTrustGatewaySubcategory = {
+  beta?: ZeroTrustGatewayBeta;
+  ['class']?: ZeroTrustGatewayClass;
+  description?: ZeroTrustGatewayComponentsSchemasDescription;
+  id?: ZeroTrustGatewayId;
+  name?: ZeroTrustGatewayCategoriesComponentsSchemasName;
+};
+
+/**
+ * The DNS over HTTPS domain to send DNS requests to. This field is auto-generated by Gateway.
+ *
+ * @example oli3n9zkz5
+ */
+export type ZeroTrustGatewaySubdomain = string;
+
+/**
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
+ */
+export type ZeroTrustGatewayTimestamp = string;
+
+/**
+ * TLS interception settings.
  */
-export type SslCvCTPIf1 = {
+export type ZeroTrustGatewayTlsSettings = {
   /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   * Enable inspecting encrypted HTTP traffic.
    *
-   * @default true
+   * @example true
    */
-  editable?: true | false;
+  enabled?: boolean;
+};
+
+/**
+ * The wirefilter expression used for traffic matching.
+ *
+ * @example http.request.uri matches ".*a/partial/uri.*" and http.request.host in $01302951-49f9-47c9-a400-0297e60b6a10
+ */
+export type ZeroTrustGatewayTraffic = string;
+
+/**
+ * The type of certificate, either BYO-PKI (custom) or Gateway-managed.
+ *
+ * @example gateway_managed
+ */
+export type ZeroTrustGatewayType = 'custom' | 'gateway_managed';
+
+/**
+ * Certificate UUID tag.
+ *
+ * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
+ * @maxLength 36
+ */
+export type ZeroTrustGatewayUuid = string;
+
+/**
+ * The value of the item in a list.
+ *
+ * @example 8GE8721REF
+ */
+export type ZeroTrustGatewayValue = string;
+
+/**
+ * version number of the rule
+ *
+ * @example 1
+ */
+export type ZeroTrustGatewayVersion = number;
+
+export type ZoneActivationApiResponseCommon = {
+  errors: ZoneActivationMessages;
+  messages: ZoneActivationMessages;
   /**
-   * ID of the zone setting.
+   * Whether the API call was successful
    *
-   * @example ssl
+   * @example true
    */
-  id: 'ssl';
+  success: true;
+};
+
+export type ZoneActivationApiResponseCommonFailure = {
   /**
-   * last time this setting was modified.
-   *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
    */
-  modified_on?: string | null;
+  errors: ZoneActivationMessages;
+  messages: ZoneActivationMessages;
+  result: any | null;
   /**
-   * Current value of the zone setting.
+   * Whether the API call was successful
    *
-   * @example on
+   * @example false
    */
-  value: SslValue;
+  success: false;
 };
 
+export type ZoneActivationApiResponseSingle = ZoneActivationApiResponseCommon;
+
 /**
- * SSL properties for the custom hostname.
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type SslReUR6bMS = {
-  /**
-   * A ubiquitous bundle has the highest probability of being verified everywhere, even by clients using outdated or unusual trust stores. An optimal bundle uses the shortest chain and newest intermediates. And the force bundle verifies the chain, but does not otherwise modify it.
-   *
-   * @default ubiquitous
-   * @example ubiquitous
-   */
-  bundle_method?: 'ubiquitous' | 'optimal' | 'force';
-  /**
-   * The Certificate Authority that has issued this certificate.
-   *
-   * @example digicert
-   */
-  certificate_authority?: 'digicert' | 'google' | 'lets_encrypt';
-  /**
-   * If a custom uploaded certificate is used.
-   *
-   * @example -----BEGIN CERTIFICATE-----\nMIIFJDCCBAygAwIBAgIQD0ifmj/Yi5NP/2gdUySbfzANBgkqhkiG9w0BAQsFADBN\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMScwJQYDVQQDEx5E...SzSHfXp5lnu/3V08I72q1QNzOCgY1XeL4GKVcj4or6cT6tX6oJH7ePPmfrBfqI/O\nOeH8gMJ+FuwtXYEPa4hBf38M5eU5xWG7\n-----END CERTIFICATE-----\n
-   */
-  custom_certificate?: string;
-  /**
-   * The identifier for the Custom CSR that was used.
-   *
-   * @example 7b163417-1d2b-4c84-a38a-2fb7a0cd7752
-   */
-  custom_csr_id?: string;
-  /**
-     * The key for a custom uploaded certificate.
-     *
-     * @example -----BEGIN RSA PRIVATE KEY-----
-    MIIEowIBAAKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmG
-    dtcGbg/1CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKn
-    abIRuGvBKwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpid
-    tnKX/a+50GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+py
-    FxIXjbEIdZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pE
-    ewooaeO2izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABAoIBACbhTYXBZYKmYPCb
-    HBR1IBlCQA2nLGf0qRuJNJZg5iEzXows/6tc8YymZkQE7nolapWsQ+upk2y5Xdp/
-    axiuprIs9JzkYK8Ox0r+dlwCG1kSW+UAbX0bQ/qUqlsTvU6muVuMP8vZYHxJ3wmb
-    +ufRBKztPTQ/rYWaYQcgC0RWI20HTFBMxlTAyNxYNWzX7RKFkGVVyB9RsAtmcc8g
-    +j4OdosbfNoJPS0HeIfNpAznDfHKdxDk2Yc1tV6RHBrC1ynyLE9+TaflIAdo2MVv
-    KLMLq51GqYKtgJFIlBRPQqKoyXdz3fGvXrTkf/WY9QNq0J1Vk5ERePZ54mN8iZB7
-    9lwy/AkCgYEA6FXzosxswaJ2wQLeoYc7ceaweX/SwTvxHgXzRyJIIT0eJWgx13Wo
-    /WA3Iziimsjf6qE+SI/8laxPp2A86VMaIt3Z3mJN/CqSVGw8LK2AQst+OwdPyDMu
-    iacE8lj/IFGC8mwNUAb9CzGU3JpU4PxxGFjS/eMtGeRXCWkK4NE+G08CgYEA1Kp9
-    N2JrVlqUz+gAX+LPmE9OEMAS9WQSQsfCHGogIFDGGcNf7+uwBM7GAaSJIP01zcoe
-    VAgWdzXCv3FLhsaZoJ6RyLOLay5phbu1iaTr4UNYm5WtYTzMzqh8l1+MFFDl9xDB
-    vULuCIIrglM5MeS/qnSg1uMoH2oVPj9TVst/ir8CgYEAxrI7Ws9Zc4Bt70N1As+U
-    lySjaEVZCMkqvHJ6TCuVZFfQoE0r0whdLdRLU2PsLFP+q7qaeZQqgBaNSKeVcDYR
-    9B+nY/jOmQoPewPVsp/vQTCnE/R81spu0mp0YI6cIheT1Z9zAy322svcc43JaWB7
-    mEbeqyLOP4Z4qSOcmghZBSECgYACvR9Xs0DGn+wCsW4vze/2ei77MD4OQvepPIFX
-    dFZtlBy5ADcgE9z0cuVB6CiL8DbdK5kwY9pGNr8HUCI03iHkW6Zs+0L0YmihfEVe
-    PG19PSzK9CaDdhD9KFZSbLyVFmWfxOt50H7YRTTiPMgjyFpfi5j2q348yVT0tEQS
-    fhRqaQKBgAcWPokmJ7EbYQGeMbS7HC8eWO/RyamlnSffdCdSc7ue3zdVJxpAkQ8W
-    qu80pEIF6raIQfAf8MXiiZ7auFOSnHQTXUbhCpvDLKi0Mwq3G8Pl07l+2s6dQG6T
-    lv6XTQaMyf6n1yjzL+fzDrH3qXMxHMO/b13EePXpDMpY7HQpoLDi
-    -----END RSA PRIVATE KEY-----
-     */
-  custom_key?: string;
+export type ZoneActivationIdentifier = string;
+
+export type ZoneActivationMessages = {
   /**
-   * The time the custom certificate expires on.
-   *
-   * @example 2021-02-06T18:11:23.531995Z
-   * @format date-time
+   * @minimum 1000
    */
-  expires_on?: string;
+  code: number;
+  message: string;
+}[];
+
+export type ZoneAnalyticsApiApiResponseCommon = {
+  errors: ZoneAnalyticsApiMessages;
+  messages: ZoneAnalyticsApiMessages;
+  result: Record<string, any> | any[] | string;
   /**
-   * A list of Hostnames on a custom uploaded certificate.
+   * Whether the API call was successful
    *
-   * @example app.example.com
-   * @example *.app.example.com
+   * @example true
    */
-  hosts?: any[];
+  success: true;
+};
+
+export type ZoneAnalyticsApiApiResponseCommonFailure = {
   /**
-   * Custom hostname SSL identifier tag.
-   *
-   * @example 0d89c70d-ad9f-4843-b99f-6cc0252067e9
-   * @maxLength 36
-   * @minLength 36
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
    */
-  id?: string;
+  errors: ZoneAnalyticsApiMessages;
+  messages: ZoneAnalyticsApiMessages;
+  result: any | null;
   /**
-   * The issuer on a custom uploaded certificate.
+   * Whether the API call was successful
    *
-   * @example DigiCertInc
+   * @example false
    */
-  issuer?: string;
+  success: false;
+};
+
+export type ZoneAnalyticsApiApiResponseSingle = {
+  errors: ZoneAnalyticsApiMessages;
+  messages: ZoneAnalyticsApiMessages;
+  result: (Record<string, any> | null) | (string | null) | string;
   /**
-   * Domain control validation (DCV) method used for this hostname.
+   * Whether the API call was successful
    *
-   * @example txt
+   * @example true
    */
-  method?: 'http' | 'txt' | 'email';
+  success: true;
+};
+
+/**
+ * Breakdown of totals for bandwidth in the form of bytes.
+ */
+export type ZoneAnalyticsApiBandwidth = {
   /**
-   * The serial number on a custom uploaded certificate.
-   *
-   * @example 6743787633689793699141714808227354901
+   * The total number of bytes served within the time frame.
    */
-  serial_number?: string;
-  settings?: Sslsettings;
+  all?: number;
   /**
-   * The signature on a custom uploaded certificate.
-   *
-   * @example SHA256WithRSA
+   * The number of bytes that were cached (and served) by Cloudflare.
    */
-  signature?: string;
+  cached?: number;
   /**
-   * Status of the hostname's SSL certificates.
+   * A variable list of key/value pairs where the key represents the type of content served, and the value is the number in bytes served.
    *
-   * @example pending_validation
+   * @example {"css":237421,"gif":1234242,"html":1231290,"javascript":123245,"jpeg":784278}
    */
-  status?:
-    | 'initializing'
-    | 'pending_validation'
-    | 'deleted'
-    | 'pending_issuance'
-    | 'pending_deployment'
-    | 'pending_deletion'
-    | 'pending_expiration'
-    | 'expired'
-    | 'active'
-    | 'initializing_timed_out'
-    | 'validation_timed_out'
-    | 'issuance_timed_out'
-    | 'deployment_timed_out'
-    | 'deletion_timed_out'
-    | 'pending_cleanup'
-    | 'staging_deployment'
-    | 'staging_active'
-    | 'deactivating'
-    | 'inactive'
-    | 'backup_issued'
-    | 'holding_deployment';
+  content_type?: Record<string, any>;
   /**
-   * Level of validation to be used for this hostname. Domain validation (dv) must be used.
+   * A variable list of key/value pairs where the key is a two-digit country code and the value is the number of bytes served to that country.
    *
-   * @example dv
+   * @example {"AG":2342483,"GI":984753,"US":123145433}
    */
-  type?: 'dv';
+  country?: Record<string, any>;
   /**
-   * The time the custom certificate was uploaded.
-   *
-   * @example 2020-02-06T18:11:23.531995Z
-   * @format date-time
+   * A break down of bytes served over HTTPS.
    */
-  uploaded_on?: string;
+  ssl?: {
+    /**
+     * The number of bytes served over HTTPS.
+     */
+    encrypted?: number;
+    /**
+     * The number of bytes served over HTTP.
+     */
+    unencrypted?: number;
+  };
   /**
-   * Domain validation errors that have been received by the certificate authority (CA).
+   * A breakdown of requests by their SSL protocol.
    */
-  validation_errors?: {
+  ssl_protocols?: {
     /**
-     * A domain validation error.
-     *
-     * @example SERVFAIL looking up CAA for app.example.com
+     * The number of requests served over TLS v1.0.
      */
-    message?: string;
-  }[];
-  validation_records?: ValidationRecord[];
+    TLSv1?: number;
+    /**
+     * The number of requests served over TLS v1.1.
+     */
+    ['TLSv1.1']?: number;
+    /**
+     * The number of requests served over TLS v1.2.
+     */
+    ['TLSv1.2']?: number;
+    /**
+     * The number of requests served over TLS v1.3.
+     */
+    ['TLSv1.3']?: number;
+    /**
+     * The number of requests served over HTTP.
+     */
+    none?: number;
+  };
   /**
-   * Indicates whether the certificate covers a wildcard.
-   *
-   * @example false
+   * The number of bytes that were fetched and served from the origin server.
    */
-  wildcard?: boolean;
+  uncached?: number;
 };
 
 /**
- * @example strict
- */
-export type SslRecommenderComponentsSchemasValue = 'flexible' | 'full' | 'strict';
-
-/**
- * Enrollment in the SSL/TLS Recommender service which tries to detect and recommend (by sending periodic emails) the most secure SSL/TLS setting your origin servers support.
+ * Breakdown of totals for bandwidth in the form of bytes.
  */
-export type SslRecommender = {
-  enabled?: SslRecommenderEnabled;
+export type ZoneAnalyticsApiBandwidthByColo = {
   /**
-   * Enrollment value for SSL/TLS Recommender.
-   *
-   * @example ssl_recommender
+   * The total number of bytes served within the time frame.
    */
-  id?: 'ssl_recommender';
-  editable?: Editable;
-  modified_on?: ModifiedOnDrYUvDnK;
-};
-
-/**
- * ssl-recommender enrollment setting.
- *
- * @default false
- */
-export type SslRecommenderEnabled = boolean;
-
-export type SslUniversalSettingsResponse = ApiResponseSingleZZHeSkIR & {
-  result?: Universal;
-};
-
-export type SslUniversalSettingsResponseIrXB89fE = ApiResponseSingleLarS7owG & {
-  result?: Universal;
-};
-
-export type SslValidationMethodResponseCollection = ApiResponseSingleZZHeSkIR & {
-  result?: {
-    status?: ValidationMethodComponentsSchemasStatus;
-    validation_method?: ValidationMethodDefinition;
-  };
+  all?: number;
+  /**
+   * The number of bytes that were cached (and served) by Cloudflare.
+   */
+  cached?: number;
+  /**
+   * The number of bytes that were fetched and served from the origin server.
+   */
+  uncached?: number;
 };
 
-export type SslValidationMethodResponseCollectionRqiHfQar = ApiResponseSingleLarS7owG & {
-  result?: {
-    status?: ValidationMethodComponentsSchemasStatus;
-    validation_method?: ValidationMethodDefinition;
-  };
+export type ZoneAnalyticsApiColoResponse = ZoneAnalyticsApiApiResponseSingle & {
+  query?: ZoneAnalyticsApiQueryResponse;
+  result?: ZoneAnalyticsApiDatacenters;
 };
 
 /**
- * Value of the zone setting.
- * Notes: Depends on the zone's plan level
- *
- * @default off
+ * Totals and timeseries data.
  */
-export type SslValue = 'off' | 'flexible' | 'full' | 'strict';
+export type ZoneAnalyticsApiDashboard = {
+  timeseries?: ZoneAnalyticsApiTimeseries;
+  totals?: ZoneAnalyticsApiTotals;
+};
 
-export type SslVerificationResponseCollection = {
-  result?: Verification[];
+export type ZoneAnalyticsApiDashboardResponse = ZoneAnalyticsApiApiResponseSingle & {
+  query?: ZoneAnalyticsApiQueryResponse;
+  result?: ZoneAnalyticsApiDashboard;
 };
 
 /**
- * SSL properties used when creating the custom hostname.
+ * A breakdown of all dashboard analytics data by co-locations. This is limited to Enterprise zones only.
  */
-export type Sslpost = {
+export type ZoneAnalyticsApiDatacenters = {
   /**
-   * A ubiquitous bundle has the highest probability of being verified everywhere, even by clients using outdated or unusual trust stores. An optimal bundle uses the shortest chain and newest intermediates. And the force bundle verifies the chain, but does not otherwise modify it.
-   *
-   * @default ubiquitous
-   * @example ubiquitous
-   */
-  bundle_method?: 'ubiquitous' | 'optimal' | 'force';
-  certificate_authority?: CertificateAuthority;
-  /**
-   * If a custom uploaded certificate is used.
+   * The airport code identifer for the co-location.
    *
-   * @example -----BEGIN CERTIFICATE-----\nMIIFJDCCBAygAwIBAgIQD0ifmj/Yi5NP/2gdUySbfzANBgkqhkiG9w0BAQsFADBN\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMScwJQYDVQQDEx5E...SzSHfXp5lnu/3V08I72q1QNzOCgY1XeL4GKVcj4or6cT6tX6oJH7ePPmfrBfqI/O\nOeH8gMJ+FuwtXYEPa4hBf38M5eU5xWG7\n-----END CERTIFICATE-----\n
+   * @example SFO
    */
-  custom_certificate?: string;
-  /**
-     * The key for a custom uploaded certificate.
-     *
-     * @example -----BEGIN RSA PRIVATE KEY-----
-    MIIEowIBAAKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmG
-    dtcGbg/1CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKn
-    abIRuGvBKwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpid
-    tnKX/a+50GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+py
-    FxIXjbEIdZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pE
-    ewooaeO2izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABAoIBACbhTYXBZYKmYPCb
-    HBR1IBlCQA2nLGf0qRuJNJZg5iEzXows/6tc8YymZkQE7nolapWsQ+upk2y5Xdp/
-    axiuprIs9JzkYK8Ox0r+dlwCG1kSW+UAbX0bQ/qUqlsTvU6muVuMP8vZYHxJ3wmb
-    +ufRBKztPTQ/rYWaYQcgC0RWI20HTFBMxlTAyNxYNWzX7RKFkGVVyB9RsAtmcc8g
-    +j4OdosbfNoJPS0HeIfNpAznDfHKdxDk2Yc1tV6RHBrC1ynyLE9+TaflIAdo2MVv
-    KLMLq51GqYKtgJFIlBRPQqKoyXdz3fGvXrTkf/WY9QNq0J1Vk5ERePZ54mN8iZB7
-    9lwy/AkCgYEA6FXzosxswaJ2wQLeoYc7ceaweX/SwTvxHgXzRyJIIT0eJWgx13Wo
-    /WA3Iziimsjf6qE+SI/8laxPp2A86VMaIt3Z3mJN/CqSVGw8LK2AQst+OwdPyDMu
-    iacE8lj/IFGC8mwNUAb9CzGU3JpU4PxxGFjS/eMtGeRXCWkK4NE+G08CgYEA1Kp9
-    N2JrVlqUz+gAX+LPmE9OEMAS9WQSQsfCHGogIFDGGcNf7+uwBM7GAaSJIP01zcoe
-    VAgWdzXCv3FLhsaZoJ6RyLOLay5phbu1iaTr4UNYm5WtYTzMzqh8l1+MFFDl9xDB
-    vULuCIIrglM5MeS/qnSg1uMoH2oVPj9TVst/ir8CgYEAxrI7Ws9Zc4Bt70N1As+U
-    lySjaEVZCMkqvHJ6TCuVZFfQoE0r0whdLdRLU2PsLFP+q7qaeZQqgBaNSKeVcDYR
-    9B+nY/jOmQoPewPVsp/vQTCnE/R81spu0mp0YI6cIheT1Z9zAy322svcc43JaWB7
-    mEbeqyLOP4Z4qSOcmghZBSECgYACvR9Xs0DGn+wCsW4vze/2ei77MD4OQvepPIFX
-    dFZtlBy5ADcgE9z0cuVB6CiL8DbdK5kwY9pGNr8HUCI03iHkW6Zs+0L0YmihfEVe
-    PG19PSzK9CaDdhD9KFZSbLyVFmWfxOt50H7YRTTiPMgjyFpfi5j2q348yVT0tEQS
-    fhRqaQKBgAcWPokmJ7EbYQGeMbS7HC8eWO/RyamlnSffdCdSc7ue3zdVJxpAkQ8W
-    qu80pEIF6raIQfAf8MXiiZ7auFOSnHQTXUbhCpvDLKi0Mwq3G8Pl07l+2s6dQG6T
-    lv6XTQaMyf6n1yjzL+fzDrH3qXMxHMO/b13EePXpDMpY7HQpoLDi
-    -----END RSA PRIVATE KEY-----
-     */
-  custom_key?: string;
+  colo_id?: string;
+  timeseries?: ZoneAnalyticsApiTimeseriesByColo;
+  totals?: ZoneAnalyticsApiTotalsByColo;
+}[];
+
+/**
+ * Identifier
+ *
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
+ */
+export type ZoneAnalyticsApiIdentifier = string;
+
+export type ZoneAnalyticsApiMessages = {
   /**
-   * Domain control validation (DCV) method used for this hostname.
-   *
-   * @example http
+   * @minimum 1000
    */
-  method?: 'http' | 'txt' | 'email';
-  settings?: Sslsettings;
+  code: number;
+  message: string;
+}[];
+
+/**
+ * Breakdown of totals for pageviews.
+ */
+export type ZoneAnalyticsApiPageviews = {
   /**
-   * Level of validation to be used for this hostname. Domain validation (dv) must be used.
-   *
-   * @example dv
+   * The total number of pageviews served within the time range.
    */
-  type?: 'dv';
+  all?: number;
   /**
-   * Indicates whether the certificate covers a wildcard.
+   * A variable list of key/value pairs representing the search engine and number of hits.
    *
-   * @example false
+   * @example {"baidubot":1345,"bingbot":5372,"googlebot":35272,"pingdom":13435}
    */
-  wildcard?: boolean;
+  search_engine?: Record<string, any>;
 };
 
 /**
- * SSL properties used when creating the custom hostname.
+ * The exact parameters/timestamps the analytics service used to return data.
  */
-export type Sslpost65QZWRdf = {
+export type ZoneAnalyticsApiQueryResponse = {
+  since?: ZoneAnalyticsApiSince;
   /**
-   * A ubiquitous bundle has the highest probability of being verified everywhere, even by clients using outdated or unusual trust stores. An optimal bundle uses the shortest chain and newest intermediates. And the force bundle verifies the chain, but does not otherwise modify it.
-   *
-   * @default ubiquitous
-   * @example ubiquitous
-   */
-  bundle_method?: 'ubiquitous' | 'optimal' | 'force';
-  /**
-   * If a custom uploaded certificate is used.
-   *
-   * @example -----BEGIN CERTIFICATE-----\nMIIFJDCCBAygAwIBAgIQD0ifmj/Yi5NP/2gdUySbfzANBgkqhkiG9w0BAQsFADBN\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMScwJQYDVQQDEx5E...SzSHfXp5lnu/3V08I72q1QNzOCgY1XeL4GKVcj4or6cT6tX6oJH7ePPmfrBfqI/O\nOeH8gMJ+FuwtXYEPa4hBf38M5eU5xWG7\n-----END CERTIFICATE-----\n
+   * The amount of time (in minutes) that each data point in the timeseries represents. The granularity of the time-series returned (e.g. each bucket in the time series representing 1-minute vs 1-day) is calculated by the API based on the time-range provided to the API.
    */
-  custom_certificate?: string;
-  /**
-     * The key for a custom uploaded certificate.
-     *
-     * @example -----BEGIN RSA PRIVATE KEY-----
-    MIIEowIBAAKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmG
-    dtcGbg/1CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKn
-    abIRuGvBKwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpid
-    tnKX/a+50GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+py
-    FxIXjbEIdZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pE
-    ewooaeO2izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABAoIBACbhTYXBZYKmYPCb
-    HBR1IBlCQA2nLGf0qRuJNJZg5iEzXows/6tc8YymZkQE7nolapWsQ+upk2y5Xdp/
-    axiuprIs9JzkYK8Ox0r+dlwCG1kSW+UAbX0bQ/qUqlsTvU6muVuMP8vZYHxJ3wmb
-    +ufRBKztPTQ/rYWaYQcgC0RWI20HTFBMxlTAyNxYNWzX7RKFkGVVyB9RsAtmcc8g
-    +j4OdosbfNoJPS0HeIfNpAznDfHKdxDk2Yc1tV6RHBrC1ynyLE9+TaflIAdo2MVv
-    KLMLq51GqYKtgJFIlBRPQqKoyXdz3fGvXrTkf/WY9QNq0J1Vk5ERePZ54mN8iZB7
-    9lwy/AkCgYEA6FXzosxswaJ2wQLeoYc7ceaweX/SwTvxHgXzRyJIIT0eJWgx13Wo
-    /WA3Iziimsjf6qE+SI/8laxPp2A86VMaIt3Z3mJN/CqSVGw8LK2AQst+OwdPyDMu
-    iacE8lj/IFGC8mwNUAb9CzGU3JpU4PxxGFjS/eMtGeRXCWkK4NE+G08CgYEA1Kp9
-    N2JrVlqUz+gAX+LPmE9OEMAS9WQSQsfCHGogIFDGGcNf7+uwBM7GAaSJIP01zcoe
-    VAgWdzXCv3FLhsaZoJ6RyLOLay5phbu1iaTr4UNYm5WtYTzMzqh8l1+MFFDl9xDB
-    vULuCIIrglM5MeS/qnSg1uMoH2oVPj9TVst/ir8CgYEAxrI7Ws9Zc4Bt70N1As+U
-    lySjaEVZCMkqvHJ6TCuVZFfQoE0r0whdLdRLU2PsLFP+q7qaeZQqgBaNSKeVcDYR
-    9B+nY/jOmQoPewPVsp/vQTCnE/R81spu0mp0YI6cIheT1Z9zAy322svcc43JaWB7
-    mEbeqyLOP4Z4qSOcmghZBSECgYACvR9Xs0DGn+wCsW4vze/2ei77MD4OQvepPIFX
-    dFZtlBy5ADcgE9z0cuVB6CiL8DbdK5kwY9pGNr8HUCI03iHkW6Zs+0L0YmihfEVe
-    PG19PSzK9CaDdhD9KFZSbLyVFmWfxOt50H7YRTTiPMgjyFpfi5j2q348yVT0tEQS
-    fhRqaQKBgAcWPokmJ7EbYQGeMbS7HC8eWO/RyamlnSffdCdSc7ue3zdVJxpAkQ8W
-    qu80pEIF6raIQfAf8MXiiZ7auFOSnHQTXUbhCpvDLKi0Mwq3G8Pl07l+2s6dQG6T
-    lv6XTQaMyf6n1yjzL+fzDrH3qXMxHMO/b13EePXpDMpY7HQpoLDi
-    -----END RSA PRIVATE KEY-----
-     */
-  custom_key?: string;
+  time_delta?: number;
+  until?: ZoneAnalyticsApiUntil;
+};
+
+/**
+ * Breakdown of totals for requests.
+ */
+export type ZoneAnalyticsApiRequests = {
   /**
-   * Domain control validation (DCV) method used for this hostname.
-   *
-   * @example http
+   * Total number of requests served.
    */
-  method?: 'http' | 'txt' | 'email';
-  settings?: Sslsettings;
+  all?: number;
   /**
-   * Level of validation to be used for this hostname. Domain validation (dv) must be used.
-   *
-   * @example dv
+   * Total number of cached requests served.
    */
-  type?: 'dv';
+  cached?: number;
   /**
-   * Indicates whether the certificate covers a wildcard.
+   * A variable list of key/value pairs where the key represents the type of content served, and the value is the number of requests.
    *
-   * @example false
+   * @example {"css":15343,"gif":23178,"html":1234213,"javascript":318236,"jpeg":1982048}
    */
-  wildcard?: boolean;
-};
-
-/**
- * SSL specific settings.
- */
-export type Sslsettings = {
+  content_type?: Record<string, any>;
   /**
-   * An allowlist of ciphers for TLS termination. These ciphers must be in the BoringSSL format.
+   * A variable list of key/value pairs where the key is a two-digit country code and the value is the number of requests served to that country.
    *
-   * @example ECDHE-RSA-AES128-GCM-SHA256
-   * @example AES128-SHA
-   * @uniqueItems true
+   * @example {"AG":37298,"GI":293846,"US":4181364}
    */
-  ciphers?: string[];
+  country?: Record<string, any>;
   /**
-   * Whether or not Early Hints is enabled.
+   * Key/value pairs where the key is a HTTP status code and the value is the number of requests served with that code.
    *
-   * @example on
+   * @example {"200":13496983,"301":283,"400":187936,"402":1828,"404":1293}
    */
-  early_hints?: 'on' | 'off';
+  http_status?: {
+    [key: string]: any;
+  };
   /**
-   * Whether or not HTTP2 is enabled.
-   *
-   * @example on
+   * A break down of requests served over HTTPS.
    */
-  http2?: 'on' | 'off';
+  ssl?: {
+    /**
+     * The number of requests served over HTTPS.
+     */
+    encrypted?: number;
+    /**
+     * The number of requests served over HTTP.
+     */
+    unencrypted?: number;
+  };
   /**
-   * The minimum TLS version supported.
-   *
-   * @example 1.2
+   * A breakdown of requests by their SSL protocol.
    */
-  min_tls_version?: '1.0' | '1.1' | '1.2' | '1.3';
+  ssl_protocols?: {
+    /**
+     * The number of requests served over TLS v1.0.
+     */
+    TLSv1?: number;
+    /**
+     * The number of requests served over TLS v1.1.
+     */
+    ['TLSv1.1']?: number;
+    /**
+     * The number of requests served over TLS v1.2.
+     */
+    ['TLSv1.2']?: number;
+    /**
+     * The number of requests served over TLS v1.3.
+     */
+    ['TLSv1.3']?: number;
+    /**
+     * The number of requests served over HTTP.
+     */
+    none?: number;
+  };
   /**
-   * Whether or not TLS 1.3 is enabled.
-   *
-   * @example on
+   * Total number of requests served from the origin.
    */
-  tls_1_3?: 'on' | 'off';
+  uncached?: number;
 };
 
 /**
- * The status of the deployment.
+ * Breakdown of totals for requests.
  */
-export type Stage = {
-  /**
-   * When the stage ended.
-   *
-   * @example 2021-03-09T00:58:59.045655
-   * @format date-time
-   */
-  ended_on?: string | null;
+export type ZoneAnalyticsApiRequestsByColo = {
   /**
-   * The current build stage.
-   *
-   * @example deploy
-   * @pattern queued|initialize|clone_repo|build|deploy
+   * Total number of requests served.
    */
-  name?: string;
+  all?: number;
   /**
-   * When the stage started.
-   *
-   * @example 2021-03-09T00:55:03.923456Z
-   * @format date-time
+   * Total number of cached requests served.
    */
-  started_on?: string | null;
+  cached?: number;
   /**
-   * State of the current stage.
+   * Key/value pairs where the key is a two-digit country code and the value is the number of requests served to that country.
    *
-   * @example success
-   * @pattern success|idle|active|failure|canceled
+   * @example {"AG":37298,"GI":293846,"US":4181364}
    */
-  status?: string;
-};
-
-export type StartEndParams = {
+  country?: {
+    [key: string]: any;
+  };
   /**
-   * Defaults to the current date.
+   * A variable list of key/value pairs where the key is a HTTP status code and the value is the number of requests with that code served.
    *
-   * @example 2021-04-30
-   * @format date
+   * @example {"200":13496983,"301":283,"400":187936,"402":1828,"404":1293}
    */
-  end?: string;
+  http_status?: Record<string, any>;
   /**
-   * Defaults to 30 days before the end parameter value.
-   *
-   * @example 2021-04-01
-   * @format date
+   * Total number of requests served from the origin.
    */
-  start?: string;
+  uncached?: number;
 };
 
 /**
- * Specifies the start time for the video clip in seconds.
- */
-export type StartTimeSeconds = number;
-
-/**
- * State, provided by the CSR
- *
- * @example CA
- */
-export type State = string;
-
-/**
- * The state that the subscription is in.
- *
- * @example Paid
- */
-export type State1Ns5GX0q = 'Trial' | 'Provisioned' | 'Paid' | 'AwaitingPayment' | 'Cancelled' | 'Failed' | 'Expired';
-
-/**
- * The current status of the origin server according to the health check.
- *
- * @example healthy
- */
-export type Status = 'unknown' | 'healthy' | 'unhealthy' | 'suspended';
-
-/**
- * Status of the token.
+ * The (inclusive) beginning of the requested time frame. This value can be a negative integer representing the number of minutes in the past relative to time the request is made, or can be an absolute timestamp that conforms to RFC 3339. At this point in time, it cannot exceed a time in the past greater than one year.
  *
- * @example active
- */
-export type Status0icsKVdQ = 'active' | 'disabled' | 'expired';
-
-/**
- * Status of the zone's custom SSL.
+ * Ranges that the Cloudflare web application provides will provide the following period length for each point:
+ * - Last 60 minutes (from -59 to -1): 1 minute resolution
+ * - Last 7 hours (from -419 to -60): 15 minutes resolution
+ * - Last 15 hours (from -899 to -420): 30 minutes resolution
+ * - Last 72 hours (from -4320 to -900): 1 hour resolution
+ * - Older than 3 days (-525600 to -4320): 1 day resolution.
  *
- * @example active
+ * @default -10080
+ * @example 2015-01-01T12:23:00Z
  */
-export type Status6huN0ErS = 'active' | 'expired' | 'deleted' | 'pending' | 'initializing';
+export type ZoneAnalyticsApiSince = string | number;
 
 /**
- * Status of DNSSEC, based on user-desired state and presence of necessary records.
- *
- * @example active
+ * Breakdown of totals for threats.
  */
-export type Status7l7v1BCo = 'active' | 'pending' | 'disabled' | 'pending-disabled' | 'error';
+export type ZoneAnalyticsApiThreats = {
+  /**
+   * The total number of identifiable threats received over the time frame.
+   */
+  all?: number;
+  /**
+   * A list of key/value pairs where the key is a two-digit country code and the value is the number of malicious requests received from that country.
+   *
+   * @example {"AU":91,"CN":523423,"US":123}
+   */
+  country?: Record<string, any>;
+  /**
+   * The list of key/value pairs where the key is a threat category and the value is the number of requests.
+   *
+   * @example {"hot.ban.unknown":5324,"macro.chl.captchaErr":1341,"macro.chl.jschlErr":5323,"user.ban.ip":123}
+   */
+  type?: Record<string, any>;
+};
 
 /**
- * @example queueing
+ * Time deltas containing metadata about each bucket of time. The number of buckets (resolution) is determined by the amount of time between the since and until parameters.
  */
-export type StatusCIis1Eze = 'event_prequeueing' | 'not_queueing' | 'queueing';
+export type ZoneAnalyticsApiTimeseries = {
+  bandwidth?: ZoneAnalyticsApiBandwidth;
+  pageviews?: ZoneAnalyticsApiPageviews;
+  requests?: ZoneAnalyticsApiRequests;
+  since?: ZoneAnalyticsApiSince;
+  threats?: ZoneAnalyticsApiThreats;
+  uniques?: ZoneAnalyticsApiUniques;
+  until?: ZoneAnalyticsApiUntil;
+}[];
 
 /**
- * The status of the Page Rule.
- *
- * @default disabled
- * @example active
+ * Time deltas containing metadata about each bucket of time. The number of buckets (resolution) is determined by the amount of time between the since and until parameters.
  */
-export type StatusLJNunJhf = 'active' | 'disabled';
+export type ZoneAnalyticsApiTimeseriesByColo = {
+  bandwidth?: ZoneAnalyticsApiBandwidthByColo;
+  requests?: ZoneAnalyticsApiRequestsByColo;
+  since?: ZoneAnalyticsApiSince;
+  threats?: ZoneAnalyticsApiThreats;
+  until?: ZoneAnalyticsApiUntil;
+}[];
 
 /**
- * @example 25756b2dfe6e378a06b033b670413757
+ * Breakdown of totals by data type.
  */
-export type StatusEventId = string;
-
-export type StatusResponse = ApiResponseSinglePn9rJJNX & {
-  result?: {
-    estimated_queued_users?: EstimatedQueuedUsers;
-    estimated_total_active_users?: EstimatedTotalActiveUsers;
-    event_id?: StatusEventId;
-    max_estimated_time_minutes?: MaxEstimatedTimeMinutes;
-    status?: StatusCIis1Eze;
-  };
+export type ZoneAnalyticsApiTotals = {
+  bandwidth?: ZoneAnalyticsApiBandwidth;
+  pageviews?: ZoneAnalyticsApiPageviews;
+  requests?: ZoneAnalyticsApiRequests;
+  since?: ZoneAnalyticsApiSince;
+  threats?: ZoneAnalyticsApiThreats;
+  uniques?: ZoneAnalyticsApiUniques;
+  until?: ZoneAnalyticsApiUntil;
 };
 
 /**
- * Standard deviation of the RTTs in ms.
+ * Breakdown of totals by data type.
  */
-export type StdDevRttMs = number;
+export type ZoneAnalyticsApiTotalsByColo = {
+  bandwidth?: ZoneAnalyticsApiBandwidthByColo;
+  requests?: ZoneAnalyticsApiRequestsByColo;
+  since?: ZoneAnalyticsApiSince;
+  threats?: ZoneAnalyticsApiThreats;
+  until?: ZoneAnalyticsApiUntil;
+};
 
-/**
- * Steering Policy for this load balancer.
- * - `"off"`: Use `default_pools`.
- * - `"geo"`: Use `region_pools`/`country_pools`/`pop_pools`. For non-proxied requests, the country for `country_pools` is determined by `location_strategy`.
- * - `"random"`: Select a pool randomly.
- * - `"dynamic_latency"`: Use round trip time to select the closest pool in default_pools (requires pool health checks).
- * - `"proximity"`: Use the pools' latitude and longitude to select the closest pool using the Cloudflare PoP location for proxied requests or the location determined by `location_strategy` for non-proxied requests.
- * - `""`: Will map to `"geo"` if you use `region_pools`/`country_pools`/`pop_pools` otherwise `"off"`.
- *
- * @default ""
- * @example dynamic_latency
- */
-export type SteeringPolicy = 'off' | 'geo' | 'random' | 'dynamic_latency' | 'proximity' | '""';
+export type ZoneAnalyticsApiUniques = {
+  /**
+   * Total number of unique IP addresses within the time range.
+   */
+  all?: number;
+};
 
 /**
- * STIX 2.1 identifier: https://docs.oasis-open.org/cti/stix/v2.1/cs02/stix-v2.1-cs02.html#_64yvzeku5a5c
+ * The (exclusive) end of the requested time frame. This value can be a negative integer representing the number of minutes in the past relative to time the request is made, or can be an absolute timestamp that conforms to RFC 3339. If omitted, the time of the request is used.
  *
- * @example ipv4-addr--baa568ec-6efe-5902-be55-0663833db537
+ * @default 0
+ * @example 2015-01-02T12:23:00Z
  */
-export type StixIdentifier = string;
+export type ZoneAnalyticsApiUntil = string | number;
 
 /**
- * String constraint.
+ * 0-RTT session resumption enabled for this zone.
  */
-export type StringConstraint = {
+export type Zones0rtt = {
   /**
-   * The matches operator can use asterisks and pipes as wildcard and 'or' operators.
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
    *
-   * @default contains
+   * @default true
    */
-  operator: 'matches' | 'contains' | 'equals' | 'not_equal' | 'not_contain';
+  editable?: true | false;
   /**
-   * The value to apply the operator to.
+   * ID of the zone setting.
+   *
+   * @example 0rtt
    */
-  value: string;
-};
-
-export type Subcategory = {
-  beta?: Beta;
-  ['class']?: Class;
-  description?: ComponentsSchemasDescriptionDHTB25HG;
-  id?: IdWr4kBzDa;
-  name?: CategoriesComponentsSchemasName;
-};
-
-/**
- * Two-letter subdivision code followed in ISO 3166-2.
- *
- * @example CA
- */
-export type SubdivisionCodeA2 = string;
-
-/**
- * The DNS Over HTTPS domain to send DNS requests to. (auto-generated).
- *
- * @example oli3n9zkz5
- */
-export type Subdomain = string;
-
-export type SubdomainResponse = {
-  errors: Messages;
-  messages: Messages;
-  result:
-    | {
-        name?: void;
-      }
-    | any[]
-    | string;
+  id: '0rtt';
   /**
-   * Whether the API call was successful
+   * last time this setting was modified.
    *
-   * @example true
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
    */
-  success: true;
-};
-
-export type Subscription = SubscriptionV2;
-
-export type SubscriptionV2 = {
-  app?: {
-    install_id?: InstallId;
-  };
-  component_values?: ComponentValues;
-  currency?: Currency;
-  current_period_end?: CurrentPeriodEnd;
-  current_period_start?: CurrentPeriodStart;
-  frequency?: FrequencyATMhv5XI;
-  id?: SubscriptionV2ComponentsSchemasIdentifier;
-  price?: Price;
-  rate_plan?: RatePlan;
-  state?: State1Ns5GX0q;
-  zone?: ZoneEBDuGM7t;
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: Zones0rttValue;
 };
 
 /**
- * Subscription identifier tag.
- *
- * @example 506e3185e9c882d175a2d0cb0093d9f2
- * @maxLength 32
- */
-export type SubscriptionV2ComponentsSchemasIdentifier = string;
-
-/**
- * The suggested threshold in requests done by the same auth_id or period_seconds.
- */
-export type SuggestedThreshold = number;
-
-/**
- * The URL to launch when the Send Feedback button is clicked.
- *
- * @example https://1.1.1.1/help
- */
-export type SupportUrl = string;
-
-/**
- * Whether a particular TLD is currently supported by Cloudflare Registrar. Refer to [TLD Policies](https://www.cloudflare.com/tld-policies/) for a list of supported TLDs.
- *
- * @example true
- */
-export type SupportedTld = boolean;
-
-/**
- * If suspended, no health checks are sent to the origin.
- *
- * @default false
- */
-export type Suspended = boolean;
-
-/**
- * Suspends or allows traffic going to the waiting room. If set to `true`, the traffic will not go to the waiting room.
- *
- * @default false
- */
-export type SuspendedW815GHPM = boolean;
-
-/**
- * Whether to allow the user to turn off the WARP switch and disconnect the client.
+ * Value of the 0-RTT setting.
  *
- * @example true
+ * @default off
  */
-export type SwitchLocked = boolean;
+export type Zones0rttValue = 'on' | 'off';
 
 /**
- * Whether to match all tag search requirements or at least one (any). If set to `all`, acts like a logical AND between tag filters. If set to `any`, acts like a logical OR instead. Note that the regular `match` parameter is still used to combine the resulting condition with other filters that aren't related to tags.
+ * The set of actions to perform if the targets of this rule match the
+ * request. Actions can redirect to another URL or override settings, but
+ * not both.
  *
- * @default all
- * @example any
+ * @example {"id":"browser_check","value":"on"}
  */
-export type TagMatch = 'any' | 'all';
+export type ZonesActions = (
+  | ZonesAlwaysUseHttps
+  | ZonesAutomaticHttpsRewrites
+  | ZonesBrowserCacheTtl
+  | ZonesBrowserCheck
+  | ZonesBypassCacheOnCookie
+  | ZonesCacheByDeviceType
+  | ZonesCacheDeceptionArmor
+  | ZonesCacheKeyFields
+  | ZonesCacheLevel
+  | ZonesCacheOnCookie
+  | ZonesCacheTtlByStatus
+  | ZonesDisableApps
+  | ZonesDisablePerformance
+  | ZonesDisableSecurity
+  | ZonesDisableZaraz
+  | ZonesEdgeCacheTtl
+  | ZonesEmailObfuscation
+  | ZonesExplicitCacheControl
+  | ZonesForwardingUrl
+  | ZonesHostHeaderOverride
+  | ZonesIpGeolocation
+  | ZonesMirage
+  | ZonesOpportunisticEncryption
+  | ZonesOriginErrorPagePassThru
+  | ZonesPolish
+  | ZonesResolveOverride
+  | ZonesRespectStrongEtag
+  | ZonesResponseBuffering
+  | ZonesRocketLoader
+  | ZonesSecurityLevel
+  | ZonesSortQueryStringForCache
+  | ZonesSsl
+  | ZonesTrueClientIpHeader
+  | ZonesWaf
+)[];
 
 /**
- * Custom tags for the DNS record. This field has no effect on DNS responses.
+ * Advanced protection from Distributed Denial of Service (DDoS) attacks on your website. This is an uneditable value that is 'on' in the case of Business and Enterprise zones.
  */
-export type Tags = string[];
-
-export type TailResponse = {
-  errors: Messages;
-  messages: Messages;
-  result:
-    | {
-        expires_at?: void;
-        id?: void;
-        url?: void;
-      }
-    | any[]
-    | string;
+export type ZonesAdvancedDdos = {
   /**
-   * Whether the API call was successful
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
    *
-   * @example true
+   * @default true
    */
-  success: true;
-};
-
-/**
- * A request condition target.
- */
-export type Target = UrlTarget;
-
-/**
- * The target hostname, IPv6, or IPv6 address.
- *
- * @example 1.1.1.1
- */
-export type TargetZsQmEMN8 = string;
-
-export type TargetResult = {
-  colos?: ColoResult[];
-  target?: TargetZsQmEMN8;
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example advanced_ddos
+   */
+  id: 'advanced_ddos';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: ZonesAdvancedDdosValue;
 };
 
 /**
- * Aggregated statistics from all hops about the target.
- *
- * @example {"asn":"","ip":"1.1.1.1","max_latency_ms":0.034,"mean_latency_ms":0.021,"min_latency_ms":0.014,"name":"1.1.1.1","packet_count":3,"std_dev_latency_ms":0.011269427669584647}
- */
-export type TargetSummary = Record<string, any>;
-
-/**
- * The rule targets to evaluate on each request.
+ * Value of the zone setting.
+ * Notes: Defaults to on for Business+ plans
  *
- * @example {"constraint":{"operator":"matches","value":"*example.com/images/*"},"target":"url"}
- */
-export type Targets = Target[];
-
-/**
- * @example 203.0.113.1
- * @example cloudflare.com
- * @maxLength 10
+ * @default off
  */
-export type TargetsGoMQUMPo = string[];
+export type ZonesAdvancedDdosValue = 'on' | 'off';
 
 /**
- * Parameters specific to TCP health check.
+ * When enabled, Cloudflare serves limited copies of web pages available from the [Internet Archive's Wayback Machine](https://archive.org/web/) if your server is offline. Refer to [Always Online](https://developers.cloudflare.com/cache/about/always-online) for more information.
  */
-export type TcpConfig = {
+export type ZonesAlwaysOnline = {
   /**
-   * The TCP connection method to use for the health check.
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
    *
-   * @default connection_established
+   * @default true
    */
-  method?: 'connection_established';
+  editable?: true | false;
   /**
-   * Port number to connect to for the health check. Defaults to 80.
+   * ID of the zone setting.
    *
-   * @default 80
+   * @example always_online
    */
-  port?: number;
-} | null;
-
-export type Teamnet = {
-  comment: CommentCrz1ciLB;
+  id: 'always_online';
   /**
-   * Timestamp of when the route was created.
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
    */
-  created_at: void;
+  modified_on?: string | null;
   /**
-   * Timestamp of when the route was deleted. If `null`, the route has not been deleted.
+   * Current value of the zone setting.
    *
-   * @example 2021-01-25T18:22:34.317854Z
-   * @format date-time
+   * @example on
    */
-  deleted_at?: string | null;
-  network: IpNetwork;
-  tunnel_id: SchemasTunnelId;
-  tunnel_name?: SchemasTunnelName;
-  virtual_network_id?: SchemasVirtualNetworkId;
+  value: ZonesAlwaysOnlineValue;
 };
 
 /**
- * @example 10.1.0.137
+ * Value of the zone setting.
+ *
+ * @default on
  */
-export type TeamnetComponentsSchemasIp = string;
+export type ZonesAlwaysOnlineValue = 'on' | 'off';
+
+export type ZonesAlwaysUseHttps = {
+  /**
+   * If enabled, any `http://`` URL is converted to `https://` through a
+   * 301 redirect.
+   */
+  id?: 'always_use_https';
+};
 
 /**
- * User's telephone number
+ * Value of the zone setting.
  *
- * @example +1 123-123-1234
- * @maxLength 20
+ * @default off
  */
-export type Telephone = string | null;
+export type ZonesAlwaysUseHttpsValue = 'on' | 'off';
 
-export type TestConnectionProperties = {
+export type ZonesApiResponseCommon = {
+  errors: ZonesMessages;
+  messages: ZonesMessages;
   /**
-   * Hash version of body.
-   *
-   * @example be27f2429421e12f200cab1da43ba301bdc70e1d
-   */
-  body_hash?: string;
-  /**
-   * Size of the body in bytes.
+   * Whether the API call was successful
    *
-   * @example 63910 bytes
+   * @example true
    */
-  body_size?: string;
+  success: boolean;
+};
+
+export type ZonesApiResponseCommonFailure = {
   /**
-   * Lists any `cf-cache-status` present.
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
    */
-  ['cf-cache-status']?: string;
+  errors: ZonesMessages;
+  messages: ZonesMessages;
+  result: Record<string, any> | null;
   /**
-   * Lists any `cf-ray` present.
+   * Whether the API call was successful
    *
-   * @example 1ddd7570575207d9-LAX
+   * @example false
    */
-  ['cf-ray']?: string;
+  success: boolean;
+};
+
+export type ZonesApiResponseSingle = ZonesSchemasApiResponseCommon;
+
+export type ZonesApiResponseSingleId = ZonesApiResponseCommon & {
+  result?: {
+    id: ZonesIdentifier;
+  } | null;
+};
+
+export type ZonesAutomaticHttpsRewrites = {
   /**
-   * Lists any `cf-wan-error` present.
+   * Turn on or off Automatic HTTPS Rewrites.
    */
-  ['cf-wan-error']?: string;
+  id?: 'automatic_https_rewrites';
   /**
-   * Whether Cloudflare is enabled on the host.
+   * The status of Automatic HTTPS Rewrites.
    *
    * @example on
    */
-  cloudflare?: string;
+  value?: 'on' | 'off';
+};
+
+/**
+ * Value of the zone setting.
+ * Notes: Default value depends on the zone's plan level.
+ *
+ * @default on
+ */
+export type ZonesAutomaticHttpsRewritesValue = 'on' | 'off';
+
+export type ZonesAutomaticPlatformOptimization = {
   /**
-   * Connection closed or open.
+   * Indicates whether or not [cache by device type](https://developers.cloudflare.com/automatic-platform-optimization/reference/cache-device-type/) is enabled.
    *
-   * @default true
    * @example false
    */
-  connection_close?: boolean;
+  cache_by_device_type: boolean;
   /**
-   * Amount of seconds that the test lasted.
+   * Indicates whether or not Cloudflare proxy is enabled.
    *
-   * @example 0.239013s
+   * @default false
+   * @example true
    */
-  elapsed_time?: string;
+  cf: boolean;
   /**
-   * The hostname queried.
+   * Indicates whether or not Automatic Platform Optimization is enabled.
    *
-   * @example www.example.com
+   * @default false
+   * @example true
    */
-  host_name?: string;
+  enabled: boolean;
   /**
-   * The HTTP status response code.
+   * An array of hostnames where Automatic Platform Optimization for WordPress is activated.
    *
-   * @example 200
+   * @example www.example.com
+   * @example example.com
+   * @example shop.example.com
    */
-  http_status?: number;
+  hostnames: string[];
   /**
-   * HTTP Method used to test the connection.
+   * Indicates whether or not site is powered by WordPress.
    *
-   * @example GET
+   * @default false
+   * @example true
    */
-  method?: 'GET' | 'POST';
+  wordpress: boolean;
   /**
-   * What headers are missing.
+   * Indicates whether or not [Cloudflare for WordPress plugin](https://wordpress.org/plugins/cloudflare/) is installed.
    *
-   * @example No Content-Length or Transfer-Encoding.
+   * @default false
+   * @example true
    */
-  missing_headers?: string;
+  wp_plugin: boolean;
+};
+
+export type ZonesBase = {
   /**
-   * Protocol used to test the connection.
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
    *
-   * @example HTTP/1.1
+   * @default true
    */
-  protocol?: string;
+  editable?: true | false;
   /**
-   * Indicates if Railgun is enabled on the queried hostname.
+   * Identifier of the zone setting.
    *
-   * @example on
+   * @example development_mode
    */
-  railgun?: string;
+  id: string;
   /**
-   * HTTP Status code.
+   * last time this setting was modified.
    *
-   * @example 200 OK
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
    */
-  response_status?: string;
+  modified_on?: string | null;
   /**
-   * Url of the domain you can compare the connection to.
+   * Current value of the zone setting.
    *
-   * @example https://www.cloudflare.com
+   * @example on
    */
-  url?: string;
-};
-
-export type TestConnectionResponse = ApiResponseSingleLarS7owG & {
-  result?: TestConnectionProperties;
+  value: void;
 };
 
 /**
- * Breakdown of totals for threats.
+ * When the client requesting an asset supports the Brotli compression algorithm, Cloudflare will serve a Brotli compressed version of the asset.
  */
-export type Threats = {
+export type ZonesBrotli = {
   /**
-   * The total number of identifiable threats received over the time frame.
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
    */
-  all?: number;
+  editable?: true | false;
   /**
-   * A list of key/value pairs where the key is a two-digit country code and the value is the number of malicious requests received from that country.
+   * ID of the zone setting.
    *
-   * @example {"AU":91,"CN":523423,"US":123}
+   * @example brotli
    */
-  country?: Record<string, any>;
+  id: 'brotli';
   /**
-   * The list of key/value pairs where the key is a threat category and the value is the number of requests.
+   * last time this setting was modified.
    *
-   * @example {"hot.ban.unknown":5324,"macro.chl.captchaErr":1341,"macro.chl.jschlErr":5323,"user.ban.ip":123}
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
    */
-  type?: Record<string, any>;
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: ZonesBrotliValue;
 };
 
 /**
- * The threshold that will trigger the configured mitigation action. Configure this value along with the `period` property to establish a threshold per period.
+ * Value of the zone setting.
  *
- * @example 60
- * @minimum 1
+ * @default off
  */
-export type Threshold = number;
+export type ZonesBrotliValue = 'off' | 'on';
 
-export type Thresholds = {
-  thresholds?: {
-    auth_id_tokens?: AuthIdTokens;
-    data_points?: DataPoints;
-    last_updated?: Timestamp;
-    p50?: P50;
-    p90?: P90;
-    p99?: P99;
-    period_seconds?: PeriodSeconds;
-    requests?: Requests;
-    suggested_threshold?: SuggestedThreshold;
-  };
+export type ZonesBrowserCacheTtl = {
+  /**
+   * Control how long resources cached by client browsers remain valid.
+   */
+  id?: 'browser_cache_ttl';
+  /**
+   * The number of seconds to cache resources for. The API prohibits
+   * setting this to 0 for non-Enterprise domains.
+   *
+   * @example 30
+   * @maximum 31536000
+   * @minimum 0
+   */
+  value?: number;
 };
 
 /**
- * The timestamp for a thumbnail image calculated as a percentage value of the video's duration. To convert from a second-wise timestamp to a percentage, divide the desired timestamp by the total duration of the video.  If this value is not set, the default thumbnail image is taken from 0s of the video.
- *
- * @default 0
- * @example 0.529241
- * @maximum 1
- * @minimum 0
- */
-export type ThumbnailTimestampPct = number;
-
-/**
- * The media item's thumbnail URI. This field is omitted until encoding is complete.
- *
- * @example https://customer-m033z5x00ks6nunl.cloudflarestream.com/ea95132c15732412d22c1476fa83f27a/thumbnails/thumbnail.jpg
- * @format uri
- */
-export type ThumbnailUrl = string;
-
-/**
- * URI to thumbnail variant for an image.
- *
- * @example https://imagedelivery.net/MTt4OTd0b0w5aj/107b9558-dd06-4bbd-5fef-9c2c16bb7900/thumbnail
- * @format uri
- */
-export type ThumbnailUrlWiwugRbe = string;
-
-/**
- * Enables Tiered Cache.
- *
- * @example on
- */
-export type TieredCacheSmartTopologyApiComponentsSchemasValue = 'on' | 'off';
-
-/**
- * The time for a specific event.
+ * Value of the zone setting.
+ * Notes: Setting a TTL of 0 is equivalent to selecting `Respect Existing Headers`
  *
- * @example 2019-10-24T17:09:42.883908+01:00
+ * @default 14400
  */
-export type Time = string;
+export type ZonesBrowserCacheTtlValue =
+  | 0
+  | 30
+  | 60
+  | 120
+  | 300
+  | 1200
+  | 1800
+  | 3600
+  | 7200
+  | 10800
+  | 14400
+  | 18000
+  | 28800
+  | 43200
+  | 57600
+  | 72000
+  | 86400
+  | 172800
+  | 259200
+  | 345600
+  | 432000
+  | 691200
+  | 1382400
+  | 2073600
+  | 2678400
+  | 5356800
+  | 16070400
+  | 31536000;
 
-/**
- * Unit of time to group data by.
- *
- * @example hour
- */
-export type TimeDelta =
-  | 'all'
-  | 'auto'
-  | 'year'
-  | 'quarter'
-  | 'month'
-  | 'week'
-  | 'day'
-  | 'hour'
-  | 'dekaminute'
-  | 'minute';
+export type ZonesBrowserCheck = {
+  /**
+   * Inspect the visitor's browser for headers commonly associated with
+   * spammers and certain bots.
+   */
+  id?: 'browser_check';
+  /**
+   * The status of Browser Integrity Check.
+   *
+   * @example on
+   */
+  value?: 'on' | 'off';
+};
 
 /**
- * The timeout (in seconds) before marking the health check as failed.
+ * Value of the zone setting.
  *
- * @default 5
+ * @default on
  */
-export type Timeout = number;
+export type ZonesBrowserCheckValue = 'on' | 'off';
 
-/**
- * The time in seconds during which Cloudflare will perform the mitigation action. Must be an integer value greater than or equal to the period.
- * Notes: If "mode" is "challenge", "managed_challenge", or "js_challenge", Cloudflare will use the zone's Challenge Passage time and you should not provide this value.
- *
- * @example 86400
- * @maximum 86400
- * @minimum 1
- */
-export type TimeoutHaHBovKX = number;
+export type ZonesBypassCacheOnCookie = {
+  /**
+   * Bypass cache and fetch resources from the origin server if a regular
+   * expression matches against a cookie name present in the request.
+   */
+  id?: 'bypass_cache_on_cookie';
+  /**
+   * The regular expression to use for matching cookie names in the
+   * request. Refer to [Bypass Cache on Cookie
+   * setting](https://developers.cloudflare.com/rules/page-rules/reference/additional-reference/#bypass-cache-on-cookie-setting)
+   * to learn about limited regular expression support.
+   *
+   * @example bypass=.*|PHPSESSID=.*
+   * @maxLength 150
+   * @minLength 1
+   */
+  value?: string;
+};
 
-/**
- * Time deltas containing metadata about each bucket of time. The number of buckets (resolution) is determined by the amount of time between the since and until parameters.
- */
-export type Timeseries = {
-  bandwidth?: Bandwidth;
-  pageviews?: Pageviews;
-  requests?: SchemasRequests;
-  since?: SinceO1OWzWkU;
-  threats?: Threats;
-  uniques?: Uniques;
-  until?: UntilOh0IDugA;
-}[];
+export type ZonesCacheByDeviceType = {
+  /**
+   * Separate cached content based on the visitor's device type.
+   */
+  id?: 'cache_by_device_type';
+  /**
+   * The status of Cache By Device Type.
+   *
+   * @example on
+   */
+  value?: 'on' | 'off';
+};
 
-/**
- * Time deltas containing metadata about each bucket of time. The number of buckets (resolution) is determined by the amount of time between the since and until parameters.
- */
-export type TimeseriesByColo = {
-  bandwidth?: BandwidthByColo;
-  requests?: RequestsByColo;
-  since?: SinceO1OWzWkU;
-  threats?: Threats;
-  until?: UntilOh0IDugA;
-}[];
+export type ZonesCacheDeceptionArmor = {
+  /**
+   * Protect from web cache deception attacks while still allowing static
+   * assets to be cached. This setting verifies that the URL's extension
+   * matches the returned `Content-Type`.
+   */
+  id?: 'cache_deception_armor';
+  /**
+   * The status of Cache Deception Armor.
+   *
+   * @example on
+   */
+  value?: 'on' | 'off';
+};
 
-/**
- * @example 2014-01-01T05:20:00.12345Z
- * @format date-time
- */
-export type Timestamp = string;
+export type ZonesCacheKeyFields = {
+  /**
+   * Control specifically what variables to include when deciding which
+   * resources to cache. This allows customers to determine what to cache
+   * based on something other than just the URL.
+   */
+  id?: 'cache_key_fields';
+  value?: {
+    /**
+     * Controls which cookies appear in the Cache Key.
+     */
+    cookie?: {
+      /**
+       * A list of cookies to check for the presence of, without
+       * including their actual values.
+       *
+       * @example foo
+       * @example bar
+       * @maxItems 50
+       * @minItems 1
+       */
+      check_presence?: string[];
+      /**
+       * A list of cookies to include.
+       *
+       * @example foo
+       * @example bar
+       * @maxItems 50
+       * @minItems 1
+       */
+      include?: string[];
+    };
+    /**
+     * Controls which headers go into the Cache Key. Exactly one of
+     * `include` or `exclude` is expected.
+     */
+    header?: {
+      /**
+       * A list of headers to check for the presence of, without
+       * including their actual values.
+       *
+       * @example foo
+       * @example bar
+       * @maxItems 50
+       * @minItems 1
+       */
+      check_presence?: string[];
+      /**
+       * A list of headers to ignore.
+       *
+       * @example foo
+       * @example bar
+       * @maxItems 50
+       * @minItems 1
+       */
+      exclude?: string[];
+      /**
+       * A list of headers to include.
+       *
+       * @example foo
+       * @example bar
+       * @maxItems 50
+       * @minItems 1
+       */
+      include?: string[];
+    };
+    /**
+     * Determines which host header to include in the Cache Key.
+     */
+    host?: {
+      /**
+       * Whether to include the Host header in the HTTP request sent
+       * to the origin.
+       */
+      resolved?: boolean;
+    };
+    /**
+     * Controls which URL query string parameters go into the Cache
+     * Key. Exactly one of `include` or `exclude` is expected.
+     */
+    query_string?: {
+      exclude?: '*' | string[];
+      include?: '*' | string[];
+    };
+    /**
+     * Feature fields to add features about the end-user (client) into
+     * the Cache Key.
+     */
+    user?: {
+      /**
+       * Classifies a request as `mobile`, `desktop`, or `tablet`
+       * based on the User Agent.
+       */
+      device_type?: boolean;
+      /**
+       * Includes the client's country, derived from the IP address.
+       */
+      geo?: boolean;
+      /**
+       * Includes the first language code contained in the
+       * `Accept-Language` header sent by the client.
+       */
+      lang?: boolean;
+    };
+  };
+};
 
-/**
- * By default, timestamps in responses are returned as Unix nanosecond integers. The `?timestamps=` argument can be set to change the format in which response timestamps are returned. Possible values are: `unix`, `unixnano`, `rfc3339`. Note that `unix` and `unixnano` return timestamps as integers; `rfc3339` returns timestamps as strings.
- *
- * @default unixnano
- * @example unixnano
- */
-export type Timestamps = 'unix' | 'unixnano' | 'rfc3339';
+export type ZonesCacheLevel = {
+  /**
+   * Apply custom caching based on the option selected.
+   */
+  id?: 'cache_level';
+  /**
+   * * `bypass`: Cloudflare does not cache.
+   * * `basic`: Delivers resources from cache when there is no query
+   *   string.
+   * * `simplified`: Delivers the same resource to everyone independent
+   *   of the query string.
+   * * `aggressive`: Caches all static content that has a query string.
+   * * `cache_everything`: Treats all content as static and caches all
+   *   file types beyond the [Cloudflare default cached
+   *   content](https://developers.cloudflare.com/cache/concepts/default-cache-behavior/#default-cached-file-extensions).
+   *
+   * @example bypass
+   */
+  value?: 'bypass' | 'basic' | 'simplified' | 'aggressive' | 'cache_everything';
+};
 
 /**
- * The type of TLS termination associated with the application.
+ * Value of the zone setting.
  *
- * @example full
+ * @default aggressive
  */
-export type Tls = 'off' | 'flexible' | 'full' | 'strict';
+export type ZonesCacheLevelValue = 'aggressive' | 'basic' | 'simplified';
 
-/**
- * TLS interception settings.
- */
-export type TlsSettings = {
+export type ZonesCacheOnCookie = {
   /**
-   * Enable inspecting encrypted HTTP traffic.
+   * Apply the Cache Everything option (Cache Level setting) based on a
+   * regular expression match against a cookie name.
+   */
+  id?: 'cache_on_cookie';
+  /**
+   * The regular expression to use for matching cookie names in the
+   * request.
    *
-   * @example true
+   * @example bypass=.*|PHPSESSID=.*
+   * @maxLength 150
+   * @minLength 1
    */
-  enabled?: boolean;
+  value?: string;
+};
+
+export type ZonesCacheTtlByStatus = {
+  /**
+   * Enterprise customers can set cache time-to-live (TTL) based on the
+   * response status from the origin web server. Cache TTL refers to the
+   * duration of a resource in the Cloudflare network before being
+   * marked as stale or discarded from cache. Status codes are returned
+   * by a resource's origin. Setting cache TTL based on response status
+   * overrides the default cache behavior (standard caching) for static
+   * files and overrides cache instructions sent by the origin web
+   * server. To cache non-static assets, set a Cache Level of Cache
+   * Everything using a Page Rule. Setting no-store Cache-Control or a
+   * low TTL (using `max-age`/`s-maxage`) increases requests to origin
+   * web servers and decreases performance.
+   */
+  id?: 'cache_ttl_by_status';
+  /**
+   * A JSON object containing status codes and their corresponding TTLs.
+   * Each key-value pair in the cache TTL by status cache rule has the
+   * following syntax
+   * - `status_code`: An integer value such as 200 or 500. status_code
+   *   matches the exact status code from the origin web server. Valid
+   *   status codes are between 100-999.
+   * - `status_code_range`: Integer values for from and to.
+   *   status_code_range matches any status code from the origin web
+   *   server within the specified range.
+   * - `value`: An integer value that defines the duration an asset is
+   *   valid in seconds or one of the following strings: no-store
+   *   (equivalent to -1), no-cache (equivalent to 0).
+   *
+   * @example {"200-299":86400,"300-499":"no-cache","500-599":"no-store"}
+   */
+  value?: {
+    [key: string]: ('no-cache' | 'no-store') | number;
+  };
 };
 
 /**
- * Only allows TLS1.2.
+ * Specify how long a visitor is allowed access to your site after successfully completing a challenge (such as a CAPTCHA). After the TTL has expired the visitor will have to complete a new challenge. We recommend a 15 - 45 minute setting and will attempt to honor any setting above 45 minutes. (https://support.cloudflare.com/hc/en-us/articles/200170136).
  */
-export type Tls12Only = {
+export type ZonesChallengeTtl = {
   /**
    * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
    *
@@ -26500,11 +48757,11 @@ export type Tls12Only = {
    */
   editable?: true | false;
   /**
-   * Zone setting identifier.
+   * ID of the zone setting.
    *
-   * @example tls_1_2_only
+   * @example challenge_ttl
    */
-  id: 'tls_1_2_only';
+  id: 'challenge_ttl';
   /**
    * last time this setting was modified.
    *
@@ -26517,22 +48774,34 @@ export type Tls12Only = {
    *
    * @example on
    */
-  value: Tls12OnlyValue;
+  value: ZonesChallengeTtlValue;
 };
 
 /**
  * Value of the zone setting.
  *
- * @default off
+ * @default 1800
  */
-export type Tls12OnlyValue = 'off' | 'on';
+export type ZonesChallengeTtlValue =
+  | 300
+  | 900
+  | 1800
+  | 2700
+  | 3600
+  | 7200
+  | 10800
+  | 14400
+  | 28800
+  | 57600
+  | 86400
+  | 604800
+  | 2592000
+  | 31536000;
 
 /**
- * Enables Crypto TLS 1.3 feature for a zone.
- *
- * @default off
+ * An allowlist of ciphers for TLS termination. These ciphers must be in the BoringSSL format.
  */
-export type Tls13 = {
+export type ZonesCiphers = {
   /**
    * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
    *
@@ -26542,9 +48811,9 @@ export type Tls13 = {
   /**
    * ID of the zone setting.
    *
-   * @example tls_1_3
+   * @example ciphers
    */
-  id: 'tls_1_3';
+  id: 'ciphers';
   /**
    * last time this setting was modified.
    *
@@ -26557,21 +48826,22 @@ export type Tls13 = {
    *
    * @example on
    */
-  value: Tls13Value;
+  value: ZonesCiphersValue;
 };
 
 /**
  * Value of the zone setting.
- * Notes: Default value depends on the zone's plan level.
  *
- * @default off
+ * @example ECDHE-RSA-AES128-GCM-SHA256
+ * @example AES128-SHA
+ * @uniqueItems true
  */
-export type Tls13Value = 'on' | 'off' | 'zrt';
+export type ZonesCiphersValue = string[];
 
 /**
- * TLS Client Auth requires Cloudflare to connect to your origin server using a client certificate (Enterprise Only).
+ * Whether or not cname flattening is on.
  */
-export type TlsClientAuth = {
+export type ZonesCnameFlattening = {
   /**
    * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
    *
@@ -26579,11 +48849,11 @@ export type TlsClientAuth = {
    */
   editable?: true | false;
   /**
-   * ID of the zone setting.
+   * How to flatten the cname destination.
    *
-   * @example tls_client_auth
+   * @example development_mode
    */
-  id: 'tls_client_auth';
+  id: 'cname_flattening';
   /**
    * last time this setting was modified.
    *
@@ -26596,328 +48866,391 @@ export type TlsClientAuth = {
    *
    * @example on
    */
-  value: TlsClientAuthValue;
+  value: ZonesCnameFlatteningValue;
 };
 
 /**
- * value of the zone setting.
+ * Value of the cname flattening setting.
  *
- * @default on
+ * @default flatten_at_root
  */
-export type TlsClientAuthValue = 'on' | 'off';
-
-export type TlsConfigRequest = {
-  /**
-   * The SHA-256 hash of the TLS certificate presented by the host found at tls_sockaddr. If absent, regular certificate verification (trusted roots, valid timestamp, etc) will be used to validate the certificate.
-   *
-   * @example b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c
-   */
-  sha256?: string;
-  /**
-   * A network address of the form "host:port" that the WARP client will use to detect the presence of a TLS host.
-   *
-   * @example foobar:1234
-   */
-  tls_sockaddr: string;
-};
+export type ZonesCnameFlatteningValue = 'flatten_at_root' | 'flatten_all';
 
-/**
- * The Managed Network TLS Config Response.
- */
-export type TlsConfigResponse = {
-  /**
-   * The SHA-256 hash of the TLS certificate presented by the host found at tls_sockaddr. If absent, regular certificate verification (trusted roots, valid timestamp, etc) will be used to validate the certificate.
-   *
-   * @example b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c
-   */
-  sha256?: string;
+export type ZonesComponentsSchemasApiResponseCommon = {
+  errors: ZonesMessages;
+  messages: ZonesMessages;
+  result: Record<string, any> | any[] | string;
   /**
-   * A network address of the form "host:port" that the WARP client will use to detect the presence of a TLS host.
+   * Whether the API call was successful
    *
-   * @example foobar:1234
+   * @example true
    */
-  tls_sockaddr: string;
-};
-
-export type Token = {
-  condition?: Condition;
-  expires_on?: ExpiresOnZ3utPxP0;
-  id: ComponentsSchemasIdentifierUpjmfntS;
-  issued_on?: IssuedOnHmshAtfd;
-  modified_on?: ModifiedOnSimuKuKK;
-  name: NameZZnqpiZc;
-  not_before?: NotBefore;
-  policies: PoliciesJfEKIGCD;
-  status: Status0icsKVdQ;
+  success: true;
 };
 
 /**
- * Sets the total number of active user sessions on the route at a point in time. A route is a combination of host and path on which a waiting room is available. This value is used as a baseline for the total number of active user sessions on the route. It is possible to have a situation where there are more or less active users sessions on the route based on the traffic patterns at that time around the world.
+ * The timestamp of when the Page Rule was created.
  *
- * @maximum 2147483647
- * @minimum 200
- */
-export type TotalActiveUsers = number;
-
-export type TotalTlsSettingsResponse = ApiResponseSingleZZHeSkIR & {
-  result?: {
-    certificate_authority?: ComponentsSchemasCertificateAuthority;
-    enabled?: ComponentsSchemasEnabled;
-    validity_days?: SchemasValidityDays;
-  };
-};
-
-export type TotalTlsSettingsResponseKBGe6kc6 = ApiResponseSingleLarS7owG & {
-  result?: {
-    certificate_authority?: SchemasCertificateAuthorityNfQsLnVr;
-    enabled?: ComponentsSchemasEnabled;
-    validity_days?: SchemasValidityDays;
-  };
-};
-
-/**
- * Breakdown of totals by data type.
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
  */
-export type Totals = {
-  bandwidth?: Bandwidth;
-  pageviews?: Pageviews;
-  requests?: SchemasRequests;
-  since?: SinceO1OWzWkU;
-  threats?: Threats;
-  uniques?: Uniques;
-  until?: UntilOh0IDugA;
-};
+export type ZonesCreatedOn = string;
 
 /**
- * Breakdown of totals by data type.
+ * Development Mode temporarily allows you to enter development mode for your websites if you need to make changes to your site. This will bypass Cloudflare's accelerated cache and slow down your site, but is useful if you are making changes to cacheable content (like images, css, or JavaScript) and would like to see those changes right away. Once entered, development mode will last for 3 hours and then automatically toggle off.
  */
-export type TotalsByColo = {
-  bandwidth?: BandwidthByColo;
-  requests?: RequestsByColo;
-  since?: SinceO1OWzWkU;
-  threats?: Threats;
-  until?: UntilOh0IDugA;
-};
-
-export type Trace = {
-  /**
-   * If step type is rule, then action performed by this rule
-   *
-   * @example execute
-   * @pattern ^[a-z_]+$
-   */
-  action?: string;
-  /**
-   * If step type is rule, then action parameters of this rule as JSON
-   *
-   * @example {"id":"4814384a9e5d4991b9815dcfc25d2f1f"}
-   */
-  action_parameters?: Record<string, any>;
+export type ZonesDevelopmentMode = {
   /**
-   * If step type is rule or ruleset, the description of this entity
-   *
-   * @example some rule
-   */
-  description?: string;
-  /**
-   * If step type is rule, then expression used to match for this rule
-   *
-   * @example ip.src ne 1.1.1.1
-   */
-  expression?: string;
-  /**
-   * If step type is ruleset, then kind of this ruleset
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
    *
-   * @example zone
+   * @default true
    */
-  kind?: string;
+  editable?: true | false;
   /**
-   * Whether tracing step affected tracing request/response
+   * ID of the zone setting.
    *
-   * @example true
+   * @example development_mode
    */
-  matched?: boolean;
+  id: 'development_mode';
   /**
-   * If step type is ruleset, then name of this ruleset
+   * last time this setting was modified.
    *
-   * @example some ruleset name
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
    */
-  name?: string;
+  modified_on?: string | null;
   /**
-   * Tracing step identifying name
+   * Current value of the zone setting.
    *
-   * @example rule_id01
+   * @example on
    */
-  step_name?: string;
-  trace?: Trace;
+  value: ZonesDevelopmentModeValue;
   /**
-   * Tracing step type
+   * Value of the zone setting.
+   * Notes: The interval (in seconds) from when development mode expires (positive integer) or last expired (negative integer) for the domain. If development mode has never been enabled, this value is false.
    *
-   * @example rule
+   * @example 3600
    */
-  type?: string;
-}[];
+  time_remaining?: number;
+};
 
 /**
- * IP address of the node.
+ * Value of the zone setting.
+ *
+ * @default off
  */
-export type TracerouteComponentsSchemasIp = string;
+export type ZonesDevelopmentModeValue = 'on' | 'off';
 
-/**
- * Host name of the address, this may be the same as the IP address.
- */
-export type TracerouteComponentsSchemasName = string;
+export type ZonesDisableApps = {
+  /**
+   * Turn off all active [Cloudflare Apps](https://developers.cloudflare.com/support/more-dashboard-apps/cloudflare-apps/)
+   * (deprecated).
+   */
+  id?: 'disable_apps';
+};
 
-/**
- * For UDP and TCP, specifies the destination port. For ICMP, specifies the initial ICMP sequence value. Default value 0 will choose the best value to use for each protocol.
- *
- * @default 0
- * @maximum 65535
- * @minimum 0
- */
-export type TracerouteComponentsSchemasPort = number;
+export type ZonesDisablePerformance = {
+  /**
+   * Turn off
+   * [Rocket Loader](https://developers.cloudflare.com/speed/optimization/content/rocket-loader/),
+   * [Mirage](https://developers.cloudflare.com/speed/optimization/images/mirage/), and
+   * [Polish](https://developers.cloudflare.com/images/polish/).
+   */
+  id?: 'disable_performance';
+};
 
-export type TracerouteResponseCollection = ApiResponseCollection & {
-  result?: TargetResult[];
+export type ZonesDisableSecurity = {
+  /**
+   * Turn off
+   * [Email Obfuscation](https://developers.cloudflare.com/waf/tools/scrape-shield/email-address-obfuscation/),
+   * [Rate Limiting (previous version, deprecated)](https://developers.cloudflare.com/waf/reference/legacy/old-rate-limiting/),
+   * [Scrape Shield](https://developers.cloudflare.com/waf/tools/scrape-shield/),
+   * [URL (Zone) Lockdown](https://developers.cloudflare.com/waf/tools/zone-lockdown/), and
+   * [WAF managed rules (previous version, deprecated)](https://developers.cloudflare.com/waf/reference/legacy/old-waf-managed-rules/).
+   */
+  id?: 'disable_security';
 };
 
-/**
- * Total time of traceroute in ms.
- */
-export type TracerouteTimeMs = number;
+export type ZonesDisableZaraz = {
+  /**
+   * Turn off [Zaraz](https://developers.cloudflare.com/zaraz/).
+   */
+  id?: 'disable_zaraz';
+};
 
 /**
- * When triggered, traditional WAF rules cause the firewall to immediately act on the request based on the rule configuration. An 'allow' rule will immediately allow the request and no other rules will be processed.
+ * When enabled, Cloudflare will attempt to speed up overall page loads by serving `103` responses with `Link` headers from the final response. Refer to [Early Hints](https://developers.cloudflare.com/cache/about/early-hints) for more information.
  */
-export type TraditionalAllowRule = RuleComponentsSchemasBase2 & {
-  allowed_modes?: AllowedModesAllowTraditional;
-  mode?: ModeAllowTraditional;
+export type ZonesEarlyHints = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example early_hints
+   */
+  id: 'early_hints';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: ZonesEarlyHintsValue;
 };
 
 /**
- * When triggered, traditional WAF rules cause the firewall to immediately act upon the request based on the configuration of the rule. A 'deny' rule will immediately respond to the request based on the configured rule action/mode (for example, 'block') and no other rules will be processed.
+ * Value of the zone setting.
+ *
+ * @default off
  */
-export type TraditionalDenyRule = RuleComponentsSchemasBase2 & {
-  allowed_modes?: AllowedModesDenyTraditional;
-  default_mode?: DefaultMode;
-  mode?: ModeDenyTraditional;
+export type ZonesEarlyHintsValue = 'on' | 'off';
+
+export type ZonesEdgeCacheTtl = {
+  /**
+   * Specify how long to cache a resource in the Cloudflare global
+   * network. *Edge Cache TTL* is not visible in response headers.
+   */
+  id?: 'edge_cache_ttl';
+  /**
+   * @maximum 31536000
+   * @minimum 1
+   */
+  value?: number;
 };
 
 /**
- * The wirefilter expression to be used for traffic matching.
+ * Value of the zone setting.
+ * Notes: The minimum TTL available depends on the plan level of the zone. (Enterprise = 30, Business = 1800, Pro = 3600, Free = 7200)
  *
- * @example http.request.uri matches ".*a/partial/uri.*" and http.request.host in $01302951-49f9-47c9-a400-0297e60b6a10
+ * @default 7200
  */
-export type Traffic = string;
+export type ZonesEdgeCacheTtlValue =
+  | 30
+  | 60
+  | 300
+  | 1200
+  | 1800
+  | 3600
+  | 7200
+  | 10800
+  | 14400
+  | 18000
+  | 28800
+  | 43200
+  | 57600
+  | 72000
+  | 86400
+  | 172800
+  | 259200
+  | 345600
+  | 432000
+  | 518400
+  | 604800;
+
+export type ZonesEmailObfuscation = {
+  /**
+   * Turn on or off **Email Obfuscation**.
+   */
+  id?: 'email_obfuscation';
+  /**
+   * The status of Email Obfuscation.
+   *
+   * @example on
+   */
+  value?: 'on' | 'off';
+};
 
 /**
- * Determines how data travels from the edge to your origin. When set to "direct", Spectrum will send traffic directly to your origin, and the application's type is derived from the `protocol`. When set to "http" or "https", Spectrum will apply Cloudflare's HTTP/HTTPS features as it sends traffic to your origin, and the application type matches this property exactly.
+ * Value of the zone setting.
  *
- * @default direct
- * @example direct
+ * @default on
  */
-export type TrafficType = 'direct' | 'http' | 'https';
+export type ZonesEmailObfuscationValue = 'on' | 'off';
 
-/**
- * Statuses for domain transfers into Cloudflare Registrar.
- */
-export type TransferIn = {
+export type ZonesExplicitCacheControl = {
   /**
-   * Form of authorization has been accepted by the registrant.
+   * Origin Cache Control is enabled by default for Free, Pro, and
+   * Business domains and disabled by default for Enterprise domains.
+   */
+  id?: 'explicit_cache_control';
+  /**
+   * The status of Origin Cache Control.
    *
-   * @example needed
+   * @example on
    */
-  accept_foa?: void;
+  value?: 'on' | 'off';
+};
+
+export type ZonesForwardingUrl = {
   /**
-   * Shows transfer status with the registry.
+   * Redirects one URL to another using an `HTTP 301/302` redirect. Refer
+   * to [Wildcard matching and referencing](https://developers.cloudflare.com/rules/page-rules/reference/wildcard-matching/).
    *
-   * @example unknown
+   * @example forwarding_url
    */
-  approve_transfer?: void;
+  id?: 'forwarding_url';
+  value?: {
+    /**
+     * The status code to use for the URL redirect. 301 is a permanent
+     * redirect. 302 is a temporary redirect.
+     *
+     * @example temporary
+     */
+    status_code?: 301 | 302;
+    /**
+     * The URL to redirect the request to.
+     * Notes: ${num} refers to the position of '*' in the constraint value.
+     *
+     * @example http://www.example.com/somewhere/$1/astring/$2/anotherstring/$3
+     * @maxLength 1500
+     */
+    url?: string;
+  };
+};
+
+/**
+ * HTTP/2 Edge Prioritization optimises the delivery of resources served through HTTP/2 to improve page load performance. It also supports fine control of content delivery when used in conjunction with Workers.
+ */
+export type ZonesH2Prioritization = {
   /**
-   * Indicates if cancellation is still possible.
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
    *
-   * @example true
+   * @default true
    */
-  can_cancel_transfer?: boolean;
+  editable?: true | false;
   /**
-   * Privacy guards are disabled at the foreign registrar.
+   * ID of the zone setting.
+   *
+   * @example h2_prioritization
    */
-  disable_privacy?: void;
+  id: 'h2_prioritization';
   /**
-   * Auth code has been entered and verified.
+   * last time this setting was modified.
    *
-   * @example needed
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
    */
-  enter_auth_code?: void;
+  modified_on?: string | null;
   /**
-   * Domain is unlocked at the foreign registrar.
+   * Current value of the zone setting.
+   *
+   * @example on
    */
-  unlock_domain?: void;
+  value: ZonesH2PrioritizationValue;
 };
 
 /**
- * The parameters configuring the action.
+ * Value of the zone setting.
+ *
+ * @default off
  */
-export type TransformRulesComponentsSchemasActionParameters = ActionParametersRewrite;
+export type ZonesH2PrioritizationValue = 'on' | 'off' | 'custom';
 
-export type TransformRulesComponentsSchemasRule = {
-  /**
-   * @example rewrite
-   */
-  action?: void;
-  action_parameters?: TransformRulesComponentsSchemasActionParameters;
+export type ZonesHostHeaderOverride = {
   /**
-   * @example change request based on ip location
+   * Apply a specific host header.
    */
-  description?: void;
+  id?: 'host_header_override';
   /**
-   * @example ip.geoip.country eq "AL"
+   * The hostname to use in the `Host` header
+   *
+   * @example example.com
+   * @minLength 1
    */
-  expression?: void;
+  value?: string;
+};
+
+/**
+ * When enabled, the Hotlink Protection option ensures that other sites cannot suck up your bandwidth by building pages that use images hosted on your site. Anytime a request for an image on your site hits Cloudflare, we check to ensure that it's not another site requesting them. People will still be able to download and view images from your page, but other sites won't be able to steal them for use on their own pages. (https://support.cloudflare.com/hc/en-us/articles/200170026).
+ */
+export type ZonesHotlinkProtection = {
   /**
-   * @example 3a03d665bac047339bb530ecb439a90d
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
    */
-  id?: void;
+  editable?: true | false;
   /**
-   * @example 1
+   * ID of the zone setting.
+   *
+   * @example hotlink_protection
    */
-  version?: void;
-};
-
-export type TransformRulesComponentsSchemasRuleset = {
+  id: 'hotlink_protection';
   /**
-   * @example
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
    */
-  description?: void;
+  modified_on?: string | null;
   /**
-   * @example 2f2feab2026849078ba485f918791bdc
+   * Current value of the zone setting.
+   *
+   * @example on
    */
-  id?: void;
+  value: ZonesHotlinkProtectionValue;
+};
+
+/**
+ * Value of the zone setting.
+ *
+ * @default off
+ */
+export type ZonesHotlinkProtectionValue = 'on' | 'off';
+
+/**
+ * HTTP2 enabled for this zone.
+ */
+export type ZonesHttp2 = {
   /**
-   * @example zone
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
    */
-  kind?: void;
+  editable?: true | false;
   /**
-   * @example default
+   * ID of the zone setting.
+   *
+   * @example http2
    */
-  name?: void;
+  id: 'http2';
   /**
-   * @example http_request_transform
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
    */
-  phase?: void;
+  modified_on?: string | null;
   /**
-   * The rules in the ruleset.
+   * Current value of the zone setting.
+   *
+   * @example on
    */
-  rules?: TransformRulesComponentsSchemasRule[];
+  value: ZonesHttp2Value;
 };
 
 /**
- * Allows customer to continue to use True Client IP (Akamai feature) in the headers we send to the origin. This is limited to Enterprise Zones.
+ * Value of the HTTP2 setting.
  *
  * @default off
  */
-export type TrueClientIpHeader = {
+export type ZonesHttp2Value = 'on' | 'off';
+
+/**
+ * HTTP3 enabled for this zone.
+ */
+export type ZonesHttp3 = {
   /**
    * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
    *
@@ -26927,9 +49260,9 @@ export type TrueClientIpHeader = {
   /**
    * ID of the zone setting.
    *
-   * @example true_client_ip_header
+   * @example http3
    */
-  id: 'true_client_ip_header';
+  id: 'http3';
   /**
    * last time this setting was modified.
    *
@@ -26942,1482 +49275,1553 @@ export type TrueClientIpHeader = {
    *
    * @example on
    */
-  value: TrueClientIpHeaderValue;
+  value: ZonesHttp3Value;
 };
 
 /**
- * Value of the zone setting.
+ * Value of the HTTP3 setting.
  *
  * @default off
  */
-export type TrueClientIpHeaderValue = 'on' | 'off';
-
-export type Tsig = {
-  algo: Algo;
-  id: SchemasIdentifier0HsWUjPr;
-  name: SchemasNameDv0ow20v;
-  secret: Secret;
-};
-
-/**
- * TSIG authentication will be used for zone transfer if configured.
- *
- * @example 69cd1e104af3e6ed3cb344f263fd0d5a
- */
-export type TsigId = string;
-
-/**
- * Time To Live (TTL) in number of hops of the GRE tunnel.
- *
- * @default 64
- */
-export type Ttl = number;
-
-/**
- * Time to live (TTL) of the DNS entry for the IP address returned by this load balancer. This only applies to gray-clouded (unproxied) load balancers.
- *
- * @example 30
- */
-export type TtlHaRIhRKD = number;
+export type ZonesHttp3Value = 'on' | 'off';
 
 /**
- * Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones.
- *
- * @default 1
- * @example 3600
- */
-export type TtlSfCV2rs6 = number | 1;
-
-/**
- * Time to live (TTL) of the DNS entry for the IP address returned by this load balancer. This only applies to gray-clouded (unproxied) load balancers.
+ * Identifier
  *
- * @example 30
- */
-export type TtlXvgb35JN = number;
-
-/**
- * A Cloudflare Tunnel that connects your origin to Cloudflare's edge.
+ * @example 023e105f4ecef8ad9ca31a8372d0c353
+ * @maxLength 32
  */
-export type Tunnel = {
-  account_tag?: CfAccountId;
-  connections?: Connections;
-  conns_active_at?: ConnsActiveAt;
-  conns_inactive_at?: ConnsInactiveAt;
-  created_at?: CloudflareTunnelComponentsSchemasCreatedAt;
-  deleted_at?: DeletedAtYdpycuPv;
-  id?: TunnelId;
-  metadata?: CloudflareTunnelComponentsSchemasMetadata;
-  name?: TunnelName;
-  remote_config?: RemoteConfig;
-  status?: CloudflareTunnelComponentsSchemasStatus;
-  tun_type?: TunnelType;
-};
-
-export type TunnelAddSingleRequest = {
-  cloudflare_gre_endpoint: CloudflareGreEndpoint;
-  customer_gre_endpoint: CustomerGreEndpoint;
-  description?: SchemasDescriptionVR40R5E7;
-  health_check?: HealthCheck;
-  interface_address: InterfaceAddress;
-  mtu?: Mtu;
-  name: NameBTvYm8cQ;
-  ttl?: Ttl;
-};
+export type ZonesIdentifier = string;
 
 /**
- * A connection between cloudflared and a Cloudflare data center.
+ * Image Resizing provides on-demand resizing, conversion and optimisation for images served through Cloudflare's network. Refer to the [Image Resizing documentation](https://developers.cloudflare.com/images/) for more information.
  */
-export type TunnelConnection = {
-  arch?: Arch;
-  config_version?: ConfigVersion;
-  conns?: Connections;
-  features?: SchemasFeatures;
-  id?: ConnectionId;
-  run_at?: RunAt;
-  version?: CloudflareTunnelComponentsSchemasVersion;
-};
-
-export type TunnelConnectionsResponse = ApiResponseCollection & {
-  result?: TunnelConnection[];
-};
-
-export type TunnelDeletedResponse = ApiResponseSingleRxxEmdsv & {
-  result?: {
-    /**
-     * @example true
-     */
-    deleted?: boolean;
-    deleted_gre_tunnel?: Record<string, any>;
-  };
-};
-
-export type TunnelHealthCheck = {
+export type ZonesImageResizing = {
   /**
-   * Determines whether to run healthchecks for a tunnel.
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
    *
    * @default true
-   * @example true
    */
-  enabled?: boolean;
+  editable?: true | false;
   /**
-   * How frequent the health check is run. The default value is `mid`.
+   * ID of the zone setting.
    *
-   * @default mid
-   * @example low
+   * @example image_resizing
    */
-  rate?: 'low' | 'mid' | 'high';
+  id: 'image_resizing';
   /**
-   * The destination address in a request type health check. After the healthcheck is decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded to this address. This field defaults to `customer_gre_endpoint address`.
+   * last time this setting was modified.
    *
-   * @example 203.0.113.1
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
    */
-  target?: string;
+  modified_on?: string | null;
   /**
-   * The type of healthcheck to run, reply or request. The default value is `reply`.
+   * Current value of the zone setting.
    *
-   * @default reply
-   * @example request
+   * @example on
    */
-  type?: 'reply' | 'request';
-};
-
-/**
- * UUID of the tunnel.
- *
- * @example f70ff985-a4ef-4643-bbbc-4a0ed4fc8415
- * @maxLength 36
- */
-export type TunnelId = string;
-
-export type TunnelModifiedResponse = ApiResponseSingleRxxEmdsv & {
-  result?: {
-    /**
-     * @example true
-     */
-    modified?: boolean;
-    modified_gre_tunnel?: Record<string, any>;
-  };
-};
-
-/**
- * A user-friendly name for the tunnel.
- *
- * @example blog
- */
-export type TunnelName = string;
-
-export type TunnelResponseCollection = ApiResponseCollection & {
-  result?: ArgoTunnel[];
-};
-
-export type TunnelResponseSingle = ApiResponseSingleLarS7owG & {
-  result?: Record<string, any>;
-};
-
-export type TunnelResponseToken = ApiResponseSingleLarS7owG & {
-  result?: string;
-};
-
-/**
- * Sets the password required to run a locally-managed tunnel. Must be at least 32 bytes and encoded as a base64 string.
- *
- * @example AQIDBAUGBwgBAgMEBQYHCAECAwQFBgcIAQIDBAUGBwg=
- */
-export type TunnelSecret = string;
-
-export type TunnelSingleResponse = ApiResponseSingleRxxEmdsv & {
-  result?: {
-    gre_tunnel?: Record<string, any>;
-  };
-};
-
-/**
- * The type of tunnel.
- *
- * @example cfd_tunnel
- */
-export type TunnelType = 'cfd_tunnel';
-
-export type TunnelUpdateRequest = TunnelAddSingleRequest;
-
-export type TunnelsCollectionResponse = ApiResponseSingleRxxEmdsv & {
-  result?: {
-    gre_tunnels?: GreTunnel[];
-  };
+  value: ZonesImageResizingValue;
 };
 
 /**
- * Specifies the TUS protocol version. This value must be included in every upload request.
- * Notes: The only supported version of TUS protocol is 1.0.0.
- *
- * @example 1.0.0
- */
-export type TusResumable = '1.0.0';
-
-/**
- * Indicates whether two-factor authentication is enabled for the user account. Does not apply to API authentication.
- *
- * @default false
- */
-export type TwoFactorAuthenticationEnabled = boolean;
-
-/**
- * The protocol to use for the health check. Currently supported protocols are 'HTTP', 'HTTPS' and 'TCP'.
- *
- * @default HTTP
- * @example HTTPS
- */
-export type Type = string;
-
-/**
- * The protocol to use for the health check. Currently supported protocols are 'HTTP','HTTPS', 'TCP', 'ICMP-PING', 'UDP-ICMP', and 'SMTP'.
- *
- * @default http
- * @example https
- */
-export type TypeB9S5DdJI = 'http' | 'https' | 'tcp' | 'udp_icmp' | 'icmp_ping' | 'smtp';
-
-/**
- * The application type.
- *
- * @example self_hosted
- */
-export type TypeOK1aJkK3 =
-  | 'self_hosted'
-  | 'saas'
-  | 'ssh'
-  | 'vnc'
-  | 'app_launcher'
-  | 'warp'
-  | 'biso'
-  | 'bookmark'
-  | 'dash_sso';
-
-/**
- * The type of Device Posture Rule.
- *
- * @example file
- */
-export type TypeS34NxojT = 'file' | 'application' | 'serial_number' | 'tanium' | 'gateway' | 'warp' | 'disk_encryption';
-
-/**
- * The type 'legacy_custom' enables support for legacy clients which do not include SNI in the TLS handshake.
- *
- * @default legacy_custom
- * @example sni_custom
- */
-export type TypeS5kHws3S = 'legacy_custom' | 'sni_custom';
-
-/**
- * Record type.
- *
- * @example A
- */
-export type TypeCbxL4EpK =
-  | 'A'
-  | 'AAAA'
-  | 'CAA'
-  | 'CERT'
-  | 'CNAME'
-  | 'DNSKEY'
-  | 'DS'
-  | 'HTTPS'
-  | 'LOC'
-  | 'MX'
-  | 'NAPTR'
-  | 'NS'
-  | 'PTR'
-  | 'SMIMEA'
-  | 'SRV'
-  | 'SSHFP'
-  | 'SVCB'
-  | 'TLSA'
-  | 'TXT'
-  | 'URI';
-
-/**
- * The billing item type.
- *
- * @example charge
- * @maxLength 30
- */
-export type TypeJfoU8Rqn = string;
-
-/**
- * The type of List.
- *
- * @example SERIAL
- */
-export type TypeKFroakje = 'SERIAL' | 'URL' | 'DOMAIN' | 'EMAIL' | 'IP';
-
-/**
- * A full zone implies that DNS is hosted with Cloudflare. A partial zone is typically a partner-hosted zone or a CNAME setup.
+ * Whether the feature is enabled, disabled, or enabled in `open proxy` mode.
  *
- * @example full
+ * @default off
  */
-export type TypeUEHXSvjy = 'full' | 'partial';
-
-export type UaRules = Firewalluablock;
+export type ZonesImageResizingValue = 'on' | 'off' | 'open';
 
-/**
- * An informative summary of the rule.
- *
- * @example Prevent access from abusive clients identified by this User Agent to mitigate a DDoS attack
- * @maxLength 1024
- */
-export type UaRulesComponentsSchemasDescription = string;
+export type ZonesIpGeolocation = {
+  /**
+   * Cloudflare adds a CF-IPCountry HTTP header containing the country code that corresponds to the visitor.
+   *
+   * @example ip_geolocation
+   */
+  id?: 'ip_geolocation';
+  /**
+   * The status of adding the IP Geolocation Header.
+   *
+   * @example on
+   */
+  value?: 'on' | 'off';
+};
 
 /**
- * The unique identifier of the User Agent Blocking rule.
+ * Value of the zone setting.
  *
- * @example 372e67954025e0ba6aaa6d586b9e0b59
- * @maxLength 32
+ * @default on
  */
-export type UaRulesComponentsSchemasId = string;
+export type ZonesIpGeolocationValue = 'on' | 'off';
 
 /**
- * The action to apply to a matched request.
- *
- * @example js_challenge
- * @maxLength 12
+ * Enable IPv6 on all subdomains that are Cloudflare enabled.  (https://support.cloudflare.com/hc/en-us/articles/200168586).
  */
-export type UaRulesComponentsSchemasMode = 'block' | 'challenge' | 'js_challenge' | 'managed_challenge';
+export type ZonesIpv6 = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example ipv6
+   */
+  id: 'ipv6';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: ZonesIpv6Value;
+};
 
 /**
- * A description of the reason why the UI read only field is being toggled.
+ * Value of the zone setting.
  *
- * @example Temporarily turn off the UI read only lock to make a change via the UI
+ * @default off
  */
-export type UiReadOnlyToggleReason = string;
+export type ZonesIpv6Value = 'off' | 'on';
 
 /**
- * The unique API identifier for the user.
+ * Maximum size of an allowable upload.
  */
-export type Uid = void;
-
-export type Uniques = {
+export type ZonesMaxUpload = {
   /**
-   * Total number of unique IP addresses within the time range.
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
    */
-  all?: number;
+  editable?: true | false;
+  /**
+   * identifier of the zone setting.
+   *
+   * @example max_upload
+   */
+  id: 'max_upload';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: ZonesMaxUploadValue;
 };
 
 /**
- * The unit price of the addon.
+ * Value of the zone setting.
+ * Notes: The size depends on the plan level of the zone. (Enterprise = 500, Business = 200, Pro = 100, Free = 100)
  *
- * @example 1
+ * @default 100
  */
-export type UnitPrice = number;
+export type ZonesMaxUploadValue = 100 | 200 | 500;
 
-export type Universal = {
-  enabled?: SchemasEnabled;
-};
+export type ZonesMessages = {
+  /**
+   * @minimum 1000
+   */
+  code: number;
+  message: string;
+}[];
 
 /**
- * A list of device ids to unrevoke.
+ * Only accepts HTTPS requests that use at least the TLS protocol version specified. For example, if TLS 1.1 is selected, TLS 1.0 connections will be rejected, while 1.1, 1.2, and 1.3 (if enabled) will be permitted.
  *
- * @maxLength 200
+ * @default 1.0
  */
-export type UnrevokeDevicesRequest = SchemasUuid4P4vJwxm[];
+export type ZonesMinTlsVersion = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example min_tls_version
+   */
+  id: 'min_tls_version';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: ZonesMinTlsVersionValue;
+};
 
 /**
- * A list of device ids to unrevoke.
+ * Value of the zone setting.
  *
- * @maxLength 200
+ * @default 1.0
  */
-export type UnrevokeDevicesRequestZqpiEPkF = Uuid[];
+export type ZonesMinTlsVersionValue = '1.0' | '1.1' | '1.2' | '1.3';
+
+export type ZonesMirage = {
+  /**
+   * Cloudflare Mirage reduces bandwidth used by images in mobile browsers.
+   * It can accelerate loading of image-heavy websites on very slow mobile connections and HTTP/1.
+   *
+   * @example mirage
+   */
+  id?: 'mirage';
+  /**
+   * The status of Mirage.
+   *
+   * @example on
+   */
+  value?: 'on' | 'off';
+};
 
 /**
- * End date and time of requesting data period in ISO 8601 format.
+ * Value of the zone setting.
  *
- * @example 2023-11-11T13:00:00Z
- * @format date-time
+ * @default off
  */
-export type Until = string;
+export type ZonesMirageValue = 'on' | 'off';
 
 /**
- * The (exclusive) end of the requested time frame. This value can be a negative integer representing the number of minutes in the past relative to time the request is made, or can be an absolute timestamp that conforms to RFC 3339. If omitted, the time of the request is used.
+ * The timestamp of when the Page Rule was last modified.
  *
- * @default 0
- * @example 2015-01-02T12:23:00Z
+ * @example 2014-01-01T05:20:00.12345Z
+ * @format date-time
  */
-export type UntilOh0IDugA = string | number;
+export type ZonesModifiedOn = string;
+
+export type ZonesMultipleSettings = (
+  | Zones0rtt
+  | ZonesAdvancedDdos
+  | ZonesAlwaysOnline
+  | ZonesSchemasAlwaysUseHttps
+  | ZonesSchemasAutomaticHttpsRewrites
+  | ZonesBrotli
+  | ZonesSchemasBrowserCacheTtl
+  | ZonesSchemasBrowserCheck
+  | ZonesSchemasCacheLevel
+  | ZonesChallengeTtl
+  | ZonesCiphers
+  | ZonesCnameFlattening
+  | ZonesDevelopmentMode
+  | ZonesEarlyHints
+  | ZonesSchemasEdgeCacheTtl
+  | ZonesSchemasEmailObfuscation
+  | ZonesH2Prioritization
+  | ZonesHotlinkProtection
+  | ZonesHttp2
+  | ZonesHttp3
+  | ZonesSchemasIpGeolocation
+  | ZonesIpv6
+  | ZonesMaxUpload
+  | ZonesMinTlsVersion
+  | ZonesSchemasMirage
+  | ZonesNel
+  | ZonesSchemasOpportunisticEncryption
+  | ZonesOpportunisticOnion
+  | ZonesOrangeToOrange
+  | ZonesSchemasOriginErrorPagePassThru
+  | ZonesSchemasPolish
+  | ZonesPrefetchPreload
+  | ZonesProxyReadTimeout
+  | ZonesPseudoIpv4
+  | ZonesReplaceInsecureJs
+  | ZonesSchemasResponseBuffering
+  | ZonesSchemasRocketLoader
+  | ZonesSchemasAutomaticPlatformOptimization
+  | ZonesSecurityHeader
+  | ZonesSchemasSecurityLevel
+  | ZonesServerSideExclude
+  | ZonesSha1Support
+  | ZonesSchemasSortQueryStringForCache
+  | ZonesSchemasSsl
+  | ZonesSslRecommender
+  | ZonesTls12Only
+  | ZonesTls13
+  | ZonesTlsClientAuth
+  | ZonesSchemasTrueClientIpHeader
+  | ZonesSchemasWaf
+  | ZonesWebp
+  | ZonesWebsockets
+)[];
 
 /**
- * End date and time of requesting data period in the ISO8601 format.
+ * The domain name
  *
- * @example 2016-11-11T13:00:00Z
- * @format date-time
+ * @example example.com
+ * @maxLength 253
+ * @pattern ^([a-zA-Z0-9][\-a-zA-Z0-9]*\.)+[\-a-zA-Z0-9]{2,20}$
  */
-export type UntilYoheyxzn = string;
-
-export type UpdateZoneSettingsResponse = {
-  enabled?: Enabled;
-  updated_at?: UpdatedAt;
-  use_cloudflare_reporting_endpoint?: UseCloudflareReportingEndpoint;
-  use_connection_url_path?: UseConnectionUrlPath;
-};
-
-export type UpdateCatchAllRuleProperties = {
-  actions: RuleCatchallActions;
-  enabled?: RuleEnabledXvrbaudJ;
-  matchers: RuleCatchallMatchers;
-  name?: RuleName;
-};
+export type ZonesName = string;
 
-export type UpdateCustomProfile = {
-  allowed_match_count?: AllowedMatchCount;
+/**
+ * Enable Network Error Logging reporting on your zone. (Beta)
+ */
+export type ZonesNel = {
   /**
-   * The description of the profile.
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
    *
-   * @example A standard CVV card number
+   * @default true
    */
-  description?: string;
+  editable?: true | false;
   /**
-   * The custom entries for this profile. Array elements with IDs are modifying the existing entry with that ID. Elements without ID will create new entries. Any entry not in the list will be deleted.
+   * Zone setting identifier.
+   *
+   * @example nel
    */
-  entries?: CustomEntry[];
+  id: 'nel';
   /**
-   * The name of the profile.
+   * last time this setting was modified.
    *
-   * @example Generic CVV Card Number
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
    */
-  name?: string;
+  modified_on?: string | null;
   /**
-   * Entries from other profiles (e.g. pre-defined Cloudflare profiles, or your Microsoft Information Protection profiles).
+   * Current value of the zone setting.
+   *
+   * @example on
    */
-  shared_entries?: (SharedEntryUpdatePredefined | SharedEntryUpdateIntegration)[];
+  value: ZonesNelValue;
 };
 
-export type UpdateCustomProfileQMnB1nrg = {
-  allowed_match_count?: AllowedMatchCount;
+/**
+ * Value of the zone setting.
+ *
+ * @default {"enabled":false}
+ */
+export type ZonesNelValue = {
   /**
-   * The description of the profile.
-   *
-   * @example A standard CVV card number
+   * @default false
+   * @example false
    */
-  description?: string;
+  enabled?: boolean;
+};
+
+export type ZonesOpportunisticEncryption = {
   /**
-   * The entries for this profile. Array elements with IDs are modifying the existing entry with that ID. Elements without ID will create new entries. Any entry not in the list will be deleted.
+   * Opportunistic Encryption allows browsers to access HTTP URIs over an encrypted TLS channel.
+   * It's not a substitute for HTTPS, but provides additional security for otherwise vulnerable requests.
+   *
+   * @example opportunistic_encryption
    */
-  entries?: CustomEntryMPO16jNs[];
+  id?: 'opportunistic_encryption';
   /**
-   * The name of the profile.
+   * The status of Opportunistic Encryption.
    *
-   * @example Generic CVV Card Number
+   * @example on
    */
-  name?: string;
+  value?: 'on' | 'off';
 };
 
-export type UpdateInputRequest = {
-  defaultCreator?: LiveInputDefaultCreator;
-  meta?: LiveInputMetadata;
-  recording?: LiveInputRecordingSettings;
-};
-
-export type UpdateOutputRequest = {
-  enabled: OutputEnabled;
-};
+/**
+ * Value of the zone setting.
+ * Notes: Default value depends on the zone's plan level.
+ *
+ * @default on
+ */
+export type ZonesOpportunisticEncryptionValue = 'on' | 'off';
 
-export type UpdatePredefinedProfile = {
-  allowed_match_count?: AllowedMatchCount;
+/**
+ * Add an Alt-Svc header to all legitimate requests from Tor, allowing the connection to use our onion services instead of exit nodes.
+ *
+ * @default off
+ */
+export type ZonesOpportunisticOnion = {
   /**
-   * The entries for this profile.
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
    */
-  entries?: {
-    /**
-     * Wheter the entry is enabled or not.
-     *
-     * @example true
-     */
-    enabled?: boolean;
-    id?: EntryId;
-  }[];
-};
-
-export type UpdateRuleProperties = {
-  actions: RuleActions;
-  enabled?: RuleEnabledXvrbaudJ;
-  matchers: RuleMatchers;
-  name?: RuleName;
-  priority?: RulePriority;
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example opportunistic_onion
+   */
+  id: 'opportunistic_onion';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: ZonesOpportunisticOnionValue;
 };
 
-export type UpdateRules = CreateRule[];
+/**
+ * Value of the zone setting.
+ * Notes: Default value depends on the zone's plan level.
+ *
+ * @default off
+ */
+export type ZonesOpportunisticOnionValue = 'on' | 'off';
 
 /**
- * A ruleset object.
+ * Orange to Orange (O2O) allows zones on Cloudflare to CNAME to other zones also on Cloudflare.
  */
-export type UpdateRuleset = {
-  description?: RulesetsComponentsSchemasDescription;
-  rules: CreateUpdateRules;
+export type ZonesOrangeToOrange = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example orange_to_orange
+   */
+  id: 'orange_to_orange';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: ZonesOrangeToOrangeValue;
 };
 
 /**
- * Payload log settings
+ * Value of the zone setting.
+ *
+ * @default on
  */
-export type UpdateSettings = {
+export type ZonesOrangeToOrangeValue = 'on' | 'off';
+
+export type ZonesOriginErrorPagePassThru = {
   /**
-   * The public key to use when encrypting extracted payloads, as a base64 string
+   * Turn on or off Cloudflare error pages generated from issues sent from the origin server. If enabled, this setting triggers error pages issued by the origin.
    *
-   * @example EmpOvSXw8BfbrGCi0fhGiD/3yXk2SiV1Nzg2lru3oj0=
+   * @example origin_error_page_pass_thru
    */
-  public_key: string | null;
-};
-
-export type UpdateSettingsResponse = ApiResponseSingleUypB4bgI & {
-  result?: {
-    /**
-     * @example EmpOvSXw8BfbrGCi0fhGiD/3yXk2SiV1Nzg2lru3oj0=
-     */
-    public_key: string | null;
-  };
-};
-
-export type UpdateSettingsResponseTGrCu4w7 = ApiResponseSingleLarS7owG & {
-  result?: {
-    /**
-     * @example EmpOvSXw8BfbrGCi0fhGiD/3yXk2SiV1Nzg2lru3oj0=
-     */
-    public_key: string | null;
-  };
+  id?: 'origin_error_page_pass_thru';
+  /**
+   * The status of Origin Error Page Passthru.
+   *
+   * @example on
+   */
+  value?: 'on' | 'off';
 };
 
 /**
- * When the device was updated.
+ * Value of the zone setting.
  *
- * @example 2017-06-14T00:00:00Z
- * @format date-time
+ * @default off
  */
-export type Updated = string;
+export type ZonesOriginErrorPagePassThruValue = 'on' | 'off';
 
-/**
- * The timestamp of when Page Shield was last updated.
- *
- * @example 2022-10-12T17:56:52.083582+01:00
- */
-export type UpdatedAt = string;
+export type ZonesPageRule = {
+  actions: ZonesActions;
+  created_on: ZonesCreatedOn;
+  id: ZonesIdentifier;
+  modified_on: ZonesModifiedOn;
+  priority: ZonesPriority;
+  status: ZonesStatus;
+  targets: ZonesTargets;
+};
 
 /**
- * The time when the certificate was updated.
+ * Indicates whether the zone is only using Cloudflare DNS services. A
+ * true value means the zone will not receive security or performance
+ * benefits.
  *
- * @example 2100-01-01T05:20:00Z
- * @format date-time
+ * @default false
  */
-export type UpdatedAt2oKeN2sz = string;
+export type ZonesPaused = boolean;
+
+export type ZonesPolish = {
+  /**
+   * Apply options from the Polish feature of the Cloudflare Speed app.
+   *
+   * @example polish
+   */
+  id?: 'polish';
+  /**
+   * The level of Polish you want applied to your origin.
+   *
+   * @example lossless
+   */
+  value?: 'off' | 'lossless' | 'lossy';
+};
 
 /**
- * The time when the certificate was updated.
+ * Value of the zone setting.
  *
- * @example 2100-01-01T05:20:00Z
- * @format date-time
+ * @default off
  */
-export type UpdatedAtOvRg3NFi = string;
+export type ZonesPolishValue = 'off' | 'lossless' | 'lossy';
 
 /**
- * Defined when the Railgun version is out of date from the latest release from Cloudflare.
+ * Cloudflare will prefetch any URLs that are included in the response headers. This is limited to Enterprise Zones.
+ *
+ * @default off
  */
-export type UpgradeInfo = {
+export type ZonesPrefetchPreload = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example prefetch_preload
+   */
+  id: 'prefetch_preload';
   /**
-   * An HTTP link to download the latest Railgun binary.
+   * last time this setting was modified.
    *
-   * @example https://www.cloudflare.com/downloads/railgun
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
    */
-  download_link?: string;
+  modified_on?: string | null;
   /**
-   * Latest version of the Railgun receiver available to install.
+   * Current value of the zone setting.
    *
-   * @example 1.0.0
+   * @example on
    */
-  latest_version?: string;
+  value: ZonesPrefetchPreloadValue;
 };
 
 /**
- * Indicates the size of the entire upload in bytes. The value must be a non-negative integer.
+ * Value of the zone setting.
  *
- * @minimum 0
+ * @default off
  */
-export type UploadLength = number;
+export type ZonesPrefetchPreloadValue = 'on' | 'off';
 
 /**
- * The date and time the media item was uploaded.
+ * The priority of the rule, used to define which Page Rule is processed
+ * over another. A higher number indicates a higher priority. For example,
+ * if you have a catch-all Page Rule (rule A: `/images/*`) but want a more
+ * specific Page Rule to take precedence (rule B: `/images/special/*`),
+ * specify a higher priority for rule B so it overrides rule A.
  *
- * @example 2014-01-02T02:20:00Z
- * @format date-time
+ * @default 1
  */
-export type Uploaded = string;
+export type ZonesPriority = number;
 
 /**
- * When the media item was uploaded.
- *
- * @example 2014-01-02T02:20:00Z
- * @format date-time
+ * Maximum time between two read operations from origin.
  */
-export type UploadedYGkLPeev = string;
+export type ZonesProxyReadTimeout = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example proxy_read_timeout
+   */
+  id: 'proxy_read_timeout';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: ZonesProxyReadTimeoutValue;
+};
 
 /**
- * When the certificate was uploaded to Cloudflare.
+ * Value of the zone setting.
+ * Notes: Value must be between 1 and 6000
  *
- * @example 2014-01-01T05:20:00Z
- * @format date-time
+ * @default 100
  */
-export type UploadedOn = string;
+export type ZonesProxyReadTimeoutValue = number;
 
 /**
- * @example 192.0.2.1
- * @example 198.51.100.1
- * @example 2001:DB8:100::CF
+ * The value set for the Pseudo IPv4 setting.
  */
-export type UpstreamIps = (string | string)[];
-
-export type UptycsConfigRequest = {
+export type ZonesPseudoIpv4 = {
   /**
-   * The Uptycs client secret.
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
    *
-   * @example example client key
+   * @default true
    */
-  client_key: string;
+  editable?: true | false;
   /**
-   * The Uptycs client secret.
+   * Value of the Pseudo IPv4 setting.
    *
-   * @example example client secret
+   * @example development_mode
+   * @default pseudo_ipv4
    */
-  client_secret: string;
+  id: 'pseudo_ipv4';
   /**
-   * The Uptycs customer ID.
+   * last time this setting was modified.
    *
-   * @example example customer id
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
    */
-  customer_id: string;
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: ZonesPseudoIpv4Value;
 };
 
 /**
- * A single URI to search for in the list of URLs of existing rules.
- *
- * @example /some/path
- */
-export type UriSearch = string;
-
-/**
- * The URL associated with the custom page.
+ * Value of the Pseudo IPv4 setting.
  *
- * @default
- * @example http://www.example.com
- * @format uri
+ * @default off
  */
-export type Url = string;
+export type ZonesPseudoIpv4Value = 'off' | 'add_header' | 'overwrite_header';
 
 /**
- * Submission ID(s) to filter submission results by.
+ * Automatically replace insecure JavaScript libraries with safer and faster alternatives provided under cdnjs and powered by Cloudflare. Currently supports the following libraries: Polyfill under polyfill.io.
  */
-export type UrlId = number;
-
-export type UrlIdParam = {
-  url_id?: UrlId;
+export type ZonesReplaceInsecureJs = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example replace_insecure_js
+   */
+  id: 'replace_insecure_js';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: ZonesReplaceInsecureJsValue;
 };
 
 /**
- * The type of URL normalization performed by Cloudflare.
+ * Value of the zone setting.
  *
- * @example cloudflare
+ * @default off
  */
-export type UrlNormalizationComponentsSchemasType = string;
+export type ZonesReplaceInsecureJsValue = 'on' | 'off';
+
+export type ZonesResolveOverride = {
+  /**
+   * Change the origin address to the value specified in this setting.
+   *
+   * @example resolve_override
+   */
+  id?: 'resolve_override';
+  /**
+   * The origin address you want to override with.
+   *
+   * @example example.com
+   */
+  value?: string;
+};
 
-export type UrlParam = {
-  url?: ComponentsSchemasUrl;
+export type ZonesRespectStrongEtag = {
+  /**
+   * Turn on or off byte-for-byte equivalency checks between the
+   * Cloudflare cache and the origin server.
+   */
+  id?: 'respect_strong_etag';
+  /**
+   * The status of Respect Strong ETags
+   *
+   * @example on
+   */
+  value?: 'on' | 'off';
 };
 
-/**
- * URL target.
- */
-export type UrlTarget = {
+export type ZonesResponseBuffering = {
   /**
-   * String constraint.
+   * Turn on or off whether Cloudflare should wait for an entire file
+   * from the origin server before forwarding it to the site visitor. By
+   * default, Cloudflare sends packets to the client as they arrive from
+   * the origin server.
    */
-  constraint?: {
-    /**
-     * The matches operator can use asterisks and pipes as wildcard and 'or' operators.
-     *
-     * @default contains
-     */
-    operator: 'matches' | 'contains' | 'equals' | 'not_equal' | 'not_contain';
-    /**
-     * The URL pattern to match against the current request. The pattern may contain up to four asterisks ('*') as placeholders.
-     *
-     * @example *example.com/images/*
-     * @pattern ^(https?://)?(([-a-zA-Z0-9*]*\.)+[-a-zA-Z0-9]{2,20})(:(8080|8443|443|80))?(/[\S]+)?$
-     */
-    value: string;
-  };
+  id?: 'response_buffering';
   /**
-   * A target based on the URL of the request.
+   * The status of Response Buffering
    *
-   * @example url
+   * @example on
    */
-  target?: 'url';
+  value?: 'on' | 'off';
 };
 
 /**
- * The URLs to include in the current WAF override. You can use wildcards. Each entered URL will be escaped before use, which means you can only use simple wildcard patterns.
+ * Value of the zone setting.
+ *
+ * @default off
  */
-export type Urls = string[];
+export type ZonesResponseBufferingValue = 'on' | 'off';
+
+export type ZonesResultInfo = {
+  /**
+   * Total number of results for the requested service
+   *
+   * @example 1
+   */
+  count?: number;
+  /**
+   * Current page within paginated list of results
+   *
+   * @example 1
+   */
+  page?: number;
+  /**
+   * Number of results per page of results
+   *
+   * @example 20
+   */
+  per_page?: number;
+  /**
+   * Total results available without any search parameters
+   *
+   * @example 2000
+   */
+  total_count?: number;
+};
 
-export type UsageModelResponse = {
-  errors: Messages;
-  messages: Messages;
-  result:
-    | {
-        usage_model?: void;
-      }
-    | any[]
-    | string;
+export type ZonesRocketLoader = {
   /**
-   * Whether the API call was successful
+   * Turn on or off Rocket Loader in the Cloudflare Speed app.
+   */
+  id?: 'rocket_loader';
+  /**
+   * The status of Rocket Loader
    *
-   * @example true
+   * @example on
    */
-  success: true;
+  value?: 'on' | 'off';
 };
 
 /**
- * Specifies the usage model for the Worker (e.g. 'bundled' or 'unbound').
- *
- * @example unbound
- * @pattern ^(bundled|unbound)$
- */
-export type UsageModel = string;
-
-/**
- * When true, CSP reports will be sent to https://csp-reporting.cloudflare.com/cdn-cgi/script_monitor/report
+ * Value of the zone setting.
  *
- * @example true
+ * @default off
  */
-export type UseCloudflareReportingEndpoint = boolean;
+export type ZonesRocketLoaderValue = 'on' | 'off';
 
 /**
- * When true, the paths associated with connections URLs will also be analyzed.
+ * Reply to all requests for URLs that use "http" with a 301 redirect to the equivalent "https" URL. If you only want to redirect for a subset of requests, consider creating an "Always use HTTPS" page rule.
  *
- * @example true
+ * @default off
  */
-export type UseConnectionUrlPath = boolean;
-
-export type User = {
-  email?: EmailHj6ruiEO;
-  id?: ComponentsSchemasUuid2bGv7FH2;
+export type ZonesSchemasAlwaysUseHttps = {
   /**
-   * The enrolled device user's name.
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
    *
-   * @example John Appleseed
+   * @default true
    */
-  name?: string;
-};
-
-export type UserTCLIy2E3 = {
-  email?: EmailPuzf53IC;
-  id?: Uuid;
+  editable?: true | false;
   /**
-   * The enrolled device user's name.
+   * ID of the zone setting.
    *
-   * @example John Appleseed
+   * @example always_use_https
    */
-  name?: string;
-};
-
-export type UserInvite = BaseMktMcgEk & {
+  id: 'always_use_https';
   /**
-   * Current status of the invitation.
+   * last time this setting was modified.
    *
-   * @example accepted
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
    */
-  status?: 'pending' | 'accepted' | 'rejected' | 'expired';
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: ZonesAlwaysUseHttpsValue;
 };
 
-/**
- * The amount of time a user seat is inactive before it expires. When the user seat exceeds the set time of inactivity, the user is removed as an active seat and no longer counts against your Teams seat count. Must be in the format `300ms` or `2h45m`. Valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`.
- *
- * @example 720h
- */
-export type UserSeatExpirationInactiveTime = string;
-
-export type UserSubscriptionResponseCollection = ApiResponseCollection & {
-  result?: Subscription[];
+export type ZonesSchemasApiResponseCommon = {
+  errors: ZonesMessages;
+  messages: ZonesMessages;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
 };
 
-export type UserSubscriptionResponseSingle = ApiResponseSingleLarS7owG & {
-  result?: Record<string, any>;
+export type ZonesSchemasApiResponseCommonFailure = {
+  /**
+   * @example {"code":7003,"message":"No route for the URI"}
+   * @minLength 1
+   */
+  errors: ZonesMessages;
+  messages: ZonesMessages;
+  result: any | null;
+  /**
+   * Whether the API call was successful
+   *
+   * @example false
+   */
+  success: false;
 };
 
-export type Users = {
-  access_seat?: SchemasAccessSeat;
-  active_device_count?: ActiveDeviceCount;
-  created_at?: Timestamp;
-  email?: SchemasEmail;
-  gateway_seat?: SchemasGatewaySeat;
-  id?: SchemasId;
-  last_successful_login?: LastSuccessfulLogin;
-  name?: UsersComponentsSchemasName;
-  seat_uid?: SeatUid;
-  uid?: Uid;
-  updated_at?: Timestamp;
+export type ZonesSchemasApiResponseSingle = {
+  errors: ZonesMessages;
+  messages: ZonesMessages;
+  result: Record<string, any> | string | string;
+  /**
+   * Whether the API call was successful
+   *
+   * @example true
+   */
+  success: true;
 };
 
-export type UsersMEJ7mXt5 = {
-  access_seat?: SchemasAccessSeat;
-  active_device_count?: ActiveDeviceCount;
-  created_at?: Timestamp;
-  email?: ComponentsSchemasEmail;
-  gateway_seat?: SchemasGatewaySeat;
-  id?: UsersComponentsSchemasId;
-  last_successful_login?: LastSuccessfulLogin;
-  name?: UsersComponentsSchemasName;
-  seat_uid?: SeatUid;
-  uid?: Uid;
-  updated_at?: Timestamp;
+export type ZonesSchemasApiResponseSingleId = ZonesSchemasApiResponseCommon & {
+  result?: {
+    id: ZonesIdentifier;
+  } | null;
 };
 
 /**
- * The ID of the user.
+ * Enable the Automatic HTTPS Rewrites feature for this zone.
  *
- * @example f3b12456-80dd-4e89-9f5f-ba3dfff12365
+ * @default off
  */
-export type UsersComponentsSchemasId = void;
+export type ZonesSchemasAutomaticHttpsRewrites = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example automatic_https_rewrites
+   */
+  id: 'automatic_https_rewrites';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: ZonesAutomaticHttpsRewritesValue;
+};
 
 /**
- * The name of the user.
- *
- * @example Jane Doe
+ * [Automatic Platform Optimization for WordPress](https://developers.cloudflare.com/automatic-platform-optimization/) serves your WordPress site from Cloudflare's edge network and caches third-party fonts.
  */
-export type UsersComponentsSchemasName = string;
-
-export type UsersComponentsSchemasResponseCollection = ApiResponseCollection & {
-  result_info?: {
-    /**
-     * @example 1
-     */
-    count?: void;
-    /**
-     * @example 1
-     */
-    page?: void;
-    /**
-     * @example 100
-     */
-    per_page?: void;
-    /**
-     * @example 1
-     */
-    total_count?: void;
-  };
-} & {
-  result?: UsersMEJ7mXt5[];
+export type ZonesSchemasAutomaticPlatformOptimization = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example automatic_platform_optimization
+   */
+  id: 'automatic_platform_optimization';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: ZonesAutomaticPlatformOptimization;
 };
 
 /**
- * UUID
- *
- * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
- * @maxLength 36
+ * Browser Cache TTL (in seconds) specifies how long Cloudflare-cached resources will remain on your visitors' computers. Cloudflare will honor any larger times specified by your server. (https://support.cloudflare.com/hc/en-us/articles/200168276).
  */
-export type Uuid = string;
+export type ZonesSchemasBrowserCacheTtl = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example browser_cache_ttl
+   */
+  id: 'browser_cache_ttl';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: ZonesBrowserCacheTtlValue;
+};
 
 /**
- * API Resource UUID tag.
- *
- * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
- * @maxLength 36
+ * Browser Integrity Check is similar to Bad Behavior and looks for common HTTP headers abused most commonly by spammers and denies access to your page.  It will also challenge visitors that do not have a user agent or a non standard user agent (also commonly used by abuse bots, crawlers or visitors). (https://support.cloudflare.com/hc/en-us/articles/200170086).
  */
-export type Uuid1mDHWugl = string;
+export type ZonesSchemasBrowserCheck = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example browser_check
+   */
+  id: 'browser_check';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: ZonesBrowserCheckValue;
+};
 
 /**
- * API uuid tag.
- *
- * @example f174e90a-fafe-4643-bbbc-4a0ed4fc8415
- * @maxLength 36
+ * Cache Level functions based off the setting level. The basic setting will cache most static resources (i.e., css, images, and JavaScript). The simplified setting will ignore the query string when delivering a cached resource. The aggressive setting will cache all static resources, including ones with a query string. (https://support.cloudflare.com/hc/en-us/articles/200168256).
  */
-export type UuidUoyzrwvx = string;
-
-export type ValidateOwnershipResponse = {
-  errors: Messages;
-  messages: Messages;
-  result:
-    | {
-        /**
-         * @example true
-         */
-        valid?: boolean;
-      }
-    | any[]
-    | string
-    | null;
+export type ZonesSchemasCacheLevel = {
   /**
-   * Whether the API call was successful
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example cache_level
+   */
+  id: 'cache_level';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
    *
-   * @example true
+   * @example on
    */
-  success: true;
+  value: ZonesCacheLevelValue;
 };
 
 /**
- * A request to validate a pattern
+ * Time (in seconds) that a resource will be ensured to remain on Cloudflare's cache servers.
  */
-export type ValidatePattern = {
+export type ZonesSchemasEdgeCacheTtl = {
   /**
-   * The regex pattern.
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
    *
-   * @example ^4[0-9]{6,}$
+   * @default true
    */
-  regex: string;
-};
-
-export type ValidateResponse = {
-  errors: Messages;
-  messages: Messages;
-  result:
-    | {
-        /**
-         * @example
-         */
-        message?: string;
-        /**
-         * @example true
-         */
-        valid?: boolean;
-      }
-    | any[]
-    | string
-    | null;
+  editable?: true | false;
   /**
-   * Whether the API call was successful
+   * ID of the zone setting.
    *
-   * @example true
+   * @example edge_cache_ttl
    */
-  success: true;
-};
-
-export type ValidateResponseW2HGWyNF = ApiResponseSingleLarS7owG & {
-  result?: {
-    /**
-     * @example true
-     */
-    valid?: boolean;
-  };
-};
-
-export type ValidateResponseWQcn5Sbe = ApiResponseSingleUypB4bgI & {
-  result?: {
-    /**
-     * @example true
-     */
-    valid?: boolean;
-  };
+  id: 'edge_cache_ttl';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: ZonesEdgeCacheTtlValue;
 };
 
 /**
- * Validation Method selected for the order.
- *
- * @example txt
- */
-export type ValidationMethod = 'txt' | 'http' | 'email';
-
-/**
- * Result status.
- *
- * @example pending_validation
- */
-export type ValidationMethodComponentsSchemasStatus = string;
-
-/**
- * Desired validation method.
- *
- * @example txt
- */
-export type ValidationMethodDefinition = 'http' | 'cname' | 'txt' | 'email';
-
-/**
- * Certificate's required validation record.
+ * Encrypt email adresses on your web page from bots, while keeping them visible to humans. (https://support.cloudflare.com/hc/en-us/articles/200170016).
  */
-export type ValidationRecord = {
-  /**
-   * The set of email addresses that the certificate authority (CA) will use to complete domain validation.
-   *
-   * @example administrator@example.com
-   * @example webmaster@example.com
-   */
-  emails?: any[];
+export type ZonesSchemasEmailObfuscation = {
   /**
-   * The content that the certificate authority (CA) will expect to find at the http_url during the domain validation.
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
    *
-   * @example ca3-574923932a82475cb8592200f1a2a23d
+   * @default true
    */
-  http_body?: string;
+  editable?: true | false;
   /**
-   * The url that will be checked during domain validation.
+   * ID of the zone setting.
    *
-   * @example http://app.example.com/.well-known/pki-validation/ca3-da12a1c25e7b48cf80408c6c1763b8a2.txt
+   * @example email_obfuscation
    */
-  http_url?: string;
+  id: 'email_obfuscation';
   /**
-   * The hostname that the certificate authority (CA) will check for a TXT record during domain validation .
+   * last time this setting was modified.
    *
-   * @example _acme-challenge.app.example.com
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
    */
-  txt_name?: string;
+  modified_on?: string | null;
   /**
-   * The TXT record that the certificate authority (CA) will check during domain validation.
+   * Current value of the zone setting.
    *
-   * @example 810b7d5f01154524b961ba0cd578acc2
+   * @example on
    */
-  txt_value?: string;
+  value: ZonesEmailObfuscationValue;
 };
 
 /**
- * Validity Days selected for the order.
+ * Enable IP Geolocation to have Cloudflare geolocate visitors to your website and pass the country code to you. (https://support.cloudflare.com/hc/en-us/articles/200168236).
  */
-export type ValidityDays = 14 | 30 | 90 | 365;
+export type ZonesSchemasIpGeolocation = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example ip_geolocation
+   */
+  id: 'ip_geolocation';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: ZonesIpGeolocationValue;
+};
 
 /**
- * Enables Tiered Caching.
- *
- * @example on
+ * Automatically optimize image loading for website visitors on mobile
+ * devices. Refer to [our blog post](http://blog.cloudflare.com/mirage2-solving-mobile-speed)
+ * for more information.
  */
-export type Value = 'on' | 'off';
+export type ZonesSchemasMirage = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example mirage
+   */
+  id: 'mirage';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: ZonesMirageValue;
+};
 
 /**
- * The token value.
- *
- * @example 8M7wS6hCpXVc-DoRnPPY_UCWPgy8aea4Wy6kCe5T
- * @maxLength 80
- * @minLength 40
+ * Enables the Opportunistic Encryption feature for a zone.
  */
-export type ValueOY5wJPpX = string;
+export type ZonesSchemasOpportunisticEncryption = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example opportunistic_encryption
+   */
+  id: 'opportunistic_encryption';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: ZonesOpportunisticEncryptionValue;
+};
 
 /**
- * The value of the item in a List.
+ * Cloudflare will proxy customer error pages on any 502,504 errors on origin server instead of showing a default Cloudflare error page. This does not apply to 522 errors and is limited to Enterprise Zones.
  *
- * @example 8GE8721REF
+ * @default off
  */
-export type ValueBmHGW0nn = string;
+export type ZonesSchemasOriginErrorPagePassThru = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example origin_error_page_pass_thru
+   */
+  id: 'origin_error_page_pass_thru';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: ZonesOriginErrorPagePassThruValue;
+};
 
 /**
- * An array of domains used for custom name servers. This is only
- * available for Business and Enterprise plans.
- *
- * @example ns1.example.com
- * @example ns2.example.com
+ * Removes metadata and compresses your images for faster page load times. Basic (Lossless): Reduce the size of PNG, JPEG, and GIF files - no impact on visual quality. Basic + JPEG (Lossy): Further reduce the size of JPEG files for faster image loading. Larger JPEGs are converted to progressive images, loading a lower-resolution image first and ending in a higher-resolution version. Not recommended for hi-res photography sites.
  */
-export type VanityNameServers = string[];
-
-export type VariantGenerationRequest = {
-  id: VariantsComponentsSchemasIdentifier;
-  neverRequireSignedURLs?: NeverRequireSignedURLs;
-  options: Options;
-};
-
-export type VariantListResponse = ApiResponseCollection & {
-  result?: VariantsResponse;
-};
-
-export type VariantPatchRequest = {
-  neverRequireSignedURLs?: NeverRequireSignedURLs;
-  options: Options;
-};
-
-export type VariantPublicRequest = {
-  hero?: Record<string, any>;
-};
-
-export type VariantResponse = {
-  variant?: Record<string, any>;
-};
-
-export type VariantSimpleResponse = ApiResponseSingleLarS7owG & {
-  result?: VariantResponse;
+export type ZonesSchemasPolish = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example polish
+   */
+  id: 'polish';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: ZonesPolishValue;
 };
 
 /**
- * Variant support enables caching variants of images with certain file extensions in addition to the original. This only applies when the origin server sends the 'Vary: Accept' response header. If the origin server sends 'Vary: Accept' but does not serve the variant requested, the response will not be cached. This will be indicated with BYPASS cache status in the response headers.
+ * Enables or disables buffering of responses from the proxied server. Cloudflare may buffer the whole payload to deliver it at once to the client versus allowing it to be delivered in chunks. By default, the proxied server streams directly and is not buffered by Cloudflare. This is limited to Enterprise Zones.
+ *
+ * @default off
  */
-export type Variants = {
+export type ZonesSchemasResponseBuffering = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
   /**
    * ID of the zone setting.
    *
-   * @example variants
+   * @example response_buffering
    */
-  id: 'variants';
+  id: 'response_buffering';
   /**
    * last time this setting was modified.
    *
    * @example 2014-01-01T05:20:00.12345Z
    * @format date-time
    */
-  modified_on: string | null;
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: ZonesResponseBufferingValue;
 };
 
 /**
- * Variant support enables caching variants of images with certain file extensions in addition to the original. This only applies when the origin server sends the 'Vary: Accept' response header. If the origin server sends 'Vary: Accept' but does not serve the variant requested, the response will not be cached. This will be indicated with BYPASS cache status in the response headers.
+ * Rocket Loader is a general-purpose asynchronous JavaScript optimisation that prioritises rendering your content while loading your site's Javascript asynchronously. Turning on Rocket Loader will immediately improve a web page's rendering time sometimes measured as Time to First Paint (TTFP), and also the `window.onload` time (assuming there is JavaScript on the page). This can have a positive impact on your Google search ranking. When turned on, Rocket Loader will automatically defer the loading of all Javascript referenced in your HTML, with no configuration required. Refer to [Understanding Rocket Loader](https://support.cloudflare.com/hc/articles/200168056) for more information.
  */
-export type VariantsIp3MlQD2 = {
+export type ZonesSchemasRocketLoader = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
   /**
    * ID of the zone setting.
    *
-   * @example variants
+   * @example rocket_loader
    */
-  id: 'variants';
+  id: 'rocket_loader';
   /**
    * last time this setting was modified.
    *
    * @example 2014-01-01T05:20:00.12345Z
    * @format date-time
    */
-  modified_on: string | null;
-};
-
-/**
- * @example hero
- * @maxLength 99
- * @pattern ^[a-zA-Z0-9]$
- */
-export type VariantsComponentsSchemasIdentifier = void;
-
-export type VariantsResponse = {
-  variants?: VariantPublicRequest;
-};
-
-export type VariantsResponseValue = {
+  modified_on?: string | null;
   /**
-   * Variant support enables caching variants of images with certain file extensions in addition to the original. This only applies when the origin server sends the 'Vary: Accept' response header. If the origin server sends 'Vary: Accept' but does not serve the variant requested, the response will not be cached. This will be indicated with BYPASS cache status in the response headers.
+   * Current value of the zone setting.
+   *
+   * @example on
    */
-  result?: VariantsIp3MlQD2 & {
-    value: VariantsValue;
-  };
+  value: ZonesRocketLoaderValue;
 };
 
 /**
- * Value of the zone setting.
+ * Choose the appropriate security profile for your website, which will automatically adjust each of the security settings. If you choose to customize an individual security setting, the profile will become Custom. (https://support.cloudflare.com/hc/en-us/articles/200170056).
  */
-export type VariantsValue = {
+export type ZonesSchemasSecurityLevel = {
   /**
-   * List of strings with the MIME types of all the variants that should be served for avif.
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
    *
-   * @example image/webp
-   * @example image/jpeg
-   * @uniqueItems true
+   * @default true
    */
-  avif?: any[];
+  editable?: true | false;
   /**
-   * List of strings with the MIME types of all the variants that should be served for bmp.
+   * ID of the zone setting.
    *
-   * @example image/webp
-   * @example image/jpeg
-   * @uniqueItems true
+   * @example security_level
    */
-  bmp?: any[];
+  id: 'security_level';
   /**
-   * List of strings with the MIME types of all the variants that should be served for gif.
+   * last time this setting was modified.
    *
-   * @example image/webp
-   * @example image/jpeg
-   * @uniqueItems true
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
    */
-  gif?: any[];
+  modified_on?: string | null;
   /**
-   * List of strings with the MIME types of all the variants that should be served for jp2.
+   * Current value of the zone setting.
    *
-   * @example image/webp
-   * @example image/avif
-   * @uniqueItems true
+   * @example on
    */
-  jp2?: any[];
+  value: ZonesSecurityLevelValue;
+};
+
+/**
+ * Cloudflare will treat files with the same query strings as the same file in cache, regardless of the order of the query strings. This is limited to Enterprise Zones.
+ *
+ * @default off
+ */
+export type ZonesSchemasSortQueryStringForCache = {
   /**
-   * List of strings with the MIME types of all the variants that should be served for jpeg.
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
    *
-   * @example image/webp
-   * @example image/avif
-   * @uniqueItems true
+   * @default true
    */
-  jpeg?: any[];
+  editable?: true | false;
   /**
-   * List of strings with the MIME types of all the variants that should be served for jpg.
+   * ID of the zone setting.
    *
-   * @example image/webp
-   * @example image/avif
-   * @uniqueItems true
+   * @example sort_query_string_for_cache
    */
-  jpg?: any[];
+  id: 'sort_query_string_for_cache';
   /**
-   * List of strings with the MIME types of all the variants that should be served for jpg2.
+   * last time this setting was modified.
    *
-   * @example image/webp
-   * @example image/avif
-   * @uniqueItems true
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
    */
-  jpg2?: any[];
+  modified_on?: string | null;
   /**
-   * List of strings with the MIME types of all the variants that should be served for png.
+   * Current value of the zone setting.
    *
-   * @example image/webp
-   * @example image/avif
-   * @uniqueItems true
+   * @example on
    */
-  png?: any[];
+  value: ZonesSortQueryStringForCacheValue;
+};
+
+/**
+ * SSL encrypts your visitor's connection and safeguards credit card numbers and other personal data to and from your website. SSL can take up to 5 minutes to fully activate. Requires Cloudflare active on your root domain or www domain. Off: no SSL between the visitor and Cloudflare, and no SSL between Cloudflare and your web server  (all HTTP traffic). Flexible: SSL between the visitor and Cloudflare -- visitor sees HTTPS on your site, but no SSL between Cloudflare and your web server. You don't need to have an SSL cert on your web server, but your vistors will still see the site as being HTTPS enabled. Full:  SSL between the visitor and Cloudflare -- visitor sees HTTPS on your site, and SSL between Cloudflare and your web server. You'll need to have your own SSL cert or self-signed cert at the very least. Full (Strict): SSL between the visitor and Cloudflare -- visitor sees HTTPS on your site, and SSL between Cloudflare and your web server. You'll need to have a valid SSL certificate installed on your web server. This certificate must be signed by a certificate authority, have an expiration date in the future, and respond for the request domain name (hostname). (https://support.cloudflare.com/hc/en-us/articles/200170416).
+ */
+export type ZonesSchemasSsl = {
   /**
-   * List of strings with the MIME types of all the variants that should be served for tif.
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
    *
-   * @example image/webp
-   * @example image/avif
-   * @uniqueItems true
+   * @default true
    */
-  tif?: any[];
+  editable?: true | false;
   /**
-   * List of strings with the MIME types of all the variants that should be served for tiff.
+   * ID of the zone setting.
    *
-   * @example image/webp
-   * @example image/avif
-   * @uniqueItems true
+   * @example ssl
    */
-  tiff?: any[];
+  id: 'ssl';
   /**
-   * List of strings with the MIME types of all the variants that should be served for webp.
+   * last time this setting was modified.
    *
-   * @example image/jpeg
-   * @example image/avif
-   * @uniqueItems true
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
    */
-  webp?: any[];
-};
-
-export type Verification = {
-  brand_check?: BrandCheck;
-  cert_pack_uuid?: CertPackUuid;
-  certificate_status: CertificateStatus;
-  signature?: SchemasSignature;
-  validation_method?: SchemasValidationMethod;
-  verification_info?: VerificationInfo;
-  verification_status?: VerificationStatus;
-  verification_type?: VerificationType;
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: ZonesSslValue;
 };
 
 /**
- * These are errors that were encountered while trying to activate a hostname.
- *
- * @example None of the A or AAAA records are owned by this account and the pre-generated ownership verification token was not found.
- */
-export type VerificationErrors = any[];
-
-/**
- * Certificate's required verification information.
- */
-export type VerificationInfo =
-  | 'record_name'
-  | 'record_value'
-  | 'http_url'
-  | 'http_body'
-  | 'cname'
-  | 'cname_target'
-  | 'txt_name'
-  | 'txt_value';
-
-/**
- * Status of the required verification information, omitted if verification status is unknown.
- *
- * @example true
- */
-export type VerificationStatus = boolean;
-
-/**
- * Method of verification.
- *
- * @example cname
- */
-export type VerificationType = 'cname' | 'meta tag';
-
-/**
- * The date and time the destination address has been verified. Null means not verified yet.
+ * Allows customer to continue to use True Client IP (Akamai feature) in the headers we send to the origin. This is limited to Enterprise Zones.
  *
- * @example 2014-01-02T02:20:00Z
- * @format date-time
- */
-export type Verified = string;
-
-/**
- * The version of the analyzed script.
+ * @default off
  */
-export type Version = {
-  fetched_at?: FetchedAt;
-  hash?: Hash;
-  js_integrity_score?: JsIntegrityScore;
+export type ZonesSchemasTrueClientIpHeader = {
+  /**
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
+   */
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example true_client_ip_header
+   */
+  id: 'true_client_ip_header';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: ZonesTrueClientIpHeaderValue;
 };
 
 /**
- * The version of the ruleset.
- *
- * @example 1
- * @pattern ^[0-9]+$
- */
-export type VersionF60UUqsl = string;
-
-/**
- * The WARP client version.
- *
- * @example 1.0.0
+ * The WAF examines HTTP requests to your website.  It inspects both GET and POST requests and applies rules to help filter out illegitimate traffic from legitimate website visitors. The Cloudflare WAF inspects website addresses or URLs to detect anything out of the ordinary. If the Cloudflare WAF determines suspicious user behavior, then the WAF will 'challenge' the web visitor with a page that asks them to submit a CAPTCHA successfully  to continue their action. If the challenge is failed, the action will be stopped. What this means is that Cloudflare's WAF will block any traffic identified as illegitimate before it reaches your origin web server. (https://support.cloudflare.com/hc/en-us/articles/200172016).
  */
-export type VersionLix2KSZT = string;
-
-export type VideoClipStandard = {
-  allowedOrigins?: AllowedOrigins;
-  clippedFromVideoUID: ClippedFromVideoUid;
-  creator?: Creator;
-  endTimeSeconds: EndTimeSeconds;
-  maxDurationSeconds?: MaxDurationSeconds;
-  requireSignedURLs?: RequireSignedURLs;
-  startTimeSeconds: StartTimeSeconds;
-  thumbnailTimestampPct?: ThumbnailTimestampPct;
-  watermark?: WatermarkAtUpload;
-};
-
-export type VideoCopyRequest = {
-  allowedOrigins?: AllowedOrigins;
-  creator?: Creator;
-  requireSignedURLs?: RequireSignedURLs;
-  thumbnailTimestampPct?: ThumbnailTimestampPct;
+export type ZonesSchemasWaf = {
   /**
-   * A video's URL. The server must be publicly routable and support `HTTP HEAD` requests and `HTTP GET` range requests. The server should respond to `HTTP HEAD` requests with a `content-range` header that includes the size of the file.
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
    *
-   * @example https://example.com/myvideo.mp4
-   * @format uri
+   * @default true
    */
-  url: string;
-  watermark?: WatermarkAtUpload;
+  editable?: true | false;
+  /**
+   * ID of the zone setting.
+   *
+   * @example waf
+   */
+  id: 'waf';
+  /**
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
+   */
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: ZonesWafValue;
 };
 
-export type VideoResponseCollection = ApiResponseCollection & {
-  result?: Videos[];
-} & {
+/**
+ * Cloudflare security header for a zone.
+ */
+export type ZonesSecurityHeader = {
   /**
-   * The total number of remaining videos based on cursor position.
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
    *
-   * @example 1000
+   * @default true
    */
-  range?: number;
+  editable?: true | false;
   /**
-   * The total number of videos that match the provided filters.
+   * ID of the zone's security header.
    *
-   * @example 35586
+   * @example security_header
    */
-  total?: number;
-};
-
-export type VideoResponseSingle = ApiResponseSingleYdRGfgTy & {
-  result?: Videos;
-};
-
-export type VideoUpdate = {
-  allowedOrigins?: AllowedOrigins;
-  creator?: Creator;
-  maxDurationSeconds?: MaxDurationSeconds;
-  meta?: MediaMetadata;
-  requireSignedURLs?: RequireSignedURLs;
-  thumbnailTimestampPct?: ThumbnailTimestampPct;
-  uploadExpiry?: OneTimeUploadExpiry;
-};
-
-export type Videos = {
-  allowedOrigins?: AllowedOrigins;
-  created?: CreatedVKORkNvl;
-  creator?: Creator;
-  duration?: Duration;
-  input?: InputOZLZZB6G;
-  liveInput?: LiveInput;
-  maxDurationSeconds?: MaxDurationSeconds;
-  meta?: MediaMetadata;
-  modified?: Modified;
-  playback?: Playback;
-  preview?: Preview;
-  readyToStream?: ReadyToStream;
-  requireSignedURLs?: RequireSignedURLs;
-  size?: Size;
-  status?: MediaStatus;
-  thumbnail?: ThumbnailUrl;
-  thumbnailTimestampPct?: ThumbnailTimestampPct;
-  uid?: IdentifierKW7g5KGL;
-  uploadExpiry?: OneTimeUploadExpiry;
-  uploaded?: Uploaded;
-  watermark?: Watermarks;
-};
-
-export type VirtualNetwork = {
-  comment: SchemasComment;
+  id: 'security_header';
   /**
-   * Timestamp of when the virtual network was created.
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
    */
-  created_at: void;
+  modified_on?: string | null;
   /**
-   * Timestamp of when the virtual network was deleted. If `null`, the virtual network has not been deleted.
+   * Current value of the zone setting.
+   *
+   * @example on
    */
-  deleted_at?: void;
-  id: VnetId;
-  is_default_network: IsDefaultNetwork;
-  name: VnetName;
+  value: ZonesSecurityHeaderValue;
 };
 
 /**
- * The virtual network subnet ID the origin belongs in. Virtual network must also belong to the account.
- *
- * @example a5624d4e-044a-4ff0-b3e1-e2465353d4b4
+ * @default {"strict_transport_security":{"enabled":true,"include_subdomains":true,"max_age":86400,"nosniff":true,"preload":false}}
  */
-export type VirtualNetworkId = string;
-
-export type VncProps = {
-  allowed_idps?: AllowedIdps;
-  app_launcher_visible?: AppLauncherVisible;
-  auto_redirect_to_identity?: AutoRedirectToIdentityB0IhfGBw;
-  cors_headers?: CorsHeaders;
-  custom_deny_message?: CustomDenyMessage;
-  custom_deny_url?: CustomDenyUrl;
-  domain?: SchemasDomainA7q0ZzCX;
-  enable_binding_cookie?: EnableBindingCookie;
-  http_only_cookie_attribute?: HttpOnlyCookieAttribute;
-  logo_url?: LogoUrl;
-  name?: AppsComponentsSchemasName;
-  same_site_cookie_attribute?: SameSiteCookieAttribute;
-  service_auth_401_redirect?: ServiceAuth401Redirect;
-  session_duration?: SessionDuration;
-  skip_interstitial?: SkipInterstitial;
+export type ZonesSecurityHeaderValue = {
   /**
-   * The application type.
-   *
-   * @example vnc
+   * Strict Transport Security.
    */
-  type?: string;
+  strict_transport_security?: {
+    /**
+     * Whether or not strict transport security is enabled.
+     *
+     * @example true
+     */
+    enabled?: boolean;
+    /**
+     * Include all subdomains for strict transport security.
+     *
+     * @example true
+     */
+    include_subdomains?: boolean;
+    /**
+     * Max age in seconds of the strict transport security.
+     *
+     * @example 86400
+     */
+    max_age?: number;
+    /**
+     * Whether or not to include 'X-Content-Type-Options: nosniff' header.
+     *
+     * @example true
+     */
+    nosniff?: boolean;
+    /**
+     * Enable automatic preload of the HSTS configuration.
+     *
+     * @example true
+     */
+    preload?: boolean;
+  };
 };
 
-/**
- * UUID of the virtual network.
- *
- * @example f70ff985-a4ef-4643-bbbc-4a0ed4fc8415
- * @maxLength 36
- */
-export type VnetId = string;
+export type ZonesSecurityLevel = {
+  /**
+   * Control options for the **Security Level** feature from the **Security** app.
+   */
+  id?: 'security_level';
+  /**
+   * @example under_attack
+   */
+  value?: 'off' | 'essentially_off' | 'low' | 'medium' | 'high' | 'under_attack';
+};
 
 /**
- * A user-friendly name for the virtual network.
+ * Value of the zone setting.
  *
- * @example us-east-1-vpc
+ * @default medium
  */
-export type VnetName = string;
-
-export type VnetResponseCollection = ApiResponseCollection & {
-  result?: VirtualNetwork[];
-};
-
-export type VnetResponseSingle = ApiResponseSingleLarS7owG & {
-  result?: Record<string, any>;
-};
+export type ZonesSecurityLevelValue = 'off' | 'essentially_off' | 'low' | 'medium' | 'high' | 'under_attack';
 
 /**
- * The WAF examines HTTP requests to your website.  It inspects both GET and POST requests and applies rules to help filter out illegitimate traffic from legitimate website visitors. The Cloudflare WAF inspects website addresses or URLs to detect anything out of the ordinary. If the Cloudflare WAF determines suspicious user behavior, then the WAF will 'challenge' the web visitor with a page that asks them to submit a CAPTCHA successfully  to continue their action. If the challenge is failed, the action will be stopped. What this means is that Cloudflare's WAF will block any traffic identified as illegitimate before it reaches your origin web server. (https://support.cloudflare.com/hc/en-us/articles/200172016).
+ * If there is sensitive content on your website that you want visible to real visitors, but that you want to hide from suspicious visitors, all you have to do is wrap the content with Cloudflare SSE tags. Wrap any content that you want to be excluded from suspicious visitors in the following SSE tags: <!--sse--><!--/sse-->. For example: <!--sse-->  Bad visitors won't see my phone number, 555-555-5555 <!--/sse-->. Note: SSE only will work with HTML. If you have HTML minification enabled, you won't see the SSE tags in your HTML source when it's served through Cloudflare. SSE will still function in this case, as Cloudflare's HTML minification and SSE functionality occur on-the-fly as the resource moves through our network to the visitor's computer. (https://support.cloudflare.com/hc/en-us/articles/200170036).
  */
-export type Waf = {
+export type ZonesServerSideExclude = {
   /**
    * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
    *
@@ -28427,9 +50831,9 @@ export type Waf = {
   /**
    * ID of the zone setting.
    *
-   * @example waf
+   * @example server_side_exclude
    */
-  id: 'waf';
+  id: 'server_side_exclude';
   /**
    * last time this setting was modified.
    *
@@ -28442,283 +50846,253 @@ export type Waf = {
    *
    * @example on
    */
-  value: WafValue;
+  value: ZonesServerSideExcludeValue;
 };
 
 /**
- * The WAF rule action to apply.
- */
-export type WafAction = 'challenge' | 'block' | 'simulate' | 'disable' | 'default';
-
-/**
- * The WAF rule action to apply.
+ * Value of the zone setting.
+ *
+ * @default on
  */
-export type WafRewriteAction = 'challenge' | 'block' | 'simulate' | 'disable' | 'default';
+export type ZonesServerSideExcludeValue = 'on' | 'off';
+
+export type ZonesSetting =
+  | Zones0rtt
+  | ZonesAdvancedDdos
+  | ZonesAlwaysOnline
+  | ZonesSchemasAlwaysUseHttps
+  | ZonesSchemasAutomaticHttpsRewrites
+  | ZonesBrotli
+  | ZonesSchemasBrowserCacheTtl
+  | ZonesSchemasBrowserCheck
+  | ZonesSchemasCacheLevel
+  | ZonesChallengeTtl
+  | ZonesCiphers
+  | ZonesCnameFlattening
+  | ZonesDevelopmentMode
+  | ZonesEarlyHints
+  | ZonesSchemasEdgeCacheTtl
+  | ZonesSchemasEmailObfuscation
+  | ZonesH2Prioritization
+  | ZonesHotlinkProtection
+  | ZonesHttp2
+  | ZonesHttp3
+  | ZonesImageResizing
+  | ZonesSchemasIpGeolocation
+  | ZonesIpv6
+  | ZonesMaxUpload
+  | ZonesMinTlsVersion
+  | ZonesSchemasMirage
+  | ZonesNel
+  | ZonesSchemasOpportunisticEncryption
+  | ZonesOpportunisticOnion
+  | ZonesOrangeToOrange
+  | ZonesSchemasOriginErrorPagePassThru
+  | ZonesSchemasPolish
+  | ZonesPrefetchPreload
+  | ZonesProxyReadTimeout
+  | ZonesPseudoIpv4
+  | ZonesReplaceInsecureJs
+  | ZonesSchemasResponseBuffering
+  | ZonesSchemasRocketLoader
+  | ZonesSchemasAutomaticPlatformOptimization
+  | ZonesSecurityHeader
+  | ZonesSchemasSecurityLevel
+  | ZonesServerSideExclude
+  | ZonesSha1Support
+  | ZonesSchemasSortQueryStringForCache
+  | ZonesSchemasSsl
+  | ZonesSslRecommender
+  | ZonesTls12Only
+  | ZonesTls13
+  | ZonesTlsClientAuth
+  | ZonesSchemasTrueClientIpHeader
+  | ZonesSchemasWaf
+  | ZonesWebp
+  | ZonesWebsockets;
+
+/**
+ * Setting name
+ *
+ * @example always_online
+ */
+export type ZonesSettingName = string;
+
+export type ZonesSettingReadonly = false;
 
 /**
  * Value of the zone setting.
- *
- * @default off
  */
-export type WafValue = 'on' | 'off';
+export type ZonesSettingToggle = 'on' | 'off';
+
+export type ZonesSettingWritable = true;
 
 /**
- * Set the time (in seconds) to wait for a response to a probe.
+ * Settings available for the zone.
  *
- * @default 1
- * @maximum 5
- * @minimum 1
+ * @example {"id":"browser_check","properties":[{"name":"value","type":"toggle"}]}
+ * @example {"id":"browser_cache_ttl","properties":[{"max":31536000,"min":1800,"name":"value","suggested_values":[1800,3600,7200,10800,14400,18000,28800,43200,57600,72000,86400,172800,259200,345600,432000,691200,1382400,2073600,2678400,5356800,16070400,31536000],"type":"range"}]}
+ * @example {"id":"browser_check","properties":[{"name":"value","type":"toggle"}]}
+ * @example {"id":"cache_key_fields","properties":[{"name":"value","properties":[{"allowEmpty":true,"choices":["include","exclude"],"multiple":false,"name":"query_string","type":"select"},{"allowEmpty":true,"choices":["include","exclude","check_presence"],"multiple":true,"name":"header","type":"select"},{"allowEmpty":false,"choices":["resolved"],"multiple":true,"name":"host","type":"select"},{"allowEmpty":true,"choices":["include","check_presence"],"multiple":true,"name":"cookie","type":"select"},{"allowEmpty":false,"choices":["device_type","geo","lang"],"multiple":true,"name":"user","type":"select"}],"type":"object"}]}
+ * @example {"id":"cache_deception_armor","properties":[{"name":"value","type":"toggle"}]}
+ * @example {"id":"cache_level","properties":[{"choices":["bypass","basic","simplified","aggressive","cache_everything"],"multiple":false,"name":"value","type":"select"}]}
+ * @example {"id":"cache_ttl_by_status","properties":[{"allowEmpty":false,"name":"value","type":"object"}]}
+ * @example {"id":"disable_apps","properties":[]}
+ * @example {"id":"disable_performance","properties":[]}
+ * @example {"id":"disable_security","properties":[]}
+ * @example {"id":"edge_cache_ttl","properties":[{"max":2419200,"min":7200,"name":"value","suggested_values":[7200,10800,14400,18000,28800,43200,57600,72000,86400,172800,259200,345600,432000,518400,604800,1209600,2419200],"type":"range"}]}
+ * @example {"id":"email_obfuscation","properties":[{"name":"value","type":"toggle"}]}
+ * @example {"id":"forwarding_url","properties":[{"choices":[301,302],"multiple":false,"name":"status_code","type":"choice"},{"name":"url","type":"forwardingUrl"}]}
+ * @example {"id":"ip_geolocation","properties":[{"name":"value","type":"toggle"}]}
+ * @example {"id":"explicit_cache_control","properties":[{"name":"value","type":"toggle"}]}
+ * @example {"id":"rocket_loader","properties":[{"name":"value","type":"toggle"}]}
+ * @example {"id":"security_level","properties":[{"choices":["essentially_off","low","medium","high","under_attack"],"multiple":false,"name":"value","type":"select"}]}
+ * @example {"id":"server_side_exclude","properties":[{"name":"value","type":"toggle"}]}
+ * @example {"id":"ssl","properties":[{"choices":["off","flexible","full","strict"],"multiple":false,"name":"value","type":"choice"}]}
  */
-export type WaitTime = number;
+export type ZonesSettings = Record<string, any>[];
 
 /**
- * @example 699d98642c564d2e855e9661899b7252
+ * Allow SHA1 support.
  */
-export type WaitingRoomId = void;
-
-export type WaitingRoomIdResponse = ApiResponseSinglePn9rJJNX & {
-  result?: {
-    id?: WaitingRoomId;
-  };
-};
-
-export type Waitingroom = {
-  cookie_attributes?: CookieAttributes;
-  created_on?: Timestamp;
-  custom_page_html?: CustomPageHtml;
-  default_template_language?: DefaultTemplateLanguage;
-  description?: DescriptionJIh6Lv2u;
-  disable_session_renewal?: DisableSessionRenewal;
-  host?: HostB3JrS1Yy;
-  id?: WaitingRoomId;
-  json_response_enabled?: JsonResponseEnabled;
-  modified_on?: Timestamp;
-  name?: NameGu3WWDHz;
-  new_users_per_minute?: NewUsersPerMinute;
-  next_event_prequeue_start_time?: NextEventPrequeueStartTime;
-  next_event_start_time?: NextEventStartTime;
-  path?: PathIVkcNWHz;
-  queue_all?: QueueAll;
-  queueing_method?: QueueingMethod;
-  session_duration?: SessionDurationDWa1S8Ip;
-  suspended?: SuspendedW815GHPM;
-  total_active_users?: TotalActiveUsers;
-};
-
-export type WarpProps = {
-  allowed_idps?: AllowedIdps;
-  auto_redirect_to_identity?: AutoRedirectToIdentityB0IhfGBw;
-  /**
-   * @example authdomain.cloudflareaccess.com/warp
-   */
-  domain?: SchemasDomainA7q0ZzCX;
+export type ZonesSha1Support = {
   /**
-   * @default Warp Login App
-   * @example Warp Login App
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
    */
-  name?: AppsComponentsSchemasName;
-  session_duration?: SessionDuration;
+  editable?: true | false;
   /**
-   * The application type.
+   * Zone setting identifier.
    *
-   * @example warp
+   * @example sha1_support
    */
-  type?: AppsComponentsSchemasType;
-};
-
-export type WasmModuleBinding = {
-  name: BindingName;
+  id: 'sha1_support';
   /**
-   * The class of resource that the binding provides.
+   * last time this setting was modified.
    *
-   * @example wasm_module
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
    */
-  type: 'wasm_module';
-};
-
-export type WatermarkAtUpload = {
+  modified_on?: string | null;
   /**
-   * The unique identifier for the watermark profile.
+   * Current value of the zone setting.
    *
-   * @example ea95132c15732412d22c1476fa83f27a
-   * @maxLength 32
+   * @example on
    */
-  uid?: string;
+  value: ZonesSha1SupportValue;
 };
 
-export type WatermarkAtUpload = {
+/**
+ * Value of the zone setting.
+ *
+ * @default off
+ */
+export type ZonesSha1SupportValue = 'off' | 'on';
+
+export type ZonesSortQueryStringForCache = {
   /**
-   * The unique identifier for the watermark profile.
+   * Turn on or off the reordering of query strings. When query strings have the same structure, caching improves.
    *
-   * @example ea95132c15732412d22c1476fa83f27a
-   * @maxLength 32
+   * @example sort_query_string_for_cache
    */
-  uid?: string;
-};
-
-export type WatermarkBasicUpload = {
+  id?: 'sort_query_string_for_cache';
   /**
-   * The image file to upload.
+   * The status of Query String Sort
    *
-   * @example @/Users/rchen/Downloads/watermark.png
+   * @example on
    */
-  file: string;
-  name?: NameWjx50o7Y;
-  opacity?: Opacity;
-  padding?: Padding;
-  position?: Position;
-  scale?: Scale;
+  value?: 'on' | 'off';
 };
 
 /**
- * The date and a time a watermark profile was created.
- *
- * @example 2014-01-02T02:20:00Z
- * @format date-time
- */
-export type WatermarkCreated = string;
-
-/**
- * The unique identifier for a watermark profile.
+ * Value of the zone setting.
  *
- * @example ea95132c15732412d22c1476fa83f27a
- * @maxLength 32
+ * @default off
  */
-export type WatermarkIdentifier = string;
-
-export type WatermarkResponseCollection = ApiResponseCollection & {
-  result?: Watermarks[];
-};
+export type ZonesSortQueryStringForCacheValue = 'on' | 'off';
 
-export type WatermarkResponseSingle = ApiResponseSingleYdRGfgTy & {
-  result?: Record<string, any>;
+export type ZonesSsl = {
+  /**
+   * Control options for the SSL feature of the Edge Certificates tab in the Cloudflare SSL/TLS app.
+   */
+  id?: 'ssl';
+  /**
+   * The encryption mode that Cloudflare uses to connect to your origin server.
+   *
+   * @example full
+   */
+  value?: 'off' | 'flexible' | 'full' | 'strict' | 'origin_pull';
 };
 
 /**
- * The size of the image in bytes.
- *
- * @example 29472
+ * Enrollment in the SSL/TLS Recommender service which tries to detect and recommend (by sending periodic emails) the most secure SSL/TLS setting your origin servers support.
  */
-export type WatermarkSize = number;
-
-export type Watermarks = {
-  created?: WatermarkCreated;
-  downloadedFrom?: DownloadedFrom;
-  height?: Height;
-  name?: NameWjx50o7Y;
-  opacity?: Opacity;
-  padding?: Padding;
-  position?: Position;
-  scale?: Scale;
-  size?: WatermarkSize;
-  uid?: WatermarkIdentifier;
-  width?: Width;
-};
-
-export type Web3Hostname = {
-  created_on?: Timestamp;
-  description?: Web3HostnameComponentsSchemasDescription;
-  dnslink?: Dnslink;
-  id?: CommonComponentsSchemasIdentifier;
-  modified_on?: Timestamp;
-  name?: Web3HostnameComponentsSchemasName;
-  status?: Web3HostnameComponentsSchemasStatus;
-  target?: SchemasTarget;
+export type ZonesSslRecommender = {
+  enabled?: ZonesSslRecommenderEnabled;
+  /**
+   * Enrollment value for SSL/TLS Recommender.
+   *
+   * @example ssl_recommender
+   */
+  id?: 'ssl_recommender';
 };
 
 /**
- * An optional description of the hostname.
+ * ssl-recommender enrollment setting.
  *
- * @example This is my IPFS gateway.
- * @maxLength 500
+ * @default false
  */
-export type Web3HostnameComponentsSchemasDescription = string;
+export type ZonesSslRecommenderEnabled = boolean;
 
 /**
- * The hostname that will point to the target gateway via CNAME.
+ * Value of the zone setting.
+ * Notes: Depends on the zone's plan level
  *
- * @example gateway.example.com
- * @maxLength 255
+ * @default off
  */
-export type Web3HostnameComponentsSchemasName = string;
-
-export type Web3HostnameComponentsSchemasSingleResponse = ApiResponseSingleLarS7owG & {
-  result?: Web3Hostname;
-};
+export type ZonesSslValue = 'off' | 'flexible' | 'full' | 'strict';
 
 /**
- * Status of the hostname's activation.
+ * The status of the Page Rule.
  *
+ * @default disabled
  * @example active
  */
-export type Web3HostnameComponentsSchemasStatus = 'active' | 'pending' | 'deleting' | 'error';
-
-export type WebhookRequest = {
-  notificationUrl: NotificationUrl;
-};
-
-export type WebhookResponseSingle = ApiResponseSingleYdRGfgTy & {
-  result?: Record<string, any>;
-};
-
-export type Webhooks = {
-  created_at?: WebhooksComponentsSchemasCreatedAt;
-  id?: Uuid;
-  last_failure?: LastFailure;
-  last_success?: LastSuccess;
-  name?: WebhooksComponentsSchemasName;
-  secret?: SecretLnW39Y7R;
-  type?: WebhooksComponentsSchemasType;
-  url?: WebhooksComponentsSchemasUrl;
-};
-
-/**
- * Timestamp of when the webhook destination was created.
- *
- * @example 2020-10-26T18:25:04.532316Z
- * @format date-time
- */
-export type WebhooksComponentsSchemasCreatedAt = string;
-
-export type WebhooksComponentsSchemasIdResponse = ApiResponseSingleLarS7owG & {
-  result?: {
-    id?: Uuid;
-  };
-};
+export type ZonesStatus = 'active' | 'disabled';
 
 /**
- * The name of the webhook destination. This will be included in the request body when you receive a webhook notification.
- *
- * @example Slack Webhook
+ * String constraint.
  */
-export type WebhooksComponentsSchemasName = string;
-
-export type WebhooksComponentsSchemasResponseCollection = ApiResponseCollection & {
-  result?: Webhooks[];
-};
-
-export type WebhooksComponentsSchemasSingleResponse = ApiResponseSingleLarS7owG & {
-  result?: Webhooks;
+export type ZonesStringConstraint = {
+  /**
+   * The matches operator can use asterisks and pipes as wildcard and 'or' operators.
+   *
+   * @default contains
+   */
+  operator: 'matches' | 'contains' | 'equals' | 'not_equal' | 'not_contain';
+  /**
+   * The value to apply the operator to.
+   */
+  value: string;
 };
 
 /**
- * Type of webhook endpoint.
- *
- * @example slack
+ * A request condition target.
  */
-export type WebhooksComponentsSchemasType = 'slack' | 'generic' | 'gchat';
+export type ZonesTarget = ZonesUrlTarget;
 
 /**
- * The POST endpoint to call when dispatching a notification.
+ * The rule targets to evaluate on each request.
  *
- * @example https://hooks.slack.com/services/Ds3fdBFbV/456464Gdd
+ * @example {"constraint":{"operator":"matches","value":"*example.com/images/*"},"target":"url"}
  */
-export type WebhooksComponentsSchemasUrl = string;
+export type ZonesTargets = ZonesTarget[];
 
 /**
- * When the client requesting the image supports the WebP image codec, and WebP offers a performance advantage over the original image format, Cloudflare will serve a WebP version of the original image.
+ * Only allows TLS1.2.
  */
-export type Webp = {
+export type ZonesTls12Only = {
   /**
    * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
    *
@@ -28726,11 +51100,11 @@ export type Webp = {
    */
   editable?: true | false;
   /**
-   * ID of the zone setting.
+   * Zone setting identifier.
    *
-   * @example webp
+   * @example tls_1_2_only
    */
-  id: 'webp';
+  id: 'tls_1_2_only';
   /**
    * last time this setting was modified.
    *
@@ -28743,7 +51117,7 @@ export type Webp = {
    *
    * @example on
    */
-  value: WebpValue;
+  value: ZonesTls12OnlyValue;
 };
 
 /**
@@ -28751,12 +51125,14 @@ export type Webp = {
  *
  * @default off
  */
-export type WebpValue = 'off' | 'on';
+export type ZonesTls12OnlyValue = 'off' | 'on';
 
 /**
- * WebSockets are open connections sustained between the client and the origin server. Inside a WebSockets connection, the client and the origin can pass data back and forth without having to reestablish sessions. This makes exchanging data within a WebSockets connection fast. WebSockets are often used for real-time applications such as live chat and gaming. For more information refer to [Can I use Cloudflare with Websockets](https://support.cloudflare.com/hc/en-us/articles/200169466-Can-I-use-Cloudflare-with-WebSockets-).
+ * Enables Crypto TLS 1.3 feature for a zone.
+ *
+ * @default off
  */
-export type Websockets = {
+export type ZonesTls13 = {
   /**
    * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
    *
@@ -28766,9 +51142,9 @@ export type Websockets = {
   /**
    * ID of the zone setting.
    *
-   * @example websockets
+   * @example tls_1_3
    */
-  id: 'websockets';
+  id: 'tls_1_3';
   /**
    * last time this setting was modified.
    *
@@ -28781,202 +51157,237 @@ export type Websockets = {
    *
    * @example on
    */
-  value: WebsocketsValue;
+  value: ZonesTls13Value;
 };
 
 /**
  * Value of the zone setting.
+ * Notes: Default value depends on the zone's plan level.
  *
  * @default off
  */
-export type WebsocketsValue = 'off' | 'on';
-
-/**
- * Optional weight of the ECMP scope - if provided.
- */
-export type Weight = number;
-
-/**
- * The weight of this origin relative to other origins in the pool. Based on the configured weight the total traffic is distributed among origins within the pool.
- *
- * @default 1
- * @example 0.6
- * @maximum 1
- * @minimum 0
- * @multipleOf 0.01
- */
-export type WeightNB8okIS7 = number;
+export type ZonesTls13Value = 'on' | 'off' | 'zrt';
 
 /**
- * The weight of this origin relative to other origins in the pool. Based on the configured weight the total traffic is distributed among origins within the pool.
- *
- * @default 1
- * @example 0.6
- * @maximum 1
- * @minimum 0
- * @multipleOf 0.01
+ * TLS Client Auth requires Cloudflare to connect to your origin server using a client certificate (Enterprise Only).
  */
-export type WeightUxsoOG5s = number;
-
-export type Whois = {
-  /**
-   * @example 2009-02-17
-   * @format date
-   */
-  created_date?: string;
-  domain?: SchemasDomainName;
-  /**
-   * @example ns3.cloudflare.com
-   * @example ns4.cloudflare.com
-   * @example ns5.cloudflare.com
-   * @example ns6.cloudflare.com
-   * @example ns7.cloudflare.com
-   */
-  nameservers?: string[];
+export type ZonesTlsClientAuth = {
   /**
-   * @example DATA REDACTED
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
    */
-  registrant?: string;
+  editable?: true | false;
   /**
-   * @example United States
+   * ID of the zone setting.
+   *
+   * @example tls_client_auth
    */
-  registrant_country?: string;
+  id: 'tls_client_auth';
   /**
-   * @example https://domaincontact.cloudflareregistrar.com/cloudflare.com
+   * last time this setting was modified.
+   *
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
    */
-  registrant_email?: string;
+  modified_on?: string | null;
   /**
-   * @example DATA REDACTED
+   * Current value of the zone setting.
+   *
+   * @example on
    */
-  registrant_org?: string;
+  value: ZonesTlsClientAuthValue;
+};
+
+/**
+ * value of the zone setting.
+ *
+ * @default on
+ */
+export type ZonesTlsClientAuthValue = 'on' | 'off';
+
+export type ZonesTrueClientIpHeader = {
   /**
-   * @example Cloudflare, Inc.
+   * Turn on or off the True-Client-IP Header feature of the Cloudflare Network app.
+   *
+   * @example true_client_ip_header
    */
-  registrar?: string;
+  id?: 'true_client_ip_header';
   /**
-   * @example 2017-05-24
-   * @format date
+   * The status of True Client IP Header.
+   *
+   * @example on
    */
-  updated_date?: string;
-};
-
-export type WhoisComponentsSchemasSingleResponse = ApiResponseSingleLarS7owG & {
-  result?: Whois;
+  value?: 'on' | 'off';
 };
 
 /**
- * The width of the image in pixels.
+ * Value of the zone setting.
+ *
+ * @default off
  */
-export type Width = number;
+export type ZonesTrueClientIpHeaderValue = 'on' | 'off';
 
 /**
- * Maximum width in image pixels.
+ * A full zone implies that DNS is hosted with Cloudflare. A partial zone is
+ * typically a partner-hosted zone or a CNAME setup.
  *
- * @example 1366
- * @minimum 1
+ * @default full
+ * @example full
  */
-export type Width3qFBlIcS = number;
+export type ZonesType = 'full' | 'partial' | 'secondary';
 
-export type WorkspaceOneConfigRequest = {
+/**
+ * URL target.
+ */
+export type ZonesUrlTarget = {
   /**
-   * The Workspace One API URL provided in the Workspace One Admin Dashboard.
-   *
-   * @example https://as123.awmdm.com/API
+   * String constraint.
    */
-  api_url: string;
+  constraint?: {
+    /**
+     * The matches operator can use asterisks and pipes as wildcard and 'or' operators.
+     *
+     * @default contains
+     */
+    operator: 'matches' | 'contains' | 'equals' | 'not_equal' | 'not_contain';
+    /**
+     * The URL pattern to match against the current request. The pattern may contain up to four asterisks ('*') as placeholders.
+     *
+     * @example *example.com/images/*
+     * @pattern ^(https?://)?(([-a-zA-Z0-9*]*\.)+[-a-zA-Z0-9]{2,20})(:(8080|8443|443|80))?(/[\S]+)?$
+     */
+    value: string;
+  };
   /**
-   * The Workspace One Authorization URL depending on your region.
+   * A target based on the URL of the request.
    *
-   * @example https://na.uemauth.vmwservices.com/connect/token
+   * @example url
    */
-  auth_url: string;
+  target?: 'url';
+};
+
+/**
+ * An array of domains used for custom name servers. This is only
+ * available for Business and Enterprise plans.
+ *
+ * @example ns1.example.com
+ * @example ns2.example.com
+ */
+export type ZonesVanityNameServers = string[];
+
+export type ZonesWaf = {
   /**
-   * The Workspace One client ID provided in the Workspace One Admin Dashboard.
+   * Turn on or off [WAF managed rules (previous version, deprecated)](https://developers.cloudflare.com/waf/reference/legacy/old-waf-managed-rules/).
+   * You cannot enable or disable individual WAF managed rules via Page Rules.
    *
-   * @example example client id
+   * @example waf
    */
-  client_id: string;
+  id?: 'waf';
   /**
-   * The Workspace One client secret provided in the Workspace One Admin Dashboard.
+   * The status of WAF managed rules (previous version).
    *
-   * @example example client secret
+   * @example on
    */
-  client_secret: string;
+  value?: 'on' | 'off';
 };
 
 /**
- * The Workspace One Config Response.
+ * Value of the zone setting.
+ *
+ * @default off
  */
-export type WorkspaceOneConfigResponse = {
+export type ZonesWafValue = 'on' | 'off';
+
+/**
+ * When the client requesting the image supports the WebP image codec, and WebP offers a performance advantage over the original image format, Cloudflare will serve a WebP version of the original image.
+ */
+export type ZonesWebp = {
   /**
-   * The Workspace One API URL provided in the Workspace One Admin Dashboard.
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
    *
-   * @example https://as123.awmdm.com/API
+   * @default true
    */
-  api_url: string;
+  editable?: true | false;
   /**
-   * The Workspace One Authorization URL depending on your region.
+   * ID of the zone setting.
    *
-   * @example https://na.uemauth.vmwservices.com/connect/token
+   * @example webp
    */
-  auth_url: string;
+  id: 'webp';
   /**
-   * The Workspace One client ID provided in the Workspace One Admin Dashboard.
+   * last time this setting was modified.
    *
-   * @example example client id
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
    */
-  client_id: string;
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: ZonesWebpValue;
 };
 
-export type Yandex = {
+/**
+ * Value of the zone setting.
+ *
+ * @default off
+ */
+export type ZonesWebpValue = 'off' | 'on';
+
+/**
+ * WebSockets are open connections sustained between the client and the origin server. Inside a WebSockets connection, the client and the origin can pass data back and forth without having to reestablish sessions. This makes exchanging data within a WebSockets connection fast. WebSockets are often used for real-time applications such as live chat and gaming. For more information refer to [Can I use Cloudflare with Websockets](https://support.cloudflare.com/hc/en-us/articles/200169466-Can-I-use-Cloudflare-with-WebSockets-).
+ */
+export type ZonesWebsockets = {
   /**
-   * The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   *
+   * @default true
    */
-  config: GenericOauthConfig;
-  id?: Uuid;
-  name: SchemasNameIXVfNmuB;
+  editable?: true | false;
   /**
-   * The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
+   * ID of the zone setting.
+   *
+   * @example websockets
    */
-  scim_config?: {
-    /**
-     * A flag to enable or disable SCIM for the identity provider.
-     */
-    enabled?: boolean;
-    /**
-     * A flag to revoke a user's session in Access and force a reauthentication on the user's Gateway session when they have been added or removed from a group in the Identity Provider.
-     */
-    group_member_deprovision?: boolean;
-    /**
-     * A flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider.  This cannot be enabled unless user_deprovision is also enabled.
-     */
-    seat_deprovision?: boolean;
-    /**
-     * A read-only token generated when the SCIM integration is enabled for the first time.  It is redacted on subsequent requests.  If you lose this you will need to refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
-     */
-    secret?: string;
-    /**
-     * A flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
-     */
-    user_deprovision?: boolean;
-  };
+  id: 'websockets';
   /**
-   * The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
+   * last time this setting was modified.
    *
-   * @example onetimepin
+   * @example 2014-01-01T05:20:00.12345Z
+   * @format date-time
    */
-  type: string;
+  modified_on?: string | null;
+  /**
+   * Current value of the zone setting.
+   *
+   * @example on
+   */
+  value: ZonesWebsocketsValue;
 };
 
 /**
- * The zipcode or postal code where the user lives.
+ * Value of the zone setting.
  *
- * @example 12345
- * @maxLength 20
+ * @default off
  */
-export type Zipcode = string | null;
+export type ZonesWebsocketsValue = 'off' | 'on';
 
-export type Zone = {
+export type ZonesZone = {
+  /**
+   * The account the zone belongs to
+   */
+  account: {
+    id?: ZonesIdentifier;
+    /**
+     * The name of the account
+     *
+     * @example Example Account Name
+     */
+    name?: string;
+  };
   /**
    * The last time proof of ownership was detected and the zone was made
    * active
@@ -29000,7 +51411,52 @@ export type Zone = {
    * @example 7200
    */
   development_mode: number;
-  id: IdentifierY35LcWMV;
+  id: ZonesIdentifier;
+  /**
+   * Metadata about the zone
+   */
+  meta: {
+    /**
+     * The zone is only configured for CDN
+     *
+     * @example true
+     */
+    cdn_only?: boolean;
+    /**
+     * Number of Custom Certificates the zone can have
+     *
+     * @example 1
+     */
+    custom_certificate_quota?: number;
+    /**
+     * The zone is only configured for DNS
+     *
+     * @example true
+     */
+    dns_only?: boolean;
+    /**
+     * The zone is setup with Foundation DNS
+     *
+     * @example true
+     */
+    foundation_dns?: boolean;
+    /**
+     * Number of Page Rules a zone can have
+     *
+     * @example 100
+     */
+    page_rule_quota?: number;
+    /**
+     * The zone has been flagged for phishing
+     *
+     * @example false
+     */
+    phishing_detected?: boolean;
+    /**
+     * @example 2
+     */
+    step?: number;
+  };
   /**
    * When the zone was last modified
    *
@@ -29016,6 +51472,13 @@ export type Zone = {
    * @pattern ^([a-zA-Z0-9][\-a-zA-Z0-9]*\.)+[\-a-zA-Z0-9]{2,20}$
    */
   name: string;
+  /**
+   * The name servers Cloudflare assigns to a zone
+   *
+   * @example bob.ns.cloudflare.com
+   * @example lola.ns.cloudflare.com
+   */
+  name_servers: string[];
   /**
    * DNS host at the time of switching to Cloudflare
    *
@@ -29025,7 +51488,6 @@ export type Zone = {
   original_dnshost: string | null;
   /**
    * Original name servers before moving to Cloudflare
-   * Notes: Is this only available for full zones?
    *
    * @example ns1.originaldnshost.com
    * @example ns2.originaldnshost.com
@@ -29037,259 +51499,212 @@ export type Zone = {
    * @example GoDaddy
    */
   original_registrar: string | null;
-};
-
-export type ZoneAuthenticatedOriginPull = CertificateObject;
-
-export type ZoneAuthenticatedOriginPullHgUvk0U1 = CertificateObject25TqpbxA;
-
-/**
- * The zone's leaf certificate.
- * 
- * @example -----BEGIN CERTIFICATE-----
-MIIDtTCCAp2gAwIBAgIJAMHAwfXZ5/PWMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV
-BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX
-aWRnaXRzIFB0eSBMdGQwHhcNMTYwODI0MTY0MzAxWhcNMTYxMTIyMTY0MzAxWjBF
-MQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50
-ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
-CgKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmGdtcGbg/1
-CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKnabIRuGvB
-KwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpidtnKX/a+5
-0GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+pyFxIXjbEI
-dZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pEewooaeO2
-izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABo4GnMIGkMB0GA1UdDgQWBBT/LbE4
-9rWf288N6sJA5BRb6FJIGDB1BgNVHSMEbjBsgBT/LbE49rWf288N6sJA5BRb6FJI
-GKFJpEcwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNV
-BAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZIIJAMHAwfXZ5/PWMAwGA1UdEwQF
-MAMBAf8wDQYJKoZIhvcNAQELBQADggEBAHHFwl0tH0quUYZYO0dZYt4R7SJ0pCm2
-2satiyzHl4OnXcHDpekAo7/a09c6Lz6AU83cKy/+x3/djYHXWba7HpEu0dR3ugQP
-Mlr4zrhd9xKZ0KZKiYmtJH+ak4OM4L3FbT0owUZPyjLSlhMtJVcoRp5CJsjAMBUG
-SvD8RX+T01wzox/Qb+lnnNnOlaWpqu8eoOenybxKp1a9ULzIVvN/LAcc+14vioFq
-2swRWtmocBAs8QR9n4uvbpiYvS8eYueDCWMM4fvFfBhaDZ3N9IbtySh3SpFdQDhw
-YbjM2rxXiyLGxB4Bol7QTv4zHif7Zt89FReT/NBy4rzaskDJY5L6xmY=
------END CERTIFICATE-----
- */
-export type ZoneAuthenticatedOriginPullComponentsSchemasCertificate = string;
-
-/**
- * Indicates whether zone-level authenticated origin pulls is enabled.
- *
- * @example true
- */
-export type ZoneAuthenticatedOriginPullComponentsSchemasEnabled = boolean;
-
-/**
- * When the certificate from the authority expires.
- *
- * @example 2100-01-01T05:20:00Z
- * @format date-time
- */
-export type ZoneAuthenticatedOriginPullComponentsSchemasExpiresOn = string;
-
-/**
- * Certificate identifier tag.
- *
- * @example 2458ce5a-0c35-4c7f-82c7-8e9487d3ff60
- * @maxLength 36
- */
-export type ZoneAuthenticatedOriginPullComponentsSchemasIdentifier = string;
-
-/**
- * Status of the certificate activation.
- *
- * @example active
- */
-export type ZoneAuthenticatedOriginPullComponentsSchemasStatus =
-  | 'initializing'
-  | 'pending_deployment'
-  | 'pending_deletion'
-  | 'active'
-  | 'deleted'
-  | 'deployment_timed_out'
-  | 'deletion_timed_out';
-
-/**
- * A simple zone object. May have null properties if not a zone subscription.
- */
-export type ZoneEBDuGM7t = {
-  id?: CommonComponentsSchemasIdentifier;
-  name?: ZonePropertiesName;
-};
-
-/**
- * The domain name
- *
- * @example example.com
- * @maxLength 253
- * @pattern ^([a-zA-Z0-9][\-a-zA-Z0-9]*\.)+[\-a-zA-Z0-9]{2,20}$
- */
-export type ZonePropertiesName = string;
-
-export type ZoneCacheSettingsResponseSingle = ApiResponseSingleIRWHLn6I & {
-  result?: Record<string, any>;
-};
-
-export type ZoneCacheSettingsResponseSingle5K0MvU1F = ApiResponseSingleLarS7owG & {
-  result?: Record<string, any>;
-};
-
-/**
- * Identifier of the zone.
- *
- * @example 593c9c94de529bbbfaac7c53ced0447d
- */
-export type ZoneIdentifier = void;
-
-export type ZoneIdentifierWAYA2uXU = Identifier;
-
-export type ZoneMetadata = {
   /**
-   * Whether zone uses account-level custom nameservers.
+   * The owner of the zone
+   */
+  owner: {
+    id?: ZonesIdentifier;
+    /**
+     * Name of the owner
+     *
+     * @example Example Org
+     */
+    name?: string;
+    /**
+     * The type of owner
+     *
+     * @example organization
+     */
+    type?: string;
+  };
+  paused?: ZonesPaused;
+  /**
+   * The zone status on Cloudflare.
    *
-   * @example true
+   * @example active
    */
-  enabled?: boolean;
+  status?: 'initializing' | 'pending' | 'active' | 'moved';
+  type?: ZonesType;
+  /**
+   * An array of domains used for custom name servers. This is only available for Business and Enterprise plans.
+   *
+   * @example ns1.example.com
+   * @example ns2.example.com
+   */
+  vanity_name_servers?: string[];
 };
 
-/**
- * Name of the zone.
- *
- * @example example.com
- */
-export type ZoneName = string;
-
-export type ZoneSettingsResponseCollection = ApiResponseCommonU3C2lXGw & {
+export type ZonesZoneSettingsResponseCollection = ZonesApiResponseCommon & {
   result?: (
-    | Zerortt
-    | AdvancedDdos
-    | AlwaysOnline
-    | AlwaysUseHttps
-    | AutomaticHttpsRewrites
-    | Brotli
-    | BrowserCacheTtl
-    | BrowserCheck
-    | CacheLevel
-    | ChallengeTtl
-    | Ciphers
-    | CnameFlattening
-    | DevelopmentMode
-    | EarlyHints
-    | EdgeCacheTtl
-    | EmailObfuscation
-    | H2Prioritization
-    | HotlinkProtection
-    | Http2
-    | Http3
-    | ImageResizing
-    | IpGeolocation
-    | Ipv6
-    | MaxUpload
-    | MinTlsVersion
-    | Minify
-    | Mirage
-    | MobileRedirect
-    | Nel
-    | OpportunisticEncryption
-    | OpportunisticOnion
-    | OrangeToOrange
-    | OriginErrorPagePassThru
-    | OriginMaxHttpVersion
-    | Polish
-    | PrefetchPreload
-    | PrivacyPass
-    | ProxyReadTimeout
-    | PseudoIpv4
-    | ResponseBuffering
-    | RocketLoader
-    | SchemasAutomaticPlatformOptimization
-    | SecurityHeader
-    | SecurityLevel
-    | ServerSideExclude
-    | Sha1Support
-    | SortQueryStringForCache
-    | SslCvCTPIf1
-    | SslRecommender
-    | Tls12Only
-    | Tls13
-    | TlsClientAuth
-    | TrueClientIpHeader
-    | Waf
-    | Webp
-    | Websockets
+    | Zones0rtt
+    | ZonesAdvancedDdos
+    | ZonesAlwaysOnline
+    | ZonesSchemasAlwaysUseHttps
+    | ZonesSchemasAutomaticHttpsRewrites
+    | ZonesBrotli
+    | ZonesSchemasBrowserCacheTtl
+    | ZonesSchemasBrowserCheck
+    | ZonesSchemasCacheLevel
+    | ZonesChallengeTtl
+    | ZonesCiphers
+    | ZonesCnameFlattening
+    | ZonesDevelopmentMode
+    | ZonesEarlyHints
+    | ZonesSchemasEdgeCacheTtl
+    | ZonesSchemasEmailObfuscation
+    | ZonesH2Prioritization
+    | ZonesHotlinkProtection
+    | ZonesHttp2
+    | ZonesHttp3
+    | ZonesImageResizing
+    | ZonesSchemasIpGeolocation
+    | ZonesIpv6
+    | ZonesMaxUpload
+    | ZonesMinTlsVersion
+    | ZonesSchemasMirage
+    | ZonesNel
+    | ZonesSchemasOpportunisticEncryption
+    | ZonesOpportunisticOnion
+    | ZonesOrangeToOrange
+    | ZonesSchemasOriginErrorPagePassThru
+    | ZonesSchemasPolish
+    | ZonesPrefetchPreload
+    | ZonesProxyReadTimeout
+    | ZonesPseudoIpv4
+    | ZonesReplaceInsecureJs
+    | ZonesSchemasResponseBuffering
+    | ZonesSchemasRocketLoader
+    | ZonesSchemasAutomaticPlatformOptimization
+    | ZonesSecurityHeader
+    | ZonesSchemasSecurityLevel
+    | ZonesServerSideExclude
+    | ZonesSha1Support
+    | ZonesSchemasSortQueryStringForCache
+    | ZonesSchemasSsl
+    | ZonesSslRecommender
+    | ZonesTls12Only
+    | ZonesTls13
+    | ZonesTlsClientAuth
+    | ZonesSchemasTrueClientIpHeader
+    | ZonesSchemasWaf
+    | ZonesWebp
+    | ZonesWebsockets
   )[];
 };
 
-export type ZoneSettingsResponseSingle = ApiResponseSingle & {
-  result?: Record<string, any>;
-};
-
-export type ZoneSettingsResponseSingleJb3DGhx6 = ApiResponseCommonU3C2lXGw & {
-  result?: Record<string, any>;
-};
-
-export type ZoneSubscriptionResponseSingle = ApiResponseSingleLarS7owG & {
-  result?: Record<string, any>;
-};
-
-export type Zonelockdown = {
-  configurations: Configurations;
-  created_on: CreatedOnSYnNp6TW;
-  description: LockdownsComponentsSchemasDescription;
-  id: LockdownsComponentsSchemasId;
-  modified_on: ComponentsSchemasModifiedOn;
-  paused: SchemasPaused;
-  urls: SchemasUrls;
-};
-
-export type ZonelockdownResponseCollection = ApiResponseCollection & {
-  result: Zonelockdown[];
-};
-
-export type ZonelockdownResponseSingle = ApiResponseSingleLarS7owG & {
-  result: Zonelockdown;
-};
-
 /**
- * The number of zones using this Railgun.
- *
- * @example 2
+ * A component value for a subscription.
  */
-export type ZonesConnected = number;
+export type BillSubsApiComponentValue2 = {
+  /**
+   * The default amount assigned.
+   *
+   * @example 5
+   */
+  ['default']?: number;
+  /**
+   * The name of the component value.
+   *
+   * @example page_rules
+   */
+  name?: string;
+  /**
+   * The unit price for the component value.
+   *
+   * @example 5
+   */
+  price?: number;
+  /**
+   * The amount of the component value assigned.
+   *
+   * @example 20
+   */
+  value?: number;
+};
 
 /**
- * 0-RTT session resumption enabled for this zone.
+ * The rate plan applied to the subscription.
  */
-export type Zerortt = {
+export type BillSubsApiRatePlan2 = {
   /**
-   * Whether or not this setting can be modified for this zone (based on your Cloudflare plan level).
+   * The currency applied to the rate plan subscription.
    *
-   * @default true
+   * @example USD
    */
-  editable?: true | false;
+  currency?: string;
   /**
-   * ID of the zone setting.
+   * Whether this rate plan is managed externally from Cloudflare.
    *
-   * @example 0rtt
+   * @example false
    */
-  id: '0rtt';
+  externally_managed?: boolean;
   /**
-   * last time this setting was modified.
+   * The ID of the rate plan.
    *
-   * @example 2014-01-01T05:20:00.12345Z
-   * @format date-time
+   * @example free
    */
-  modified_on?: string | null;
+  id?: string;
   /**
-   * Current value of the zone setting.
+   * Whether a rate plan is enterprise-based (or newly adopted term contract).
    *
-   * @example on
+   * @example false
+   */
+  is_contract?: boolean;
+  /**
+   * The full name of the rate plan.
+   *
+   * @example Business Plan
    */
-  value: ZerorttValue;
+  public_name?: string;
+  /**
+   * The scope that this rate plan applies to.
+   *
+   * @example zone
+   */
+  scope?: string;
+  /**
+   * The list of sets this rate plan applies to.
+   */
+  sets?: string[];
+};
+
+export type DnsFirewallDnsFirewallReverseDnsResponse2 = DnsFirewallApiResponseSingle & {
+  result?: DnsFirewallDnsFirewallReverseDnsResponse;
 };
 
 /**
- * Value of the 0-RTT setting.
+ * If true, filter events where the origin status is healthy. If false, filter events where the origin status is unhealthy.
  *
- * @default off
+ * @default true
+ * @example true
+ */
+export type LoadBalancingOriginHealthy2 = boolean;
+
+/**
+ * Details about a live input.
  */
-export type ZerorttValue = 'on' | 'off';
+export type StreamLiveInput2 = {
+  created?: StreamLiveInputCreated;
+  deleteRecordingAfterDays?: StreamLiveInputRecordingDeletion;
+  meta?: StreamLiveInputMetadata;
+  modified?: StreamLiveInputModified;
+  recording?: StreamLiveInputRecordingSettings;
+  rtmps?: StreamInputRtmps;
+  rtmpsPlayback?: StreamPlaybackRtmps;
+  srt?: StreamInputSrt;
+  srtPlayback?: StreamPlaybackSrt;
+  status?: StreamLiveInputStatus;
+  uid?: StreamLiveInputIdentifier;
+  webRTC?: StreamInputWebrtc;
+  webRTCPlayback?: StreamPlaybackWebrtc;
+};
+
+export type StreamWatermarkAtUpload2 = {
+  /**
+   * The unique identifier for the watermark profile.
+   *
+   * @example ea95132c15732412d22c1476fa83f27a
+   * @maxLength 32
+   */
+  uid?: string;
+};
diff --git a/packages/cloudflare-api/src/client.ts b/packages/cloudflare-api/src/client.ts
index bf831768..045f894b 100644
--- a/packages/cloudflare-api/src/client.ts
+++ b/packages/cloudflare-api/src/client.ts
@@ -7,7 +7,6 @@ import { RequiredKeys } from './utils/types';
 export interface CloudflareApiOptions {
   token: string;
   fetch?: FetchImpl;
-  basePath?: string;
 }
 
 type ApiProxy = {
@@ -15,12 +14,12 @@ type ApiProxy = {
     [Method in keyof (typeof operationsByTag)[Tag]]: (typeof operationsByTag)[Tag][Method] extends infer Operation extends (
       ...args: any
     ) => any
-      ? Omit<Parameters<Operation>[0], keyof FetcherExtraProps> extends infer Params
-        ? RequiredKeys<Params> extends never
-          ? (params?: Params) => ReturnType<Operation>
-          : (params: Params) => ReturnType<Operation>
-        : never
-      : never;
+    ? Omit<Parameters<Operation>[0], keyof FetcherExtraProps> extends infer Params
+    ? RequiredKeys<Params> extends never
+    ? (params?: Params) => ReturnType<Operation>
+    : (params: Params) => ReturnType<Operation>
+    : never
+    : never;
   };
 };
 
@@ -34,7 +33,6 @@ type RequestEndpointResult<T extends keyof typeof operationsByPath> = ReturnType
 export class CloudflareApi {
   #token: string;
   #fetch: FetchImpl;
-  #basePath: string;
 
   constructor(options: CloudflareApiOptions) {
     this.#token = options.token;
@@ -42,14 +40,11 @@ export class CloudflareApi {
 
     this.#fetch = options.fetch || (fetch as FetchImpl);
     if (!this.#fetch) throw new Error('Fetch is required');
-
-    this.#basePath = options.basePath || '/api/v1';
   }
 
   get api() {
     const token = this.#token;
     const fetchImpl = this.#fetch;
-    const basePath = this.#basePath;
 
     return new Proxy(
       {},
@@ -70,7 +65,7 @@ export class CloudflareApi {
                 const method = operationsByTag[namespace][operation] as any;
 
                 return async (params: Record<string, unknown>) => {
-                  return await method({ ...params, token, fetchImpl, basePath });
+                  return await method({ ...params, token, fetchImpl });
                 };
               }
             }
@@ -110,7 +105,6 @@ export class CloudflareApi {
       url,
       token: this.#token,
       fetchImpl: this.#fetch,
-      basePath: this.#basePath
     });
 
     return result as RequestEndpointResult<Endpoint>;

From aee2bf56d5377115ad3ef77e82ea78015747f43e Mon Sep 17 00:00:00 2001
From: Alexis Rico <sferadev@gmail.com>
Date: Fri, 20 Dec 2024 09:11:05 +0100
Subject: [PATCH 3/3] Add changeset

Signed-off-by: Alexis Rico <sferadev@gmail.com>
---
 .changeset/late-singers-jog.md | 5 +++++
 .github/workflows/update.yaml  | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)
 create mode 100644 .changeset/late-singers-jog.md

diff --git a/.changeset/late-singers-jog.md b/.changeset/late-singers-jog.md
new file mode 100644
index 00000000..c5a57b4a
--- /dev/null
+++ b/.changeset/late-singers-jog.md
@@ -0,0 +1,5 @@
+---
+'cloudflare-api-js': minor
+---
+
+Initial release
diff --git a/.github/workflows/update.yaml b/.github/workflows/update.yaml
index effee316..9c9a3716 100644
--- a/.github/workflows/update.yaml
+++ b/.github/workflows/update.yaml
@@ -12,7 +12,7 @@ jobs:
 
     strategy:
       matrix:
-        package: [[vercel-api-js], [netlify-api], [zoom-api-js], [keycloak-api], [dhis2-openapi]]
+        package: [[vercel-api-js], [netlify-api], [zoom-api-js], [keycloak-api], [dhis2-openapi], [cloudflare-api-js]]
 
     steps:
       - name: Checkout repo