@coloop-ai/openai-ads-sdk 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +177 -0
- package/dist/index.cjs +1000 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +258 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +258 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +996 -0
- package/dist/index.mjs.map +1 -0
- package/dist/raw.cjs +160 -0
- package/dist/raw.cjs.map +1 -0
- package/dist/raw.d.cts +723 -0
- package/dist/raw.d.cts.map +1 -0
- package/dist/raw.d.mts +723 -0
- package/dist/raw.d.mts.map +1 -0
- package/dist/raw.mjs +65 -0
- package/dist/raw.mjs.map +1 -0
- package/dist/sdk.gen-BZw2JSrr.mjs +1392 -0
- package/dist/sdk.gen-BZw2JSrr.mjs.map +1 -0
- package/dist/sdk.gen-DZPUCME9.cjs +1955 -0
- package/dist/sdk.gen-DZPUCME9.cjs.map +1 -0
- package/dist/types.gen-C0tFuU7P.d.cts +3181 -0
- package/dist/types.gen-C0tFuU7P.d.cts.map +1 -0
- package/dist/types.gen-C0tFuU7P.d.mts +3181 -0
- package/dist/types.gen-C0tFuU7P.d.mts.map +1 -0
- package/package.json +88 -0
- package/schemas/advertiser-rest.openapi.json +7359 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk.gen-BZw2JSrr.mjs","names":[],"sources":["../src/generated/core/bodySerializer.gen.ts","../src/generated/core/serverSentEvents.gen.ts","../src/generated/core/pathSerializer.gen.ts","../src/generated/core/utils.gen.ts","../src/generated/core/auth.gen.ts","../src/generated/client/utils.gen.ts","../src/generated/client/client.gen.ts","../src/generated/sdk.gen.ts"],"sourcesContent":["// This file is auto-generated by @hey-api/openapi-ts\n\nimport type {\n ArrayStyle,\n ObjectStyle,\n SerializerOptions,\n} from './pathSerializer.gen'\n\nexport type QuerySerializer = (query: Record<string, unknown>) => string\n\nexport type BodySerializer = (body: unknown) => unknown\n\ntype QuerySerializerOptionsObject = {\n allowReserved?: boolean\n array?: Partial<SerializerOptions<ArrayStyle>>\n object?: Partial<SerializerOptions<ObjectStyle>>\n}\n\nexport type QuerySerializerOptions = QuerySerializerOptionsObject & {\n /**\n * Per-parameter serialization overrides. When provided, these settings\n * override the global array/object settings for specific parameter names.\n */\n parameters?: Record<string, QuerySerializerOptionsObject>\n}\n\nconst serializeFormDataPair = (\n data: FormData,\n key: string,\n value: unknown,\n): void => {\n if (typeof value === 'string' || value instanceof Blob) {\n data.append(key, value)\n } else if (value instanceof Date) {\n data.append(key, value.toISOString())\n } else {\n data.append(key, JSON.stringify(value))\n }\n}\n\nconst serializeUrlSearchParamsPair = (\n data: URLSearchParams,\n key: string,\n value: unknown,\n): void => {\n if (typeof value === 'string') {\n data.append(key, value)\n } else {\n data.append(key, JSON.stringify(value))\n }\n}\n\nexport const formDataBodySerializer = {\n bodySerializer: (body: unknown): FormData => {\n const data = new FormData()\n\n Object.entries(body as Record<string, unknown>).forEach(([key, value]) => {\n if (value === undefined || value === null) {\n return\n }\n if (Array.isArray(value)) {\n value.forEach((v) => serializeFormDataPair(data, key, v))\n } else {\n serializeFormDataPair(data, key, value)\n }\n })\n\n return data\n },\n}\n\nexport const jsonBodySerializer = {\n bodySerializer: (body: unknown): string =>\n JSON.stringify(body, (_key, value) =>\n typeof value === 'bigint' ? value.toString() : value,\n ),\n}\n\nexport const urlSearchParamsBodySerializer = {\n bodySerializer: (body: unknown): string => {\n const data = new URLSearchParams()\n\n Object.entries(body as Record<string, unknown>).forEach(([key, value]) => {\n if (value === undefined || value === null) {\n return\n }\n if (Array.isArray(value)) {\n value.forEach((v) => serializeUrlSearchParamsPair(data, key, v))\n } else {\n serializeUrlSearchParamsPair(data, key, value)\n }\n })\n\n return data.toString()\n },\n}\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport type { Config } from './types.gen'\n\nexport type ServerSentEventsOptions<TData = unknown> = Omit<\n RequestInit,\n 'method'\n> &\n Pick<Config, 'method' | 'responseTransformer' | 'responseValidator'> & {\n /**\n * Fetch API implementation. You can use this option to provide a custom\n * fetch instance.\n *\n * @default globalThis.fetch\n */\n fetch?: typeof fetch\n /**\n * Implementing clients can call request interceptors inside this hook.\n */\n onRequest?: (url: string, init: RequestInit) => Promise<Request>\n /**\n * Callback invoked when a network or parsing error occurs during streaming.\n *\n * This option applies only if the endpoint returns a stream of events.\n *\n * @param error The error that occurred.\n */\n onSseError?: (error: unknown) => void\n /**\n * Callback invoked when an event is streamed from the server.\n *\n * This option applies only if the endpoint returns a stream of events.\n *\n * @param event Event streamed from the server.\n * @returns Nothing (void).\n */\n onSseEvent?: (event: StreamEvent<TData>) => void\n serializedBody?: RequestInit['body']\n /**\n * Default retry delay in milliseconds.\n *\n * This option applies only if the endpoint returns a stream of events.\n *\n * @default 3000\n */\n sseDefaultRetryDelay?: number\n /**\n * Maximum number of retry attempts before giving up.\n */\n sseMaxRetryAttempts?: number\n /**\n * Maximum retry delay in milliseconds.\n *\n * Applies only when exponential backoff is used.\n *\n * This option applies only if the endpoint returns a stream of events.\n *\n * @default 30000\n */\n sseMaxRetryDelay?: number\n /**\n * Optional sleep function for retry backoff.\n *\n * Defaults to using `setTimeout`.\n */\n sseSleepFn?: (ms: number) => Promise<void>\n url: string\n }\n\nexport interface StreamEvent<TData = unknown> {\n data: TData\n event?: string\n id?: string\n retry?: number\n}\n\nexport type ServerSentEventsResult<\n TData = unknown,\n TReturn = void,\n TNext = unknown,\n> = {\n stream: AsyncGenerator<\n TData extends Record<string, unknown> ? TData[keyof TData] : TData,\n TReturn,\n TNext\n >\n}\n\nexport function createSseClient<TData = unknown>({\n onRequest,\n onSseError,\n onSseEvent,\n responseTransformer,\n responseValidator,\n sseDefaultRetryDelay,\n sseMaxRetryAttempts,\n sseMaxRetryDelay,\n sseSleepFn,\n url,\n ...options\n}: ServerSentEventsOptions): ServerSentEventsResult<TData> {\n let lastEventId: string | undefined\n\n const sleep =\n sseSleepFn ??\n ((ms: number) => new Promise((resolve) => setTimeout(resolve, ms)))\n\n const createStream = async function* () {\n let retryDelay: number = sseDefaultRetryDelay ?? 3000\n let attempt = 0\n const signal = options.signal ?? new AbortController().signal\n\n while (true) {\n if (signal.aborted) break\n\n attempt++\n\n const headers =\n options.headers instanceof Headers\n ? options.headers\n : new Headers(options.headers as Record<string, string> | undefined)\n\n if (lastEventId !== undefined) {\n headers.set('Last-Event-ID', lastEventId)\n }\n\n try {\n const requestInit: RequestInit = {\n redirect: 'follow',\n ...options,\n body: options.serializedBody,\n headers,\n signal,\n }\n let request = new Request(url, requestInit)\n if (onRequest) {\n request = await onRequest(url, requestInit)\n }\n // fetch must be assigned here, otherwise it would throw the error:\n // TypeError: Failed to execute 'fetch' on 'Window': Illegal invocation\n const _fetch = options.fetch ?? globalThis.fetch\n const response = await _fetch(request)\n\n if (!response.ok)\n throw new Error(\n `SSE failed: ${response.status} ${response.statusText}`,\n )\n\n if (!response.body) throw new Error('No body in SSE response')\n\n const reader = response.body\n .pipeThrough(new TextDecoderStream())\n .getReader()\n\n let buffer = ''\n\n const abortHandler = () => {\n try {\n reader.cancel()\n } catch {\n // noop\n }\n }\n\n signal.addEventListener('abort', abortHandler)\n\n try {\n while (true) {\n const { done, value } = await reader.read()\n if (done) break\n buffer += value\n buffer = buffer.replace(/\\r\\n?/g, '\\n') // normalize line endings\n\n const chunks = buffer.split('\\n\\n')\n buffer = chunks.pop() ?? ''\n\n for (const chunk of chunks) {\n const lines = chunk.split('\\n')\n const dataLines: Array<string> = []\n let eventName: string | undefined\n\n for (const line of lines) {\n if (line.startsWith('data:')) {\n dataLines.push(line.replace(/^data:\\s*/, ''))\n } else if (line.startsWith('event:')) {\n eventName = line.replace(/^event:\\s*/, '')\n } else if (line.startsWith('id:')) {\n lastEventId = line.replace(/^id:\\s*/, '')\n } else if (line.startsWith('retry:')) {\n const parsed = Number.parseInt(\n line.replace(/^retry:\\s*/, ''),\n 10,\n )\n if (!Number.isNaN(parsed)) {\n retryDelay = parsed\n }\n }\n }\n\n let data: unknown\n let parsedJson = false\n\n if (dataLines.length) {\n const rawData = dataLines.join('\\n')\n try {\n data = JSON.parse(rawData)\n parsedJson = true\n } catch {\n data = rawData\n }\n }\n\n if (parsedJson) {\n if (responseValidator) {\n await responseValidator(data)\n }\n\n if (responseTransformer) {\n data = await responseTransformer(data)\n }\n }\n\n onSseEvent?.({\n data,\n event: eventName,\n id: lastEventId,\n retry: retryDelay,\n })\n\n if (dataLines.length) {\n yield data as any\n }\n }\n }\n } finally {\n signal.removeEventListener('abort', abortHandler)\n reader.releaseLock()\n }\n\n break // exit loop on normal completion\n } catch (error) {\n // connection failed or aborted; retry after delay\n onSseError?.(error)\n\n if (\n sseMaxRetryAttempts !== undefined &&\n attempt >= sseMaxRetryAttempts\n ) {\n break // stop after firing error\n }\n\n // exponential backoff: double retry each attempt, cap at 30s\n const backoff = Math.min(\n retryDelay * 2 ** (attempt - 1),\n sseMaxRetryDelay ?? 30000,\n )\n await sleep(backoff)\n }\n }\n }\n\n const stream = createStream()\n\n return { stream }\n}\n","// This file is auto-generated by @hey-api/openapi-ts\n\ninterface SerializeOptions<T>\n extends SerializePrimitiveOptions, SerializerOptions<T> {}\n\ninterface SerializePrimitiveOptions {\n allowReserved?: boolean\n name: string\n}\n\nexport interface SerializerOptions<T> {\n /**\n * @default true\n */\n explode: boolean\n style: T\n}\n\nexport type ArrayStyle = 'form' | 'spaceDelimited' | 'pipeDelimited'\nexport type ArraySeparatorStyle = ArrayStyle | MatrixStyle\ntype MatrixStyle = 'label' | 'matrix' | 'simple'\nexport type ObjectStyle = 'form' | 'deepObject'\ntype ObjectSeparatorStyle = ObjectStyle | MatrixStyle\n\ninterface SerializePrimitiveParam extends SerializePrimitiveOptions {\n value: string\n}\n\nexport const separatorArrayExplode = (\n style: ArraySeparatorStyle,\n): '.' | ';' | ',' | '&' => {\n switch (style) {\n case 'label':\n return '.'\n case 'matrix':\n return ';'\n case 'simple':\n return ','\n default:\n return '&'\n }\n}\n\nexport const separatorArrayNoExplode = (\n style: ArraySeparatorStyle,\n): ',' | '|' | '%20' => {\n switch (style) {\n case 'form':\n return ','\n case 'pipeDelimited':\n return '|'\n case 'spaceDelimited':\n return '%20'\n default:\n return ','\n }\n}\n\nexport const separatorObjectExplode = (\n style: ObjectSeparatorStyle,\n): '.' | ';' | ',' | '&' => {\n switch (style) {\n case 'label':\n return '.'\n case 'matrix':\n return ';'\n case 'simple':\n return ','\n default:\n return '&'\n }\n}\n\nexport const serializeArrayParam = ({\n allowReserved,\n explode,\n name,\n style,\n value,\n}: SerializeOptions<ArraySeparatorStyle> & {\n value: unknown[]\n}): string => {\n if (!explode) {\n const joinedValues = (\n allowReserved ? value : value.map((v) => encodeURIComponent(v as string))\n ).join(separatorArrayNoExplode(style))\n switch (style) {\n case 'label':\n return `.${joinedValues}`\n case 'matrix':\n return `;${name}=${joinedValues}`\n case 'simple':\n return joinedValues\n default:\n return `${name}=${joinedValues}`\n }\n }\n\n const separator = separatorArrayExplode(style)\n const joinedValues = value\n .map((v) => {\n if (style === 'label' || style === 'simple') {\n return allowReserved ? v : encodeURIComponent(v as string)\n }\n\n return serializePrimitiveParam({\n allowReserved,\n name,\n value: v as string,\n })\n })\n .join(separator)\n return style === 'label' || style === 'matrix'\n ? separator + joinedValues\n : joinedValues\n}\n\nexport const serializePrimitiveParam = ({\n allowReserved,\n name,\n value,\n}: SerializePrimitiveParam): string => {\n if (value === undefined || value === null) {\n return ''\n }\n\n if (typeof value === 'object') {\n throw new Error(\n 'Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.',\n )\n }\n\n return `${name}=${allowReserved ? value : encodeURIComponent(value)}`\n}\n\nexport const serializeObjectParam = ({\n allowReserved,\n explode,\n name,\n style,\n value,\n valueOnly,\n}: SerializeOptions<ObjectSeparatorStyle> & {\n value: Record<string, unknown> | Date\n valueOnly?: boolean\n}): string => {\n if (value instanceof Date) {\n return valueOnly ? value.toISOString() : `${name}=${value.toISOString()}`\n }\n\n if (style !== 'deepObject' && !explode) {\n let values: string[] = []\n Object.entries(value).forEach(([key, v]) => {\n values = [\n ...values,\n key,\n allowReserved ? (v as string) : encodeURIComponent(v as string),\n ]\n })\n const joinedValues = values.join(',')\n switch (style) {\n case 'form':\n return `${name}=${joinedValues}`\n case 'label':\n return `.${joinedValues}`\n case 'matrix':\n return `;${name}=${joinedValues}`\n default:\n return joinedValues\n }\n }\n\n const separator = separatorObjectExplode(style)\n const joinedValues = Object.entries(value)\n .map(([key, v]) =>\n serializePrimitiveParam({\n allowReserved,\n name: style === 'deepObject' ? `${name}[${key}]` : key,\n value: v as string,\n }),\n )\n .join(separator)\n return style === 'label' || style === 'matrix'\n ? separator + joinedValues\n : joinedValues\n}\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport type { BodySerializer, QuerySerializer } from './bodySerializer.gen'\nimport {\n type ArraySeparatorStyle,\n serializeArrayParam,\n serializeObjectParam,\n serializePrimitiveParam,\n} from './pathSerializer.gen'\n\nexport interface PathSerializer {\n path: Record<string, unknown>\n url: string\n}\n\nexport const PATH_PARAM_RE: RegExp = /\\{[^{}]+\\}/g\n\nexport const defaultPathSerializer = ({\n path,\n url: _url,\n}: PathSerializer): string => {\n let url = _url\n const matches = _url.match(PATH_PARAM_RE)\n if (matches) {\n for (const match of matches) {\n let explode = false\n let name = match.substring(1, match.length - 1)\n let style: ArraySeparatorStyle = 'simple'\n\n if (name.endsWith('*')) {\n explode = true\n name = name.substring(0, name.length - 1)\n }\n\n if (name.startsWith('.')) {\n name = name.substring(1)\n style = 'label'\n } else if (name.startsWith(';')) {\n name = name.substring(1)\n style = 'matrix'\n }\n\n const value = path[name]\n\n if (value === undefined || value === null) {\n continue\n }\n\n if (Array.isArray(value)) {\n url = url.replace(\n match,\n serializeArrayParam({ explode, name, style, value }),\n )\n continue\n }\n\n if (typeof value === 'object') {\n url = url.replace(\n match,\n serializeObjectParam({\n explode,\n name,\n style,\n value: value as Record<string, unknown>,\n valueOnly: true,\n }),\n )\n continue\n }\n\n if (style === 'matrix') {\n url = url.replace(\n match,\n `;${serializePrimitiveParam({\n name,\n value: value as string,\n })}`,\n )\n continue\n }\n\n const replaceValue = encodeURIComponent(\n style === 'label' ? `.${value as string}` : (value as string),\n )\n url = url.replace(match, replaceValue)\n }\n }\n return url\n}\n\nexport const getUrl = ({\n baseUrl,\n path,\n query,\n querySerializer,\n url: _url,\n}: {\n baseUrl?: string\n path?: Record<string, unknown>\n query?: Record<string, unknown>\n querySerializer: QuerySerializer\n url: string\n}): string => {\n const pathUrl = _url.startsWith('/') ? _url : `/${_url}`\n let url = (baseUrl ?? '') + pathUrl\n if (path) {\n url = defaultPathSerializer({ path, url })\n }\n let search = query ? querySerializer(query) : ''\n if (search.startsWith('?')) {\n search = search.substring(1)\n }\n if (search) {\n url += `?${search}`\n }\n return url\n}\n\nexport function getValidRequestBody(options: {\n body?: unknown\n bodySerializer?: BodySerializer | null\n serializedBody?: unknown\n}): unknown {\n const hasBody = options.body !== undefined\n const isSerializedBody = hasBody && options.bodySerializer\n\n if (isSerializedBody) {\n if ('serializedBody' in options) {\n const hasSerializedBody =\n options.serializedBody !== undefined && options.serializedBody !== ''\n\n return hasSerializedBody ? options.serializedBody : null\n }\n\n // not all clients implement a serializedBody property (i.e., client-axios)\n return options.body !== '' ? options.body : null\n }\n\n // plain/text body\n if (hasBody) {\n return options.body\n }\n\n // no body was provided\n return undefined\n}\n","// This file is auto-generated by @hey-api/openapi-ts\n\nexport type AuthToken = string | undefined\n\nexport interface Auth {\n /**\n * Which part of the request do we use to send the auth?\n *\n * @default 'header'\n */\n in?: 'header' | 'query' | 'cookie'\n /**\n * A unique identifier for the security scheme.\n *\n * Defined only when there are multiple security schemes whose `Auth`\n * shape would otherwise be identical.\n */\n key?: string\n /**\n * Header or query parameter name.\n *\n * @default 'Authorization'\n */\n name?: string\n scheme?: 'basic' | 'bearer'\n type: 'apiKey' | 'http'\n}\n\nexport const getAuthToken = async (\n auth: Auth,\n callback: ((auth: Auth) => Promise<AuthToken> | AuthToken) | AuthToken,\n): Promise<string | undefined> => {\n const token = typeof callback === 'function' ? await callback(auth) : callback\n\n if (!token) {\n return\n }\n\n if (auth.scheme === 'bearer') {\n return `Bearer ${token}`\n }\n\n if (auth.scheme === 'basic') {\n return `Basic ${btoa(token)}`\n }\n\n return token\n}\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport { getAuthToken } from '../core/auth.gen'\nimport type { QuerySerializerOptions } from '../core/bodySerializer.gen'\nimport { jsonBodySerializer } from '../core/bodySerializer.gen'\nimport {\n serializeArrayParam,\n serializeObjectParam,\n serializePrimitiveParam,\n} from '../core/pathSerializer.gen'\nimport { getUrl } from '../core/utils.gen'\nimport type { Client, ClientOptions, Config, RequestOptions } from './types.gen'\n\nexport const createQuerySerializer = <T = unknown>({\n parameters = {},\n ...args\n}: QuerySerializerOptions = {}): ((queryParams: T) => string) => {\n const querySerializer = (queryParams: T): string => {\n const search: string[] = []\n if (queryParams && typeof queryParams === 'object') {\n for (const name in queryParams) {\n const value = queryParams[name]\n\n if (value === undefined || value === null) {\n continue\n }\n\n const options = parameters[name] || args\n\n if (Array.isArray(value)) {\n const serializedArray = serializeArrayParam({\n allowReserved: options.allowReserved,\n explode: true,\n name,\n style: 'form',\n value,\n ...options.array,\n })\n if (serializedArray) search.push(serializedArray)\n } else if (typeof value === 'object') {\n const serializedObject = serializeObjectParam({\n allowReserved: options.allowReserved,\n explode: true,\n name,\n style: 'deepObject',\n value: value as Record<string, unknown>,\n ...options.object,\n })\n if (serializedObject) search.push(serializedObject)\n } else {\n const serializedPrimitive = serializePrimitiveParam({\n allowReserved: options.allowReserved,\n name,\n value: value as string,\n })\n if (serializedPrimitive) search.push(serializedPrimitive)\n }\n }\n }\n return search.join('&')\n }\n return querySerializer\n}\n\n/**\n * Infers parseAs value from provided Content-Type header.\n */\nexport const getParseAs = (\n contentType: string | null,\n): Exclude<Config['parseAs'], 'auto'> => {\n if (!contentType) {\n // If no Content-Type header is provided, the best we can do is return the raw response body,\n // which is effectively the same as the 'stream' option.\n return 'stream'\n }\n\n const cleanContent = contentType.split(';')[0]?.trim()\n\n if (!cleanContent) {\n return\n }\n\n if (\n cleanContent.startsWith('application/json') ||\n cleanContent.endsWith('+json')\n ) {\n return 'json'\n }\n\n if (cleanContent === 'multipart/form-data') {\n return 'formData'\n }\n\n if (\n ['application/', 'audio/', 'image/', 'video/'].some((type) =>\n cleanContent.startsWith(type),\n )\n ) {\n return 'blob'\n }\n\n if (cleanContent.startsWith('text/')) {\n return 'text'\n }\n\n return\n}\n\nconst checkForExistence = (\n options: Pick<RequestOptions, 'auth' | 'query'> & {\n headers: Headers\n },\n name?: string,\n): boolean => {\n if (!name) {\n return false\n }\n if (\n options.headers.has(name) ||\n options.query?.[name] ||\n options.headers.get('Cookie')?.includes(`${name}=`)\n ) {\n return true\n }\n return false\n}\n\nexport async function setAuthParams(\n options: Pick<RequestOptions, 'auth' | 'query' | 'security'> & {\n headers: Headers\n },\n): Promise<void> {\n for (const auth of options.security ?? []) {\n if (checkForExistence(options, auth.name)) {\n continue\n }\n\n const token = await getAuthToken(auth, options.auth)\n\n if (!token) {\n continue\n }\n\n const name = auth.name ?? 'Authorization'\n\n switch (auth.in) {\n case 'query':\n if (!options.query) {\n options.query = {}\n }\n options.query[name] = token\n break\n case 'cookie':\n options.headers.append('Cookie', `${name}=${token}`)\n break\n case 'header':\n default:\n options.headers.set(name, token)\n break\n }\n }\n}\n\nexport const buildUrl: Client['buildUrl'] = (options) =>\n getUrl({\n baseUrl: options.baseUrl as string,\n path: options.path,\n query: options.query,\n querySerializer:\n typeof options.querySerializer === 'function'\n ? options.querySerializer\n : createQuerySerializer(options.querySerializer),\n url: options.url,\n })\n\nexport const mergeConfigs = (a: Config, b: Config): Config => {\n const config = { ...a, ...b }\n if (config.baseUrl?.endsWith('/')) {\n config.baseUrl = config.baseUrl.substring(0, config.baseUrl.length - 1)\n }\n config.headers = mergeHeaders(a.headers, b.headers)\n return config\n}\n\nconst headersEntries = (headers: Headers): Array<[string, string]> => {\n const entries: Array<[string, string]> = []\n headers.forEach((value, key) => {\n entries.push([key, value])\n })\n return entries\n}\n\nexport const mergeHeaders = (\n ...headers: Array<Required<Config>['headers'] | undefined>\n): Headers => {\n const mergedHeaders = new Headers()\n for (const header of headers) {\n if (!header) {\n continue\n }\n\n const iterator =\n header instanceof Headers\n ? headersEntries(header)\n : Object.entries(header)\n\n for (const [key, value] of iterator) {\n if (value === null) {\n mergedHeaders.delete(key)\n } else if (Array.isArray(value)) {\n for (const v of value) {\n mergedHeaders.append(key, v as string)\n }\n } else if (value !== undefined) {\n // assume object headers are meant to be JSON stringified, i.e., their\n // content value in OpenAPI specification is 'application/json'\n mergedHeaders.set(\n key,\n typeof value === 'object' ? JSON.stringify(value) : (value as string),\n )\n }\n }\n }\n return mergedHeaders\n}\n\ntype ErrInterceptor<Err, Res, Req, Options> = (\n error: Err,\n /** response may be undefined due to a network error where no response object is produced */\n response: Res | undefined,\n /** request may be undefined, because error may be from building the request object itself */\n request: Req | undefined,\n options: Options,\n) => Err | Promise<Err>\n\ntype ReqInterceptor<Req, Options> = (\n request: Req,\n options: Options,\n) => Req | Promise<Req>\n\ntype ResInterceptor<Res, Req, Options> = (\n response: Res,\n request: Req,\n options: Options,\n) => Res | Promise<Res>\n\nclass Interceptors<Interceptor> {\n fns: Array<Interceptor | null> = []\n\n clear(): void {\n this.fns = []\n }\n\n eject(id: number | Interceptor): void {\n const index = this.getInterceptorIndex(id)\n if (this.fns[index]) {\n this.fns[index] = null\n }\n }\n\n exists(id: number | Interceptor): boolean {\n const index = this.getInterceptorIndex(id)\n return Boolean(this.fns[index])\n }\n\n getInterceptorIndex(id: number | Interceptor): number {\n if (typeof id === 'number') {\n return this.fns[id] ? id : -1\n }\n return this.fns.indexOf(id)\n }\n\n update(\n id: number | Interceptor,\n fn: Interceptor,\n ): number | Interceptor | false {\n const index = this.getInterceptorIndex(id)\n if (this.fns[index]) {\n this.fns[index] = fn\n return id\n }\n return false\n }\n\n use(fn: Interceptor): number {\n this.fns.push(fn)\n return this.fns.length - 1\n }\n}\n\nexport interface Middleware<Req, Res, Err, Options> {\n error: Interceptors<ErrInterceptor<Err, Res, Req, Options>>\n request: Interceptors<ReqInterceptor<Req, Options>>\n response: Interceptors<ResInterceptor<Res, Req, Options>>\n}\n\nexport const createInterceptors = <Req, Res, Err, Options>(): Middleware<\n Req,\n Res,\n Err,\n Options\n> => ({\n error: new Interceptors<ErrInterceptor<Err, Res, Req, Options>>(),\n request: new Interceptors<ReqInterceptor<Req, Options>>(),\n response: new Interceptors<ResInterceptor<Res, Req, Options>>(),\n})\n\nconst defaultQuerySerializer = createQuerySerializer({\n allowReserved: false,\n array: {\n explode: true,\n style: 'form',\n },\n object: {\n explode: true,\n style: 'deepObject',\n },\n})\n\nconst defaultHeaders = {\n 'Content-Type': 'application/json',\n}\n\nexport const createConfig = <T extends ClientOptions = ClientOptions>(\n override: Config<Omit<ClientOptions, keyof T> & T> = {},\n): Config<Omit<ClientOptions, keyof T> & T> => ({\n ...jsonBodySerializer,\n headers: defaultHeaders,\n parseAs: 'auto',\n querySerializer: defaultQuerySerializer,\n ...override,\n})\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport { createSseClient } from '../core/serverSentEvents.gen'\nimport type { HttpMethod } from '../core/types.gen'\nimport { getValidRequestBody } from '../core/utils.gen'\nimport type {\n Client,\n Config,\n RequestOptions,\n ResolvedRequestOptions,\n} from './types.gen'\nimport {\n buildUrl,\n createConfig,\n createInterceptors,\n getParseAs,\n mergeConfigs,\n mergeHeaders,\n setAuthParams,\n} from './utils.gen'\n\ntype ReqInit = Omit<RequestInit, 'body' | 'headers'> & {\n body?: any\n headers: ReturnType<typeof mergeHeaders>\n}\n\nexport const createClient = (config: Config = {}): Client => {\n let _config = mergeConfigs(createConfig(), config)\n\n const getConfig = (): Config => ({ ..._config })\n\n const setConfig = (config: Config): Config => {\n _config = mergeConfigs(_config, config)\n return getConfig()\n }\n\n const interceptors = createInterceptors<\n Request,\n Response,\n unknown,\n ResolvedRequestOptions\n >()\n\n const beforeRequest = async <\n TData = unknown,\n TResponseStyle extends 'data' | 'fields' = 'fields',\n ThrowOnError extends boolean = boolean,\n Url extends string = string,\n >(\n options: RequestOptions<TData, TResponseStyle, ThrowOnError, Url>,\n ) => {\n const opts = {\n ..._config,\n ...options,\n fetch: options.fetch ?? _config.fetch ?? globalThis.fetch,\n headers: mergeHeaders(_config.headers, options.headers),\n serializedBody: undefined as string | undefined,\n }\n\n if (opts.security) {\n await setAuthParams(opts)\n }\n\n if (opts.requestValidator) {\n await opts.requestValidator(opts)\n }\n\n if (opts.body !== undefined && opts.bodySerializer) {\n opts.serializedBody = opts.bodySerializer(opts.body) as string | undefined\n }\n\n // remove Content-Type header if body is empty to avoid sending invalid requests\n if (opts.body === undefined || opts.serializedBody === '') {\n opts.headers.delete('Content-Type')\n }\n\n const resolvedOpts = opts as typeof opts &\n ResolvedRequestOptions<TResponseStyle, ThrowOnError, Url>\n const url = buildUrl(resolvedOpts)\n\n return { opts: resolvedOpts, url }\n }\n\n const request: Client['request'] = async (options) => {\n const throwOnError = options.throwOnError ?? _config.throwOnError\n const responseStyle = options.responseStyle ?? _config.responseStyle\n\n let request: Request | undefined\n let response: Response | undefined\n\n try {\n const { opts, url } = await beforeRequest(options)\n const requestInit: ReqInit = {\n redirect: 'follow',\n ...opts,\n body: getValidRequestBody(opts),\n }\n\n request = new Request(url, requestInit)\n\n for (const fn of interceptors.request.fns) {\n if (fn) {\n request = await fn(request, opts)\n }\n }\n\n // fetch must be assigned here, otherwise it would throw the error:\n // TypeError: Failed to execute 'fetch' on 'Window': Illegal invocation\n const _fetch = opts.fetch!\n\n response = await _fetch(request)\n\n for (const fn of interceptors.response.fns) {\n if (fn) {\n response = await fn(response, request, opts)\n }\n }\n\n const result = {\n request,\n response,\n }\n\n if (response.ok) {\n const parseAs =\n (opts.parseAs === 'auto'\n ? getParseAs(response.headers.get('Content-Type'))\n : opts.parseAs) ?? 'json'\n\n if (\n response.status === 204 ||\n response.headers.get('Content-Length') === '0'\n ) {\n let emptyData: any\n switch (parseAs) {\n case 'arrayBuffer':\n case 'blob':\n case 'text':\n emptyData = await response[parseAs]()\n break\n case 'formData':\n emptyData = new FormData()\n break\n case 'stream':\n emptyData = response.body\n break\n case 'json':\n default:\n emptyData = {}\n break\n }\n return opts.responseStyle === 'data'\n ? emptyData\n : {\n data: emptyData,\n ...result,\n }\n }\n\n let data: any\n switch (parseAs) {\n case 'arrayBuffer':\n case 'blob':\n case 'formData':\n case 'text':\n data = await response[parseAs]()\n break\n case 'json': {\n // Some servers return 200 with no Content-Length and empty body.\n // response.json() would throw; read as text and parse if non-empty.\n const text = await response.text()\n data = text ? JSON.parse(text) : {}\n break\n }\n case 'stream':\n return opts.responseStyle === 'data'\n ? response.body\n : {\n data: response.body,\n ...result,\n }\n }\n\n if (parseAs === 'json') {\n if (opts.responseValidator) {\n await opts.responseValidator(data)\n }\n\n if (opts.responseTransformer) {\n data = await opts.responseTransformer(data)\n }\n }\n\n return opts.responseStyle === 'data'\n ? data\n : {\n data,\n ...result,\n }\n }\n\n const textError = await response.text()\n let jsonError: unknown\n\n try {\n jsonError = JSON.parse(textError)\n } catch {\n // noop\n }\n\n throw jsonError ?? textError\n } catch (error) {\n let finalError = error\n\n for (const fn of interceptors.error.fns) {\n if (fn) {\n finalError = await fn(\n finalError,\n response,\n request,\n options as ResolvedRequestOptions,\n )\n }\n }\n\n finalError = finalError || {}\n\n if (throwOnError) {\n throw finalError\n }\n\n // TODO: we probably want to return error and improve types\n return responseStyle === 'data'\n ? undefined\n : {\n error: finalError,\n request,\n response,\n }\n }\n }\n\n const makeMethodFn =\n (method: Uppercase<HttpMethod>) => (options: RequestOptions) =>\n request({ ...options, method })\n\n const makeSseFn =\n (method: Uppercase<HttpMethod>) => async (options: RequestOptions) => {\n const { opts, url } = await beforeRequest(options)\n return createSseClient({\n ...opts,\n body: opts.body as BodyInit | null | undefined,\n method,\n onRequest: async (url, init) => {\n let request = new Request(url, init)\n for (const fn of interceptors.request.fns) {\n if (fn) {\n request = await fn(request, opts)\n }\n }\n return request\n },\n serializedBody: getValidRequestBody(opts) as\n BodyInit | null | undefined,\n url,\n })\n }\n\n const _buildUrl: Client['buildUrl'] = (options) =>\n buildUrl({ ..._config, ...options })\n\n return {\n buildUrl: _buildUrl,\n connect: makeMethodFn('CONNECT'),\n delete: makeMethodFn('DELETE'),\n get: makeMethodFn('GET'),\n getConfig,\n head: makeMethodFn('HEAD'),\n interceptors,\n options: makeMethodFn('OPTIONS'),\n patch: makeMethodFn('PATCH'),\n post: makeMethodFn('POST'),\n put: makeMethodFn('PUT'),\n request,\n setConfig,\n sse: {\n connect: makeSseFn('CONNECT'),\n delete: makeSseFn('DELETE'),\n get: makeSseFn('GET'),\n head: makeSseFn('HEAD'),\n options: makeSseFn('OPTIONS'),\n patch: makeSseFn('PATCH'),\n post: makeSseFn('POST'),\n put: makeSseFn('PUT'),\n trace: makeSseFn('TRACE'),\n },\n trace: makeMethodFn('TRACE'),\n } as Client\n}\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport {\n type Client,\n type ClientMeta,\n formDataBodySerializer,\n type Options as Options2,\n type RequestResult,\n type TDataShape,\n} from './client'\nimport type {\n ActivateAdAccountMethodData,\n ActivateAdAccountMethodResponses,\n ActivateAdGroupMethodData,\n ActivateAdGroupMethodResponses,\n ActivateAdMethodData,\n ActivateAdMethodResponses,\n ActivateCampaignMethodData,\n ActivateCampaignMethodResponses,\n AddCustomAudienceMembersMethodData,\n AddCustomAudienceMembersMethodResponses,\n ArchiveAdGroupMethodData,\n ArchiveAdGroupMethodResponses,\n ArchiveAdMethodData,\n ArchiveAdMethodResponses,\n ArchiveCampaignMethodData,\n ArchiveCampaignMethodResponses,\n ArchiveCustomAudienceMethodData,\n ArchiveCustomAudienceMethodResponses,\n ArchiveLeadFormMethodData,\n ArchiveLeadFormMethodResponses,\n ArchiveProductFeedMethodData,\n ArchiveProductFeedMethodResponses,\n CreateAdAccountCreationSessionMethodData,\n CreateAdAccountCreationSessionMethodResponses,\n CreateAdAccountSpendLimitWindowMethodData,\n CreateAdAccountSpendLimitWindowMethodResponses,\n CreateAdGroupMethodData,\n CreateAdGroupMethodResponses,\n CreateAdMethodData,\n CreateAdMethodResponses,\n CreateAdPreviewMethodData,\n CreateAdPreviewMethodResponses,\n CreateApiKeyMethodData,\n CreateApiKeyMethodResponses,\n CreateBusinessAgentMethodData,\n CreateBusinessAgentMethodResponses,\n CreateCampaignMethodData,\n CreateCampaignMethodResponses,\n CreateConversionApiKeyMethodData,\n CreateConversionApiKeyMethodResponses,\n CreateConversionEventSettingMethodData,\n CreateConversionEventSettingMethodResponses,\n CreateConversionSourceMethodData,\n CreateConversionSourceMethodResponses,\n CreateCustomAudienceMethodData,\n CreateCustomAudienceMethodResponses,\n CreateLeadFormMethodData,\n CreateLeadFormMethodResponses,\n CreateLeadSyncSubscriptionMethodData,\n CreateLeadSyncSubscriptionMethodResponses,\n CreatePartnerDataUploadMethodData,\n CreatePartnerDataUploadMethodResponses,\n CreateProductFeedMethodData,\n CreateProductFeedMethodResponses,\n CreateTestLeadSubmissionMethodData,\n CreateTestLeadSubmissionMethodResponses,\n DeleteAdAccountSpendLimitWindowMethodData,\n DeleteAdAccountSpendLimitWindowMethodResponses,\n DeleteLeadSyncSubscriptionMethodData,\n DeleteLeadSyncSubscriptionMethodResponses,\n GetAdAccountInsightsMethodData,\n GetAdAccountInsightsMethodResponses,\n GetAdAccountMethodData,\n GetAdAccountMethodResponses,\n GetAdAccountSpendLimitWindowsMethodData,\n GetAdAccountSpendLimitWindowsMethodResponses,\n GetAdGroupInsightsMethodData,\n GetAdGroupInsightsMethodResponses,\n GetAdGroupMethodData,\n GetAdGroupMethodResponses,\n GetAdInsightsMethodData,\n GetAdInsightsMethodResponses,\n GetAdMethodData,\n GetAdMethodResponses,\n GetAdsOAuthMeMethodData,\n GetAdsOAuthMeMethodResponses,\n GetBusinessAgentMethodData,\n GetBusinessAgentMethodResponses,\n GetCampaignInsightsMethodData,\n GetCampaignInsightsMethodResponses,\n GetCampaignMethodData,\n GetCampaignMethodResponses,\n GetCustomAudienceMethodData,\n GetCustomAudienceMethodResponses,\n GetCustomAudienceOperationMethodData,\n GetCustomAudienceOperationMethodResponses,\n GetGeoLookupMethodData,\n GetGeoLookupMethodResponses,\n GetLeadFormMethodData,\n GetLeadFormMethodResponses,\n GetLeadSyncSubscriptionMethodData,\n GetLeadSyncSubscriptionMethodResponses,\n GetPartnerDataUploadMethodData,\n GetPartnerDataUploadMethodResponses,\n GetProductFeedSftpAccessMethodData,\n GetProductFeedSftpAccessMethodResponses,\n ListAdAccountsMethodData,\n ListAdAccountsMethodResponses,\n ListAdGroupsMethodData,\n ListAdGroupsMethodResponses,\n ListAdsMethodData,\n ListAdsMethodResponses,\n ListBusinessAgentsMethodData,\n ListBusinessAgentsMethodResponses,\n ListBusinessAgentToolsMethodData,\n ListBusinessAgentToolsMethodResponses,\n ListCampaignsMethodData,\n ListCampaignsMethodResponses,\n ListConversionEventSettingsMethodData,\n ListConversionEventSettingsMethodResponses,\n ListConversionEventsMethodData,\n ListConversionEventsMethodResponses,\n ListConversionSourcesMethodData,\n ListConversionSourcesMethodResponses,\n ListCustomAudiencesMethodData,\n ListCustomAudiencesMethodResponses,\n ListLeadFormsMethodData,\n ListLeadFormsMethodResponses,\n ListLeadSyncSubscriptionsMethodData,\n ListLeadSyncSubscriptionsMethodResponses,\n ListProductFeedsMethodData,\n ListProductFeedsMethodResponses,\n ListProductFeedUploadsMethodData,\n ListProductFeedUploadsMethodResponses,\n MergeCustomAudiencesMethodData,\n MergeCustomAudiencesMethodResponses,\n PatchProductFeedProductsMethodData,\n PatchProductFeedProductsMethodResponses,\n PauseAdAccountMethodData,\n PauseAdAccountMethodResponses,\n PauseAdGroupMethodData,\n PauseAdGroupMethodResponses,\n PauseAdMethodData,\n PauseAdMethodResponses,\n PauseCampaignMethodData,\n PauseCampaignMethodResponses,\n PostConversionInsightsMethodData,\n PostConversionInsightsMethodResponses,\n PostProductFeedSftpAccessActivateMethodData,\n PostProductFeedSftpAccessActivateMethodResponses,\n PostProductFeedSftpAccessMethodData,\n PostProductFeedSftpAccessMethodResponses,\n PostProductFeedSftpAccessPauseMethodData,\n PostProductFeedSftpAccessPauseMethodResponses,\n PreviewBusinessAgentMethodData,\n PreviewBusinessAgentMethodResponses,\n PublishBusinessAgentMethodData,\n PublishBusinessAgentMethodResponses,\n PublishLeadFormMethodData,\n PublishLeadFormMethodResponses,\n QueryProductFeedProductsMethodData,\n QueryProductFeedProductsMethodResponses,\n RemoveCustomAudienceMembersMethodData,\n RemoveCustomAudienceMembersMethodResponses,\n ReplaceCustomAudienceMembersMethodData,\n ReplaceCustomAudienceMembersMethodResponses,\n UpdateAdAccountMethodData,\n UpdateAdAccountMethodResponses,\n UpdateAdAccountNegativeKeywordsMethodData,\n UpdateAdAccountNegativeKeywordsMethodResponses,\n UpdateAdAccountSpendLimitWindowMethodData,\n UpdateAdAccountSpendLimitWindowMethodResponses,\n UpdateAdGroupMethodData,\n UpdateAdGroupMethodResponses,\n UpdateAdMethodData,\n UpdateAdMethodResponses,\n UpdateBusinessAgentMethodData,\n UpdateBusinessAgentMethodResponses,\n UpdateCampaignMethodData,\n UpdateCampaignMethodResponses,\n UpdateLeadFormMethodData,\n UpdateLeadFormMethodResponses,\n UploadBlobMethodData,\n UploadBlobMethodResponses,\n UploadImageMethodData,\n UploadImageMethodResponses,\n} from './types.gen'\n\nexport type Options<\n TData extends TDataShape = TDataShape,\n ThrowOnError extends boolean = boolean,\n TResponse = unknown,\n> = Options2<TData, ThrowOnError, TResponse> & {\n /**\n * You can provide a client instance returned by `createClient()` instead of\n * individual options. This might be also useful if you want to implement a\n * custom client.\n */\n client: Client\n /**\n * You can pass arbitrary values through the `meta` object. This can be\n * used to access values that aren't defined as part of the SDK function.\n */\n meta?: keyof ClientMeta extends never ? Record<string, unknown> : ClientMeta\n}\n\n/**\n * Get all campaigns for an ad account\n */\nexport const listCampaignsMethod = <ThrowOnError extends boolean = false>(\n options: Options<ListCampaignsMethodData, ThrowOnError>,\n): RequestResult<ListCampaignsMethodResponses, unknown, ThrowOnError> =>\n options.client.get<ListCampaignsMethodResponses, unknown, ThrowOnError>({\n url: '/campaigns',\n ...options,\n })\n\n/**\n * Create a campaign for an ad account\n */\nexport const createCampaignMethod = <ThrowOnError extends boolean = false>(\n options: Options<CreateCampaignMethodData, ThrowOnError>,\n): RequestResult<CreateCampaignMethodResponses, unknown, ThrowOnError> =>\n options.client.post<CreateCampaignMethodResponses, unknown, ThrowOnError>({\n url: '/campaigns',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * Get a campaign\n */\nexport const getCampaignMethod = <ThrowOnError extends boolean = false>(\n options: Options<GetCampaignMethodData, ThrowOnError>,\n): RequestResult<GetCampaignMethodResponses, unknown, ThrowOnError> =>\n options.client.get<GetCampaignMethodResponses, unknown, ThrowOnError>({\n url: '/campaigns/{campaign_id}',\n ...options,\n })\n\n/**\n * Update a campaign\n */\nexport const updateCampaignMethod = <ThrowOnError extends boolean = false>(\n options: Options<UpdateCampaignMethodData, ThrowOnError>,\n): RequestResult<UpdateCampaignMethodResponses, unknown, ThrowOnError> =>\n options.client.post<UpdateCampaignMethodResponses, unknown, ThrowOnError>({\n url: '/campaigns/{campaign_id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * Activate a campaign\n */\nexport const activateCampaignMethod = <ThrowOnError extends boolean = false>(\n options: Options<ActivateCampaignMethodData, ThrowOnError>,\n): RequestResult<ActivateCampaignMethodResponses, unknown, ThrowOnError> =>\n options.client.post<ActivateCampaignMethodResponses, unknown, ThrowOnError>({\n url: '/campaigns/{campaign_id}/activate',\n ...options,\n })\n\n/**\n * Pause a campaign\n */\nexport const pauseCampaignMethod = <ThrowOnError extends boolean = false>(\n options: Options<PauseCampaignMethodData, ThrowOnError>,\n): RequestResult<PauseCampaignMethodResponses, unknown, ThrowOnError> =>\n options.client.post<PauseCampaignMethodResponses, unknown, ThrowOnError>({\n url: '/campaigns/{campaign_id}/pause',\n ...options,\n })\n\n/**\n * Archive a campaign\n */\nexport const archiveCampaignMethod = <ThrowOnError extends boolean = false>(\n options: Options<ArchiveCampaignMethodData, ThrowOnError>,\n): RequestResult<ArchiveCampaignMethodResponses, unknown, ThrowOnError> =>\n options.client.post<ArchiveCampaignMethodResponses, unknown, ThrowOnError>({\n url: '/campaigns/{campaign_id}/archive',\n ...options,\n })\n\n/**\n * List custom audiences for the authenticated ad account.\n */\nexport const listCustomAudiencesMethod = <ThrowOnError extends boolean = false>(\n options: Options<ListCustomAudiencesMethodData, ThrowOnError>,\n): RequestResult<ListCustomAudiencesMethodResponses, unknown, ThrowOnError> =>\n options.client.get<ListCustomAudiencesMethodResponses, unknown, ThrowOnError>(\n { url: '/custom_audiences', ...options },\n )\n\n/**\n * Create a custom audience from an uploaded file, or without a file when small audiences are enabled for the account. Processing and publication are asynchronous.\n */\nexport const createCustomAudienceMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<CreateCustomAudienceMethodData, ThrowOnError>,\n): RequestResult<CreateCustomAudienceMethodResponses, unknown, ThrowOnError> =>\n options.client.post<\n CreateCustomAudienceMethodResponses,\n unknown,\n ThrowOnError\n >({\n url: '/custom_audiences',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * Get a custom audience for the authenticated ad account.\n */\nexport const getCustomAudienceMethod = <ThrowOnError extends boolean = false>(\n options: Options<GetCustomAudienceMethodData, ThrowOnError>,\n): RequestResult<GetCustomAudienceMethodResponses, unknown, ThrowOnError> =>\n options.client.get<GetCustomAudienceMethodResponses, unknown, ThrowOnError>({\n url: '/custom_audiences/{custom_audience_id}',\n ...options,\n })\n\n/**\n * Archive a custom audience for the authenticated ad account.\n */\nexport const archiveCustomAudienceMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<ArchiveCustomAudienceMethodData, ThrowOnError>,\n): RequestResult<ArchiveCustomAudienceMethodResponses, unknown, ThrowOnError> =>\n options.client.post<\n ArchiveCustomAudienceMethodResponses,\n unknown,\n ThrowOnError\n >({ url: '/custom_audiences/{custom_audience_id}/archive', ...options })\n\n/**\n * Add uploaded or inline identifiers to an existing custom audience.\n */\nexport const addCustomAudienceMembersMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<AddCustomAudienceMembersMethodData, ThrowOnError>,\n): RequestResult<\n AddCustomAudienceMembersMethodResponses,\n unknown,\n ThrowOnError\n> =>\n options.client.post<\n AddCustomAudienceMembersMethodResponses,\n unknown,\n ThrowOnError\n >({\n url: '/custom_audiences/{custom_audience_id}/add',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * Remove uploaded or inline identifiers from an existing custom audience.\n */\nexport const removeCustomAudienceMembersMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<RemoveCustomAudienceMembersMethodData, ThrowOnError>,\n): RequestResult<\n RemoveCustomAudienceMembersMethodResponses,\n unknown,\n ThrowOnError\n> =>\n options.client.post<\n RemoveCustomAudienceMembersMethodResponses,\n unknown,\n ThrowOnError\n >({\n url: '/custom_audiences/{custom_audience_id}/remove',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * Replace an existing audience using an uploaded file and its current revision.\n */\nexport const replaceCustomAudienceMembersMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<ReplaceCustomAudienceMembersMethodData, ThrowOnError>,\n): RequestResult<\n ReplaceCustomAudienceMembersMethodResponses,\n unknown,\n ThrowOnError\n> =>\n options.client.post<\n ReplaceCustomAudienceMembersMethodResponses,\n unknown,\n ThrowOnError\n >({\n url: '/custom_audiences/{custom_audience_id}/replace',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * Create an independent custom audience containing all matched source members.\n */\nexport const mergeCustomAudiencesMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<MergeCustomAudiencesMethodData, ThrowOnError>,\n): RequestResult<MergeCustomAudiencesMethodResponses, unknown, ThrowOnError> =>\n options.client.post<\n MergeCustomAudiencesMethodResponses,\n unknown,\n ThrowOnError\n >({\n url: '/custom_audiences/merge',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * Retrieve the privacy-safe lifecycle state of a custom audience operation.\n */\nexport const getCustomAudienceOperationMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<GetCustomAudienceOperationMethodData, ThrowOnError>,\n): RequestResult<\n GetCustomAudienceOperationMethodResponses,\n unknown,\n ThrowOnError\n> =>\n options.client.get<\n GetCustomAudienceOperationMethodResponses,\n unknown,\n ThrowOnError\n >({\n url: '/custom_audiences/{custom_audience_id}/operations/{operation_id}',\n ...options,\n })\n\n/**\n * List eligible Business Agent tools installed for the authenticated API project.\n */\nexport const listBusinessAgentToolsMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<ListBusinessAgentToolsMethodData, ThrowOnError>,\n): RequestResult<\n ListBusinessAgentToolsMethodResponses,\n unknown,\n ThrowOnError\n> =>\n options.client.get<\n ListBusinessAgentToolsMethodResponses,\n unknown,\n ThrowOnError\n >({ url: '/business_agent_tools', ...options })\n\n/**\n * List Business Agents for the authenticated ad account.\n */\nexport const listBusinessAgentsMethod = <ThrowOnError extends boolean = false>(\n options: Options<ListBusinessAgentsMethodData, ThrowOnError>,\n): RequestResult<ListBusinessAgentsMethodResponses, unknown, ThrowOnError> =>\n options.client.get<ListBusinessAgentsMethodResponses, unknown, ThrowOnError>({\n url: '/business_agents',\n ...options,\n })\n\n/**\n * Create a draft Business Agent for the authenticated ad account.\n */\nexport const createBusinessAgentMethod = <ThrowOnError extends boolean = false>(\n options: Options<CreateBusinessAgentMethodData, ThrowOnError>,\n): RequestResult<CreateBusinessAgentMethodResponses, unknown, ThrowOnError> =>\n options.client.post<\n CreateBusinessAgentMethodResponses,\n unknown,\n ThrowOnError\n >({\n url: '/business_agents',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * List Lead Forms for the authenticated ad account.\n */\nexport const listLeadFormsMethod = <ThrowOnError extends boolean = false>(\n options: Options<ListLeadFormsMethodData, ThrowOnError>,\n): RequestResult<ListLeadFormsMethodResponses, unknown, ThrowOnError> =>\n options.client.get<ListLeadFormsMethodResponses, unknown, ThrowOnError>({\n url: '/lead_forms',\n ...options,\n })\n\n/**\n * Create a draft Lead Form for the authenticated ad account.\n */\nexport const createLeadFormMethod = <ThrowOnError extends boolean = false>(\n options: Options<CreateLeadFormMethodData, ThrowOnError>,\n): RequestResult<CreateLeadFormMethodResponses, unknown, ThrowOnError> =>\n options.client.post<CreateLeadFormMethodResponses, unknown, ThrowOnError>({\n url: '/lead_forms',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * Get a Lead Form for the authenticated ad account.\n */\nexport const getLeadFormMethod = <ThrowOnError extends boolean = false>(\n options: Options<GetLeadFormMethodData, ThrowOnError>,\n): RequestResult<GetLeadFormMethodResponses, unknown, ThrowOnError> =>\n options.client.get<GetLeadFormMethodResponses, unknown, ThrowOnError>({\n url: '/lead_forms/{lead_form_id}',\n ...options,\n })\n\n/**\n * Save a new draft revision for a Lead Form.\n */\nexport const updateLeadFormMethod = <ThrowOnError extends boolean = false>(\n options: Options<UpdateLeadFormMethodData, ThrowOnError>,\n): RequestResult<UpdateLeadFormMethodResponses, unknown, ThrowOnError> =>\n options.client.post<UpdateLeadFormMethodResponses, unknown, ThrowOnError>({\n url: '/lead_forms/{lead_form_id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * Publish the current Lead Form draft.\n */\nexport const publishLeadFormMethod = <ThrowOnError extends boolean = false>(\n options: Options<PublishLeadFormMethodData, ThrowOnError>,\n): RequestResult<PublishLeadFormMethodResponses, unknown, ThrowOnError> =>\n options.client.post<PublishLeadFormMethodResponses, unknown, ThrowOnError>({\n url: '/lead_forms/{lead_form_id}/publish',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * Archive a Lead Form that is not attached to a published Business Agent.\n */\nexport const archiveLeadFormMethod = <ThrowOnError extends boolean = false>(\n options: Options<ArchiveLeadFormMethodData, ThrowOnError>,\n): RequestResult<ArchiveLeadFormMethodResponses, unknown, ThrowOnError> =>\n options.client.post<ArchiveLeadFormMethodResponses, unknown, ThrowOnError>({\n url: '/lead_forms/{lead_form_id}/archive',\n ...options,\n })\n\n/**\n * Queue an explicitly synthetic, signed lead-sync webhook test delivery.\n */\nexport const createTestLeadSubmissionMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<CreateTestLeadSubmissionMethodData, ThrowOnError>,\n): RequestResult<\n CreateTestLeadSubmissionMethodResponses,\n unknown,\n ThrowOnError\n> =>\n options.client.post<\n CreateTestLeadSubmissionMethodResponses,\n unknown,\n ThrowOnError\n >({\n url: '/lead_forms/{lead_form_id}/test_submissions',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * Get a Business Agent for the authenticated ad account.\n */\nexport const getBusinessAgentMethod = <ThrowOnError extends boolean = false>(\n options: Options<GetBusinessAgentMethodData, ThrowOnError>,\n): RequestResult<GetBusinessAgentMethodResponses, unknown, ThrowOnError> =>\n options.client.get<GetBusinessAgentMethodResponses, unknown, ThrowOnError>({\n url: '/business_agents/{business_agent_id}',\n ...options,\n })\n\n/**\n * Replace a Business Agent's name and configuration for the authenticated ad account and save it as a draft. Omitted optional configuration fields reset to their defaults, except lead_form preserves an existing selection when omitted; send null to unlink it.\n */\nexport const updateBusinessAgentMethod = <ThrowOnError extends boolean = false>(\n options: Options<UpdateBusinessAgentMethodData, ThrowOnError>,\n): RequestResult<UpdateBusinessAgentMethodResponses, unknown, ThrowOnError> =>\n options.client.post<\n UpdateBusinessAgentMethodResponses,\n unknown,\n ThrowOnError\n >({\n url: '/business_agents/{business_agent_id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * Preview a response from a Business Agent for the authenticated ad account.\n */\nexport const previewBusinessAgentMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<PreviewBusinessAgentMethodData, ThrowOnError>,\n): RequestResult<PreviewBusinessAgentMethodResponses, unknown, ThrowOnError> =>\n options.client.post<\n PreviewBusinessAgentMethodResponses,\n unknown,\n ThrowOnError\n >({\n url: '/business_agents/{business_agent_id}/preview',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * Publish a Business Agent draft for the authenticated ad account.\n */\nexport const publishBusinessAgentMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<PublishBusinessAgentMethodData, ThrowOnError>,\n): RequestResult<PublishBusinessAgentMethodResponses, unknown, ThrowOnError> =>\n options.client.post<\n PublishBusinessAgentMethodResponses,\n unknown,\n ThrowOnError\n >({ url: '/business_agents/{business_agent_id}/publish', ...options })\n\n/**\n * Create an API key scoped to the selected ad account.\n */\nexport const createApiKeyMethod = <ThrowOnError extends boolean = false>(\n options: Options<CreateApiKeyMethodData, ThrowOnError>,\n): RequestResult<CreateApiKeyMethodResponses, unknown, ThrowOnError> =>\n options.client.post<CreateApiKeyMethodResponses, unknown, ThrowOnError>({\n url: '/api_keys',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * Update ad account brand metadata.\n */\nexport const updateAdAccountMethod = <ThrowOnError extends boolean = false>(\n options: Options<UpdateAdAccountMethodData, ThrowOnError>,\n): RequestResult<UpdateAdAccountMethodResponses, unknown, ThrowOnError> =>\n options.client.post<UpdateAdAccountMethodResponses, unknown, ThrowOnError>({\n url: '/ad_account/brand',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * Replace the account-level negative keywords used for ad eligibility.\n */\nexport const updateAdAccountNegativeKeywordsMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<UpdateAdAccountNegativeKeywordsMethodData, ThrowOnError>,\n): RequestResult<\n UpdateAdAccountNegativeKeywordsMethodResponses,\n unknown,\n ThrowOnError\n> =>\n options.client.post<\n UpdateAdAccountNegativeKeywordsMethodResponses,\n unknown,\n ThrowOnError\n >({\n url: '/ad_account/negative_keywords',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * Activate the ad account.\n */\nexport const activateAdAccountMethod = <ThrowOnError extends boolean = false>(\n options: Options<ActivateAdAccountMethodData, ThrowOnError>,\n): RequestResult<ActivateAdAccountMethodResponses, unknown, ThrowOnError> =>\n options.client.post<ActivateAdAccountMethodResponses, unknown, ThrowOnError>({\n url: '/ad_account/activate',\n ...options,\n })\n\n/**\n * Pause the ad account.\n */\nexport const pauseAdAccountMethod = <ThrowOnError extends boolean = false>(\n options: Options<PauseAdAccountMethodData, ThrowOnError>,\n): RequestResult<PauseAdAccountMethodResponses, unknown, ThrowOnError> =>\n options.client.post<PauseAdAccountMethodResponses, unknown, ThrowOnError>({\n url: '/ad_account/pause',\n ...options,\n })\n\n/**\n * List ad accounts accessible to the authenticated API key\n */\nexport const listAdAccountsMethod = <ThrowOnError extends boolean = false>(\n options: Options<ListAdAccountsMethodData, ThrowOnError>,\n): RequestResult<ListAdAccountsMethodResponses, unknown, ThrowOnError> =>\n options.client.get<ListAdAccountsMethodResponses, unknown, ThrowOnError>({\n url: '/ad_accounts',\n ...options,\n })\n\n/**\n * Start OpenAI-hosted Ads account creation for an authorized partner user.\n */\nexport const createAdAccountCreationSessionMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<CreateAdAccountCreationSessionMethodData, ThrowOnError>,\n): RequestResult<\n CreateAdAccountCreationSessionMethodResponses,\n unknown,\n ThrowOnError\n> =>\n options.client.post<\n CreateAdAccountCreationSessionMethodResponses,\n unknown,\n ThrowOnError\n >({\n url: '/ad_account_creation_sessions',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * Return the authenticated user's stable application-scoped opaque identifier.\n */\nexport const getAdsOAuthMeMethod = <ThrowOnError extends boolean = false>(\n options: Options<GetAdsOAuthMeMethodData, ThrowOnError>,\n): RequestResult<GetAdsOAuthMeMethodResponses, unknown, ThrowOnError> =>\n options.client.get<GetAdsOAuthMeMethodResponses, unknown, ThrowOnError>({\n url: '/me',\n ...options,\n })\n\n/**\n * Get metadata for the ad account\n */\nexport const getAdAccountMethod = <ThrowOnError extends boolean = false>(\n options: Options<GetAdAccountMethodData, ThrowOnError>,\n): RequestResult<GetAdAccountMethodResponses, unknown, ThrowOnError> =>\n options.client.get<GetAdAccountMethodResponses, unknown, ThrowOnError>({\n url: '/ad_account',\n ...options,\n })\n\n/**\n * View spend limit windows with inclusive start dates and exclusive end dates, ordered by start time ascending.\n */\nexport const getAdAccountSpendLimitWindowsMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<GetAdAccountSpendLimitWindowsMethodData, ThrowOnError>,\n): RequestResult<\n GetAdAccountSpendLimitWindowsMethodResponses,\n unknown,\n ThrowOnError\n> =>\n options.client.get<\n GetAdAccountSpendLimitWindowsMethodResponses,\n unknown,\n ThrowOnError\n >({ url: '/ad_account/spend_limit_windows', ...options })\n\n/**\n * Create a spend limit window with an inclusive start date and exclusive end date.\n */\nexport const createAdAccountSpendLimitWindowMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<CreateAdAccountSpendLimitWindowMethodData, ThrowOnError>,\n): RequestResult<\n CreateAdAccountSpendLimitWindowMethodResponses,\n unknown,\n ThrowOnError\n> =>\n options.client.post<\n CreateAdAccountSpendLimitWindowMethodResponses,\n unknown,\n ThrowOnError\n >({\n url: '/ad_account/spend_limit_windows',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * Edit a spend limit window with an inclusive start date and exclusive end date.\n */\nexport const updateAdAccountSpendLimitWindowMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<UpdateAdAccountSpendLimitWindowMethodData, ThrowOnError>,\n): RequestResult<\n UpdateAdAccountSpendLimitWindowMethodResponses,\n unknown,\n ThrowOnError\n> =>\n options.client.post<\n UpdateAdAccountSpendLimitWindowMethodResponses,\n unknown,\n ThrowOnError\n >({\n url: '/ad_account/spend_limit_windows/{window_id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * Delete an active or scheduled spend limit window before it ends.\n */\nexport const deleteAdAccountSpendLimitWindowMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<DeleteAdAccountSpendLimitWindowMethodData, ThrowOnError>,\n): RequestResult<\n DeleteAdAccountSpendLimitWindowMethodResponses,\n unknown,\n ThrowOnError\n> =>\n options.client.post<\n DeleteAdAccountSpendLimitWindowMethodResponses,\n unknown,\n ThrowOnError\n >({ url: '/ad_account/spend_limit_windows/{window_id}/delete', ...options })\n\n/**\n * Get ad account insights aggregated by time granularity. Attribution metrics for the current account-local day are preliminary and may change as conversions are processed.\n */\nexport const getAdAccountInsightsMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<GetAdAccountInsightsMethodData, ThrowOnError>,\n): RequestResult<GetAdAccountInsightsMethodResponses, unknown, ThrowOnError> =>\n options.client.get<\n GetAdAccountInsightsMethodResponses,\n unknown,\n ThrowOnError\n >({ url: '/ad_account/insights', ...options })\n\n/**\n * Get campaign insights aggregated by time granularity. Attribution metrics for the current account-local day are preliminary and may change as conversions are processed.\n */\nexport const getCampaignInsightsMethod = <ThrowOnError extends boolean = false>(\n options: Options<GetCampaignInsightsMethodData, ThrowOnError>,\n): RequestResult<GetCampaignInsightsMethodResponses, unknown, ThrowOnError> =>\n options.client.get<GetCampaignInsightsMethodResponses, unknown, ThrowOnError>(\n { url: '/campaigns/{campaign_id}/insights', ...options },\n )\n\n/**\n * Get ad group insights aggregated by time granularity. Attribution metrics for the current account-local day are preliminary and may change as conversions are processed.\n */\nexport const getAdGroupInsightsMethod = <ThrowOnError extends boolean = false>(\n options: Options<GetAdGroupInsightsMethodData, ThrowOnError>,\n): RequestResult<GetAdGroupInsightsMethodResponses, unknown, ThrowOnError> =>\n options.client.get<GetAdGroupInsightsMethodResponses, unknown, ThrowOnError>({\n url: '/ad_groups/{ad_group_id}/insights',\n ...options,\n })\n\n/**\n * Get ad insights aggregated by time granularity. Attribution metrics for the current account-local day are preliminary and may change as conversions are processed.\n */\nexport const getAdInsightsMethod = <ThrowOnError extends boolean = false>(\n options: Options<GetAdInsightsMethodData, ThrowOnError>,\n): RequestResult<GetAdInsightsMethodResponses, unknown, ThrowOnError> =>\n options.client.get<GetAdInsightsMethodResponses, unknown, ThrowOnError>({\n url: '/ads/{ad_id}/insights',\n ...options,\n })\n\n/**\n * Search DMA and standard region codes for advertiser geo targeting.\n */\nexport const getGeoLookupMethod = <ThrowOnError extends boolean = false>(\n options: Options<GetGeoLookupMethodData, ThrowOnError>,\n): RequestResult<GetGeoLookupMethodResponses, unknown, ThrowOnError> =>\n options.client.get<GetGeoLookupMethodResponses, unknown, ThrowOnError>({\n url: '/geo_lookup/search',\n ...options,\n })\n\n/**\n * List the lead-sync subscription for an authorized Ad Account.\n */\nexport const listLeadSyncSubscriptionsMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<ListLeadSyncSubscriptionsMethodData, ThrowOnError>,\n): RequestResult<\n ListLeadSyncSubscriptionsMethodResponses,\n unknown,\n ThrowOnError\n> =>\n options.client.get<\n ListLeadSyncSubscriptionsMethodResponses,\n unknown,\n ThrowOnError\n >({ url: '/lead_sync_subscriptions', ...options })\n\n/**\n * Provision lead delivery to a managed Webhooks endpoint.\n */\nexport const createLeadSyncSubscriptionMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<CreateLeadSyncSubscriptionMethodData, ThrowOnError>,\n): RequestResult<\n CreateLeadSyncSubscriptionMethodResponses,\n unknown,\n ThrowOnError\n> =>\n options.client.post<\n CreateLeadSyncSubscriptionMethodResponses,\n unknown,\n ThrowOnError\n >({\n url: '/lead_sync_subscriptions',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * Delete a lead-sync subscription.\n */\nexport const deleteLeadSyncSubscriptionMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<DeleteLeadSyncSubscriptionMethodData, ThrowOnError>,\n): RequestResult<\n DeleteLeadSyncSubscriptionMethodResponses,\n unknown,\n ThrowOnError\n> =>\n options.client.delete<\n DeleteLeadSyncSubscriptionMethodResponses,\n unknown,\n ThrowOnError\n >({ url: '/lead_sync_subscriptions/{subscription_id}', ...options })\n\n/**\n * Get a lead-sync subscription.\n */\nexport const getLeadSyncSubscriptionMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<GetLeadSyncSubscriptionMethodData, ThrowOnError>,\n): RequestResult<\n GetLeadSyncSubscriptionMethodResponses,\n unknown,\n ThrowOnError\n> =>\n options.client.get<\n GetLeadSyncSubscriptionMethodResponses,\n unknown,\n ThrowOnError\n >({ url: '/lead_sync_subscriptions/{subscription_id}', ...options })\n\n/**\n * Create a Conversions API key for the currently authenticated ad account.\n */\nexport const createConversionApiKeyMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<CreateConversionApiKeyMethodData, ThrowOnError>,\n): RequestResult<\n CreateConversionApiKeyMethodResponses,\n unknown,\n ThrowOnError\n> =>\n options.client.post<\n CreateConversionApiKeyMethodResponses,\n unknown,\n ThrowOnError\n >({\n url: '/conversions/api_keys',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * List conversion event settings for the currently authenticated ad account.\n */\nexport const listConversionEventSettingsMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<ListConversionEventSettingsMethodData, ThrowOnError>,\n): RequestResult<\n ListConversionEventSettingsMethodResponses,\n unknown,\n ThrowOnError\n> =>\n options.client.get<\n ListConversionEventSettingsMethodResponses,\n unknown,\n ThrowOnError\n >({ url: '/conversions/event_settings', ...options })\n\n/**\n * Create a conversion event setting for the currently authenticated ad account.\n */\nexport const createConversionEventSettingMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<CreateConversionEventSettingMethodData, ThrowOnError>,\n): RequestResult<\n CreateConversionEventSettingMethodResponses,\n unknown,\n ThrowOnError\n> =>\n options.client.post<\n CreateConversionEventSettingMethodResponses,\n unknown,\n ThrowOnError\n >({\n url: '/conversions/event_settings',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * List conversion pixels and connected pixel ids for the acting ad account.\n */\nexport const listConversionSourcesMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<ListConversionSourcesMethodData, ThrowOnError>,\n): RequestResult<ListConversionSourcesMethodResponses, unknown, ThrowOnError> =>\n options.client.get<\n ListConversionSourcesMethodResponses,\n unknown,\n ThrowOnError\n >({ url: '/conversions/pixels', ...options })\n\n/**\n * Create a conversion pixel.\n */\nexport const createConversionSourceMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<CreateConversionSourceMethodData, ThrowOnError>,\n): RequestResult<\n CreateConversionSourceMethodResponses,\n unknown,\n ThrowOnError\n> =>\n options.client.post<\n CreateConversionSourceMethodResponses,\n unknown,\n ThrowOnError\n >({\n url: '/conversions/pixels',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * List recent sampled conversion events for the acting ad account.\n */\nexport const listConversionEventsMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<ListConversionEventsMethodData, ThrowOnError>,\n): RequestResult<ListConversionEventsMethodResponses, unknown, ThrowOnError> =>\n options.client.get<\n ListConversionEventsMethodResponses,\n unknown,\n ThrowOnError\n >({ url: '/conversions/events', ...options })\n\n/**\n * Get attributed conversion totals or daily values for the authenticated ad account.\n */\nexport const postConversionInsightsMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<PostConversionInsightsMethodData, ThrowOnError>,\n): RequestResult<\n PostConversionInsightsMethodResponses,\n unknown,\n ThrowOnError\n> =>\n options.client.post<\n PostConversionInsightsMethodResponses,\n unknown,\n ThrowOnError\n >({\n url: '/conversions/insights',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * Get ad groups for the ad account, optionally filtered by campaign\n */\nexport const listAdGroupsMethod = <ThrowOnError extends boolean = false>(\n options: Options<ListAdGroupsMethodData, ThrowOnError>,\n): RequestResult<ListAdGroupsMethodResponses, unknown, ThrowOnError> =>\n options.client.get<ListAdGroupsMethodResponses, unknown, ThrowOnError>({\n url: '/ad_groups',\n ...options,\n })\n\n/**\n * Create an ad group for a campaign\n */\nexport const createAdGroupMethod = <ThrowOnError extends boolean = false>(\n options: Options<CreateAdGroupMethodData, ThrowOnError>,\n): RequestResult<CreateAdGroupMethodResponses, unknown, ThrowOnError> =>\n options.client.post<CreateAdGroupMethodResponses, unknown, ThrowOnError>({\n url: '/ad_groups',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * Get an ad group\n */\nexport const getAdGroupMethod = <ThrowOnError extends boolean = false>(\n options: Options<GetAdGroupMethodData, ThrowOnError>,\n): RequestResult<GetAdGroupMethodResponses, unknown, ThrowOnError> =>\n options.client.get<GetAdGroupMethodResponses, unknown, ThrowOnError>({\n url: '/ad_groups/{ad_group_id}',\n ...options,\n })\n\n/**\n * Update an ad group\n */\nexport const updateAdGroupMethod = <ThrowOnError extends boolean = false>(\n options: Options<UpdateAdGroupMethodData, ThrowOnError>,\n): RequestResult<UpdateAdGroupMethodResponses, unknown, ThrowOnError> =>\n options.client.post<UpdateAdGroupMethodResponses, unknown, ThrowOnError>({\n url: '/ad_groups/{ad_group_id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * Activate an ad group\n */\nexport const activateAdGroupMethod = <ThrowOnError extends boolean = false>(\n options: Options<ActivateAdGroupMethodData, ThrowOnError>,\n): RequestResult<ActivateAdGroupMethodResponses, unknown, ThrowOnError> =>\n options.client.post<ActivateAdGroupMethodResponses, unknown, ThrowOnError>({\n url: '/ad_groups/{ad_group_id}/activate',\n ...options,\n })\n\n/**\n * Pause an ad group\n */\nexport const pauseAdGroupMethod = <ThrowOnError extends boolean = false>(\n options: Options<PauseAdGroupMethodData, ThrowOnError>,\n): RequestResult<PauseAdGroupMethodResponses, unknown, ThrowOnError> =>\n options.client.post<PauseAdGroupMethodResponses, unknown, ThrowOnError>({\n url: '/ad_groups/{ad_group_id}/pause',\n ...options,\n })\n\n/**\n * Archive an ad group\n */\nexport const archiveAdGroupMethod = <ThrowOnError extends boolean = false>(\n options: Options<ArchiveAdGroupMethodData, ThrowOnError>,\n): RequestResult<ArchiveAdGroupMethodResponses, unknown, ThrowOnError> =>\n options.client.post<ArchiveAdGroupMethodResponses, unknown, ThrowOnError>({\n url: '/ad_groups/{ad_group_id}/archive',\n ...options,\n })\n\n/**\n * Get ads for the ad account, optionally filtered by ad group\n */\nexport const listAdsMethod = <ThrowOnError extends boolean = false>(\n options: Options<ListAdsMethodData, ThrowOnError>,\n): RequestResult<ListAdsMethodResponses, unknown, ThrowOnError> =>\n options.client.get<ListAdsMethodResponses, unknown, ThrowOnError>({\n url: '/ads',\n ...options,\n })\n\n/**\n * Create an ad for an ad group\n */\nexport const createAdMethod = <ThrowOnError extends boolean = false>(\n options: Options<CreateAdMethodData, ThrowOnError>,\n): RequestResult<CreateAdMethodResponses, unknown, ThrowOnError> =>\n options.client.post<CreateAdMethodResponses, unknown, ThrowOnError>({\n url: '/ads',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * Get an ad\n */\nexport const getAdMethod = <ThrowOnError extends boolean = false>(\n options: Options<GetAdMethodData, ThrowOnError>,\n): RequestResult<GetAdMethodResponses, unknown, ThrowOnError> =>\n options.client.get<GetAdMethodResponses, unknown, ThrowOnError>({\n url: '/ads/{ad_id}',\n ...options,\n })\n\n/**\n * Update an ad\n */\nexport const updateAdMethod = <ThrowOnError extends boolean = false>(\n options: Options<UpdateAdMethodData, ThrowOnError>,\n): RequestResult<UpdateAdMethodResponses, unknown, ThrowOnError> =>\n options.client.post<UpdateAdMethodResponses, unknown, ThrowOnError>({\n url: '/ads/{ad_id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * Create a temporary iframe preview for an existing ad.\n */\nexport const createAdPreviewMethod = <ThrowOnError extends boolean = false>(\n options: Options<CreateAdPreviewMethodData, ThrowOnError>,\n): RequestResult<CreateAdPreviewMethodResponses, unknown, ThrowOnError> =>\n options.client.post<CreateAdPreviewMethodResponses, unknown, ThrowOnError>({\n url: '/ads/{ad_id}/preview',\n ...options,\n })\n\n/**\n * Activate an ad\n */\nexport const activateAdMethod = <ThrowOnError extends boolean = false>(\n options: Options<ActivateAdMethodData, ThrowOnError>,\n): RequestResult<ActivateAdMethodResponses, unknown, ThrowOnError> =>\n options.client.post<ActivateAdMethodResponses, unknown, ThrowOnError>({\n url: '/ads/{ad_id}/activate',\n ...options,\n })\n\n/**\n * Pause an ad\n */\nexport const pauseAdMethod = <ThrowOnError extends boolean = false>(\n options: Options<PauseAdMethodData, ThrowOnError>,\n): RequestResult<PauseAdMethodResponses, unknown, ThrowOnError> =>\n options.client.post<PauseAdMethodResponses, unknown, ThrowOnError>({\n url: '/ads/{ad_id}/pause',\n ...options,\n })\n\n/**\n * Archive an ad\n */\nexport const archiveAdMethod = <ThrowOnError extends boolean = false>(\n options: Options<ArchiveAdMethodData, ThrowOnError>,\n): RequestResult<ArchiveAdMethodResponses, unknown, ThrowOnError> =>\n options.client.post<ArchiveAdMethodResponses, unknown, ThrowOnError>({\n url: '/ads/{ad_id}/archive',\n ...options,\n })\n\n/**\n * Upload a file and return a file id\n */\nexport const uploadBlobMethod = <ThrowOnError extends boolean = false>(\n options: Options<UploadBlobMethodData, ThrowOnError>,\n): RequestResult<UploadBlobMethodResponses, unknown, ThrowOnError> =>\n options.client.post<UploadBlobMethodResponses, unknown, ThrowOnError>({\n ...formDataBodySerializer,\n url: '/uploads',\n ...options,\n headers: {\n 'Content-Type': null,\n ...options.headers,\n },\n })\n\n/**\n * Upload an image URL or image file and return a file id\n */\nexport const uploadImageMethod = <ThrowOnError extends boolean = false>(\n options: Options<UploadImageMethodData, ThrowOnError>,\n): RequestResult<UploadImageMethodResponses, unknown, ThrowOnError> =>\n options.client.post<UploadImageMethodResponses, unknown, ThrowOnError>({\n url: '/upload',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * Archive a product feed for the authenticated ad account.\n */\nexport const archiveProductFeedMethod = <ThrowOnError extends boolean = false>(\n options: Options<ArchiveProductFeedMethodData, ThrowOnError>,\n): RequestResult<ArchiveProductFeedMethodResponses, unknown, ThrowOnError> =>\n options.client.post<ArchiveProductFeedMethodResponses, unknown, ThrowOnError>(\n { url: '/feeds/{feed_id}/archive', ...options },\n )\n\n/**\n * List product feeds for the authenticated ad account.\n */\nexport const listProductFeedsMethod = <ThrowOnError extends boolean = false>(\n options: Options<ListProductFeedsMethodData, ThrowOnError>,\n): RequestResult<ListProductFeedsMethodResponses, unknown, ThrowOnError> =>\n options.client.get<ListProductFeedsMethodResponses, unknown, ThrowOnError>({\n url: '/feeds',\n ...options,\n })\n\n/**\n * Create a product feed for the authenticated ad account.\n */\nexport const createProductFeedMethod = <ThrowOnError extends boolean = false>(\n options: Options<CreateProductFeedMethodData, ThrowOnError>,\n): RequestResult<CreateProductFeedMethodResponses, unknown, ThrowOnError> =>\n options.client.post<CreateProductFeedMethodResponses, unknown, ThrowOnError>({\n url: '/feeds',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * List recent product feed uploads for the authenticated ad account.\n */\nexport const listProductFeedUploadsMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<ListProductFeedUploadsMethodData, ThrowOnError>,\n): RequestResult<\n ListProductFeedUploadsMethodResponses,\n unknown,\n ThrowOnError\n> =>\n options.client.get<\n ListProductFeedUploadsMethodResponses,\n unknown,\n ThrowOnError\n >({ url: '/feeds/uploads', ...options })\n\n/**\n * List products in a feed that match the supplied ad group product filters.\n */\nexport const queryProductFeedProductsMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<QueryProductFeedProductsMethodData, ThrowOnError>,\n): RequestResult<\n QueryProductFeedProductsMethodResponses,\n unknown,\n ThrowOnError\n> =>\n options.client.post<\n QueryProductFeedProductsMethodResponses,\n unknown,\n ThrowOnError\n >({\n url: '/feeds/{feed_id}/products/query',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * Update product availability and prices for an authenticated ad account feed.\n */\nexport const patchProductFeedProductsMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<PatchProductFeedProductsMethodData, ThrowOnError>,\n): RequestResult<\n PatchProductFeedProductsMethodResponses,\n unknown,\n ThrowOnError\n> =>\n options.client.patch<\n PatchProductFeedProductsMethodResponses,\n unknown,\n ThrowOnError\n >({\n url: '/feeds/{feed_id}/products',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * Get SFTP access details for an authenticated ad account product feed.\n */\nexport const getProductFeedSftpAccessMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<GetProductFeedSftpAccessMethodData, ThrowOnError>,\n): RequestResult<\n GetProductFeedSftpAccessMethodResponses,\n unknown,\n ThrowOnError\n> =>\n options.client.get<\n GetProductFeedSftpAccessMethodResponses,\n unknown,\n ThrowOnError\n >({ url: '/feeds/{feed_id}/sftp_access', ...options })\n\n/**\n * Create or replace SFTP access credentials for an authenticated ad account product feed.\n */\nexport const postProductFeedSftpAccessMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<PostProductFeedSftpAccessMethodData, ThrowOnError>,\n): RequestResult<\n PostProductFeedSftpAccessMethodResponses,\n unknown,\n ThrowOnError\n> =>\n options.client.post<\n PostProductFeedSftpAccessMethodResponses,\n unknown,\n ThrowOnError\n >({\n url: '/feeds/{feed_id}/sftp_access',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * Activate SFTP access for an authenticated ad account product feed.\n */\nexport const postProductFeedSftpAccessActivateMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<PostProductFeedSftpAccessActivateMethodData, ThrowOnError>,\n): RequestResult<\n PostProductFeedSftpAccessActivateMethodResponses,\n unknown,\n ThrowOnError\n> =>\n options.client.post<\n PostProductFeedSftpAccessActivateMethodResponses,\n unknown,\n ThrowOnError\n >({ url: '/feeds/{feed_id}/sftp_access/activate', ...options })\n\n/**\n * Pause SFTP access for an authenticated ad account product feed.\n */\nexport const postProductFeedSftpAccessPauseMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<PostProductFeedSftpAccessPauseMethodData, ThrowOnError>,\n): RequestResult<\n PostProductFeedSftpAccessPauseMethodResponses,\n unknown,\n ThrowOnError\n> =>\n options.client.post<\n PostProductFeedSftpAccessPauseMethodResponses,\n unknown,\n ThrowOnError\n >({ url: '/feeds/{feed_id}/sftp_access/pause', ...options })\n\n/**\n * Create an Ads partner-data upload.\n */\nexport const createPartnerDataUploadMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<CreatePartnerDataUploadMethodData, ThrowOnError>,\n): RequestResult<\n CreatePartnerDataUploadMethodResponses,\n unknown,\n ThrowOnError\n> =>\n options.client.post<\n CreatePartnerDataUploadMethodResponses,\n unknown,\n ThrowOnError\n >({\n url: '/partner_data/uploads',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * Get an Ads partner-data upload.\n */\nexport const getPartnerDataUploadMethod = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<GetPartnerDataUploadMethodData, ThrowOnError>,\n): RequestResult<GetPartnerDataUploadMethodResponses, unknown, ThrowOnError> =>\n options.client.get<\n GetPartnerDataUploadMethodResponses,\n unknown,\n ThrowOnError\n >({ url: '/partner_data/uploads/{upload_id}', ...options })\n"],"mappings":"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"}
|